Get everything working on juju-2.0beta11
[osm/N2VC.git] / juju / client / schemas.json
1 [
2   {
3     "Name": "Action",
4     "Version": 2,
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         "ApplicationsCharmsActions": {
20           "type": "object",
21           "properties": {
22             "Params": {
23               "$ref": "#/definitions/Entities"
24             },
25             "Result": {
26               "$ref": "#/definitions/ApplicationsCharmActionsResults"
27             }
28           }
29         },
30         "Cancel": {
31           "type": "object",
32           "properties": {
33             "Params": {
34               "$ref": "#/definitions/Entities"
35             },
36             "Result": {
37               "$ref": "#/definitions/ActionResults"
38             }
39           }
40         },
41         "Enqueue": {
42           "type": "object",
43           "properties": {
44             "Params": {
45               "$ref": "#/definitions/Actions"
46             },
47             "Result": {
48               "$ref": "#/definitions/ActionResults"
49             }
50           }
51         },
52         "FindActionTagsByPrefix": {
53           "type": "object",
54           "properties": {
55             "Params": {
56               "$ref": "#/definitions/FindTags"
57             },
58             "Result": {
59               "$ref": "#/definitions/FindTagsResults"
60             }
61           }
62         },
63         "FindActionsByNames": {
64           "type": "object",
65           "properties": {
66             "Params": {
67               "$ref": "#/definitions/FindActionsByNames"
68             },
69             "Result": {
70               "$ref": "#/definitions/ActionsByNames"
71             }
72           }
73         },
74         "ListAll": {
75           "type": "object",
76           "properties": {
77             "Params": {
78               "$ref": "#/definitions/Entities"
79             },
80             "Result": {
81               "$ref": "#/definitions/ActionsByReceivers"
82             }
83           }
84         },
85         "ListCompleted": {
86           "type": "object",
87           "properties": {
88             "Params": {
89               "$ref": "#/definitions/Entities"
90             },
91             "Result": {
92               "$ref": "#/definitions/ActionsByReceivers"
93             }
94           }
95         },
96         "ListPending": {
97           "type": "object",
98           "properties": {
99             "Params": {
100               "$ref": "#/definitions/Entities"
101             },
102             "Result": {
103               "$ref": "#/definitions/ActionsByReceivers"
104             }
105           }
106         },
107         "ListRunning": {
108           "type": "object",
109           "properties": {
110             "Params": {
111               "$ref": "#/definitions/Entities"
112             },
113             "Result": {
114               "$ref": "#/definitions/ActionsByReceivers"
115             }
116           }
117         },
118         "Run": {
119           "type": "object",
120           "properties": {
121             "Params": {
122               "$ref": "#/definitions/RunParams"
123             },
124             "Result": {
125               "$ref": "#/definitions/ActionResults"
126             }
127           }
128         },
129         "RunOnAllMachines": {
130           "type": "object",
131           "properties": {
132             "Params": {
133               "$ref": "#/definitions/RunParams"
134             },
135             "Result": {
136               "$ref": "#/definitions/ActionResults"
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         "ActionSpec": {
223           "type": "object",
224           "properties": {
225             "description": {
226               "type": "string"
227             },
228             "params": {
229               "type": "object",
230               "patternProperties": {
231                 ".*": {
232                   "type": "object",
233                   "additionalProperties": true
234                 }
235               }
236             }
237           },
238           "additionalProperties": false,
239           "required": [
240             "description",
241             "params"
242           ]
243         },
244         "Actions": {
245           "type": "object",
246           "properties": {
247             "actions": {
248               "type": "array",
249               "items": {
250                 "$ref": "#/definitions/Action"
251               }
252             }
253           },
254           "additionalProperties": false
255         },
256         "ActionsByName": {
257           "type": "object",
258           "properties": {
259             "actions": {
260               "type": "array",
261               "items": {
262                 "$ref": "#/definitions/ActionResult"
263               }
264             },
265             "error": {
266               "$ref": "#/definitions/Error"
267             },
268             "name": {
269               "type": "string"
270             }
271           },
272           "additionalProperties": false
273         },
274         "ActionsByNames": {
275           "type": "object",
276           "properties": {
277             "actions": {
278               "type": "array",
279               "items": {
280                 "$ref": "#/definitions/ActionsByName"
281               }
282             }
283           },
284           "additionalProperties": false
285         },
286         "ActionsByReceiver": {
287           "type": "object",
288           "properties": {
289             "actions": {
290               "type": "array",
291               "items": {
292                 "$ref": "#/definitions/ActionResult"
293               }
294             },
295             "error": {
296               "$ref": "#/definitions/Error"
297             },
298             "receiver": {
299               "type": "string"
300             }
301           },
302           "additionalProperties": false
303         },
304         "ActionsByReceivers": {
305           "type": "object",
306           "properties": {
307             "actions": {
308               "type": "array",
309               "items": {
310                 "$ref": "#/definitions/ActionsByReceiver"
311               }
312             }
313           },
314           "additionalProperties": false
315         },
316         "ApplicationCharmActionsResult": {
317           "type": "object",
318           "properties": {
319             "actions": {
320               "type": "object",
321               "patternProperties": {
322                 ".*": {
323                   "$ref": "#/definitions/ActionSpec"
324                 }
325               }
326             },
327             "application-tag": {
328               "type": "string"
329             },
330             "error": {
331               "$ref": "#/definitions/Error"
332             }
333           },
334           "additionalProperties": false
335         },
336         "ApplicationsCharmActionsResults": {
337           "type": "object",
338           "properties": {
339             "results": {
340               "type": "array",
341               "items": {
342                 "$ref": "#/definitions/ApplicationCharmActionsResult"
343               }
344             }
345           },
346           "additionalProperties": false
347         },
348         "Entities": {
349           "type": "object",
350           "properties": {
351             "entities": {
352               "type": "array",
353               "items": {
354                 "$ref": "#/definitions/Entity"
355               }
356             }
357           },
358           "additionalProperties": false,
359           "required": [
360             "entities"
361           ]
362         },
363         "Entity": {
364           "type": "object",
365           "properties": {
366             "tag": {
367               "type": "string"
368             }
369           },
370           "additionalProperties": false,
371           "required": [
372             "tag"
373           ]
374         },
375         "Error": {
376           "type": "object",
377           "properties": {
378             "code": {
379               "type": "string"
380             },
381             "info": {
382               "$ref": "#/definitions/ErrorInfo"
383             },
384             "message": {
385               "type": "string"
386             }
387           },
388           "additionalProperties": false,
389           "required": [
390             "message",
391             "code"
392           ]
393         },
394         "ErrorInfo": {
395           "type": "object",
396           "properties": {
397             "macaroon": {
398               "$ref": "#/definitions/Macaroon"
399             },
400             "macaroon-path": {
401               "type": "string"
402             }
403           },
404           "additionalProperties": false
405         },
406         "FindActionsByNames": {
407           "type": "object",
408           "properties": {
409             "names": {
410               "type": "array",
411               "items": {
412                 "type": "string"
413               }
414             }
415           },
416           "additionalProperties": false
417         },
418         "FindTags": {
419           "type": "object",
420           "properties": {
421             "prefixes": {
422               "type": "array",
423               "items": {
424                 "type": "string"
425               }
426             }
427           },
428           "additionalProperties": false,
429           "required": [
430             "prefixes"
431           ]
432         },
433         "FindTagsResults": {
434           "type": "object",
435           "properties": {
436             "matches": {
437               "type": "object",
438               "patternProperties": {
439                 ".*": {
440                   "type": "array",
441                   "items": {
442                     "$ref": "#/definitions/Entity"
443                   }
444                 }
445               }
446             }
447           },
448           "additionalProperties": false,
449           "required": [
450             "matches"
451           ]
452         },
453         "Macaroon": {
454           "type": "object",
455           "additionalProperties": false
456         },
457         "RunParams": {
458           "type": "object",
459           "properties": {
460             "applications": {
461               "type": "array",
462               "items": {
463                 "type": "string"
464               }
465             },
466             "commands": {
467               "type": "string"
468             },
469             "machines": {
470               "type": "array",
471               "items": {
472                 "type": "string"
473               }
474             },
475             "timeout": {
476               "type": "integer"
477             },
478             "units": {
479               "type": "array",
480               "items": {
481                 "type": "string"
482               }
483             }
484           },
485           "additionalProperties": false,
486           "required": [
487             "commands",
488             "timeout"
489           ]
490         }
491       }
492     }
493   },
494   {
495     "Name": "Agent",
496     "Version": 2,
497     "Schema": {
498       "type": "object",
499       "properties": {
500         "ClearReboot": {
501           "type": "object",
502           "properties": {
503             "Params": {
504               "$ref": "#/definitions/Entities"
505             },
506             "Result": {
507               "$ref": "#/definitions/ErrorResults"
508             }
509           }
510         },
511         "ControllerConfig": {
512           "type": "object",
513           "properties": {
514             "Result": {
515               "$ref": "#/definitions/ControllerConfigResult"
516             }
517           }
518         },
519         "GetEntities": {
520           "type": "object",
521           "properties": {
522             "Params": {
523               "$ref": "#/definitions/Entities"
524             },
525             "Result": {
526               "$ref": "#/definitions/AgentGetEntitiesResults"
527             }
528           }
529         },
530         "IsMaster": {
531           "type": "object",
532           "properties": {
533             "Result": {
534               "$ref": "#/definitions/IsMasterResult"
535             }
536           }
537         },
538         "ModelConfig": {
539           "type": "object",
540           "properties": {
541             "Result": {
542               "$ref": "#/definitions/ModelConfigResult"
543             }
544           }
545         },
546         "SetPasswords": {
547           "type": "object",
548           "properties": {
549             "Params": {
550               "$ref": "#/definitions/EntityPasswords"
551             },
552             "Result": {
553               "$ref": "#/definitions/ErrorResults"
554             }
555           }
556         },
557         "StateServingInfo": {
558           "type": "object",
559           "properties": {
560             "Result": {
561               "$ref": "#/definitions/StateServingInfo"
562             }
563           }
564         },
565         "WatchForModelConfigChanges": {
566           "type": "object",
567           "properties": {
568             "Result": {
569               "$ref": "#/definitions/NotifyWatchResult"
570             }
571           }
572         }
573       },
574       "definitions": {
575         "AgentGetEntitiesResult": {
576           "type": "object",
577           "properties": {
578             "container-type": {
579               "type": "string"
580             },
581             "error": {
582               "$ref": "#/definitions/Error"
583             },
584             "jobs": {
585               "type": "array",
586               "items": {
587                 "type": "string"
588               }
589             },
590             "life": {
591               "type": "string"
592             }
593           },
594           "additionalProperties": false,
595           "required": [
596             "life",
597             "jobs",
598             "container-type"
599           ]
600         },
601         "AgentGetEntitiesResults": {
602           "type": "object",
603           "properties": {
604             "entities": {
605               "type": "array",
606               "items": {
607                 "$ref": "#/definitions/AgentGetEntitiesResult"
608               }
609             }
610           },
611           "additionalProperties": false,
612           "required": [
613             "entities"
614           ]
615         },
616         "ControllerConfigResult": {
617           "type": "object",
618           "properties": {
619             "config": {
620               "type": "object",
621               "patternProperties": {
622                 ".*": {
623                   "type": "object",
624                   "additionalProperties": true
625                 }
626               }
627             }
628           },
629           "additionalProperties": false,
630           "required": [
631             "config"
632           ]
633         },
634         "Entities": {
635           "type": "object",
636           "properties": {
637             "entities": {
638               "type": "array",
639               "items": {
640                 "$ref": "#/definitions/Entity"
641               }
642             }
643           },
644           "additionalProperties": false,
645           "required": [
646             "entities"
647           ]
648         },
649         "Entity": {
650           "type": "object",
651           "properties": {
652             "tag": {
653               "type": "string"
654             }
655           },
656           "additionalProperties": false,
657           "required": [
658             "tag"
659           ]
660         },
661         "EntityPassword": {
662           "type": "object",
663           "properties": {
664             "password": {
665               "type": "string"
666             },
667             "tag": {
668               "type": "string"
669             }
670           },
671           "additionalProperties": false,
672           "required": [
673             "tag",
674             "password"
675           ]
676         },
677         "EntityPasswords": {
678           "type": "object",
679           "properties": {
680             "changes": {
681               "type": "array",
682               "items": {
683                 "$ref": "#/definitions/EntityPassword"
684               }
685             }
686           },
687           "additionalProperties": false,
688           "required": [
689             "changes"
690           ]
691         },
692         "Error": {
693           "type": "object",
694           "properties": {
695             "code": {
696               "type": "string"
697             },
698             "info": {
699               "$ref": "#/definitions/ErrorInfo"
700             },
701             "message": {
702               "type": "string"
703             }
704           },
705           "additionalProperties": false,
706           "required": [
707             "message",
708             "code"
709           ]
710         },
711         "ErrorInfo": {
712           "type": "object",
713           "properties": {
714             "macaroon": {
715               "$ref": "#/definitions/Macaroon"
716             },
717             "macaroon-path": {
718               "type": "string"
719             }
720           },
721           "additionalProperties": false
722         },
723         "ErrorResult": {
724           "type": "object",
725           "properties": {
726             "error": {
727               "$ref": "#/definitions/Error"
728             }
729           },
730           "additionalProperties": false
731         },
732         "ErrorResults": {
733           "type": "object",
734           "properties": {
735             "results": {
736               "type": "array",
737               "items": {
738                 "$ref": "#/definitions/ErrorResult"
739               }
740             }
741           },
742           "additionalProperties": false,
743           "required": [
744             "results"
745           ]
746         },
747         "IsMasterResult": {
748           "type": "object",
749           "properties": {
750             "master": {
751               "type": "boolean"
752             }
753           },
754           "additionalProperties": false,
755           "required": [
756             "master"
757           ]
758         },
759         "Macaroon": {
760           "type": "object",
761           "additionalProperties": false
762         },
763         "ModelConfigResult": {
764           "type": "object",
765           "properties": {
766             "config": {
767               "type": "object",
768               "patternProperties": {
769                 ".*": {
770                   "type": "object",
771                   "additionalProperties": true
772                 }
773               }
774             }
775           },
776           "additionalProperties": false,
777           "required": [
778             "config"
779           ]
780         },
781         "NotifyWatchResult": {
782           "type": "object",
783           "properties": {
784             "NotifyWatcherId": {
785               "type": "string"
786             },
787             "error": {
788               "$ref": "#/definitions/Error"
789             }
790           },
791           "additionalProperties": false,
792           "required": [
793             "NotifyWatcherId"
794           ]
795         },
796         "StateServingInfo": {
797           "type": "object",
798           "properties": {
799             "api-port": {
800               "type": "integer"
801             },
802             "ca-private-key": {
803               "type": "string"
804             },
805             "cert": {
806               "type": "string"
807             },
808             "private-key": {
809               "type": "string"
810             },
811             "shared-secret": {
812               "type": "string"
813             },
814             "state-port": {
815               "type": "integer"
816             },
817             "system-identity": {
818               "type": "string"
819             }
820           },
821           "additionalProperties": false,
822           "required": [
823             "api-port",
824             "state-port",
825             "cert",
826             "private-key",
827             "ca-private-key",
828             "shared-secret",
829             "system-identity"
830           ]
831         }
832       }
833     }
834   },
835   {
836     "Name": "AgentTools",
837     "Version": 1,
838     "Schema": {
839       "type": "object",
840       "properties": {
841         "UpdateToolsAvailable": {
842           "type": "object"
843         }
844       }
845     }
846   },
847   {
848     "Name": "AllModelWatcher",
849     "Version": 2,
850     "Schema": {
851       "type": "object",
852       "properties": {
853         "Next": {
854           "type": "object",
855           "properties": {
856             "Result": {
857               "$ref": "#/definitions/AllWatcherNextResults"
858             }
859           }
860         },
861         "Stop": {
862           "type": "object"
863         }
864       },
865       "definitions": {
866         "AllWatcherNextResults": {
867           "type": "object",
868           "properties": {
869             "deltas": {
870               "type": "array",
871               "items": {
872                 "$ref": "#/definitions/Delta"
873               }
874             }
875           },
876           "additionalProperties": false,
877           "required": [
878             "deltas"
879           ]
880         },
881         "Delta": {
882           "type": "object",
883           "properties": {
884             "entity": {
885               "type": "object",
886               "additionalProperties": true
887             },
888             "removed": {
889               "type": "boolean"
890             }
891           },
892           "additionalProperties": false,
893           "required": [
894             "removed",
895             "entity"
896           ]
897         }
898       }
899     }
900   },
901   {
902     "Name": "AllWatcher",
903     "Version": 1,
904     "Schema": {
905       "type": "object",
906       "properties": {
907         "Next": {
908           "type": "object",
909           "properties": {
910             "Result": {
911               "$ref": "#/definitions/AllWatcherNextResults"
912             }
913           }
914         },
915         "Stop": {
916           "type": "object"
917         }
918       },
919       "definitions": {
920         "AllWatcherNextResults": {
921           "type": "object",
922           "properties": {
923             "deltas": {
924               "type": "array",
925               "items": {
926                 "$ref": "#/definitions/Delta"
927               }
928             }
929           },
930           "additionalProperties": false,
931           "required": [
932             "deltas"
933           ]
934         },
935         "Delta": {
936           "type": "object",
937           "properties": {
938             "entity": {
939               "type": "object",
940               "additionalProperties": true
941             },
942             "removed": {
943               "type": "boolean"
944             }
945           },
946           "additionalProperties": false,
947           "required": [
948             "removed",
949             "entity"
950           ]
951         }
952       }
953     }
954   },
955   {
956     "Name": "Annotations",
957     "Version": 2,
958     "Schema": {
959       "type": "object",
960       "properties": {
961         "Get": {
962           "type": "object",
963           "properties": {
964             "Params": {
965               "$ref": "#/definitions/Entities"
966             },
967             "Result": {
968               "$ref": "#/definitions/AnnotationsGetResults"
969             }
970           }
971         },
972         "Set": {
973           "type": "object",
974           "properties": {
975             "Params": {
976               "$ref": "#/definitions/AnnotationsSet"
977             },
978             "Result": {
979               "$ref": "#/definitions/ErrorResults"
980             }
981           }
982         }
983       },
984       "definitions": {
985         "AnnotationsGetResult": {
986           "type": "object",
987           "properties": {
988             "annotations": {
989               "type": "object",
990               "patternProperties": {
991                 ".*": {
992                   "type": "string"
993                 }
994               }
995             },
996             "entity": {
997               "type": "string"
998             },
999             "error": {
1000               "$ref": "#/definitions/ErrorResult"
1001             }
1002           },
1003           "additionalProperties": false,
1004           "required": [
1005             "entity",
1006             "annotations"
1007           ]
1008         },
1009         "AnnotationsGetResults": {
1010           "type": "object",
1011           "properties": {
1012             "results": {
1013               "type": "array",
1014               "items": {
1015                 "$ref": "#/definitions/AnnotationsGetResult"
1016               }
1017             }
1018           },
1019           "additionalProperties": false,
1020           "required": [
1021             "results"
1022           ]
1023         },
1024         "AnnotationsSet": {
1025           "type": "object",
1026           "properties": {
1027             "annotations": {
1028               "type": "array",
1029               "items": {
1030                 "$ref": "#/definitions/EntityAnnotations"
1031               }
1032             }
1033           },
1034           "additionalProperties": false,
1035           "required": [
1036             "annotations"
1037           ]
1038         },
1039         "Entities": {
1040           "type": "object",
1041           "properties": {
1042             "entities": {
1043               "type": "array",
1044               "items": {
1045                 "$ref": "#/definitions/Entity"
1046               }
1047             }
1048           },
1049           "additionalProperties": false,
1050           "required": [
1051             "entities"
1052           ]
1053         },
1054         "Entity": {
1055           "type": "object",
1056           "properties": {
1057             "tag": {
1058               "type": "string"
1059             }
1060           },
1061           "additionalProperties": false,
1062           "required": [
1063             "tag"
1064           ]
1065         },
1066         "EntityAnnotations": {
1067           "type": "object",
1068           "properties": {
1069             "annotations": {
1070               "type": "object",
1071               "patternProperties": {
1072                 ".*": {
1073                   "type": "string"
1074                 }
1075               }
1076             },
1077             "entity": {
1078               "type": "string"
1079             }
1080           },
1081           "additionalProperties": false,
1082           "required": [
1083             "entity",
1084             "annotations"
1085           ]
1086         },
1087         "Error": {
1088           "type": "object",
1089           "properties": {
1090             "code": {
1091               "type": "string"
1092             },
1093             "info": {
1094               "$ref": "#/definitions/ErrorInfo"
1095             },
1096             "message": {
1097               "type": "string"
1098             }
1099           },
1100           "additionalProperties": false,
1101           "required": [
1102             "message",
1103             "code"
1104           ]
1105         },
1106         "ErrorInfo": {
1107           "type": "object",
1108           "properties": {
1109             "macaroon": {
1110               "$ref": "#/definitions/Macaroon"
1111             },
1112             "macaroon-path": {
1113               "type": "string"
1114             }
1115           },
1116           "additionalProperties": false
1117         },
1118         "ErrorResult": {
1119           "type": "object",
1120           "properties": {
1121             "error": {
1122               "$ref": "#/definitions/Error"
1123             }
1124           },
1125           "additionalProperties": false
1126         },
1127         "ErrorResults": {
1128           "type": "object",
1129           "properties": {
1130             "results": {
1131               "type": "array",
1132               "items": {
1133                 "$ref": "#/definitions/ErrorResult"
1134               }
1135             }
1136           },
1137           "additionalProperties": false,
1138           "required": [
1139             "results"
1140           ]
1141         },
1142         "Macaroon": {
1143           "type": "object",
1144           "additionalProperties": false
1145         }
1146       }
1147     }
1148   },
1149   {
1150     "Name": "Application",
1151     "Version": 1,
1152     "Schema": {
1153       "type": "object",
1154       "properties": {
1155         "AddRelation": {
1156           "type": "object",
1157           "properties": {
1158             "Params": {
1159               "$ref": "#/definitions/AddRelation"
1160             },
1161             "Result": {
1162               "$ref": "#/definitions/AddRelationResults"
1163             }
1164           }
1165         },
1166         "AddUnits": {
1167           "type": "object",
1168           "properties": {
1169             "Params": {
1170               "$ref": "#/definitions/AddApplicationUnits"
1171             },
1172             "Result": {
1173               "$ref": "#/definitions/AddApplicationUnitsResults"
1174             }
1175           }
1176         },
1177         "CharmRelations": {
1178           "type": "object",
1179           "properties": {
1180             "Params": {
1181               "$ref": "#/definitions/ApplicationCharmRelations"
1182             },
1183             "Result": {
1184               "$ref": "#/definitions/ApplicationCharmRelationsResults"
1185             }
1186           }
1187         },
1188         "Deploy": {
1189           "type": "object",
1190           "properties": {
1191             "Params": {
1192               "$ref": "#/definitions/ApplicationsDeploy"
1193             },
1194             "Result": {
1195               "$ref": "#/definitions/ErrorResults"
1196             }
1197           }
1198         },
1199         "Destroy": {
1200           "type": "object",
1201           "properties": {
1202             "Params": {
1203               "$ref": "#/definitions/ApplicationDestroy"
1204             }
1205           }
1206         },
1207         "DestroyRelation": {
1208           "type": "object",
1209           "properties": {
1210             "Params": {
1211               "$ref": "#/definitions/DestroyRelation"
1212             }
1213           }
1214         },
1215         "DestroyUnits": {
1216           "type": "object",
1217           "properties": {
1218             "Params": {
1219               "$ref": "#/definitions/DestroyApplicationUnits"
1220             }
1221           }
1222         },
1223         "Expose": {
1224           "type": "object",
1225           "properties": {
1226             "Params": {
1227               "$ref": "#/definitions/ApplicationExpose"
1228             }
1229           }
1230         },
1231         "Get": {
1232           "type": "object",
1233           "properties": {
1234             "Params": {
1235               "$ref": "#/definitions/ApplicationGet"
1236             },
1237             "Result": {
1238               "$ref": "#/definitions/ApplicationGetResults"
1239             }
1240           }
1241         },
1242         "GetCharmURL": {
1243           "type": "object",
1244           "properties": {
1245             "Params": {
1246               "$ref": "#/definitions/ApplicationGet"
1247             },
1248             "Result": {
1249               "$ref": "#/definitions/StringResult"
1250             }
1251           }
1252         },
1253         "GetConstraints": {
1254           "type": "object",
1255           "properties": {
1256             "Params": {
1257               "$ref": "#/definitions/GetApplicationConstraints"
1258             },
1259             "Result": {
1260               "$ref": "#/definitions/GetConstraintsResults"
1261             }
1262           }
1263         },
1264         "Set": {
1265           "type": "object",
1266           "properties": {
1267             "Params": {
1268               "$ref": "#/definitions/ApplicationSet"
1269             }
1270           }
1271         },
1272         "SetCharm": {
1273           "type": "object",
1274           "properties": {
1275             "Params": {
1276               "$ref": "#/definitions/ApplicationSetCharm"
1277             }
1278           }
1279         },
1280         "SetConstraints": {
1281           "type": "object",
1282           "properties": {
1283             "Params": {
1284               "$ref": "#/definitions/SetConstraints"
1285             }
1286           }
1287         },
1288         "SetMetricCredentials": {
1289           "type": "object",
1290           "properties": {
1291             "Params": {
1292               "$ref": "#/definitions/ApplicationMetricCredentials"
1293             },
1294             "Result": {
1295               "$ref": "#/definitions/ErrorResults"
1296             }
1297           }
1298         },
1299         "Unexpose": {
1300           "type": "object",
1301           "properties": {
1302             "Params": {
1303               "$ref": "#/definitions/ApplicationUnexpose"
1304             }
1305           }
1306         },
1307         "Unset": {
1308           "type": "object",
1309           "properties": {
1310             "Params": {
1311               "$ref": "#/definitions/ApplicationUnset"
1312             }
1313           }
1314         },
1315         "Update": {
1316           "type": "object",
1317           "properties": {
1318             "Params": {
1319               "$ref": "#/definitions/ApplicationUpdate"
1320             }
1321           }
1322         }
1323       },
1324       "definitions": {
1325         "AddApplicationUnits": {
1326           "type": "object",
1327           "properties": {
1328             "application": {
1329               "type": "string"
1330             },
1331             "num-units": {
1332               "type": "integer"
1333             },
1334             "placement": {
1335               "type": "array",
1336               "items": {
1337                 "$ref": "#/definitions/Placement"
1338               }
1339             }
1340           },
1341           "additionalProperties": false,
1342           "required": [
1343             "application",
1344             "num-units",
1345             "placement"
1346           ]
1347         },
1348         "AddApplicationUnitsResults": {
1349           "type": "object",
1350           "properties": {
1351             "units": {
1352               "type": "array",
1353               "items": {
1354                 "type": "string"
1355               }
1356             }
1357           },
1358           "additionalProperties": false,
1359           "required": [
1360             "units"
1361           ]
1362         },
1363         "AddRelation": {
1364           "type": "object",
1365           "properties": {
1366             "endpoints": {
1367               "type": "array",
1368               "items": {
1369                 "type": "string"
1370               }
1371             }
1372           },
1373           "additionalProperties": false,
1374           "required": [
1375             "endpoints"
1376           ]
1377         },
1378         "AddRelationResults": {
1379           "type": "object",
1380           "properties": {
1381             "endpoints": {
1382               "type": "object",
1383               "patternProperties": {
1384                 ".*": {
1385                   "$ref": "#/definitions/CharmRelation"
1386                 }
1387               }
1388             }
1389           },
1390           "additionalProperties": false,
1391           "required": [
1392             "endpoints"
1393           ]
1394         },
1395         "ApplicationCharmRelations": {
1396           "type": "object",
1397           "properties": {
1398             "application": {
1399               "type": "string"
1400             }
1401           },
1402           "additionalProperties": false,
1403           "required": [
1404             "application"
1405           ]
1406         },
1407         "ApplicationCharmRelationsResults": {
1408           "type": "object",
1409           "properties": {
1410             "charm-relations": {
1411               "type": "array",
1412               "items": {
1413                 "type": "string"
1414               }
1415             }
1416           },
1417           "additionalProperties": false,
1418           "required": [
1419             "charm-relations"
1420           ]
1421         },
1422         "ApplicationDeploy": {
1423           "type": "object",
1424           "properties": {
1425             "application": {
1426               "type": "string"
1427             },
1428             "channel": {
1429               "type": "string"
1430             },
1431             "charm-url": {
1432               "type": "string"
1433             },
1434             "config": {
1435               "type": "object",
1436               "patternProperties": {
1437                 ".*": {
1438                   "type": "string"
1439                 }
1440               }
1441             },
1442             "config-yaml": {
1443               "type": "string"
1444             },
1445             "constraints": {
1446               "$ref": "#/definitions/Value"
1447             },
1448             "endpoint-bindings": {
1449               "type": "object",
1450               "patternProperties": {
1451                 ".*": {
1452                   "type": "string"
1453                 }
1454               }
1455             },
1456             "num-units": {
1457               "type": "integer"
1458             },
1459             "placement": {
1460               "type": "array",
1461               "items": {
1462                 "$ref": "#/definitions/Placement"
1463               }
1464             },
1465             "resources": {
1466               "type": "object",
1467               "patternProperties": {
1468                 ".*": {
1469                   "type": "string"
1470                 }
1471               }
1472             },
1473             "series": {
1474               "type": "string"
1475             },
1476             "storage": {
1477               "type": "object",
1478               "patternProperties": {
1479                 ".*": {
1480                   "$ref": "#/definitions/Constraints"
1481                 }
1482               }
1483             }
1484           },
1485           "additionalProperties": false,
1486           "required": [
1487             "application",
1488             "series",
1489             "charm-url",
1490             "channel",
1491             "num-units",
1492             "config-yaml",
1493             "constraints"
1494           ]
1495         },
1496         "ApplicationDestroy": {
1497           "type": "object",
1498           "properties": {
1499             "application": {
1500               "type": "string"
1501             }
1502           },
1503           "additionalProperties": false,
1504           "required": [
1505             "application"
1506           ]
1507         },
1508         "ApplicationExpose": {
1509           "type": "object",
1510           "properties": {
1511             "application": {
1512               "type": "string"
1513             }
1514           },
1515           "additionalProperties": false,
1516           "required": [
1517             "application"
1518           ]
1519         },
1520         "ApplicationGet": {
1521           "type": "object",
1522           "properties": {
1523             "application": {
1524               "type": "string"
1525             }
1526           },
1527           "additionalProperties": false,
1528           "required": [
1529             "application"
1530           ]
1531         },
1532         "ApplicationGetResults": {
1533           "type": "object",
1534           "properties": {
1535             "application": {
1536               "type": "string"
1537             },
1538             "charm": {
1539               "type": "string"
1540             },
1541             "config": {
1542               "type": "object",
1543               "patternProperties": {
1544                 ".*": {
1545                   "type": "object",
1546                   "additionalProperties": true
1547                 }
1548               }
1549             },
1550             "constraints": {
1551               "$ref": "#/definitions/Value"
1552             }
1553           },
1554           "additionalProperties": false,
1555           "required": [
1556             "application",
1557             "charm",
1558             "config",
1559             "constraints"
1560           ]
1561         },
1562         "ApplicationMetricCredential": {
1563           "type": "object",
1564           "properties": {
1565             "application": {
1566               "type": "string"
1567             },
1568             "metrics-credentials": {
1569               "type": "array",
1570               "items": {
1571                 "type": "integer"
1572               }
1573             }
1574           },
1575           "additionalProperties": false,
1576           "required": [
1577             "application",
1578             "metrics-credentials"
1579           ]
1580         },
1581         "ApplicationMetricCredentials": {
1582           "type": "object",
1583           "properties": {
1584             "creds": {
1585               "type": "array",
1586               "items": {
1587                 "$ref": "#/definitions/ApplicationMetricCredential"
1588               }
1589             }
1590           },
1591           "additionalProperties": false,
1592           "required": [
1593             "creds"
1594           ]
1595         },
1596         "ApplicationSet": {
1597           "type": "object",
1598           "properties": {
1599             "application": {
1600               "type": "string"
1601             },
1602             "options": {
1603               "type": "object",
1604               "patternProperties": {
1605                 ".*": {
1606                   "type": "string"
1607                 }
1608               }
1609             }
1610           },
1611           "additionalProperties": false,
1612           "required": [
1613             "application",
1614             "options"
1615           ]
1616         },
1617         "ApplicationSetCharm": {
1618           "type": "object",
1619           "properties": {
1620             "application": {
1621               "type": "string"
1622             },
1623             "channel": {
1624               "type": "string"
1625             },
1626             "charm-url": {
1627               "type": "string"
1628             },
1629             "force-series": {
1630               "type": "boolean"
1631             },
1632             "force-units": {
1633               "type": "boolean"
1634             },
1635             "resource-ids": {
1636               "type": "object",
1637               "patternProperties": {
1638                 ".*": {
1639                   "type": "string"
1640                 }
1641               }
1642             }
1643           },
1644           "additionalProperties": false,
1645           "required": [
1646             "application",
1647             "charm-url",
1648             "channel",
1649             "force-units",
1650             "force-series"
1651           ]
1652         },
1653         "ApplicationUnexpose": {
1654           "type": "object",
1655           "properties": {
1656             "application": {
1657               "type": "string"
1658             }
1659           },
1660           "additionalProperties": false,
1661           "required": [
1662             "application"
1663           ]
1664         },
1665         "ApplicationUnset": {
1666           "type": "object",
1667           "properties": {
1668             "application": {
1669               "type": "string"
1670             },
1671             "options": {
1672               "type": "array",
1673               "items": {
1674                 "type": "string"
1675               }
1676             }
1677           },
1678           "additionalProperties": false,
1679           "required": [
1680             "application",
1681             "options"
1682           ]
1683         },
1684         "ApplicationUpdate": {
1685           "type": "object",
1686           "properties": {
1687             "application": {
1688               "type": "string"
1689             },
1690             "charm-url": {
1691               "type": "string"
1692             },
1693             "constraints": {
1694               "$ref": "#/definitions/Value"
1695             },
1696             "force-charm-url": {
1697               "type": "boolean"
1698             },
1699             "force-series": {
1700               "type": "boolean"
1701             },
1702             "min-units": {
1703               "type": "integer"
1704             },
1705             "settings": {
1706               "type": "object",
1707               "patternProperties": {
1708                 ".*": {
1709                   "type": "string"
1710                 }
1711               }
1712             },
1713             "settings-yaml": {
1714               "type": "string"
1715             }
1716           },
1717           "additionalProperties": false,
1718           "required": [
1719             "application",
1720             "charm-url",
1721             "force-charm-url",
1722             "force-series",
1723             "settings-yaml"
1724           ]
1725         },
1726         "ApplicationsDeploy": {
1727           "type": "object",
1728           "properties": {
1729             "applications": {
1730               "type": "array",
1731               "items": {
1732                 "$ref": "#/definitions/ApplicationDeploy"
1733               }
1734             }
1735           },
1736           "additionalProperties": false,
1737           "required": [
1738             "applications"
1739           ]
1740         },
1741         "CharmRelation": {
1742           "type": "object",
1743           "properties": {
1744             "interface": {
1745               "type": "string"
1746             },
1747             "limit": {
1748               "type": "integer"
1749             },
1750             "name": {
1751               "type": "string"
1752             },
1753             "optional": {
1754               "type": "boolean"
1755             },
1756             "role": {
1757               "type": "string"
1758             },
1759             "scope": {
1760               "type": "string"
1761             }
1762           },
1763           "additionalProperties": false,
1764           "required": [
1765             "name",
1766             "role",
1767             "interface",
1768             "optional",
1769             "limit",
1770             "scope"
1771           ]
1772         },
1773         "Constraints": {
1774           "type": "object",
1775           "properties": {
1776             "Count": {
1777               "type": "integer"
1778             },
1779             "Pool": {
1780               "type": "string"
1781             },
1782             "Size": {
1783               "type": "integer"
1784             }
1785           },
1786           "additionalProperties": false,
1787           "required": [
1788             "Pool",
1789             "Size",
1790             "Count"
1791           ]
1792         },
1793         "DestroyApplicationUnits": {
1794           "type": "object",
1795           "properties": {
1796             "unit-names": {
1797               "type": "array",
1798               "items": {
1799                 "type": "string"
1800               }
1801             }
1802           },
1803           "additionalProperties": false,
1804           "required": [
1805             "unit-names"
1806           ]
1807         },
1808         "DestroyRelation": {
1809           "type": "object",
1810           "properties": {
1811             "endpoints": {
1812               "type": "array",
1813               "items": {
1814                 "type": "string"
1815               }
1816             }
1817           },
1818           "additionalProperties": false,
1819           "required": [
1820             "endpoints"
1821           ]
1822         },
1823         "Error": {
1824           "type": "object",
1825           "properties": {
1826             "code": {
1827               "type": "string"
1828             },
1829             "info": {
1830               "$ref": "#/definitions/ErrorInfo"
1831             },
1832             "message": {
1833               "type": "string"
1834             }
1835           },
1836           "additionalProperties": false,
1837           "required": [
1838             "message",
1839             "code"
1840           ]
1841         },
1842         "ErrorInfo": {
1843           "type": "object",
1844           "properties": {
1845             "macaroon": {
1846               "$ref": "#/definitions/Macaroon"
1847             },
1848             "macaroon-path": {
1849               "type": "string"
1850             }
1851           },
1852           "additionalProperties": false
1853         },
1854         "ErrorResult": {
1855           "type": "object",
1856           "properties": {
1857             "error": {
1858               "$ref": "#/definitions/Error"
1859             }
1860           },
1861           "additionalProperties": false
1862         },
1863         "ErrorResults": {
1864           "type": "object",
1865           "properties": {
1866             "results": {
1867               "type": "array",
1868               "items": {
1869                 "$ref": "#/definitions/ErrorResult"
1870               }
1871             }
1872           },
1873           "additionalProperties": false,
1874           "required": [
1875             "results"
1876           ]
1877         },
1878         "GetApplicationConstraints": {
1879           "type": "object",
1880           "properties": {
1881             "application": {
1882               "type": "string"
1883             }
1884           },
1885           "additionalProperties": false,
1886           "required": [
1887             "application"
1888           ]
1889         },
1890         "GetConstraintsResults": {
1891           "type": "object",
1892           "properties": {
1893             "constraints": {
1894               "$ref": "#/definitions/Value"
1895             }
1896           },
1897           "additionalProperties": false,
1898           "required": [
1899             "constraints"
1900           ]
1901         },
1902         "Macaroon": {
1903           "type": "object",
1904           "additionalProperties": false
1905         },
1906         "Placement": {
1907           "type": "object",
1908           "properties": {
1909             "directive": {
1910               "type": "string"
1911             },
1912             "scope": {
1913               "type": "string"
1914             }
1915           },
1916           "additionalProperties": false,
1917           "required": [
1918             "scope",
1919             "directive"
1920           ]
1921         },
1922         "SetConstraints": {
1923           "type": "object",
1924           "properties": {
1925             "application": {
1926               "type": "string"
1927             },
1928             "constraints": {
1929               "$ref": "#/definitions/Value"
1930             }
1931           },
1932           "additionalProperties": false,
1933           "required": [
1934             "application",
1935             "constraints"
1936           ]
1937         },
1938         "StringResult": {
1939           "type": "object",
1940           "properties": {
1941             "error": {
1942               "$ref": "#/definitions/Error"
1943             },
1944             "result": {
1945               "type": "string"
1946             }
1947           },
1948           "additionalProperties": false,
1949           "required": [
1950             "result"
1951           ]
1952         },
1953         "Value": {
1954           "type": "object",
1955           "properties": {
1956             "arch": {
1957               "type": "string"
1958             },
1959             "container": {
1960               "type": "string"
1961             },
1962             "cpu-cores": {
1963               "type": "integer"
1964             },
1965             "cpu-power": {
1966               "type": "integer"
1967             },
1968             "instance-type": {
1969               "type": "string"
1970             },
1971             "mem": {
1972               "type": "integer"
1973             },
1974             "root-disk": {
1975               "type": "integer"
1976             },
1977             "spaces": {
1978               "type": "array",
1979               "items": {
1980                 "type": "string"
1981               }
1982             },
1983             "tags": {
1984               "type": "array",
1985               "items": {
1986                 "type": "string"
1987               }
1988             },
1989             "virt-type": {
1990               "type": "string"
1991             }
1992           },
1993           "additionalProperties": false
1994         }
1995       }
1996     }
1997   },
1998   {
1999     "Name": "ApplicationScaler",
2000     "Version": 1,
2001     "Schema": {
2002       "type": "object",
2003       "properties": {
2004         "Rescale": {
2005           "type": "object",
2006           "properties": {
2007             "Params": {
2008               "$ref": "#/definitions/Entities"
2009             },
2010             "Result": {
2011               "$ref": "#/definitions/ErrorResults"
2012             }
2013           }
2014         },
2015         "Watch": {
2016           "type": "object",
2017           "properties": {
2018             "Result": {
2019               "$ref": "#/definitions/StringsWatchResult"
2020             }
2021           }
2022         }
2023       },
2024       "definitions": {
2025         "Entities": {
2026           "type": "object",
2027           "properties": {
2028             "entities": {
2029               "type": "array",
2030               "items": {
2031                 "$ref": "#/definitions/Entity"
2032               }
2033             }
2034           },
2035           "additionalProperties": false,
2036           "required": [
2037             "entities"
2038           ]
2039         },
2040         "Entity": {
2041           "type": "object",
2042           "properties": {
2043             "tag": {
2044               "type": "string"
2045             }
2046           },
2047           "additionalProperties": false,
2048           "required": [
2049             "tag"
2050           ]
2051         },
2052         "Error": {
2053           "type": "object",
2054           "properties": {
2055             "code": {
2056               "type": "string"
2057             },
2058             "info": {
2059               "$ref": "#/definitions/ErrorInfo"
2060             },
2061             "message": {
2062               "type": "string"
2063             }
2064           },
2065           "additionalProperties": false,
2066           "required": [
2067             "message",
2068             "code"
2069           ]
2070         },
2071         "ErrorInfo": {
2072           "type": "object",
2073           "properties": {
2074             "macaroon": {
2075               "$ref": "#/definitions/Macaroon"
2076             },
2077             "macaroon-path": {
2078               "type": "string"
2079             }
2080           },
2081           "additionalProperties": false
2082         },
2083         "ErrorResult": {
2084           "type": "object",
2085           "properties": {
2086             "error": {
2087               "$ref": "#/definitions/Error"
2088             }
2089           },
2090           "additionalProperties": false
2091         },
2092         "ErrorResults": {
2093           "type": "object",
2094           "properties": {
2095             "results": {
2096               "type": "array",
2097               "items": {
2098                 "$ref": "#/definitions/ErrorResult"
2099               }
2100             }
2101           },
2102           "additionalProperties": false,
2103           "required": [
2104             "results"
2105           ]
2106         },
2107         "Macaroon": {
2108           "type": "object",
2109           "additionalProperties": false
2110         },
2111         "StringsWatchResult": {
2112           "type": "object",
2113           "properties": {
2114             "changes": {
2115               "type": "array",
2116               "items": {
2117                 "type": "string"
2118               }
2119             },
2120             "error": {
2121               "$ref": "#/definitions/Error"
2122             },
2123             "watcher-id": {
2124               "type": "string"
2125             }
2126           },
2127           "additionalProperties": false,
2128           "required": [
2129             "watcher-id"
2130           ]
2131         }
2132       }
2133     }
2134   },
2135   {
2136     "Name": "Backups",
2137     "Version": 1,
2138     "Schema": {
2139       "type": "object",
2140       "properties": {
2141         "Create": {
2142           "type": "object",
2143           "properties": {
2144             "Params": {
2145               "$ref": "#/definitions/BackupsCreateArgs"
2146             },
2147             "Result": {
2148               "$ref": "#/definitions/BackupsMetadataResult"
2149             }
2150           }
2151         },
2152         "FinishRestore": {
2153           "type": "object"
2154         },
2155         "Info": {
2156           "type": "object",
2157           "properties": {
2158             "Params": {
2159               "$ref": "#/definitions/BackupsInfoArgs"
2160             },
2161             "Result": {
2162               "$ref": "#/definitions/BackupsMetadataResult"
2163             }
2164           }
2165         },
2166         "List": {
2167           "type": "object",
2168           "properties": {
2169             "Params": {
2170               "$ref": "#/definitions/BackupsListArgs"
2171             },
2172             "Result": {
2173               "$ref": "#/definitions/BackupsListResult"
2174             }
2175           }
2176         },
2177         "PrepareRestore": {
2178           "type": "object"
2179         },
2180         "Remove": {
2181           "type": "object",
2182           "properties": {
2183             "Params": {
2184               "$ref": "#/definitions/BackupsRemoveArgs"
2185             }
2186           }
2187         },
2188         "Restore": {
2189           "type": "object",
2190           "properties": {
2191             "Params": {
2192               "$ref": "#/definitions/RestoreArgs"
2193             }
2194           }
2195         }
2196       },
2197       "definitions": {
2198         "BackupsCreateArgs": {
2199           "type": "object",
2200           "properties": {
2201             "notes": {
2202               "type": "string"
2203             }
2204           },
2205           "additionalProperties": false,
2206           "required": [
2207             "notes"
2208           ]
2209         },
2210         "BackupsInfoArgs": {
2211           "type": "object",
2212           "properties": {
2213             "id": {
2214               "type": "string"
2215             }
2216           },
2217           "additionalProperties": false,
2218           "required": [
2219             "id"
2220           ]
2221         },
2222         "BackupsListArgs": {
2223           "type": "object",
2224           "additionalProperties": false
2225         },
2226         "BackupsListResult": {
2227           "type": "object",
2228           "properties": {
2229             "list": {
2230               "type": "array",
2231               "items": {
2232                 "$ref": "#/definitions/BackupsMetadataResult"
2233               }
2234             }
2235           },
2236           "additionalProperties": false,
2237           "required": [
2238             "list"
2239           ]
2240         },
2241         "BackupsMetadataResult": {
2242           "type": "object",
2243           "properties": {
2244             "ca-cert": {
2245               "type": "string"
2246             },
2247             "ca-private-key": {
2248               "type": "string"
2249             },
2250             "checksum": {
2251               "type": "string"
2252             },
2253             "checksum-format": {
2254               "type": "string"
2255             },
2256             "finished": {
2257               "type": "string",
2258               "format": "date-time"
2259             },
2260             "hostname": {
2261               "type": "string"
2262             },
2263             "id": {
2264               "type": "string"
2265             },
2266             "machine": {
2267               "type": "string"
2268             },
2269             "model": {
2270               "type": "string"
2271             },
2272             "notes": {
2273               "type": "string"
2274             },
2275             "series": {
2276               "type": "string"
2277             },
2278             "size": {
2279               "type": "integer"
2280             },
2281             "started": {
2282               "type": "string",
2283               "format": "date-time"
2284             },
2285             "stored": {
2286               "type": "string",
2287               "format": "date-time"
2288             },
2289             "version": {
2290               "$ref": "#/definitions/Number"
2291             }
2292           },
2293           "additionalProperties": false,
2294           "required": [
2295             "id",
2296             "checksum",
2297             "checksum-format",
2298             "size",
2299             "stored",
2300             "started",
2301             "finished",
2302             "notes",
2303             "model",
2304             "machine",
2305             "hostname",
2306             "version",
2307             "series",
2308             "ca-cert",
2309             "ca-private-key"
2310           ]
2311         },
2312         "BackupsRemoveArgs": {
2313           "type": "object",
2314           "properties": {
2315             "id": {
2316               "type": "string"
2317             }
2318           },
2319           "additionalProperties": false,
2320           "required": [
2321             "id"
2322           ]
2323         },
2324         "Number": {
2325           "type": "object",
2326           "properties": {
2327             "Build": {
2328               "type": "integer"
2329             },
2330             "Major": {
2331               "type": "integer"
2332             },
2333             "Minor": {
2334               "type": "integer"
2335             },
2336             "Patch": {
2337               "type": "integer"
2338             },
2339             "Tag": {
2340               "type": "string"
2341             }
2342           },
2343           "additionalProperties": false,
2344           "required": [
2345             "Major",
2346             "Minor",
2347             "Tag",
2348             "Patch",
2349             "Build"
2350           ]
2351         },
2352         "RestoreArgs": {
2353           "type": "object",
2354           "properties": {
2355             "backup-id": {
2356               "type": "string"
2357             }
2358           },
2359           "additionalProperties": false,
2360           "required": [
2361             "backup-id"
2362           ]
2363         }
2364       }
2365     }
2366   },
2367   {
2368     "Name": "Block",
2369     "Version": 2,
2370     "Schema": {
2371       "type": "object",
2372       "properties": {
2373         "List": {
2374           "type": "object",
2375           "properties": {
2376             "Result": {
2377               "$ref": "#/definitions/BlockResults"
2378             }
2379           }
2380         },
2381         "SwitchBlockOff": {
2382           "type": "object",
2383           "properties": {
2384             "Params": {
2385               "$ref": "#/definitions/BlockSwitchParams"
2386             },
2387             "Result": {
2388               "$ref": "#/definitions/ErrorResult"
2389             }
2390           }
2391         },
2392         "SwitchBlockOn": {
2393           "type": "object",
2394           "properties": {
2395             "Params": {
2396               "$ref": "#/definitions/BlockSwitchParams"
2397             },
2398             "Result": {
2399               "$ref": "#/definitions/ErrorResult"
2400             }
2401           }
2402         }
2403       },
2404       "definitions": {
2405         "Block": {
2406           "type": "object",
2407           "properties": {
2408             "id": {
2409               "type": "string"
2410             },
2411             "message": {
2412               "type": "string"
2413             },
2414             "tag": {
2415               "type": "string"
2416             },
2417             "type": {
2418               "type": "string"
2419             }
2420           },
2421           "additionalProperties": false,
2422           "required": [
2423             "id",
2424             "tag",
2425             "type"
2426           ]
2427         },
2428         "BlockResult": {
2429           "type": "object",
2430           "properties": {
2431             "error": {
2432               "$ref": "#/definitions/Error"
2433             },
2434             "result": {
2435               "$ref": "#/definitions/Block"
2436             }
2437           },
2438           "additionalProperties": false,
2439           "required": [
2440             "result"
2441           ]
2442         },
2443         "BlockResults": {
2444           "type": "object",
2445           "properties": {
2446             "results": {
2447               "type": "array",
2448               "items": {
2449                 "$ref": "#/definitions/BlockResult"
2450               }
2451             }
2452           },
2453           "additionalProperties": false
2454         },
2455         "BlockSwitchParams": {
2456           "type": "object",
2457           "properties": {
2458             "message": {
2459               "type": "string"
2460             },
2461             "type": {
2462               "type": "string"
2463             }
2464           },
2465           "additionalProperties": false,
2466           "required": [
2467             "type"
2468           ]
2469         },
2470         "Error": {
2471           "type": "object",
2472           "properties": {
2473             "code": {
2474               "type": "string"
2475             },
2476             "info": {
2477               "$ref": "#/definitions/ErrorInfo"
2478             },
2479             "message": {
2480               "type": "string"
2481             }
2482           },
2483           "additionalProperties": false,
2484           "required": [
2485             "message",
2486             "code"
2487           ]
2488         },
2489         "ErrorInfo": {
2490           "type": "object",
2491           "properties": {
2492             "macaroon": {
2493               "$ref": "#/definitions/Macaroon"
2494             },
2495             "macaroon-path": {
2496               "type": "string"
2497             }
2498           },
2499           "additionalProperties": false
2500         },
2501         "ErrorResult": {
2502           "type": "object",
2503           "properties": {
2504             "error": {
2505               "$ref": "#/definitions/Error"
2506             }
2507           },
2508           "additionalProperties": false
2509         },
2510         "Macaroon": {
2511           "type": "object",
2512           "additionalProperties": false
2513         }
2514       }
2515     }
2516   },
2517   {
2518     "Name": "CharmRevisionUpdater",
2519     "Version": 2,
2520     "Schema": {
2521       "type": "object",
2522       "properties": {
2523         "UpdateLatestRevisions": {
2524           "type": "object",
2525           "properties": {
2526             "Result": {
2527               "$ref": "#/definitions/ErrorResult"
2528             }
2529           }
2530         }
2531       },
2532       "definitions": {
2533         "Error": {
2534           "type": "object",
2535           "properties": {
2536             "code": {
2537               "type": "string"
2538             },
2539             "info": {
2540               "$ref": "#/definitions/ErrorInfo"
2541             },
2542             "message": {
2543               "type": "string"
2544             }
2545           },
2546           "additionalProperties": false,
2547           "required": [
2548             "message",
2549             "code"
2550           ]
2551         },
2552         "ErrorInfo": {
2553           "type": "object",
2554           "properties": {
2555             "macaroon": {
2556               "$ref": "#/definitions/Macaroon"
2557             },
2558             "macaroon-path": {
2559               "type": "string"
2560             }
2561           },
2562           "additionalProperties": false
2563         },
2564         "ErrorResult": {
2565           "type": "object",
2566           "properties": {
2567             "error": {
2568               "$ref": "#/definitions/Error"
2569             }
2570           },
2571           "additionalProperties": false
2572         },
2573         "Macaroon": {
2574           "type": "object",
2575           "additionalProperties": false
2576         }
2577       }
2578     }
2579   },
2580   {
2581     "Name": "Charms",
2582     "Version": 2,
2583     "Schema": {
2584       "type": "object",
2585       "properties": {
2586         "CharmInfo": {
2587           "type": "object",
2588           "properties": {
2589             "Params": {
2590               "$ref": "#/definitions/CharmURL"
2591             },
2592             "Result": {
2593               "$ref": "#/definitions/CharmInfo"
2594             }
2595           }
2596         },
2597         "IsMetered": {
2598           "type": "object",
2599           "properties": {
2600             "Params": {
2601               "$ref": "#/definitions/CharmURL"
2602             },
2603             "Result": {
2604               "$ref": "#/definitions/IsMeteredResult"
2605             }
2606           }
2607         },
2608         "List": {
2609           "type": "object",
2610           "properties": {
2611             "Params": {
2612               "$ref": "#/definitions/CharmsList"
2613             },
2614             "Result": {
2615               "$ref": "#/definitions/CharmsListResult"
2616             }
2617           }
2618         }
2619       },
2620       "definitions": {
2621         "CharmActionSpec": {
2622           "type": "object",
2623           "properties": {
2624             "description": {
2625               "type": "string"
2626             },
2627             "params": {
2628               "type": "object",
2629               "patternProperties": {
2630                 ".*": {
2631                   "type": "object",
2632                   "additionalProperties": true
2633                 }
2634               }
2635             }
2636           },
2637           "additionalProperties": false,
2638           "required": [
2639             "description",
2640             "params"
2641           ]
2642         },
2643         "CharmActions": {
2644           "type": "object",
2645           "properties": {
2646             "specs": {
2647               "type": "object",
2648               "patternProperties": {
2649                 ".*": {
2650                   "$ref": "#/definitions/CharmActionSpec"
2651                 }
2652               }
2653             }
2654           },
2655           "additionalProperties": false
2656         },
2657         "CharmInfo": {
2658           "type": "object",
2659           "properties": {
2660             "actions": {
2661               "$ref": "#/definitions/CharmActions"
2662             },
2663             "config": {
2664               "type": "object",
2665               "patternProperties": {
2666                 ".*": {
2667                   "$ref": "#/definitions/CharmOption"
2668                 }
2669               }
2670             },
2671             "meta": {
2672               "$ref": "#/definitions/CharmMeta"
2673             },
2674             "metrics": {
2675               "$ref": "#/definitions/CharmMetrics"
2676             },
2677             "revision": {
2678               "type": "integer"
2679             },
2680             "url": {
2681               "type": "string"
2682             }
2683           },
2684           "additionalProperties": false,
2685           "required": [
2686             "revision",
2687             "url",
2688             "config"
2689           ]
2690         },
2691         "CharmMeta": {
2692           "type": "object",
2693           "properties": {
2694             "categories": {
2695               "type": "array",
2696               "items": {
2697                 "type": "string"
2698               }
2699             },
2700             "description": {
2701               "type": "string"
2702             },
2703             "extra-bindings": {
2704               "type": "object",
2705               "patternProperties": {
2706                 ".*": {
2707                   "type": "string"
2708                 }
2709               }
2710             },
2711             "min-juju-version": {
2712               "type": "string"
2713             },
2714             "name": {
2715               "type": "string"
2716             },
2717             "payload-classes": {
2718               "type": "object",
2719               "patternProperties": {
2720                 ".*": {
2721                   "$ref": "#/definitions/CharmPayloadClass"
2722                 }
2723               }
2724             },
2725             "peers": {
2726               "type": "object",
2727               "patternProperties": {
2728                 ".*": {
2729                   "$ref": "#/definitions/CharmRelation"
2730                 }
2731               }
2732             },
2733             "provides": {
2734               "type": "object",
2735               "patternProperties": {
2736                 ".*": {
2737                   "$ref": "#/definitions/CharmRelation"
2738                 }
2739               }
2740             },
2741             "requires": {
2742               "type": "object",
2743               "patternProperties": {
2744                 ".*": {
2745                   "$ref": "#/definitions/CharmRelation"
2746                 }
2747               }
2748             },
2749             "resources": {
2750               "type": "object",
2751               "patternProperties": {
2752                 ".*": {
2753                   "$ref": "#/definitions/CharmResourceMeta"
2754                 }
2755               }
2756             },
2757             "series": {
2758               "type": "array",
2759               "items": {
2760                 "type": "string"
2761               }
2762             },
2763             "storage": {
2764               "type": "object",
2765               "patternProperties": {
2766                 ".*": {
2767                   "$ref": "#/definitions/CharmStorage"
2768                 }
2769               }
2770             },
2771             "subordinate": {
2772               "type": "boolean"
2773             },
2774             "summary": {
2775               "type": "string"
2776             },
2777             "tags": {
2778               "type": "array",
2779               "items": {
2780                 "type": "string"
2781               }
2782             },
2783             "terms": {
2784               "type": "array",
2785               "items": {
2786                 "type": "string"
2787               }
2788             }
2789           },
2790           "additionalProperties": false,
2791           "required": [
2792             "name",
2793             "summary",
2794             "description",
2795             "subordinate"
2796           ]
2797         },
2798         "CharmMetric": {
2799           "type": "object",
2800           "properties": {
2801             "description": {
2802               "type": "string"
2803             },
2804             "type": {
2805               "type": "string"
2806             }
2807           },
2808           "additionalProperties": false,
2809           "required": [
2810             "type",
2811             "description"
2812           ]
2813         },
2814         "CharmMetrics": {
2815           "type": "object",
2816           "properties": {
2817             "metrics": {
2818               "type": "object",
2819               "patternProperties": {
2820                 ".*": {
2821                   "$ref": "#/definitions/CharmMetric"
2822                 }
2823               }
2824             }
2825           },
2826           "additionalProperties": false,
2827           "required": [
2828             "metrics"
2829           ]
2830         },
2831         "CharmOption": {
2832           "type": "object",
2833           "properties": {
2834             "default": {
2835               "type": "object",
2836               "additionalProperties": true
2837             },
2838             "description": {
2839               "type": "string"
2840             },
2841             "type": {
2842               "type": "string"
2843             }
2844           },
2845           "additionalProperties": false,
2846           "required": [
2847             "type"
2848           ]
2849         },
2850         "CharmPayloadClass": {
2851           "type": "object",
2852           "properties": {
2853             "name": {
2854               "type": "string"
2855             },
2856             "type": {
2857               "type": "string"
2858             }
2859           },
2860           "additionalProperties": false,
2861           "required": [
2862             "name",
2863             "type"
2864           ]
2865         },
2866         "CharmRelation": {
2867           "type": "object",
2868           "properties": {
2869             "interface": {
2870               "type": "string"
2871             },
2872             "limit": {
2873               "type": "integer"
2874             },
2875             "name": {
2876               "type": "string"
2877             },
2878             "optional": {
2879               "type": "boolean"
2880             },
2881             "role": {
2882               "type": "string"
2883             },
2884             "scope": {
2885               "type": "string"
2886             }
2887           },
2888           "additionalProperties": false,
2889           "required": [
2890             "name",
2891             "role",
2892             "interface",
2893             "optional",
2894             "limit",
2895             "scope"
2896           ]
2897         },
2898         "CharmResourceMeta": {
2899           "type": "object",
2900           "properties": {
2901             "description": {
2902               "type": "string"
2903             },
2904             "name": {
2905               "type": "string"
2906             },
2907             "path": {
2908               "type": "string"
2909             },
2910             "type": {
2911               "type": "string"
2912             }
2913           },
2914           "additionalProperties": false,
2915           "required": [
2916             "name",
2917             "type",
2918             "path",
2919             "description"
2920           ]
2921         },
2922         "CharmStorage": {
2923           "type": "object",
2924           "properties": {
2925             "count-max": {
2926               "type": "integer"
2927             },
2928             "count-min": {
2929               "type": "integer"
2930             },
2931             "description": {
2932               "type": "string"
2933             },
2934             "location": {
2935               "type": "string"
2936             },
2937             "minimum-size": {
2938               "type": "integer"
2939             },
2940             "name": {
2941               "type": "string"
2942             },
2943             "properties": {
2944               "type": "array",
2945               "items": {
2946                 "type": "string"
2947               }
2948             },
2949             "read-only": {
2950               "type": "boolean"
2951             },
2952             "shared": {
2953               "type": "boolean"
2954             },
2955             "type": {
2956               "type": "string"
2957             }
2958           },
2959           "additionalProperties": false,
2960           "required": [
2961             "name",
2962             "description",
2963             "type",
2964             "shared",
2965             "read-only",
2966             "count-min",
2967             "count-max",
2968             "minimum-size"
2969           ]
2970         },
2971         "CharmURL": {
2972           "type": "object",
2973           "properties": {
2974             "url": {
2975               "type": "string"
2976             }
2977           },
2978           "additionalProperties": false,
2979           "required": [
2980             "url"
2981           ]
2982         },
2983         "CharmsList": {
2984           "type": "object",
2985           "properties": {
2986             "names": {
2987               "type": "array",
2988               "items": {
2989                 "type": "string"
2990               }
2991             }
2992           },
2993           "additionalProperties": false,
2994           "required": [
2995             "names"
2996           ]
2997         },
2998         "CharmsListResult": {
2999           "type": "object",
3000           "properties": {
3001             "charm-urls": {
3002               "type": "array",
3003               "items": {
3004                 "type": "string"
3005               }
3006             }
3007           },
3008           "additionalProperties": false,
3009           "required": [
3010             "charm-urls"
3011           ]
3012         },
3013         "IsMeteredResult": {
3014           "type": "object",
3015           "properties": {
3016             "metered": {
3017               "type": "boolean"
3018             }
3019           },
3020           "additionalProperties": false,
3021           "required": [
3022             "metered"
3023           ]
3024         }
3025       }
3026     }
3027   },
3028   {
3029     "Name": "Cleaner",
3030     "Version": 2,
3031     "Schema": {
3032       "type": "object",
3033       "properties": {
3034         "Cleanup": {
3035           "type": "object"
3036         },
3037         "WatchCleanups": {
3038           "type": "object",
3039           "properties": {
3040             "Result": {
3041               "$ref": "#/definitions/NotifyWatchResult"
3042             }
3043           }
3044         }
3045       },
3046       "definitions": {
3047         "Error": {
3048           "type": "object",
3049           "properties": {
3050             "code": {
3051               "type": "string"
3052             },
3053             "info": {
3054               "$ref": "#/definitions/ErrorInfo"
3055             },
3056             "message": {
3057               "type": "string"
3058             }
3059           },
3060           "additionalProperties": false,
3061           "required": [
3062             "message",
3063             "code"
3064           ]
3065         },
3066         "ErrorInfo": {
3067           "type": "object",
3068           "properties": {
3069             "macaroon": {
3070               "$ref": "#/definitions/Macaroon"
3071             },
3072             "macaroon-path": {
3073               "type": "string"
3074             }
3075           },
3076           "additionalProperties": false
3077         },
3078         "Macaroon": {
3079           "type": "object",
3080           "additionalProperties": false
3081         },
3082         "NotifyWatchResult": {
3083           "type": "object",
3084           "properties": {
3085             "NotifyWatcherId": {
3086               "type": "string"
3087             },
3088             "error": {
3089               "$ref": "#/definitions/Error"
3090             }
3091           },
3092           "additionalProperties": false,
3093           "required": [
3094             "NotifyWatcherId"
3095           ]
3096         }
3097       }
3098     }
3099   },
3100   {
3101     "Name": "Client",
3102     "Version": 1,
3103     "Schema": {
3104       "type": "object",
3105       "properties": {
3106         "APIHostPorts": {
3107           "type": "object",
3108           "properties": {
3109             "Result": {
3110               "$ref": "#/definitions/APIHostPortsResult"
3111             }
3112           }
3113         },
3114         "AbortCurrentUpgrade": {
3115           "type": "object"
3116         },
3117         "AddCharm": {
3118           "type": "object",
3119           "properties": {
3120             "Params": {
3121               "$ref": "#/definitions/AddCharm"
3122             }
3123           }
3124         },
3125         "AddCharmWithAuthorization": {
3126           "type": "object",
3127           "properties": {
3128             "Params": {
3129               "$ref": "#/definitions/AddCharmWithAuthorization"
3130             }
3131           }
3132         },
3133         "AddMachines": {
3134           "type": "object",
3135           "properties": {
3136             "Params": {
3137               "$ref": "#/definitions/AddMachines"
3138             },
3139             "Result": {
3140               "$ref": "#/definitions/AddMachinesResults"
3141             }
3142           }
3143         },
3144         "AddMachinesV2": {
3145           "type": "object",
3146           "properties": {
3147             "Params": {
3148               "$ref": "#/definitions/AddMachines"
3149             },
3150             "Result": {
3151               "$ref": "#/definitions/AddMachinesResults"
3152             }
3153           }
3154         },
3155         "AgentVersion": {
3156           "type": "object",
3157           "properties": {
3158             "Result": {
3159               "$ref": "#/definitions/AgentVersionResult"
3160             }
3161           }
3162         },
3163         "DestroyMachines": {
3164           "type": "object",
3165           "properties": {
3166             "Params": {
3167               "$ref": "#/definitions/DestroyMachines"
3168             }
3169           }
3170         },
3171         "FindTools": {
3172           "type": "object",
3173           "properties": {
3174             "Params": {
3175               "$ref": "#/definitions/FindToolsParams"
3176             },
3177             "Result": {
3178               "$ref": "#/definitions/FindToolsResult"
3179             }
3180           }
3181         },
3182         "FullStatus": {
3183           "type": "object",
3184           "properties": {
3185             "Params": {
3186               "$ref": "#/definitions/StatusParams"
3187             },
3188             "Result": {
3189               "$ref": "#/definitions/FullStatus"
3190             }
3191           }
3192         },
3193         "GetBundleChanges": {
3194           "type": "object",
3195           "properties": {
3196             "Params": {
3197               "$ref": "#/definitions/GetBundleChangesParams"
3198             },
3199             "Result": {
3200               "$ref": "#/definitions/GetBundleChangesResults"
3201             }
3202           }
3203         },
3204         "GetModelConstraints": {
3205           "type": "object",
3206           "properties": {
3207             "Result": {
3208               "$ref": "#/definitions/GetConstraintsResults"
3209             }
3210           }
3211         },
3212         "InjectMachines": {
3213           "type": "object",
3214           "properties": {
3215             "Params": {
3216               "$ref": "#/definitions/AddMachines"
3217             },
3218             "Result": {
3219               "$ref": "#/definitions/AddMachinesResults"
3220             }
3221           }
3222         },
3223         "ModelGet": {
3224           "type": "object",
3225           "properties": {
3226             "Result": {
3227               "$ref": "#/definitions/ModelConfigResults"
3228             }
3229           }
3230         },
3231         "ModelInfo": {
3232           "type": "object",
3233           "properties": {
3234             "Result": {
3235               "$ref": "#/definitions/ModelInfo"
3236             }
3237           }
3238         },
3239         "ModelSet": {
3240           "type": "object",
3241           "properties": {
3242             "Params": {
3243               "$ref": "#/definitions/ModelSet"
3244             }
3245           }
3246         },
3247         "ModelUnset": {
3248           "type": "object",
3249           "properties": {
3250             "Params": {
3251               "$ref": "#/definitions/ModelUnset"
3252             }
3253           }
3254         },
3255         "ModelUserInfo": {
3256           "type": "object",
3257           "properties": {
3258             "Result": {
3259               "$ref": "#/definitions/ModelUserInfoResults"
3260             }
3261           }
3262         },
3263         "PrivateAddress": {
3264           "type": "object",
3265           "properties": {
3266             "Params": {
3267               "$ref": "#/definitions/PrivateAddress"
3268             },
3269             "Result": {
3270               "$ref": "#/definitions/PrivateAddressResults"
3271             }
3272           }
3273         },
3274         "ProvisioningScript": {
3275           "type": "object",
3276           "properties": {
3277             "Params": {
3278               "$ref": "#/definitions/ProvisioningScriptParams"
3279             },
3280             "Result": {
3281               "$ref": "#/definitions/ProvisioningScriptResult"
3282             }
3283           }
3284         },
3285         "PublicAddress": {
3286           "type": "object",
3287           "properties": {
3288             "Params": {
3289               "$ref": "#/definitions/PublicAddress"
3290             },
3291             "Result": {
3292               "$ref": "#/definitions/PublicAddressResults"
3293             }
3294           }
3295         },
3296         "ResolveCharms": {
3297           "type": "object",
3298           "properties": {
3299             "Params": {
3300               "$ref": "#/definitions/ResolveCharms"
3301             },
3302             "Result": {
3303               "$ref": "#/definitions/ResolveCharmResults"
3304             }
3305           }
3306         },
3307         "Resolved": {
3308           "type": "object",
3309           "properties": {
3310             "Params": {
3311               "$ref": "#/definitions/Resolved"
3312             }
3313           }
3314         },
3315         "RetryProvisioning": {
3316           "type": "object",
3317           "properties": {
3318             "Params": {
3319               "$ref": "#/definitions/Entities"
3320             },
3321             "Result": {
3322               "$ref": "#/definitions/ErrorResults"
3323             }
3324           }
3325         },
3326         "SetModelAgentVersion": {
3327           "type": "object",
3328           "properties": {
3329             "Params": {
3330               "$ref": "#/definitions/SetModelAgentVersion"
3331             }
3332           }
3333         },
3334         "SetModelConstraints": {
3335           "type": "object",
3336           "properties": {
3337             "Params": {
3338               "$ref": "#/definitions/SetConstraints"
3339             }
3340           }
3341         },
3342         "StatusHistory": {
3343           "type": "object",
3344           "properties": {
3345             "Params": {
3346               "$ref": "#/definitions/StatusHistoryRequests"
3347             },
3348             "Result": {
3349               "$ref": "#/definitions/StatusHistoryResults"
3350             }
3351           }
3352         },
3353         "WatchAll": {
3354           "type": "object",
3355           "properties": {
3356             "Result": {
3357               "$ref": "#/definitions/AllWatcherId"
3358             }
3359           }
3360         }
3361       },
3362       "definitions": {
3363         "APIHostPortsResult": {
3364           "type": "object",
3365           "properties": {
3366             "servers": {
3367               "type": "array",
3368               "items": {
3369                 "type": "array",
3370                 "items": {
3371                   "$ref": "#/definitions/HostPort"
3372                 }
3373               }
3374             }
3375           },
3376           "additionalProperties": false,
3377           "required": [
3378             "servers"
3379           ]
3380         },
3381         "AddCharm": {
3382           "type": "object",
3383           "properties": {
3384             "channel": {
3385               "type": "string"
3386             },
3387             "url": {
3388               "type": "string"
3389             }
3390           },
3391           "additionalProperties": false,
3392           "required": [
3393             "url",
3394             "channel"
3395           ]
3396         },
3397         "AddCharmWithAuthorization": {
3398           "type": "object",
3399           "properties": {
3400             "channel": {
3401               "type": "string"
3402             },
3403             "macaroon": {
3404               "$ref": "#/definitions/Macaroon"
3405             },
3406             "url": {
3407               "type": "string"
3408             }
3409           },
3410           "additionalProperties": false,
3411           "required": [
3412             "url",
3413             "channel",
3414             "macaroon"
3415           ]
3416         },
3417         "AddMachineParams": {
3418           "type": "object",
3419           "properties": {
3420             "addresses": {
3421               "type": "array",
3422               "items": {
3423                 "$ref": "#/definitions/Address"
3424               }
3425             },
3426             "constraints": {
3427               "$ref": "#/definitions/Value"
3428             },
3429             "container-type": {
3430               "type": "string"
3431             },
3432             "disks": {
3433               "type": "array",
3434               "items": {
3435                 "$ref": "#/definitions/Constraints"
3436               }
3437             },
3438             "hardware-characteristics": {
3439               "$ref": "#/definitions/HardwareCharacteristics"
3440             },
3441             "instance-id": {
3442               "type": "string"
3443             },
3444             "jobs": {
3445               "type": "array",
3446               "items": {
3447                 "type": "string"
3448               }
3449             },
3450             "nonce": {
3451               "type": "string"
3452             },
3453             "parent-id": {
3454               "type": "string"
3455             },
3456             "placement": {
3457               "$ref": "#/definitions/Placement"
3458             },
3459             "series": {
3460               "type": "string"
3461             }
3462           },
3463           "additionalProperties": false,
3464           "required": [
3465             "series",
3466             "constraints",
3467             "jobs",
3468             "parent-id",
3469             "container-type",
3470             "instance-id",
3471             "nonce",
3472             "hardware-characteristics",
3473             "addresses"
3474           ]
3475         },
3476         "AddMachines": {
3477           "type": "object",
3478           "properties": {
3479             "params": {
3480               "type": "array",
3481               "items": {
3482                 "$ref": "#/definitions/AddMachineParams"
3483               }
3484             }
3485           },
3486           "additionalProperties": false,
3487           "required": [
3488             "params"
3489           ]
3490         },
3491         "AddMachinesResult": {
3492           "type": "object",
3493           "properties": {
3494             "error": {
3495               "$ref": "#/definitions/Error"
3496             },
3497             "machine": {
3498               "type": "string"
3499             }
3500           },
3501           "additionalProperties": false,
3502           "required": [
3503             "machine"
3504           ]
3505         },
3506         "AddMachinesResults": {
3507           "type": "object",
3508           "properties": {
3509             "machines": {
3510               "type": "array",
3511               "items": {
3512                 "$ref": "#/definitions/AddMachinesResult"
3513               }
3514             }
3515           },
3516           "additionalProperties": false,
3517           "required": [
3518             "machines"
3519           ]
3520         },
3521         "Address": {
3522           "type": "object",
3523           "properties": {
3524             "scope": {
3525               "type": "string"
3526             },
3527             "space-name": {
3528               "type": "string"
3529             },
3530             "type": {
3531               "type": "string"
3532             },
3533             "value": {
3534               "type": "string"
3535             }
3536           },
3537           "additionalProperties": false,
3538           "required": [
3539             "value",
3540             "type",
3541             "scope"
3542           ]
3543         },
3544         "AgentVersionResult": {
3545           "type": "object",
3546           "properties": {
3547             "version": {
3548               "$ref": "#/definitions/Number"
3549             }
3550           },
3551           "additionalProperties": false,
3552           "required": [
3553             "version"
3554           ]
3555         },
3556         "AllWatcherId": {
3557           "type": "object",
3558           "properties": {
3559             "watcher-id": {
3560               "type": "string"
3561             }
3562           },
3563           "additionalProperties": false,
3564           "required": [
3565             "watcher-id"
3566           ]
3567         },
3568         "ApplicationStatus": {
3569           "type": "object",
3570           "properties": {
3571             "can-upgrade-to": {
3572               "type": "string"
3573             },
3574             "charm": {
3575               "type": "string"
3576             },
3577             "err": {
3578               "type": "object",
3579               "additionalProperties": true
3580             },
3581             "exposed": {
3582               "type": "boolean"
3583             },
3584             "life": {
3585               "type": "string"
3586             },
3587             "meter-statuses": {
3588               "type": "object",
3589               "patternProperties": {
3590                 ".*": {
3591                   "$ref": "#/definitions/MeterStatus"
3592                 }
3593               }
3594             },
3595             "relations": {
3596               "type": "object",
3597               "patternProperties": {
3598                 ".*": {
3599                   "type": "array",
3600                   "items": {
3601                     "type": "string"
3602                   }
3603                 }
3604               }
3605             },
3606             "series": {
3607               "type": "string"
3608             },
3609             "status": {
3610               "$ref": "#/definitions/DetailedStatus"
3611             },
3612             "subordinate-to": {
3613               "type": "array",
3614               "items": {
3615                 "type": "string"
3616               }
3617             },
3618             "units": {
3619               "type": "object",
3620               "patternProperties": {
3621                 ".*": {
3622                   "$ref": "#/definitions/UnitStatus"
3623                 }
3624               }
3625             },
3626             "workload-version": {
3627               "type": "string"
3628             }
3629           },
3630           "additionalProperties": false,
3631           "required": [
3632             "charm",
3633             "series",
3634             "exposed",
3635             "life",
3636             "relations",
3637             "can-upgrade-to",
3638             "subordinate-to",
3639             "units",
3640             "meter-statuses",
3641             "status",
3642             "workload-version"
3643           ]
3644         },
3645         "Binary": {
3646           "type": "object",
3647           "properties": {
3648             "Arch": {
3649               "type": "string"
3650             },
3651             "Number": {
3652               "$ref": "#/definitions/Number"
3653             },
3654             "Series": {
3655               "type": "string"
3656             }
3657           },
3658           "additionalProperties": false,
3659           "required": [
3660             "Number",
3661             "Series",
3662             "Arch"
3663           ]
3664         },
3665         "BundleChangesChange": {
3666           "type": "object",
3667           "properties": {
3668             "args": {
3669               "type": "array",
3670               "items": {
3671                 "type": "object",
3672                 "additionalProperties": true
3673               }
3674             },
3675             "id": {
3676               "type": "string"
3677             },
3678             "method": {
3679               "type": "string"
3680             },
3681             "requires": {
3682               "type": "array",
3683               "items": {
3684                 "type": "string"
3685               }
3686             }
3687           },
3688           "additionalProperties": false,
3689           "required": [
3690             "id",
3691             "method",
3692             "args",
3693             "requires"
3694           ]
3695         },
3696         "ConfigValue": {
3697           "type": "object",
3698           "properties": {
3699             "source": {
3700               "type": "string"
3701             },
3702             "value": {
3703               "type": "object",
3704               "additionalProperties": true
3705             }
3706           },
3707           "additionalProperties": false,
3708           "required": [
3709             "value",
3710             "source"
3711           ]
3712         },
3713         "Constraints": {
3714           "type": "object",
3715           "properties": {
3716             "Count": {
3717               "type": "integer"
3718             },
3719             "Pool": {
3720               "type": "string"
3721             },
3722             "Size": {
3723               "type": "integer"
3724             }
3725           },
3726           "additionalProperties": false,
3727           "required": [
3728             "Pool",
3729             "Size",
3730             "Count"
3731           ]
3732         },
3733         "DestroyMachines": {
3734           "type": "object",
3735           "properties": {
3736             "force": {
3737               "type": "boolean"
3738             },
3739             "machine-names": {
3740               "type": "array",
3741               "items": {
3742                 "type": "string"
3743               }
3744             }
3745           },
3746           "additionalProperties": false,
3747           "required": [
3748             "machine-names",
3749             "force"
3750           ]
3751         },
3752         "DetailedStatus": {
3753           "type": "object",
3754           "properties": {
3755             "data": {
3756               "type": "object",
3757               "patternProperties": {
3758                 ".*": {
3759                   "type": "object",
3760                   "additionalProperties": true
3761                 }
3762               }
3763             },
3764             "err": {
3765               "type": "object",
3766               "additionalProperties": true
3767             },
3768             "info": {
3769               "type": "string"
3770             },
3771             "kind": {
3772               "type": "string"
3773             },
3774             "life": {
3775               "type": "string"
3776             },
3777             "since": {
3778               "type": "string",
3779               "format": "date-time"
3780             },
3781             "status": {
3782               "type": "string"
3783             },
3784             "version": {
3785               "type": "string"
3786             }
3787           },
3788           "additionalProperties": false,
3789           "required": [
3790             "status",
3791             "info",
3792             "data",
3793             "since",
3794             "kind",
3795             "version",
3796             "life"
3797           ]
3798         },
3799         "EndpointStatus": {
3800           "type": "object",
3801           "properties": {
3802             "application": {
3803               "type": "string"
3804             },
3805             "name": {
3806               "type": "string"
3807             },
3808             "role": {
3809               "type": "string"
3810             },
3811             "subordinate": {
3812               "type": "boolean"
3813             }
3814           },
3815           "additionalProperties": false,
3816           "required": [
3817             "application",
3818             "name",
3819             "role",
3820             "subordinate"
3821           ]
3822         },
3823         "Entities": {
3824           "type": "object",
3825           "properties": {
3826             "entities": {
3827               "type": "array",
3828               "items": {
3829                 "$ref": "#/definitions/Entity"
3830               }
3831             }
3832           },
3833           "additionalProperties": false,
3834           "required": [
3835             "entities"
3836           ]
3837         },
3838         "Entity": {
3839           "type": "object",
3840           "properties": {
3841             "tag": {
3842               "type": "string"
3843             }
3844           },
3845           "additionalProperties": false,
3846           "required": [
3847             "tag"
3848           ]
3849         },
3850         "EntityStatus": {
3851           "type": "object",
3852           "properties": {
3853             "data": {
3854               "type": "object",
3855               "patternProperties": {
3856                 ".*": {
3857                   "type": "object",
3858                   "additionalProperties": true
3859                 }
3860               }
3861             },
3862             "info": {
3863               "type": "string"
3864             },
3865             "since": {
3866               "type": "string",
3867               "format": "date-time"
3868             },
3869             "status": {
3870               "type": "string"
3871             }
3872           },
3873           "additionalProperties": false,
3874           "required": [
3875             "status",
3876             "info",
3877             "since"
3878           ]
3879         },
3880         "Error": {
3881           "type": "object",
3882           "properties": {
3883             "code": {
3884               "type": "string"
3885             },
3886             "info": {
3887               "$ref": "#/definitions/ErrorInfo"
3888             },
3889             "message": {
3890               "type": "string"
3891             }
3892           },
3893           "additionalProperties": false,
3894           "required": [
3895             "message",
3896             "code"
3897           ]
3898         },
3899         "ErrorInfo": {
3900           "type": "object",
3901           "properties": {
3902             "macaroon": {
3903               "$ref": "#/definitions/Macaroon"
3904             },
3905             "macaroon-path": {
3906               "type": "string"
3907             }
3908           },
3909           "additionalProperties": false
3910         },
3911         "ErrorResult": {
3912           "type": "object",
3913           "properties": {
3914             "error": {
3915               "$ref": "#/definitions/Error"
3916             }
3917           },
3918           "additionalProperties": false
3919         },
3920         "ErrorResults": {
3921           "type": "object",
3922           "properties": {
3923             "results": {
3924               "type": "array",
3925               "items": {
3926                 "$ref": "#/definitions/ErrorResult"
3927               }
3928             }
3929           },
3930           "additionalProperties": false,
3931           "required": [
3932             "results"
3933           ]
3934         },
3935         "FindToolsParams": {
3936           "type": "object",
3937           "properties": {
3938             "arch": {
3939               "type": "string"
3940             },
3941             "major": {
3942               "type": "integer"
3943             },
3944             "minor": {
3945               "type": "integer"
3946             },
3947             "number": {
3948               "$ref": "#/definitions/Number"
3949             },
3950             "series": {
3951               "type": "string"
3952             }
3953           },
3954           "additionalProperties": false,
3955           "required": [
3956             "number",
3957             "major",
3958             "minor",
3959             "arch",
3960             "series"
3961           ]
3962         },
3963         "FindToolsResult": {
3964           "type": "object",
3965           "properties": {
3966             "error": {
3967               "$ref": "#/definitions/Error"
3968             },
3969             "list": {
3970               "type": "array",
3971               "items": {
3972                 "$ref": "#/definitions/Tools"
3973               }
3974             }
3975           },
3976           "additionalProperties": false,
3977           "required": [
3978             "list"
3979           ]
3980         },
3981         "FullStatus": {
3982           "type": "object",
3983           "properties": {
3984             "applications": {
3985               "type": "object",
3986               "patternProperties": {
3987                 ".*": {
3988                   "$ref": "#/definitions/ApplicationStatus"
3989                 }
3990               }
3991             },
3992             "machines": {
3993               "type": "object",
3994               "patternProperties": {
3995                 ".*": {
3996                   "$ref": "#/definitions/MachineStatus"
3997                 }
3998               }
3999             },
4000             "model": {
4001               "$ref": "#/definitions/ModelStatusInfo"
4002             },
4003             "relations": {
4004               "type": "array",
4005               "items": {
4006                 "$ref": "#/definitions/RelationStatus"
4007               }
4008             }
4009           },
4010           "additionalProperties": false,
4011           "required": [
4012             "model",
4013             "machines",
4014             "applications",
4015             "relations"
4016           ]
4017         },
4018         "GetBundleChangesParams": {
4019           "type": "object",
4020           "properties": {
4021             "yaml": {
4022               "type": "string"
4023             }
4024           },
4025           "additionalProperties": false,
4026           "required": [
4027             "yaml"
4028           ]
4029         },
4030         "GetBundleChangesResults": {
4031           "type": "object",
4032           "properties": {
4033             "changes": {
4034               "type": "array",
4035               "items": {
4036                 "$ref": "#/definitions/BundleChangesChange"
4037               }
4038             },
4039             "errors": {
4040               "type": "array",
4041               "items": {
4042                 "type": "string"
4043               }
4044             }
4045           },
4046           "additionalProperties": false
4047         },
4048         "GetConstraintsResults": {
4049           "type": "object",
4050           "properties": {
4051             "constraints": {
4052               "$ref": "#/definitions/Value"
4053             }
4054           },
4055           "additionalProperties": false,
4056           "required": [
4057             "constraints"
4058           ]
4059         },
4060         "HardwareCharacteristics": {
4061           "type": "object",
4062           "properties": {
4063             "arch": {
4064               "type": "string"
4065             },
4066             "availability-zone": {
4067               "type": "string"
4068             },
4069             "cpu-cores": {
4070               "type": "integer"
4071             },
4072             "cpu-power": {
4073               "type": "integer"
4074             },
4075             "mem": {
4076               "type": "integer"
4077             },
4078             "root-disk": {
4079               "type": "integer"
4080             },
4081             "tags": {
4082               "type": "array",
4083               "items": {
4084                 "type": "string"
4085               }
4086             }
4087           },
4088           "additionalProperties": false
4089         },
4090         "History": {
4091           "type": "object",
4092           "properties": {
4093             "error": {
4094               "$ref": "#/definitions/Error"
4095             },
4096             "statuses": {
4097               "type": "array",
4098               "items": {
4099                 "$ref": "#/definitions/DetailedStatus"
4100               }
4101             }
4102           },
4103           "additionalProperties": false,
4104           "required": [
4105             "statuses"
4106           ]
4107         },
4108         "HostPort": {
4109           "type": "object",
4110           "properties": {
4111             "Address": {
4112               "$ref": "#/definitions/Address"
4113             },
4114             "port": {
4115               "type": "integer"
4116             }
4117           },
4118           "additionalProperties": false,
4119           "required": [
4120             "Address",
4121             "port"
4122           ]
4123         },
4124         "Macaroon": {
4125           "type": "object",
4126           "additionalProperties": false
4127         },
4128         "MachineStatus": {
4129           "type": "object",
4130           "properties": {
4131             "agent-status": {
4132               "$ref": "#/definitions/DetailedStatus"
4133             },
4134             "containers": {
4135               "type": "object",
4136               "patternProperties": {
4137                 ".*": {
4138                   "$ref": "#/definitions/MachineStatus"
4139                 }
4140               }
4141             },
4142             "dns-name": {
4143               "type": "string"
4144             },
4145             "hardware": {
4146               "type": "string"
4147             },
4148             "has-vote": {
4149               "type": "boolean"
4150             },
4151             "id": {
4152               "type": "string"
4153             },
4154             "instance-id": {
4155               "type": "string"
4156             },
4157             "instance-status": {
4158               "$ref": "#/definitions/DetailedStatus"
4159             },
4160             "jobs": {
4161               "type": "array",
4162               "items": {
4163                 "type": "string"
4164               }
4165             },
4166             "series": {
4167               "type": "string"
4168             },
4169             "wants-vote": {
4170               "type": "boolean"
4171             }
4172           },
4173           "additionalProperties": false,
4174           "required": [
4175             "agent-status",
4176             "instance-status",
4177             "dns-name",
4178             "instance-id",
4179             "series",
4180             "id",
4181             "containers",
4182             "hardware",
4183             "jobs",
4184             "has-vote",
4185             "wants-vote"
4186           ]
4187         },
4188         "MeterStatus": {
4189           "type": "object",
4190           "properties": {
4191             "color": {
4192               "type": "string"
4193             },
4194             "message": {
4195               "type": "string"
4196             }
4197           },
4198           "additionalProperties": false,
4199           "required": [
4200             "color",
4201             "message"
4202           ]
4203         },
4204         "ModelConfigResults": {
4205           "type": "object",
4206           "properties": {
4207             "config": {
4208               "type": "object",
4209               "patternProperties": {
4210                 ".*": {
4211                   "$ref": "#/definitions/ConfigValue"
4212                 }
4213               }
4214             }
4215           },
4216           "additionalProperties": false,
4217           "required": [
4218             "config"
4219           ]
4220         },
4221         "ModelInfo": {
4222           "type": "object",
4223           "properties": {
4224             "cloud": {
4225               "type": "string"
4226             },
4227             "cloud-credential": {
4228               "type": "string"
4229             },
4230             "cloud-region": {
4231               "type": "string"
4232             },
4233             "controller-uuid": {
4234               "type": "string"
4235             },
4236             "default-series": {
4237               "type": "string"
4238             },
4239             "life": {
4240               "type": "string"
4241             },
4242             "name": {
4243               "type": "string"
4244             },
4245             "owner-tag": {
4246               "type": "string"
4247             },
4248             "provider-type": {
4249               "type": "string"
4250             },
4251             "status": {
4252               "$ref": "#/definitions/EntityStatus"
4253             },
4254             "users": {
4255               "type": "array",
4256               "items": {
4257                 "$ref": "#/definitions/ModelUserInfo"
4258               }
4259             },
4260             "uuid": {
4261               "type": "string"
4262             }
4263           },
4264           "additionalProperties": false,
4265           "required": [
4266             "name",
4267             "uuid",
4268             "controller-uuid",
4269             "provider-type",
4270             "default-series",
4271             "cloud",
4272             "owner-tag",
4273             "life",
4274             "status",
4275             "users"
4276           ]
4277         },
4278         "ModelSet": {
4279           "type": "object",
4280           "properties": {
4281             "config": {
4282               "type": "object",
4283               "patternProperties": {
4284                 ".*": {
4285                   "type": "object",
4286                   "additionalProperties": true
4287                 }
4288               }
4289             }
4290           },
4291           "additionalProperties": false,
4292           "required": [
4293             "config"
4294           ]
4295         },
4296         "ModelStatusInfo": {
4297           "type": "object",
4298           "properties": {
4299             "available-version": {
4300               "type": "string"
4301             },
4302             "cloud": {
4303               "type": "string"
4304             },
4305             "name": {
4306               "type": "string"
4307             },
4308             "region": {
4309               "type": "string"
4310             },
4311             "version": {
4312               "type": "string"
4313             }
4314           },
4315           "additionalProperties": false,
4316           "required": [
4317             "name",
4318             "cloud",
4319             "version",
4320             "available-version"
4321           ]
4322         },
4323         "ModelUnset": {
4324           "type": "object",
4325           "properties": {
4326             "keys": {
4327               "type": "array",
4328               "items": {
4329                 "type": "string"
4330               }
4331             }
4332           },
4333           "additionalProperties": false,
4334           "required": [
4335             "keys"
4336           ]
4337         },
4338         "ModelUserInfo": {
4339           "type": "object",
4340           "properties": {
4341             "access": {
4342               "type": "string"
4343             },
4344             "display-name": {
4345               "type": "string"
4346             },
4347             "last-connection": {
4348               "type": "string",
4349               "format": "date-time"
4350             },
4351             "user": {
4352               "type": "string"
4353             }
4354           },
4355           "additionalProperties": false,
4356           "required": [
4357             "user",
4358             "display-name",
4359             "last-connection",
4360             "access"
4361           ]
4362         },
4363         "ModelUserInfoResult": {
4364           "type": "object",
4365           "properties": {
4366             "error": {
4367               "$ref": "#/definitions/Error"
4368             },
4369             "result": {
4370               "$ref": "#/definitions/ModelUserInfo"
4371             }
4372           },
4373           "additionalProperties": false
4374         },
4375         "ModelUserInfoResults": {
4376           "type": "object",
4377           "properties": {
4378             "results": {
4379               "type": "array",
4380               "items": {
4381                 "$ref": "#/definitions/ModelUserInfoResult"
4382               }
4383             }
4384           },
4385           "additionalProperties": false,
4386           "required": [
4387             "results"
4388           ]
4389         },
4390         "Number": {
4391           "type": "object",
4392           "properties": {
4393             "Build": {
4394               "type": "integer"
4395             },
4396             "Major": {
4397               "type": "integer"
4398             },
4399             "Minor": {
4400               "type": "integer"
4401             },
4402             "Patch": {
4403               "type": "integer"
4404             },
4405             "Tag": {
4406               "type": "string"
4407             }
4408           },
4409           "additionalProperties": false,
4410           "required": [
4411             "Major",
4412             "Minor",
4413             "Tag",
4414             "Patch",
4415             "Build"
4416           ]
4417         },
4418         "Placement": {
4419           "type": "object",
4420           "properties": {
4421             "directive": {
4422               "type": "string"
4423             },
4424             "scope": {
4425               "type": "string"
4426             }
4427           },
4428           "additionalProperties": false,
4429           "required": [
4430             "scope",
4431             "directive"
4432           ]
4433         },
4434         "PrivateAddress": {
4435           "type": "object",
4436           "properties": {
4437             "target": {
4438               "type": "string"
4439             }
4440           },
4441           "additionalProperties": false,
4442           "required": [
4443             "target"
4444           ]
4445         },
4446         "PrivateAddressResults": {
4447           "type": "object",
4448           "properties": {
4449             "private-address": {
4450               "type": "string"
4451             }
4452           },
4453           "additionalProperties": false,
4454           "required": [
4455             "private-address"
4456           ]
4457         },
4458         "ProvisioningScriptParams": {
4459           "type": "object",
4460           "properties": {
4461             "data-dir": {
4462               "type": "string"
4463             },
4464             "disable-package-commands": {
4465               "type": "boolean"
4466             },
4467             "machine-id": {
4468               "type": "string"
4469             },
4470             "nonce": {
4471               "type": "string"
4472             }
4473           },
4474           "additionalProperties": false,
4475           "required": [
4476             "machine-id",
4477             "nonce",
4478             "data-dir",
4479             "disable-package-commands"
4480           ]
4481         },
4482         "ProvisioningScriptResult": {
4483           "type": "object",
4484           "properties": {
4485             "script": {
4486               "type": "string"
4487             }
4488           },
4489           "additionalProperties": false,
4490           "required": [
4491             "script"
4492           ]
4493         },
4494         "PublicAddress": {
4495           "type": "object",
4496           "properties": {
4497             "target": {
4498               "type": "string"
4499             }
4500           },
4501           "additionalProperties": false,
4502           "required": [
4503             "target"
4504           ]
4505         },
4506         "PublicAddressResults": {
4507           "type": "object",
4508           "properties": {
4509             "public-address": {
4510               "type": "string"
4511             }
4512           },
4513           "additionalProperties": false,
4514           "required": [
4515             "public-address"
4516           ]
4517         },
4518         "RelationStatus": {
4519           "type": "object",
4520           "properties": {
4521             "endpoints": {
4522               "type": "array",
4523               "items": {
4524                 "$ref": "#/definitions/EndpointStatus"
4525               }
4526             },
4527             "id": {
4528               "type": "integer"
4529             },
4530             "interface": {
4531               "type": "string"
4532             },
4533             "key": {
4534               "type": "string"
4535             },
4536             "scope": {
4537               "type": "string"
4538             }
4539           },
4540           "additionalProperties": false,
4541           "required": [
4542             "id",
4543             "key",
4544             "interface",
4545             "scope",
4546             "endpoints"
4547           ]
4548         },
4549         "ResolveCharmResult": {
4550           "type": "object",
4551           "properties": {
4552             "error": {
4553               "type": "string"
4554             },
4555             "url": {
4556               "type": "string"
4557             }
4558           },
4559           "additionalProperties": false
4560         },
4561         "ResolveCharmResults": {
4562           "type": "object",
4563           "properties": {
4564             "urls": {
4565               "type": "array",
4566               "items": {
4567                 "$ref": "#/definitions/ResolveCharmResult"
4568               }
4569             }
4570           },
4571           "additionalProperties": false,
4572           "required": [
4573             "urls"
4574           ]
4575         },
4576         "ResolveCharms": {
4577           "type": "object",
4578           "properties": {
4579             "references": {
4580               "type": "array",
4581               "items": {
4582                 "type": "string"
4583               }
4584             }
4585           },
4586           "additionalProperties": false,
4587           "required": [
4588             "references"
4589           ]
4590         },
4591         "Resolved": {
4592           "type": "object",
4593           "properties": {
4594             "retry": {
4595               "type": "boolean"
4596             },
4597             "unit-name": {
4598               "type": "string"
4599             }
4600           },
4601           "additionalProperties": false,
4602           "required": [
4603             "unit-name",
4604             "retry"
4605           ]
4606         },
4607         "SetConstraints": {
4608           "type": "object",
4609           "properties": {
4610             "application": {
4611               "type": "string"
4612             },
4613             "constraints": {
4614               "$ref": "#/definitions/Value"
4615             }
4616           },
4617           "additionalProperties": false,
4618           "required": [
4619             "application",
4620             "constraints"
4621           ]
4622         },
4623         "SetModelAgentVersion": {
4624           "type": "object",
4625           "properties": {
4626             "version": {
4627               "$ref": "#/definitions/Number"
4628             }
4629           },
4630           "additionalProperties": false,
4631           "required": [
4632             "version"
4633           ]
4634         },
4635         "StatusHistoryFilter": {
4636           "type": "object",
4637           "properties": {
4638             "date": {
4639               "type": "string",
4640               "format": "date-time"
4641             },
4642             "delta": {
4643               "type": "integer"
4644             },
4645             "size": {
4646               "type": "integer"
4647             }
4648           },
4649           "additionalProperties": false,
4650           "required": [
4651             "size",
4652             "date",
4653             "delta"
4654           ]
4655         },
4656         "StatusHistoryRequest": {
4657           "type": "object",
4658           "properties": {
4659             "filter": {
4660               "$ref": "#/definitions/StatusHistoryFilter"
4661             },
4662             "historyKind": {
4663               "type": "string"
4664             },
4665             "size": {
4666               "type": "integer"
4667             },
4668             "tag": {
4669               "type": "string"
4670             }
4671           },
4672           "additionalProperties": false,
4673           "required": [
4674             "historyKind",
4675             "size",
4676             "filter",
4677             "tag"
4678           ]
4679         },
4680         "StatusHistoryRequests": {
4681           "type": "object",
4682           "properties": {
4683             "requests": {
4684               "type": "array",
4685               "items": {
4686                 "$ref": "#/definitions/StatusHistoryRequest"
4687               }
4688             }
4689           },
4690           "additionalProperties": false,
4691           "required": [
4692             "requests"
4693           ]
4694         },
4695         "StatusHistoryResult": {
4696           "type": "object",
4697           "properties": {
4698             "error": {
4699               "$ref": "#/definitions/Error"
4700             },
4701             "history": {
4702               "$ref": "#/definitions/History"
4703             }
4704           },
4705           "additionalProperties": false,
4706           "required": [
4707             "history"
4708           ]
4709         },
4710         "StatusHistoryResults": {
4711           "type": "object",
4712           "properties": {
4713             "results": {
4714               "type": "array",
4715               "items": {
4716                 "$ref": "#/definitions/StatusHistoryResult"
4717               }
4718             }
4719           },
4720           "additionalProperties": false,
4721           "required": [
4722             "results"
4723           ]
4724         },
4725         "StatusParams": {
4726           "type": "object",
4727           "properties": {
4728             "patterns": {
4729               "type": "array",
4730               "items": {
4731                 "type": "string"
4732               }
4733             }
4734           },
4735           "additionalProperties": false,
4736           "required": [
4737             "patterns"
4738           ]
4739         },
4740         "Tools": {
4741           "type": "object",
4742           "properties": {
4743             "sha256": {
4744               "type": "string"
4745             },
4746             "size": {
4747               "type": "integer"
4748             },
4749             "url": {
4750               "type": "string"
4751             },
4752             "version": {
4753               "$ref": "#/definitions/Binary"
4754             }
4755           },
4756           "additionalProperties": false,
4757           "required": [
4758             "version",
4759             "url",
4760             "size"
4761           ]
4762         },
4763         "UnitStatus": {
4764           "type": "object",
4765           "properties": {
4766             "agent-status": {
4767               "$ref": "#/definitions/DetailedStatus"
4768             },
4769             "charm": {
4770               "type": "string"
4771             },
4772             "machine": {
4773               "type": "string"
4774             },
4775             "opened-ports": {
4776               "type": "array",
4777               "items": {
4778                 "type": "string"
4779               }
4780             },
4781             "public-address": {
4782               "type": "string"
4783             },
4784             "subordinates": {
4785               "type": "object",
4786               "patternProperties": {
4787                 ".*": {
4788                   "$ref": "#/definitions/UnitStatus"
4789                 }
4790               }
4791             },
4792             "workload-status": {
4793               "$ref": "#/definitions/DetailedStatus"
4794             },
4795             "workload-version": {
4796               "type": "string"
4797             }
4798           },
4799           "additionalProperties": false,
4800           "required": [
4801             "agent-status",
4802             "workload-status",
4803             "workload-version",
4804             "machine",
4805             "opened-ports",
4806             "public-address",
4807             "charm",
4808             "subordinates"
4809           ]
4810         },
4811         "Value": {
4812           "type": "object",
4813           "properties": {
4814             "arch": {
4815               "type": "string"
4816             },
4817             "container": {
4818               "type": "string"
4819             },
4820             "cpu-cores": {
4821               "type": "integer"
4822             },
4823             "cpu-power": {
4824               "type": "integer"
4825             },
4826             "instance-type": {
4827               "type": "string"
4828             },
4829             "mem": {
4830               "type": "integer"
4831             },
4832             "root-disk": {
4833               "type": "integer"
4834             },
4835             "spaces": {
4836               "type": "array",
4837               "items": {
4838                 "type": "string"
4839               }
4840             },
4841             "tags": {
4842               "type": "array",
4843               "items": {
4844                 "type": "string"
4845               }
4846             },
4847             "virt-type": {
4848               "type": "string"
4849             }
4850           },
4851           "additionalProperties": false
4852         }
4853       }
4854     }
4855   },
4856   {
4857     "Name": "Cloud",
4858     "Version": 1,
4859     "Schema": {
4860       "type": "object",
4861       "properties": {
4862         "Cloud": {
4863           "type": "object",
4864           "properties": {
4865             "Params": {
4866               "$ref": "#/definitions/Entities"
4867             },
4868             "Result": {
4869               "$ref": "#/definitions/CloudResults"
4870             }
4871           }
4872         },
4873         "CloudDefaults": {
4874           "type": "object",
4875           "properties": {
4876             "Params": {
4877               "$ref": "#/definitions/Entities"
4878             },
4879             "Result": {
4880               "$ref": "#/definitions/CloudDefaultsResults"
4881             }
4882           }
4883         },
4884         "Credentials": {
4885           "type": "object",
4886           "properties": {
4887             "Params": {
4888               "$ref": "#/definitions/UserClouds"
4889             },
4890             "Result": {
4891               "$ref": "#/definitions/CloudCredentialsResults"
4892             }
4893           }
4894         },
4895         "UpdateCredentials": {
4896           "type": "object",
4897           "properties": {
4898             "Params": {
4899               "$ref": "#/definitions/UsersCloudCredentials"
4900             },
4901             "Result": {
4902               "$ref": "#/definitions/ErrorResults"
4903             }
4904           }
4905         }
4906       },
4907       "definitions": {
4908         "Cloud": {
4909           "type": "object",
4910           "properties": {
4911             "auth-types": {
4912               "type": "array",
4913               "items": {
4914                 "type": "string"
4915               }
4916             },
4917             "endpoint": {
4918               "type": "string"
4919             },
4920             "regions": {
4921               "type": "array",
4922               "items": {
4923                 "$ref": "#/definitions/CloudRegion"
4924               }
4925             },
4926             "type": {
4927               "type": "string"
4928             }
4929           },
4930           "additionalProperties": false,
4931           "required": [
4932             "type"
4933           ]
4934         },
4935         "CloudCredential": {
4936           "type": "object",
4937           "properties": {
4938             "attrs": {
4939               "type": "object",
4940               "patternProperties": {
4941                 ".*": {
4942                   "type": "string"
4943                 }
4944               }
4945             },
4946             "auth-type": {
4947               "type": "string"
4948             }
4949           },
4950           "additionalProperties": false,
4951           "required": [
4952             "auth-type"
4953           ]
4954         },
4955         "CloudCredentialsResult": {
4956           "type": "object",
4957           "properties": {
4958             "credentials": {
4959               "type": "object",
4960               "patternProperties": {
4961                 ".*": {
4962                   "$ref": "#/definitions/CloudCredential"
4963                 }
4964               }
4965             },
4966             "error": {
4967               "$ref": "#/definitions/Error"
4968             }
4969           },
4970           "additionalProperties": false
4971         },
4972         "CloudCredentialsResults": {
4973           "type": "object",
4974           "properties": {
4975             "results": {
4976               "type": "array",
4977               "items": {
4978                 "$ref": "#/definitions/CloudCredentialsResult"
4979               }
4980             }
4981           },
4982           "additionalProperties": false
4983         },
4984         "CloudDefaults": {
4985           "type": "object",
4986           "properties": {
4987             "cloud-tag": {
4988               "type": "string"
4989             },
4990             "credential": {
4991               "type": "string"
4992             },
4993             "region": {
4994               "type": "string"
4995             }
4996           },
4997           "additionalProperties": false,
4998           "required": [
4999             "cloud-tag"
5000           ]
5001         },
5002         "CloudDefaultsResult": {
5003           "type": "object",
5004           "properties": {
5005             "error": {
5006               "$ref": "#/definitions/Error"
5007             },
5008             "result": {
5009               "$ref": "#/definitions/CloudDefaults"
5010             }
5011           },
5012           "additionalProperties": false,
5013           "required": [
5014             "error"
5015           ]
5016         },
5017         "CloudDefaultsResults": {
5018           "type": "object",
5019           "properties": {
5020             "results": {
5021               "type": "array",
5022               "items": {
5023                 "$ref": "#/definitions/CloudDefaultsResult"
5024               }
5025             }
5026           },
5027           "additionalProperties": false
5028         },
5029         "CloudRegion": {
5030           "type": "object",
5031           "properties": {
5032             "endpoint": {
5033               "type": "string"
5034             },
5035             "name": {
5036               "type": "string"
5037             }
5038           },
5039           "additionalProperties": false,
5040           "required": [
5041             "name"
5042           ]
5043         },
5044         "CloudResult": {
5045           "type": "object",
5046           "properties": {
5047             "cloud": {
5048               "$ref": "#/definitions/Cloud"
5049             },
5050             "error": {
5051               "$ref": "#/definitions/Error"
5052             }
5053           },
5054           "additionalProperties": false
5055         },
5056         "CloudResults": {
5057           "type": "object",
5058           "properties": {
5059             "results": {
5060               "type": "array",
5061               "items": {
5062                 "$ref": "#/definitions/CloudResult"
5063               }
5064             }
5065           },
5066           "additionalProperties": false
5067         },
5068         "Entities": {
5069           "type": "object",
5070           "properties": {
5071             "entities": {
5072               "type": "array",
5073               "items": {
5074                 "$ref": "#/definitions/Entity"
5075               }
5076             }
5077           },
5078           "additionalProperties": false,
5079           "required": [
5080             "entities"
5081           ]
5082         },
5083         "Entity": {
5084           "type": "object",
5085           "properties": {
5086             "tag": {
5087               "type": "string"
5088             }
5089           },
5090           "additionalProperties": false,
5091           "required": [
5092             "tag"
5093           ]
5094         },
5095         "Error": {
5096           "type": "object",
5097           "properties": {
5098             "code": {
5099               "type": "string"
5100             },
5101             "info": {
5102               "$ref": "#/definitions/ErrorInfo"
5103             },
5104             "message": {
5105               "type": "string"
5106             }
5107           },
5108           "additionalProperties": false,
5109           "required": [
5110             "message",
5111             "code"
5112           ]
5113         },
5114         "ErrorInfo": {
5115           "type": "object",
5116           "properties": {
5117             "macaroon": {
5118               "$ref": "#/definitions/Macaroon"
5119             },
5120             "macaroon-path": {
5121               "type": "string"
5122             }
5123           },
5124           "additionalProperties": false
5125         },
5126         "ErrorResult": {
5127           "type": "object",
5128           "properties": {
5129             "error": {
5130               "$ref": "#/definitions/Error"
5131             }
5132           },
5133           "additionalProperties": false
5134         },
5135         "ErrorResults": {
5136           "type": "object",
5137           "properties": {
5138             "results": {
5139               "type": "array",
5140               "items": {
5141                 "$ref": "#/definitions/ErrorResult"
5142               }
5143             }
5144           },
5145           "additionalProperties": false,
5146           "required": [
5147             "results"
5148           ]
5149         },
5150         "Macaroon": {
5151           "type": "object",
5152           "additionalProperties": false
5153         },
5154         "UserCloud": {
5155           "type": "object",
5156           "properties": {
5157             "cloud-tag": {
5158               "type": "string"
5159             },
5160             "user-tag": {
5161               "type": "string"
5162             }
5163           },
5164           "additionalProperties": false,
5165           "required": [
5166             "user-tag",
5167             "cloud-tag"
5168           ]
5169         },
5170         "UserCloudCredentials": {
5171           "type": "object",
5172           "properties": {
5173             "cloud-tag": {
5174               "type": "string"
5175             },
5176             "credentials": {
5177               "type": "object",
5178               "patternProperties": {
5179                 ".*": {
5180                   "$ref": "#/definitions/CloudCredential"
5181                 }
5182               }
5183             },
5184             "user-tag": {
5185               "type": "string"
5186             }
5187           },
5188           "additionalProperties": false,
5189           "required": [
5190             "user-tag",
5191             "cloud-tag",
5192             "credentials"
5193           ]
5194         },
5195         "UserClouds": {
5196           "type": "object",
5197           "properties": {
5198             "user-clouds": {
5199               "type": "array",
5200               "items": {
5201                 "$ref": "#/definitions/UserCloud"
5202               }
5203             }
5204           },
5205           "additionalProperties": false
5206         },
5207         "UsersCloudCredentials": {
5208           "type": "object",
5209           "properties": {
5210             "users": {
5211               "type": "array",
5212               "items": {
5213                 "$ref": "#/definitions/UserCloudCredentials"
5214               }
5215             }
5216           },
5217           "additionalProperties": false,
5218           "required": [
5219             "users"
5220           ]
5221         }
5222       }
5223     }
5224   },
5225   {
5226     "Name": "Controller",
5227     "Version": 3,
5228     "Schema": {
5229       "type": "object",
5230       "properties": {
5231         "AllModels": {
5232           "type": "object",
5233           "properties": {
5234             "Result": {
5235               "$ref": "#/definitions/UserModelList"
5236             }
5237           }
5238         },
5239         "ControllerConfig": {
5240           "type": "object",
5241           "properties": {
5242             "Result": {
5243               "$ref": "#/definitions/ControllerConfigResult"
5244             }
5245           }
5246         },
5247         "DestroyController": {
5248           "type": "object",
5249           "properties": {
5250             "Params": {
5251               "$ref": "#/definitions/DestroyControllerArgs"
5252             }
5253           }
5254         },
5255         "InitiateModelMigration": {
5256           "type": "object",
5257           "properties": {
5258             "Params": {
5259               "$ref": "#/definitions/InitiateModelMigrationArgs"
5260             },
5261             "Result": {
5262               "$ref": "#/definitions/InitiateModelMigrationResults"
5263             }
5264           }
5265         },
5266         "ListBlockedModels": {
5267           "type": "object",
5268           "properties": {
5269             "Result": {
5270               "$ref": "#/definitions/ModelBlockInfoList"
5271             }
5272           }
5273         },
5274         "ModelConfig": {
5275           "type": "object",
5276           "properties": {
5277             "Result": {
5278               "$ref": "#/definitions/ModelConfigResults"
5279             }
5280           }
5281         },
5282         "ModelStatus": {
5283           "type": "object",
5284           "properties": {
5285             "Params": {
5286               "$ref": "#/definitions/Entities"
5287             },
5288             "Result": {
5289               "$ref": "#/definitions/ModelStatusResults"
5290             }
5291           }
5292         },
5293         "RemoveBlocks": {
5294           "type": "object",
5295           "properties": {
5296             "Params": {
5297               "$ref": "#/definitions/RemoveBlocksArgs"
5298             }
5299           }
5300         },
5301         "WatchAllModels": {
5302           "type": "object",
5303           "properties": {
5304             "Result": {
5305               "$ref": "#/definitions/AllWatcherId"
5306             }
5307           }
5308         }
5309       },
5310       "definitions": {
5311         "AllWatcherId": {
5312           "type": "object",
5313           "properties": {
5314             "watcher-id": {
5315               "type": "string"
5316             }
5317           },
5318           "additionalProperties": false,
5319           "required": [
5320             "watcher-id"
5321           ]
5322         },
5323         "ConfigValue": {
5324           "type": "object",
5325           "properties": {
5326             "source": {
5327               "type": "string"
5328             },
5329             "value": {
5330               "type": "object",
5331               "additionalProperties": true
5332             }
5333           },
5334           "additionalProperties": false,
5335           "required": [
5336             "value",
5337             "source"
5338           ]
5339         },
5340         "ControllerConfigResult": {
5341           "type": "object",
5342           "properties": {
5343             "config": {
5344               "type": "object",
5345               "patternProperties": {
5346                 ".*": {
5347                   "type": "object",
5348                   "additionalProperties": true
5349                 }
5350               }
5351             }
5352           },
5353           "additionalProperties": false,
5354           "required": [
5355             "config"
5356           ]
5357         },
5358         "DestroyControllerArgs": {
5359           "type": "object",
5360           "properties": {
5361             "destroy-models": {
5362               "type": "boolean"
5363             }
5364           },
5365           "additionalProperties": false,
5366           "required": [
5367             "destroy-models"
5368           ]
5369         },
5370         "Entities": {
5371           "type": "object",
5372           "properties": {
5373             "entities": {
5374               "type": "array",
5375               "items": {
5376                 "$ref": "#/definitions/Entity"
5377               }
5378             }
5379           },
5380           "additionalProperties": false,
5381           "required": [
5382             "entities"
5383           ]
5384         },
5385         "Entity": {
5386           "type": "object",
5387           "properties": {
5388             "tag": {
5389               "type": "string"
5390             }
5391           },
5392           "additionalProperties": false,
5393           "required": [
5394             "tag"
5395           ]
5396         },
5397         "Error": {
5398           "type": "object",
5399           "properties": {
5400             "code": {
5401               "type": "string"
5402             },
5403             "info": {
5404               "$ref": "#/definitions/ErrorInfo"
5405             },
5406             "message": {
5407               "type": "string"
5408             }
5409           },
5410           "additionalProperties": false,
5411           "required": [
5412             "message",
5413             "code"
5414           ]
5415         },
5416         "ErrorInfo": {
5417           "type": "object",
5418           "properties": {
5419             "macaroon": {
5420               "$ref": "#/definitions/Macaroon"
5421             },
5422             "macaroon-path": {
5423               "type": "string"
5424             }
5425           },
5426           "additionalProperties": false
5427         },
5428         "InitiateModelMigrationArgs": {
5429           "type": "object",
5430           "properties": {
5431             "specs": {
5432               "type": "array",
5433               "items": {
5434                 "$ref": "#/definitions/ModelMigrationSpec"
5435               }
5436             }
5437           },
5438           "additionalProperties": false,
5439           "required": [
5440             "specs"
5441           ]
5442         },
5443         "InitiateModelMigrationResult": {
5444           "type": "object",
5445           "properties": {
5446             "error": {
5447               "$ref": "#/definitions/Error"
5448             },
5449             "id": {
5450               "type": "string"
5451             },
5452             "model-tag": {
5453               "type": "string"
5454             }
5455           },
5456           "additionalProperties": false,
5457           "required": [
5458             "model-tag",
5459             "id"
5460           ]
5461         },
5462         "InitiateModelMigrationResults": {
5463           "type": "object",
5464           "properties": {
5465             "results": {
5466               "type": "array",
5467               "items": {
5468                 "$ref": "#/definitions/InitiateModelMigrationResult"
5469               }
5470             }
5471           },
5472           "additionalProperties": false,
5473           "required": [
5474             "results"
5475           ]
5476         },
5477         "Macaroon": {
5478           "type": "object",
5479           "additionalProperties": false
5480         },
5481         "Model": {
5482           "type": "object",
5483           "properties": {
5484             "name": {
5485               "type": "string"
5486             },
5487             "owner-tag": {
5488               "type": "string"
5489             },
5490             "uuid": {
5491               "type": "string"
5492             }
5493           },
5494           "additionalProperties": false,
5495           "required": [
5496             "name",
5497             "uuid",
5498             "owner-tag"
5499           ]
5500         },
5501         "ModelBlockInfo": {
5502           "type": "object",
5503           "properties": {
5504             "blocks": {
5505               "type": "array",
5506               "items": {
5507                 "type": "string"
5508               }
5509             },
5510             "model-uuid": {
5511               "type": "string"
5512             },
5513             "name": {
5514               "type": "string"
5515             },
5516             "owner-tag": {
5517               "type": "string"
5518             }
5519           },
5520           "additionalProperties": false,
5521           "required": [
5522             "name",
5523             "model-uuid",
5524             "owner-tag",
5525             "blocks"
5526           ]
5527         },
5528         "ModelBlockInfoList": {
5529           "type": "object",
5530           "properties": {
5531             "models": {
5532               "type": "array",
5533               "items": {
5534                 "$ref": "#/definitions/ModelBlockInfo"
5535               }
5536             }
5537           },
5538           "additionalProperties": false
5539         },
5540         "ModelConfigResults": {
5541           "type": "object",
5542           "properties": {
5543             "config": {
5544               "type": "object",
5545               "patternProperties": {
5546                 ".*": {
5547                   "$ref": "#/definitions/ConfigValue"
5548                 }
5549               }
5550             }
5551           },
5552           "additionalProperties": false,
5553           "required": [
5554             "config"
5555           ]
5556         },
5557         "ModelMigrationSpec": {
5558           "type": "object",
5559           "properties": {
5560             "model-tag": {
5561               "type": "string"
5562             },
5563             "target-info": {
5564               "$ref": "#/definitions/ModelMigrationTargetInfo"
5565             }
5566           },
5567           "additionalProperties": false,
5568           "required": [
5569             "model-tag",
5570             "target-info"
5571           ]
5572         },
5573         "ModelMigrationTargetInfo": {
5574           "type": "object",
5575           "properties": {
5576             "addrs": {
5577               "type": "array",
5578               "items": {
5579                 "type": "string"
5580               }
5581             },
5582             "auth-tag": {
5583               "type": "string"
5584             },
5585             "ca-cert": {
5586               "type": "string"
5587             },
5588             "controller-tag": {
5589               "type": "string"
5590             },
5591             "password": {
5592               "type": "string"
5593             }
5594           },
5595           "additionalProperties": false,
5596           "required": [
5597             "controller-tag",
5598             "addrs",
5599             "ca-cert",
5600             "auth-tag",
5601             "password"
5602           ]
5603         },
5604         "ModelStatus": {
5605           "type": "object",
5606           "properties": {
5607             "application-count": {
5608               "type": "integer"
5609             },
5610             "hosted-machine-count": {
5611               "type": "integer"
5612             },
5613             "life": {
5614               "type": "string"
5615             },
5616             "model-tag": {
5617               "type": "string"
5618             },
5619             "owner-tag": {
5620               "type": "string"
5621             }
5622           },
5623           "additionalProperties": false,
5624           "required": [
5625             "model-tag",
5626             "life",
5627             "hosted-machine-count",
5628             "application-count",
5629             "owner-tag"
5630           ]
5631         },
5632         "ModelStatusResults": {
5633           "type": "object",
5634           "properties": {
5635             "models": {
5636               "type": "array",
5637               "items": {
5638                 "$ref": "#/definitions/ModelStatus"
5639               }
5640             }
5641           },
5642           "additionalProperties": false,
5643           "required": [
5644             "models"
5645           ]
5646         },
5647         "RemoveBlocksArgs": {
5648           "type": "object",
5649           "properties": {
5650             "all": {
5651               "type": "boolean"
5652             }
5653           },
5654           "additionalProperties": false,
5655           "required": [
5656             "all"
5657           ]
5658         },
5659         "UserModel": {
5660           "type": "object",
5661           "properties": {
5662             "last-connection": {
5663               "type": "string",
5664               "format": "date-time"
5665             },
5666             "model": {
5667               "$ref": "#/definitions/Model"
5668             }
5669           },
5670           "additionalProperties": false,
5671           "required": [
5672             "model",
5673             "last-connection"
5674           ]
5675         },
5676         "UserModelList": {
5677           "type": "object",
5678           "properties": {
5679             "user-models": {
5680               "type": "array",
5681               "items": {
5682                 "$ref": "#/definitions/UserModel"
5683               }
5684             }
5685           },
5686           "additionalProperties": false,
5687           "required": [
5688             "user-models"
5689           ]
5690         }
5691       }
5692     }
5693   },
5694   {
5695     "Name": "Deployer",
5696     "Version": 1,
5697     "Schema": {
5698       "type": "object",
5699       "properties": {
5700         "APIAddresses": {
5701           "type": "object",
5702           "properties": {
5703             "Result": {
5704               "$ref": "#/definitions/StringsResult"
5705             }
5706           }
5707         },
5708         "APIHostPorts": {
5709           "type": "object",
5710           "properties": {
5711             "Result": {
5712               "$ref": "#/definitions/APIHostPortsResult"
5713             }
5714           }
5715         },
5716         "CACert": {
5717           "type": "object",
5718           "properties": {
5719             "Result": {
5720               "$ref": "#/definitions/BytesResult"
5721             }
5722           }
5723         },
5724         "ConnectionInfo": {
5725           "type": "object",
5726           "properties": {
5727             "Result": {
5728               "$ref": "#/definitions/DeployerConnectionValues"
5729             }
5730           }
5731         },
5732         "Life": {
5733           "type": "object",
5734           "properties": {
5735             "Params": {
5736               "$ref": "#/definitions/Entities"
5737             },
5738             "Result": {
5739               "$ref": "#/definitions/LifeResults"
5740             }
5741           }
5742         },
5743         "ModelUUID": {
5744           "type": "object",
5745           "properties": {
5746             "Result": {
5747               "$ref": "#/definitions/StringResult"
5748             }
5749           }
5750         },
5751         "Remove": {
5752           "type": "object",
5753           "properties": {
5754             "Params": {
5755               "$ref": "#/definitions/Entities"
5756             },
5757             "Result": {
5758               "$ref": "#/definitions/ErrorResults"
5759             }
5760           }
5761         },
5762         "SetPasswords": {
5763           "type": "object",
5764           "properties": {
5765             "Params": {
5766               "$ref": "#/definitions/EntityPasswords"
5767             },
5768             "Result": {
5769               "$ref": "#/definitions/ErrorResults"
5770             }
5771           }
5772         },
5773         "StateAddresses": {
5774           "type": "object",
5775           "properties": {
5776             "Result": {
5777               "$ref": "#/definitions/StringsResult"
5778             }
5779           }
5780         },
5781         "WatchAPIHostPorts": {
5782           "type": "object",
5783           "properties": {
5784             "Result": {
5785               "$ref": "#/definitions/NotifyWatchResult"
5786             }
5787           }
5788         },
5789         "WatchUnits": {
5790           "type": "object",
5791           "properties": {
5792             "Params": {
5793               "$ref": "#/definitions/Entities"
5794             },
5795             "Result": {
5796               "$ref": "#/definitions/StringsWatchResults"
5797             }
5798           }
5799         }
5800       },
5801       "definitions": {
5802         "APIHostPortsResult": {
5803           "type": "object",
5804           "properties": {
5805             "servers": {
5806               "type": "array",
5807               "items": {
5808                 "type": "array",
5809                 "items": {
5810                   "$ref": "#/definitions/HostPort"
5811                 }
5812               }
5813             }
5814           },
5815           "additionalProperties": false,
5816           "required": [
5817             "servers"
5818           ]
5819         },
5820         "Address": {
5821           "type": "object",
5822           "properties": {
5823             "scope": {
5824               "type": "string"
5825             },
5826             "space-name": {
5827               "type": "string"
5828             },
5829             "type": {
5830               "type": "string"
5831             },
5832             "value": {
5833               "type": "string"
5834             }
5835           },
5836           "additionalProperties": false,
5837           "required": [
5838             "value",
5839             "type",
5840             "scope"
5841           ]
5842         },
5843         "BytesResult": {
5844           "type": "object",
5845           "properties": {
5846             "result": {
5847               "type": "array",
5848               "items": {
5849                 "type": "integer"
5850               }
5851             }
5852           },
5853           "additionalProperties": false,
5854           "required": [
5855             "result"
5856           ]
5857         },
5858         "DeployerConnectionValues": {
5859           "type": "object",
5860           "properties": {
5861             "api-addresses": {
5862               "type": "array",
5863               "items": {
5864                 "type": "string"
5865               }
5866             },
5867             "state-addresses": {
5868               "type": "array",
5869               "items": {
5870                 "type": "string"
5871               }
5872             }
5873           },
5874           "additionalProperties": false,
5875           "required": [
5876             "state-addresses",
5877             "api-addresses"
5878           ]
5879         },
5880         "Entities": {
5881           "type": "object",
5882           "properties": {
5883             "entities": {
5884               "type": "array",
5885               "items": {
5886                 "$ref": "#/definitions/Entity"
5887               }
5888             }
5889           },
5890           "additionalProperties": false,
5891           "required": [
5892             "entities"
5893           ]
5894         },
5895         "Entity": {
5896           "type": "object",
5897           "properties": {
5898             "tag": {
5899               "type": "string"
5900             }
5901           },
5902           "additionalProperties": false,
5903           "required": [
5904             "tag"
5905           ]
5906         },
5907         "EntityPassword": {
5908           "type": "object",
5909           "properties": {
5910             "password": {
5911               "type": "string"
5912             },
5913             "tag": {
5914               "type": "string"
5915             }
5916           },
5917           "additionalProperties": false,
5918           "required": [
5919             "tag",
5920             "password"
5921           ]
5922         },
5923         "EntityPasswords": {
5924           "type": "object",
5925           "properties": {
5926             "changes": {
5927               "type": "array",
5928               "items": {
5929                 "$ref": "#/definitions/EntityPassword"
5930               }
5931             }
5932           },
5933           "additionalProperties": false,
5934           "required": [
5935             "changes"
5936           ]
5937         },
5938         "Error": {
5939           "type": "object",
5940           "properties": {
5941             "code": {
5942               "type": "string"
5943             },
5944             "info": {
5945               "$ref": "#/definitions/ErrorInfo"
5946             },
5947             "message": {
5948               "type": "string"
5949             }
5950           },
5951           "additionalProperties": false,
5952           "required": [
5953             "message",
5954             "code"
5955           ]
5956         },
5957         "ErrorInfo": {
5958           "type": "object",
5959           "properties": {
5960             "macaroon": {
5961               "$ref": "#/definitions/Macaroon"
5962             },
5963             "macaroon-path": {
5964               "type": "string"
5965             }
5966           },
5967           "additionalProperties": false
5968         },
5969         "ErrorResult": {
5970           "type": "object",
5971           "properties": {
5972             "error": {
5973               "$ref": "#/definitions/Error"
5974             }
5975           },
5976           "additionalProperties": false
5977         },
5978         "ErrorResults": {
5979           "type": "object",
5980           "properties": {
5981             "results": {
5982               "type": "array",
5983               "items": {
5984                 "$ref": "#/definitions/ErrorResult"
5985               }
5986             }
5987           },
5988           "additionalProperties": false,
5989           "required": [
5990             "results"
5991           ]
5992         },
5993         "HostPort": {
5994           "type": "object",
5995           "properties": {
5996             "Address": {
5997               "$ref": "#/definitions/Address"
5998             },
5999             "port": {
6000               "type": "integer"
6001             }
6002           },
6003           "additionalProperties": false,
6004           "required": [
6005             "Address",
6006             "port"
6007           ]
6008         },
6009         "LifeResult": {
6010           "type": "object",
6011           "properties": {
6012             "error": {
6013               "$ref": "#/definitions/Error"
6014             },
6015             "life": {
6016               "type": "string"
6017             }
6018           },
6019           "additionalProperties": false,
6020           "required": [
6021             "life"
6022           ]
6023         },
6024         "LifeResults": {
6025           "type": "object",
6026           "properties": {
6027             "results": {
6028               "type": "array",
6029               "items": {
6030                 "$ref": "#/definitions/LifeResult"
6031               }
6032             }
6033           },
6034           "additionalProperties": false,
6035           "required": [
6036             "results"
6037           ]
6038         },
6039         "Macaroon": {
6040           "type": "object",
6041           "additionalProperties": false
6042         },
6043         "NotifyWatchResult": {
6044           "type": "object",
6045           "properties": {
6046             "NotifyWatcherId": {
6047               "type": "string"
6048             },
6049             "error": {
6050               "$ref": "#/definitions/Error"
6051             }
6052           },
6053           "additionalProperties": false,
6054           "required": [
6055             "NotifyWatcherId"
6056           ]
6057         },
6058         "StringResult": {
6059           "type": "object",
6060           "properties": {
6061             "error": {
6062               "$ref": "#/definitions/Error"
6063             },
6064             "result": {
6065               "type": "string"
6066             }
6067           },
6068           "additionalProperties": false,
6069           "required": [
6070             "result"
6071           ]
6072         },
6073         "StringsResult": {
6074           "type": "object",
6075           "properties": {
6076             "error": {
6077               "$ref": "#/definitions/Error"
6078             },
6079             "result": {
6080               "type": "array",
6081               "items": {
6082                 "type": "string"
6083               }
6084             }
6085           },
6086           "additionalProperties": false
6087         },
6088         "StringsWatchResult": {
6089           "type": "object",
6090           "properties": {
6091             "changes": {
6092               "type": "array",
6093               "items": {
6094                 "type": "string"
6095               }
6096             },
6097             "error": {
6098               "$ref": "#/definitions/Error"
6099             },
6100             "watcher-id": {
6101               "type": "string"
6102             }
6103           },
6104           "additionalProperties": false,
6105           "required": [
6106             "watcher-id"
6107           ]
6108         },
6109         "StringsWatchResults": {
6110           "type": "object",
6111           "properties": {
6112             "results": {
6113               "type": "array",
6114               "items": {
6115                 "$ref": "#/definitions/StringsWatchResult"
6116               }
6117             }
6118           },
6119           "additionalProperties": false,
6120           "required": [
6121             "results"
6122           ]
6123         }
6124       }
6125     }
6126   },
6127   {
6128     "Name": "DiscoverSpaces",
6129     "Version": 2,
6130     "Schema": {
6131       "type": "object",
6132       "properties": {
6133         "AddSubnets": {
6134           "type": "object",
6135           "properties": {
6136             "Params": {
6137               "$ref": "#/definitions/AddSubnetsParams"
6138             },
6139             "Result": {
6140               "$ref": "#/definitions/ErrorResults"
6141             }
6142           }
6143         },
6144         "CreateSpaces": {
6145           "type": "object",
6146           "properties": {
6147             "Params": {
6148               "$ref": "#/definitions/CreateSpacesParams"
6149             },
6150             "Result": {
6151               "$ref": "#/definitions/ErrorResults"
6152             }
6153           }
6154         },
6155         "ListSpaces": {
6156           "type": "object",
6157           "properties": {
6158             "Result": {
6159               "$ref": "#/definitions/DiscoverSpacesResults"
6160             }
6161           }
6162         },
6163         "ListSubnets": {
6164           "type": "object",
6165           "properties": {
6166             "Params": {
6167               "$ref": "#/definitions/SubnetsFilters"
6168             },
6169             "Result": {
6170               "$ref": "#/definitions/ListSubnetsResults"
6171             }
6172           }
6173         },
6174         "ModelConfig": {
6175           "type": "object",
6176           "properties": {
6177             "Result": {
6178               "$ref": "#/definitions/ModelConfigResult"
6179             }
6180           }
6181         }
6182       },
6183       "definitions": {
6184         "AddSubnetParams": {
6185           "type": "object",
6186           "properties": {
6187             "space-tag": {
6188               "type": "string"
6189             },
6190             "subnet-provider-id": {
6191               "type": "string"
6192             },
6193             "subnet-tag": {
6194               "type": "string"
6195             },
6196             "zones": {
6197               "type": "array",
6198               "items": {
6199                 "type": "string"
6200               }
6201             }
6202           },
6203           "additionalProperties": false,
6204           "required": [
6205             "space-tag"
6206           ]
6207         },
6208         "AddSubnetsParams": {
6209           "type": "object",
6210           "properties": {
6211             "subnets": {
6212               "type": "array",
6213               "items": {
6214                 "$ref": "#/definitions/AddSubnetParams"
6215               }
6216             }
6217           },
6218           "additionalProperties": false,
6219           "required": [
6220             "subnets"
6221           ]
6222         },
6223         "CreateSpaceParams": {
6224           "type": "object",
6225           "properties": {
6226             "provider-id": {
6227               "type": "string"
6228             },
6229             "public": {
6230               "type": "boolean"
6231             },
6232             "space-tag": {
6233               "type": "string"
6234             },
6235             "subnet-tags": {
6236               "type": "array",
6237               "items": {
6238                 "type": "string"
6239               }
6240             }
6241           },
6242           "additionalProperties": false,
6243           "required": [
6244             "subnet-tags",
6245             "space-tag",
6246             "public"
6247           ]
6248         },
6249         "CreateSpacesParams": {
6250           "type": "object",
6251           "properties": {
6252             "spaces": {
6253               "type": "array",
6254               "items": {
6255                 "$ref": "#/definitions/CreateSpaceParams"
6256               }
6257             }
6258           },
6259           "additionalProperties": false,
6260           "required": [
6261             "spaces"
6262           ]
6263         },
6264         "DiscoverSpacesResults": {
6265           "type": "object",
6266           "properties": {
6267             "results": {
6268               "type": "array",
6269               "items": {
6270                 "$ref": "#/definitions/ProviderSpace"
6271               }
6272             }
6273           },
6274           "additionalProperties": false,
6275           "required": [
6276             "results"
6277           ]
6278         },
6279         "Error": {
6280           "type": "object",
6281           "properties": {
6282             "code": {
6283               "type": "string"
6284             },
6285             "info": {
6286               "$ref": "#/definitions/ErrorInfo"
6287             },
6288             "message": {
6289               "type": "string"
6290             }
6291           },
6292           "additionalProperties": false,
6293           "required": [
6294             "message",
6295             "code"
6296           ]
6297         },
6298         "ErrorInfo": {
6299           "type": "object",
6300           "properties": {
6301             "macaroon": {
6302               "$ref": "#/definitions/Macaroon"
6303             },
6304             "macaroon-path": {
6305               "type": "string"
6306             }
6307           },
6308           "additionalProperties": false
6309         },
6310         "ErrorResult": {
6311           "type": "object",
6312           "properties": {
6313             "error": {
6314               "$ref": "#/definitions/Error"
6315             }
6316           },
6317           "additionalProperties": false
6318         },
6319         "ErrorResults": {
6320           "type": "object",
6321           "properties": {
6322             "results": {
6323               "type": "array",
6324               "items": {
6325                 "$ref": "#/definitions/ErrorResult"
6326               }
6327             }
6328           },
6329           "additionalProperties": false,
6330           "required": [
6331             "results"
6332           ]
6333         },
6334         "ListSubnetsResults": {
6335           "type": "object",
6336           "properties": {
6337             "results": {
6338               "type": "array",
6339               "items": {
6340                 "$ref": "#/definitions/Subnet"
6341               }
6342             }
6343           },
6344           "additionalProperties": false,
6345           "required": [
6346             "results"
6347           ]
6348         },
6349         "Macaroon": {
6350           "type": "object",
6351           "additionalProperties": false
6352         },
6353         "ModelConfigResult": {
6354           "type": "object",
6355           "properties": {
6356             "config": {
6357               "type": "object",
6358               "patternProperties": {
6359                 ".*": {
6360                   "type": "object",
6361                   "additionalProperties": true
6362                 }
6363               }
6364             }
6365           },
6366           "additionalProperties": false,
6367           "required": [
6368             "config"
6369           ]
6370         },
6371         "ProviderSpace": {
6372           "type": "object",
6373           "properties": {
6374             "error": {
6375               "$ref": "#/definitions/Error"
6376             },
6377             "name": {
6378               "type": "string"
6379             },
6380             "provider-id": {
6381               "type": "string"
6382             },
6383             "subnets": {
6384               "type": "array",
6385               "items": {
6386                 "$ref": "#/definitions/Subnet"
6387               }
6388             }
6389           },
6390           "additionalProperties": false,
6391           "required": [
6392             "name",
6393             "provider-id",
6394             "subnets"
6395           ]
6396         },
6397         "Subnet": {
6398           "type": "object",
6399           "properties": {
6400             "cidr": {
6401               "type": "string"
6402             },
6403             "life": {
6404               "type": "string"
6405             },
6406             "provider-id": {
6407               "type": "string"
6408             },
6409             "space-tag": {
6410               "type": "string"
6411             },
6412             "status": {
6413               "type": "string"
6414             },
6415             "vlan-tag": {
6416               "type": "integer"
6417             },
6418             "zones": {
6419               "type": "array",
6420               "items": {
6421                 "type": "string"
6422               }
6423             }
6424           },
6425           "additionalProperties": false,
6426           "required": [
6427             "cidr",
6428             "vlan-tag",
6429             "life",
6430             "space-tag",
6431             "zones"
6432           ]
6433         },
6434         "SubnetsFilters": {
6435           "type": "object",
6436           "properties": {
6437             "space-tag": {
6438               "type": "string"
6439             },
6440             "zone": {
6441               "type": "string"
6442             }
6443           },
6444           "additionalProperties": false
6445         }
6446       }
6447     }
6448   },
6449   {
6450     "Name": "DiskManager",
6451     "Version": 2,
6452     "Schema": {
6453       "type": "object",
6454       "properties": {
6455         "SetMachineBlockDevices": {
6456           "type": "object",
6457           "properties": {
6458             "Params": {
6459               "$ref": "#/definitions/SetMachineBlockDevices"
6460             },
6461             "Result": {
6462               "$ref": "#/definitions/ErrorResults"
6463             }
6464           }
6465         }
6466       },
6467       "definitions": {
6468         "BlockDevice": {
6469           "type": "object",
6470           "properties": {
6471             "BusAddress": {
6472               "type": "string"
6473             },
6474             "DeviceLinks": {
6475               "type": "array",
6476               "items": {
6477                 "type": "string"
6478               }
6479             },
6480             "DeviceName": {
6481               "type": "string"
6482             },
6483             "FilesystemType": {
6484               "type": "string"
6485             },
6486             "HardwareId": {
6487               "type": "string"
6488             },
6489             "InUse": {
6490               "type": "boolean"
6491             },
6492             "Label": {
6493               "type": "string"
6494             },
6495             "MountPoint": {
6496               "type": "string"
6497             },
6498             "Size": {
6499               "type": "integer"
6500             },
6501             "UUID": {
6502               "type": "string"
6503             }
6504           },
6505           "additionalProperties": false,
6506           "required": [
6507             "DeviceName",
6508             "DeviceLinks",
6509             "Label",
6510             "UUID",
6511             "HardwareId",
6512             "BusAddress",
6513             "Size",
6514             "FilesystemType",
6515             "InUse",
6516             "MountPoint"
6517           ]
6518         },
6519         "Error": {
6520           "type": "object",
6521           "properties": {
6522             "code": {
6523               "type": "string"
6524             },
6525             "info": {
6526               "$ref": "#/definitions/ErrorInfo"
6527             },
6528             "message": {
6529               "type": "string"
6530             }
6531           },
6532           "additionalProperties": false,
6533           "required": [
6534             "message",
6535             "code"
6536           ]
6537         },
6538         "ErrorInfo": {
6539           "type": "object",
6540           "properties": {
6541             "macaroon": {
6542               "$ref": "#/definitions/Macaroon"
6543             },
6544             "macaroon-path": {
6545               "type": "string"
6546             }
6547           },
6548           "additionalProperties": false
6549         },
6550         "ErrorResult": {
6551           "type": "object",
6552           "properties": {
6553             "error": {
6554               "$ref": "#/definitions/Error"
6555             }
6556           },
6557           "additionalProperties": false
6558         },
6559         "ErrorResults": {
6560           "type": "object",
6561           "properties": {
6562             "results": {
6563               "type": "array",
6564               "items": {
6565                 "$ref": "#/definitions/ErrorResult"
6566               }
6567             }
6568           },
6569           "additionalProperties": false,
6570           "required": [
6571             "results"
6572           ]
6573         },
6574         "Macaroon": {
6575           "type": "object",
6576           "additionalProperties": false
6577         },
6578         "MachineBlockDevices": {
6579           "type": "object",
6580           "properties": {
6581             "block-devices": {
6582               "type": "array",
6583               "items": {
6584                 "$ref": "#/definitions/BlockDevice"
6585               }
6586             },
6587             "machine": {
6588               "type": "string"
6589             }
6590           },
6591           "additionalProperties": false,
6592           "required": [
6593             "machine"
6594           ]
6595         },
6596         "SetMachineBlockDevices": {
6597           "type": "object",
6598           "properties": {
6599             "machine-block-devices": {
6600               "type": "array",
6601               "items": {
6602                 "$ref": "#/definitions/MachineBlockDevices"
6603               }
6604             }
6605           },
6606           "additionalProperties": false,
6607           "required": [
6608             "machine-block-devices"
6609           ]
6610         }
6611       }
6612     }
6613   },
6614   {
6615     "Name": "EntityWatcher",
6616     "Version": 2,
6617     "Schema": {
6618       "type": "object",
6619       "properties": {
6620         "Next": {
6621           "type": "object",
6622           "properties": {
6623             "Result": {
6624               "$ref": "#/definitions/EntitiesWatchResult"
6625             }
6626           }
6627         },
6628         "Stop": {
6629           "type": "object"
6630         }
6631       },
6632       "definitions": {
6633         "EntitiesWatchResult": {
6634           "type": "object",
6635           "properties": {
6636             "changes": {
6637               "type": "array",
6638               "items": {
6639                 "type": "string"
6640               }
6641             },
6642             "error": {
6643               "$ref": "#/definitions/Error"
6644             },
6645             "watcher-id": {
6646               "type": "string"
6647             }
6648           },
6649           "additionalProperties": false,
6650           "required": [
6651             "watcher-id"
6652           ]
6653         },
6654         "Error": {
6655           "type": "object",
6656           "properties": {
6657             "code": {
6658               "type": "string"
6659             },
6660             "info": {
6661               "$ref": "#/definitions/ErrorInfo"
6662             },
6663             "message": {
6664               "type": "string"
6665             }
6666           },
6667           "additionalProperties": false,
6668           "required": [
6669             "message",
6670             "code"
6671           ]
6672         },
6673         "ErrorInfo": {
6674           "type": "object",
6675           "properties": {
6676             "macaroon": {
6677               "$ref": "#/definitions/Macaroon"
6678             },
6679             "macaroon-path": {
6680               "type": "string"
6681             }
6682           },
6683           "additionalProperties": false
6684         },
6685         "Macaroon": {
6686           "type": "object",
6687           "additionalProperties": false
6688         }
6689       }
6690     }
6691   },
6692   {
6693     "Name": "FilesystemAttachmentsWatcher",
6694     "Version": 2,
6695     "Schema": {
6696       "type": "object",
6697       "properties": {
6698         "Next": {
6699           "type": "object",
6700           "properties": {
6701             "Result": {
6702               "$ref": "#/definitions/MachineStorageIdsWatchResult"
6703             }
6704           }
6705         },
6706         "Stop": {
6707           "type": "object"
6708         }
6709       },
6710       "definitions": {
6711         "Error": {
6712           "type": "object",
6713           "properties": {
6714             "code": {
6715               "type": "string"
6716             },
6717             "info": {
6718               "$ref": "#/definitions/ErrorInfo"
6719             },
6720             "message": {
6721               "type": "string"
6722             }
6723           },
6724           "additionalProperties": false,
6725           "required": [
6726             "message",
6727             "code"
6728           ]
6729         },
6730         "ErrorInfo": {
6731           "type": "object",
6732           "properties": {
6733             "macaroon": {
6734               "$ref": "#/definitions/Macaroon"
6735             },
6736             "macaroon-path": {
6737               "type": "string"
6738             }
6739           },
6740           "additionalProperties": false
6741         },
6742         "Macaroon": {
6743           "type": "object",
6744           "additionalProperties": false
6745         },
6746         "MachineStorageId": {
6747           "type": "object",
6748           "properties": {
6749             "attachment-tag": {
6750               "type": "string"
6751             },
6752             "machine-tag": {
6753               "type": "string"
6754             }
6755           },
6756           "additionalProperties": false,
6757           "required": [
6758             "machine-tag",
6759             "attachment-tag"
6760           ]
6761         },
6762         "MachineStorageIdsWatchResult": {
6763           "type": "object",
6764           "properties": {
6765             "changes": {
6766               "type": "array",
6767               "items": {
6768                 "$ref": "#/definitions/MachineStorageId"
6769               }
6770             },
6771             "error": {
6772               "$ref": "#/definitions/Error"
6773             },
6774             "watcher-id": {
6775               "type": "string"
6776             }
6777           },
6778           "additionalProperties": false,
6779           "required": [
6780             "watcher-id",
6781             "changes"
6782           ]
6783         }
6784       }
6785     }
6786   },
6787   {
6788     "Name": "Firewaller",
6789     "Version": 3,
6790     "Schema": {
6791       "type": "object",
6792       "properties": {
6793         "GetAssignedMachine": {
6794           "type": "object",
6795           "properties": {
6796             "Params": {
6797               "$ref": "#/definitions/Entities"
6798             },
6799             "Result": {
6800               "$ref": "#/definitions/StringResults"
6801             }
6802           }
6803         },
6804         "GetExposed": {
6805           "type": "object",
6806           "properties": {
6807             "Params": {
6808               "$ref": "#/definitions/Entities"
6809             },
6810             "Result": {
6811               "$ref": "#/definitions/BoolResults"
6812             }
6813           }
6814         },
6815         "GetMachineActiveSubnets": {
6816           "type": "object",
6817           "properties": {
6818             "Params": {
6819               "$ref": "#/definitions/Entities"
6820             },
6821             "Result": {
6822               "$ref": "#/definitions/StringsResults"
6823             }
6824           }
6825         },
6826         "GetMachinePorts": {
6827           "type": "object",
6828           "properties": {
6829             "Params": {
6830               "$ref": "#/definitions/MachinePortsParams"
6831             },
6832             "Result": {
6833               "$ref": "#/definitions/MachinePortsResults"
6834             }
6835           }
6836         },
6837         "InstanceId": {
6838           "type": "object",
6839           "properties": {
6840             "Params": {
6841               "$ref": "#/definitions/Entities"
6842             },
6843             "Result": {
6844               "$ref": "#/definitions/StringResults"
6845             }
6846           }
6847         },
6848         "Life": {
6849           "type": "object",
6850           "properties": {
6851             "Params": {
6852               "$ref": "#/definitions/Entities"
6853             },
6854             "Result": {
6855               "$ref": "#/definitions/LifeResults"
6856             }
6857           }
6858         },
6859         "ModelConfig": {
6860           "type": "object",
6861           "properties": {
6862             "Result": {
6863               "$ref": "#/definitions/ModelConfigResult"
6864             }
6865           }
6866         },
6867         "Watch": {
6868           "type": "object",
6869           "properties": {
6870             "Params": {
6871               "$ref": "#/definitions/Entities"
6872             },
6873             "Result": {
6874               "$ref": "#/definitions/NotifyWatchResults"
6875             }
6876           }
6877         },
6878         "WatchForModelConfigChanges": {
6879           "type": "object",
6880           "properties": {
6881             "Result": {
6882               "$ref": "#/definitions/NotifyWatchResult"
6883             }
6884           }
6885         },
6886         "WatchModelMachines": {
6887           "type": "object",
6888           "properties": {
6889             "Result": {
6890               "$ref": "#/definitions/StringsWatchResult"
6891             }
6892           }
6893         },
6894         "WatchOpenedPorts": {
6895           "type": "object",
6896           "properties": {
6897             "Params": {
6898               "$ref": "#/definitions/Entities"
6899             },
6900             "Result": {
6901               "$ref": "#/definitions/StringsWatchResults"
6902             }
6903           }
6904         },
6905         "WatchUnits": {
6906           "type": "object",
6907           "properties": {
6908             "Params": {
6909               "$ref": "#/definitions/Entities"
6910             },
6911             "Result": {
6912               "$ref": "#/definitions/StringsWatchResults"
6913             }
6914           }
6915         }
6916       },
6917       "definitions": {
6918         "BoolResult": {
6919           "type": "object",
6920           "properties": {
6921             "error": {
6922               "$ref": "#/definitions/Error"
6923             },
6924             "result": {
6925               "type": "boolean"
6926             }
6927           },
6928           "additionalProperties": false,
6929           "required": [
6930             "result"
6931           ]
6932         },
6933         "BoolResults": {
6934           "type": "object",
6935           "properties": {
6936             "results": {
6937               "type": "array",
6938               "items": {
6939                 "$ref": "#/definitions/BoolResult"
6940               }
6941             }
6942           },
6943           "additionalProperties": false,
6944           "required": [
6945             "results"
6946           ]
6947         },
6948         "Entities": {
6949           "type": "object",
6950           "properties": {
6951             "entities": {
6952               "type": "array",
6953               "items": {
6954                 "$ref": "#/definitions/Entity"
6955               }
6956             }
6957           },
6958           "additionalProperties": false,
6959           "required": [
6960             "entities"
6961           ]
6962         },
6963         "Entity": {
6964           "type": "object",
6965           "properties": {
6966             "tag": {
6967               "type": "string"
6968             }
6969           },
6970           "additionalProperties": false,
6971           "required": [
6972             "tag"
6973           ]
6974         },
6975         "Error": {
6976           "type": "object",
6977           "properties": {
6978             "code": {
6979               "type": "string"
6980             },
6981             "info": {
6982               "$ref": "#/definitions/ErrorInfo"
6983             },
6984             "message": {
6985               "type": "string"
6986             }
6987           },
6988           "additionalProperties": false,
6989           "required": [
6990             "message",
6991             "code"
6992           ]
6993         },
6994         "ErrorInfo": {
6995           "type": "object",
6996           "properties": {
6997             "macaroon": {
6998               "$ref": "#/definitions/Macaroon"
6999             },
7000             "macaroon-path": {
7001               "type": "string"
7002             }
7003           },
7004           "additionalProperties": false
7005         },
7006         "LifeResult": {
7007           "type": "object",
7008           "properties": {
7009             "error": {
7010               "$ref": "#/definitions/Error"
7011             },
7012             "life": {
7013               "type": "string"
7014             }
7015           },
7016           "additionalProperties": false,
7017           "required": [
7018             "life"
7019           ]
7020         },
7021         "LifeResults": {
7022           "type": "object",
7023           "properties": {
7024             "results": {
7025               "type": "array",
7026               "items": {
7027                 "$ref": "#/definitions/LifeResult"
7028               }
7029             }
7030           },
7031           "additionalProperties": false,
7032           "required": [
7033             "results"
7034           ]
7035         },
7036         "Macaroon": {
7037           "type": "object",
7038           "additionalProperties": false
7039         },
7040         "MachinePortRange": {
7041           "type": "object",
7042           "properties": {
7043             "port-range": {
7044               "$ref": "#/definitions/PortRange"
7045             },
7046             "relation-tag": {
7047               "type": "string"
7048             },
7049             "unit-tag": {
7050               "type": "string"
7051             }
7052           },
7053           "additionalProperties": false,
7054           "required": [
7055             "unit-tag",
7056             "relation-tag",
7057             "port-range"
7058           ]
7059         },
7060         "MachinePorts": {
7061           "type": "object",
7062           "properties": {
7063             "machine-tag": {
7064               "type": "string"
7065             },
7066             "subnet-tag": {
7067               "type": "string"
7068             }
7069           },
7070           "additionalProperties": false,
7071           "required": [
7072             "machine-tag",
7073             "subnet-tag"
7074           ]
7075         },
7076         "MachinePortsParams": {
7077           "type": "object",
7078           "properties": {
7079             "params": {
7080               "type": "array",
7081               "items": {
7082                 "$ref": "#/definitions/MachinePorts"
7083               }
7084             }
7085           },
7086           "additionalProperties": false,
7087           "required": [
7088             "params"
7089           ]
7090         },
7091         "MachinePortsResult": {
7092           "type": "object",
7093           "properties": {
7094             "error": {
7095               "$ref": "#/definitions/Error"
7096             },
7097             "ports": {
7098               "type": "array",
7099               "items": {
7100                 "$ref": "#/definitions/MachinePortRange"
7101               }
7102             }
7103           },
7104           "additionalProperties": false,
7105           "required": [
7106             "ports"
7107           ]
7108         },
7109         "MachinePortsResults": {
7110           "type": "object",
7111           "properties": {
7112             "results": {
7113               "type": "array",
7114               "items": {
7115                 "$ref": "#/definitions/MachinePortsResult"
7116               }
7117             }
7118           },
7119           "additionalProperties": false,
7120           "required": [
7121             "results"
7122           ]
7123         },
7124         "ModelConfigResult": {
7125           "type": "object",
7126           "properties": {
7127             "config": {
7128               "type": "object",
7129               "patternProperties": {
7130                 ".*": {
7131                   "type": "object",
7132                   "additionalProperties": true
7133                 }
7134               }
7135             }
7136           },
7137           "additionalProperties": false,
7138           "required": [
7139             "config"
7140           ]
7141         },
7142         "NotifyWatchResult": {
7143           "type": "object",
7144           "properties": {
7145             "NotifyWatcherId": {
7146               "type": "string"
7147             },
7148             "error": {
7149               "$ref": "#/definitions/Error"
7150             }
7151           },
7152           "additionalProperties": false,
7153           "required": [
7154             "NotifyWatcherId"
7155           ]
7156         },
7157         "NotifyWatchResults": {
7158           "type": "object",
7159           "properties": {
7160             "results": {
7161               "type": "array",
7162               "items": {
7163                 "$ref": "#/definitions/NotifyWatchResult"
7164               }
7165             }
7166           },
7167           "additionalProperties": false,
7168           "required": [
7169             "results"
7170           ]
7171         },
7172         "PortRange": {
7173           "type": "object",
7174           "properties": {
7175             "from-port": {
7176               "type": "integer"
7177             },
7178             "protocol": {
7179               "type": "string"
7180             },
7181             "to-port": {
7182               "type": "integer"
7183             }
7184           },
7185           "additionalProperties": false,
7186           "required": [
7187             "from-port",
7188             "to-port",
7189             "protocol"
7190           ]
7191         },
7192         "StringResult": {
7193           "type": "object",
7194           "properties": {
7195             "error": {
7196               "$ref": "#/definitions/Error"
7197             },
7198             "result": {
7199               "type": "string"
7200             }
7201           },
7202           "additionalProperties": false,
7203           "required": [
7204             "result"
7205           ]
7206         },
7207         "StringResults": {
7208           "type": "object",
7209           "properties": {
7210             "results": {
7211               "type": "array",
7212               "items": {
7213                 "$ref": "#/definitions/StringResult"
7214               }
7215             }
7216           },
7217           "additionalProperties": false,
7218           "required": [
7219             "results"
7220           ]
7221         },
7222         "StringsResult": {
7223           "type": "object",
7224           "properties": {
7225             "error": {
7226               "$ref": "#/definitions/Error"
7227             },
7228             "result": {
7229               "type": "array",
7230               "items": {
7231                 "type": "string"
7232               }
7233             }
7234           },
7235           "additionalProperties": false
7236         },
7237         "StringsResults": {
7238           "type": "object",
7239           "properties": {
7240             "results": {
7241               "type": "array",
7242               "items": {
7243                 "$ref": "#/definitions/StringsResult"
7244               }
7245             }
7246           },
7247           "additionalProperties": false,
7248           "required": [
7249             "results"
7250           ]
7251         },
7252         "StringsWatchResult": {
7253           "type": "object",
7254           "properties": {
7255             "changes": {
7256               "type": "array",
7257               "items": {
7258                 "type": "string"
7259               }
7260             },
7261             "error": {
7262               "$ref": "#/definitions/Error"
7263             },
7264             "watcher-id": {
7265               "type": "string"
7266             }
7267           },
7268           "additionalProperties": false,
7269           "required": [
7270             "watcher-id"
7271           ]
7272         },
7273         "StringsWatchResults": {
7274           "type": "object",
7275           "properties": {
7276             "results": {
7277               "type": "array",
7278               "items": {
7279                 "$ref": "#/definitions/StringsWatchResult"
7280               }
7281             }
7282           },
7283           "additionalProperties": false,
7284           "required": [
7285             "results"
7286           ]
7287         }
7288       }
7289     }
7290   },
7291   {
7292     "Name": "HighAvailability",
7293     "Version": 2,
7294     "Schema": {
7295       "type": "object",
7296       "properties": {
7297         "EnableHA": {
7298           "type": "object",
7299           "properties": {
7300             "Params": {
7301               "$ref": "#/definitions/ControllersSpecs"
7302             },
7303             "Result": {
7304               "$ref": "#/definitions/ControllersChangeResults"
7305             }
7306           }
7307         },
7308         "ResumeHAReplicationAfterUpgrade": {
7309           "type": "object",
7310           "properties": {
7311             "Params": {
7312               "$ref": "#/definitions/ResumeReplicationParams"
7313             }
7314           }
7315         },
7316         "StopHAReplicationForUpgrade": {
7317           "type": "object",
7318           "properties": {
7319             "Params": {
7320               "$ref": "#/definitions/UpgradeMongoParams"
7321             },
7322             "Result": {
7323               "$ref": "#/definitions/MongoUpgradeResults"
7324             }
7325           }
7326         }
7327       },
7328       "definitions": {
7329         "Address": {
7330           "type": "object",
7331           "properties": {
7332             "Scope": {
7333               "type": "string"
7334             },
7335             "SpaceName": {
7336               "type": "string"
7337             },
7338             "SpaceProviderId": {
7339               "type": "string"
7340             },
7341             "Type": {
7342               "type": "string"
7343             },
7344             "Value": {
7345               "type": "string"
7346             }
7347           },
7348           "additionalProperties": false,
7349           "required": [
7350             "Value",
7351             "Type",
7352             "Scope",
7353             "SpaceName",
7354             "SpaceProviderId"
7355           ]
7356         },
7357         "ControllersChangeResult": {
7358           "type": "object",
7359           "properties": {
7360             "error": {
7361               "$ref": "#/definitions/Error"
7362             },
7363             "result": {
7364               "$ref": "#/definitions/ControllersChanges"
7365             }
7366           },
7367           "additionalProperties": false,
7368           "required": [
7369             "result"
7370           ]
7371         },
7372         "ControllersChangeResults": {
7373           "type": "object",
7374           "properties": {
7375             "results": {
7376               "type": "array",
7377               "items": {
7378                 "$ref": "#/definitions/ControllersChangeResult"
7379               }
7380             }
7381           },
7382           "additionalProperties": false,
7383           "required": [
7384             "results"
7385           ]
7386         },
7387         "ControllersChanges": {
7388           "type": "object",
7389           "properties": {
7390             "added": {
7391               "type": "array",
7392               "items": {
7393                 "type": "string"
7394               }
7395             },
7396             "converted": {
7397               "type": "array",
7398               "items": {
7399                 "type": "string"
7400               }
7401             },
7402             "demoted": {
7403               "type": "array",
7404               "items": {
7405                 "type": "string"
7406               }
7407             },
7408             "maintained": {
7409               "type": "array",
7410               "items": {
7411                 "type": "string"
7412               }
7413             },
7414             "promoted": {
7415               "type": "array",
7416               "items": {
7417                 "type": "string"
7418               }
7419             },
7420             "removed": {
7421               "type": "array",
7422               "items": {
7423                 "type": "string"
7424               }
7425             }
7426           },
7427           "additionalProperties": false
7428         },
7429         "ControllersSpec": {
7430           "type": "object",
7431           "properties": {
7432             "constraints": {
7433               "$ref": "#/definitions/Value"
7434             },
7435             "model-tag": {
7436               "type": "string"
7437             },
7438             "num-controllers": {
7439               "type": "integer"
7440             },
7441             "placement": {
7442               "type": "array",
7443               "items": {
7444                 "type": "string"
7445               }
7446             },
7447             "series": {
7448               "type": "string"
7449             }
7450           },
7451           "additionalProperties": false,
7452           "required": [
7453             "model-tag",
7454             "num-controllers"
7455           ]
7456         },
7457         "ControllersSpecs": {
7458           "type": "object",
7459           "properties": {
7460             "specs": {
7461               "type": "array",
7462               "items": {
7463                 "$ref": "#/definitions/ControllersSpec"
7464               }
7465             }
7466           },
7467           "additionalProperties": false,
7468           "required": [
7469             "specs"
7470           ]
7471         },
7472         "Error": {
7473           "type": "object",
7474           "properties": {
7475             "code": {
7476               "type": "string"
7477             },
7478             "info": {
7479               "$ref": "#/definitions/ErrorInfo"
7480             },
7481             "message": {
7482               "type": "string"
7483             }
7484           },
7485           "additionalProperties": false,
7486           "required": [
7487             "message",
7488             "code"
7489           ]
7490         },
7491         "ErrorInfo": {
7492           "type": "object",
7493           "properties": {
7494             "macaroon": {
7495               "$ref": "#/definitions/Macaroon"
7496             },
7497             "macaroon-path": {
7498               "type": "string"
7499             }
7500           },
7501           "additionalProperties": false
7502         },
7503         "HAMember": {
7504           "type": "object",
7505           "properties": {
7506             "public-address": {
7507               "$ref": "#/definitions/Address"
7508             },
7509             "series": {
7510               "type": "string"
7511             },
7512             "tag": {
7513               "type": "string"
7514             }
7515           },
7516           "additionalProperties": false,
7517           "required": [
7518             "tag",
7519             "public-address",
7520             "series"
7521           ]
7522         },
7523         "Macaroon": {
7524           "type": "object",
7525           "additionalProperties": false
7526         },
7527         "Member": {
7528           "type": "object",
7529           "properties": {
7530             "Address": {
7531               "type": "string"
7532             },
7533             "Arbiter": {
7534               "type": "boolean"
7535             },
7536             "BuildIndexes": {
7537               "type": "boolean"
7538             },
7539             "Hidden": {
7540               "type": "boolean"
7541             },
7542             "Id": {
7543               "type": "integer"
7544             },
7545             "Priority": {
7546               "type": "number"
7547             },
7548             "SlaveDelay": {
7549               "type": "integer"
7550             },
7551             "Tags": {
7552               "type": "object",
7553               "patternProperties": {
7554                 ".*": {
7555                   "type": "string"
7556                 }
7557               }
7558             },
7559             "Votes": {
7560               "type": "integer"
7561             }
7562           },
7563           "additionalProperties": false,
7564           "required": [
7565             "Id",
7566             "Address",
7567             "Arbiter",
7568             "BuildIndexes",
7569             "Hidden",
7570             "Priority",
7571             "Tags",
7572             "SlaveDelay",
7573             "Votes"
7574           ]
7575         },
7576         "MongoUpgradeResults": {
7577           "type": "object",
7578           "properties": {
7579             "ha-members": {
7580               "type": "array",
7581               "items": {
7582                 "$ref": "#/definitions/HAMember"
7583               }
7584             },
7585             "master": {
7586               "$ref": "#/definitions/HAMember"
7587             },
7588             "rs-members": {
7589               "type": "array",
7590               "items": {
7591                 "$ref": "#/definitions/Member"
7592               }
7593             }
7594           },
7595           "additionalProperties": false,
7596           "required": [
7597             "rs-members",
7598             "master",
7599             "ha-members"
7600           ]
7601         },
7602         "ResumeReplicationParams": {
7603           "type": "object",
7604           "properties": {
7605             "members": {
7606               "type": "array",
7607               "items": {
7608                 "$ref": "#/definitions/Member"
7609               }
7610             }
7611           },
7612           "additionalProperties": false,
7613           "required": [
7614             "members"
7615           ]
7616         },
7617         "UpgradeMongoParams": {
7618           "type": "object",
7619           "properties": {
7620             "target": {
7621               "$ref": "#/definitions/Version"
7622             }
7623           },
7624           "additionalProperties": false,
7625           "required": [
7626             "target"
7627           ]
7628         },
7629         "Value": {
7630           "type": "object",
7631           "properties": {
7632             "arch": {
7633               "type": "string"
7634             },
7635             "container": {
7636               "type": "string"
7637             },
7638             "cpu-cores": {
7639               "type": "integer"
7640             },
7641             "cpu-power": {
7642               "type": "integer"
7643             },
7644             "instance-type": {
7645               "type": "string"
7646             },
7647             "mem": {
7648               "type": "integer"
7649             },
7650             "root-disk": {
7651               "type": "integer"
7652             },
7653             "spaces": {
7654               "type": "array",
7655               "items": {
7656                 "type": "string"
7657               }
7658             },
7659             "tags": {
7660               "type": "array",
7661               "items": {
7662                 "type": "string"
7663               }
7664             },
7665             "virt-type": {
7666               "type": "string"
7667             }
7668           },
7669           "additionalProperties": false
7670         },
7671         "Version": {
7672           "type": "object",
7673           "properties": {
7674             "Major": {
7675               "type": "integer"
7676             },
7677             "Minor": {
7678               "type": "integer"
7679             },
7680             "Patch": {
7681               "type": "string"
7682             },
7683             "StorageEngine": {
7684               "type": "string"
7685             }
7686           },
7687           "additionalProperties": false,
7688           "required": [
7689             "Major",
7690             "Minor",
7691             "Patch",
7692             "StorageEngine"
7693           ]
7694         }
7695       }
7696     }
7697   },
7698   {
7699     "Name": "HostKeyReporter",
7700     "Version": 1,
7701     "Schema": {
7702       "type": "object",
7703       "properties": {
7704         "ReportKeys": {
7705           "type": "object",
7706           "properties": {
7707             "Params": {
7708               "$ref": "#/definitions/SSHHostKeySet"
7709             },
7710             "Result": {
7711               "$ref": "#/definitions/ErrorResults"
7712             }
7713           }
7714         }
7715       },
7716       "definitions": {
7717         "Error": {
7718           "type": "object",
7719           "properties": {
7720             "code": {
7721               "type": "string"
7722             },
7723             "info": {
7724               "$ref": "#/definitions/ErrorInfo"
7725             },
7726             "message": {
7727               "type": "string"
7728             }
7729           },
7730           "additionalProperties": false,
7731           "required": [
7732             "message",
7733             "code"
7734           ]
7735         },
7736         "ErrorInfo": {
7737           "type": "object",
7738           "properties": {
7739             "macaroon": {
7740               "$ref": "#/definitions/Macaroon"
7741             },
7742             "macaroon-path": {
7743               "type": "string"
7744             }
7745           },
7746           "additionalProperties": false
7747         },
7748         "ErrorResult": {
7749           "type": "object",
7750           "properties": {
7751             "error": {
7752               "$ref": "#/definitions/Error"
7753             }
7754           },
7755           "additionalProperties": false
7756         },
7757         "ErrorResults": {
7758           "type": "object",
7759           "properties": {
7760             "results": {
7761               "type": "array",
7762               "items": {
7763                 "$ref": "#/definitions/ErrorResult"
7764               }
7765             }
7766           },
7767           "additionalProperties": false,
7768           "required": [
7769             "results"
7770           ]
7771         },
7772         "Macaroon": {
7773           "type": "object",
7774           "additionalProperties": false
7775         },
7776         "SSHHostKeySet": {
7777           "type": "object",
7778           "properties": {
7779             "entity-keys": {
7780               "type": "array",
7781               "items": {
7782                 "$ref": "#/definitions/SSHHostKeys"
7783               }
7784             }
7785           },
7786           "additionalProperties": false,
7787           "required": [
7788             "entity-keys"
7789           ]
7790         },
7791         "SSHHostKeys": {
7792           "type": "object",
7793           "properties": {
7794             "public-keys": {
7795               "type": "array",
7796               "items": {
7797                 "type": "string"
7798               }
7799             },
7800             "tag": {
7801               "type": "string"
7802             }
7803           },
7804           "additionalProperties": false,
7805           "required": [
7806             "tag",
7807             "public-keys"
7808           ]
7809         }
7810       }
7811     }
7812   },
7813   {
7814     "Name": "ImageManager",
7815     "Version": 2,
7816     "Schema": {
7817       "type": "object",
7818       "properties": {
7819         "DeleteImages": {
7820           "type": "object",
7821           "properties": {
7822             "Params": {
7823               "$ref": "#/definitions/ImageFilterParams"
7824             },
7825             "Result": {
7826               "$ref": "#/definitions/ErrorResults"
7827             }
7828           }
7829         },
7830         "ListImages": {
7831           "type": "object",
7832           "properties": {
7833             "Params": {
7834               "$ref": "#/definitions/ImageFilterParams"
7835             },
7836             "Result": {
7837               "$ref": "#/definitions/ListImageResult"
7838             }
7839           }
7840         }
7841       },
7842       "definitions": {
7843         "Error": {
7844           "type": "object",
7845           "properties": {
7846             "code": {
7847               "type": "string"
7848             },
7849             "info": {
7850               "$ref": "#/definitions/ErrorInfo"
7851             },
7852             "message": {
7853               "type": "string"
7854             }
7855           },
7856           "additionalProperties": false,
7857           "required": [
7858             "message",
7859             "code"
7860           ]
7861         },
7862         "ErrorInfo": {
7863           "type": "object",
7864           "properties": {
7865             "macaroon": {
7866               "$ref": "#/definitions/Macaroon"
7867             },
7868             "macaroon-path": {
7869               "type": "string"
7870             }
7871           },
7872           "additionalProperties": false
7873         },
7874         "ErrorResult": {
7875           "type": "object",
7876           "properties": {
7877             "error": {
7878               "$ref": "#/definitions/Error"
7879             }
7880           },
7881           "additionalProperties": false
7882         },
7883         "ErrorResults": {
7884           "type": "object",
7885           "properties": {
7886             "results": {
7887               "type": "array",
7888               "items": {
7889                 "$ref": "#/definitions/ErrorResult"
7890               }
7891             }
7892           },
7893           "additionalProperties": false,
7894           "required": [
7895             "results"
7896           ]
7897         },
7898         "ImageFilterParams": {
7899           "type": "object",
7900           "properties": {
7901             "images": {
7902               "type": "array",
7903               "items": {
7904                 "$ref": "#/definitions/ImageSpec"
7905               }
7906             }
7907           },
7908           "additionalProperties": false,
7909           "required": [
7910             "images"
7911           ]
7912         },
7913         "ImageMetadata": {
7914           "type": "object",
7915           "properties": {
7916             "arch": {
7917               "type": "string"
7918             },
7919             "created": {
7920               "type": "string",
7921               "format": "date-time"
7922             },
7923             "kind": {
7924               "type": "string"
7925             },
7926             "series": {
7927               "type": "string"
7928             },
7929             "url": {
7930               "type": "string"
7931             }
7932           },
7933           "additionalProperties": false,
7934           "required": [
7935             "kind",
7936             "arch",
7937             "series",
7938             "url",
7939             "created"
7940           ]
7941         },
7942         "ImageSpec": {
7943           "type": "object",
7944           "properties": {
7945             "arch": {
7946               "type": "string"
7947             },
7948             "kind": {
7949               "type": "string"
7950             },
7951             "series": {
7952               "type": "string"
7953             }
7954           },
7955           "additionalProperties": false,
7956           "required": [
7957             "kind",
7958             "arch",
7959             "series"
7960           ]
7961         },
7962         "ListImageResult": {
7963           "type": "object",
7964           "properties": {
7965             "result": {
7966               "type": "array",
7967               "items": {
7968                 "$ref": "#/definitions/ImageMetadata"
7969               }
7970             }
7971           },
7972           "additionalProperties": false,
7973           "required": [
7974             "result"
7975           ]
7976         },
7977         "Macaroon": {
7978           "type": "object",
7979           "additionalProperties": false
7980         }
7981       }
7982     }
7983   },
7984   {
7985     "Name": "ImageMetadata",
7986     "Version": 2,
7987     "Schema": {
7988       "type": "object",
7989       "properties": {
7990         "Delete": {
7991           "type": "object",
7992           "properties": {
7993             "Params": {
7994               "$ref": "#/definitions/MetadataImageIds"
7995             },
7996             "Result": {
7997               "$ref": "#/definitions/ErrorResults"
7998             }
7999           }
8000         },
8001         "List": {
8002           "type": "object",
8003           "properties": {
8004             "Params": {
8005               "$ref": "#/definitions/ImageMetadataFilter"
8006             },
8007             "Result": {
8008               "$ref": "#/definitions/ListCloudImageMetadataResult"
8009             }
8010           }
8011         },
8012         "Save": {
8013           "type": "object",
8014           "properties": {
8015             "Params": {
8016               "$ref": "#/definitions/MetadataSaveParams"
8017             },
8018             "Result": {
8019               "$ref": "#/definitions/ErrorResults"
8020             }
8021           }
8022         },
8023         "UpdateFromPublishedImages": {
8024           "type": "object"
8025         }
8026       },
8027       "definitions": {
8028         "CloudImageMetadata": {
8029           "type": "object",
8030           "properties": {
8031             "arch": {
8032               "type": "string"
8033             },
8034             "image-id": {
8035               "type": "string"
8036             },
8037             "priority": {
8038               "type": "integer"
8039             },
8040             "region": {
8041               "type": "string"
8042             },
8043             "root-storage-size": {
8044               "type": "integer"
8045             },
8046             "root-storage-type": {
8047               "type": "string"
8048             },
8049             "series": {
8050               "type": "string"
8051             },
8052             "source": {
8053               "type": "string"
8054             },
8055             "stream": {
8056               "type": "string"
8057             },
8058             "version": {
8059               "type": "string"
8060             },
8061             "virt-type": {
8062               "type": "string"
8063             }
8064           },
8065           "additionalProperties": false,
8066           "required": [
8067             "image-id",
8068             "region",
8069             "version",
8070             "series",
8071             "arch",
8072             "source",
8073             "priority"
8074           ]
8075         },
8076         "CloudImageMetadataList": {
8077           "type": "object",
8078           "properties": {
8079             "metadata": {
8080               "type": "array",
8081               "items": {
8082                 "$ref": "#/definitions/CloudImageMetadata"
8083               }
8084             }
8085           },
8086           "additionalProperties": false
8087         },
8088         "Error": {
8089           "type": "object",
8090           "properties": {
8091             "code": {
8092               "type": "string"
8093             },
8094             "info": {
8095               "$ref": "#/definitions/ErrorInfo"
8096             },
8097             "message": {
8098               "type": "string"
8099             }
8100           },
8101           "additionalProperties": false,
8102           "required": [
8103             "message",
8104             "code"
8105           ]
8106         },
8107         "ErrorInfo": {
8108           "type": "object",
8109           "properties": {
8110             "macaroon": {
8111               "$ref": "#/definitions/Macaroon"
8112             },
8113             "macaroon-path": {
8114               "type": "string"
8115             }
8116           },
8117           "additionalProperties": false
8118         },
8119         "ErrorResult": {
8120           "type": "object",
8121           "properties": {
8122             "error": {
8123               "$ref": "#/definitions/Error"
8124             }
8125           },
8126           "additionalProperties": false
8127         },
8128         "ErrorResults": {
8129           "type": "object",
8130           "properties": {
8131             "results": {
8132               "type": "array",
8133               "items": {
8134                 "$ref": "#/definitions/ErrorResult"
8135               }
8136             }
8137           },
8138           "additionalProperties": false,
8139           "required": [
8140             "results"
8141           ]
8142         },
8143         "ImageMetadataFilter": {
8144           "type": "object",
8145           "properties": {
8146             "arches": {
8147               "type": "array",
8148               "items": {
8149                 "type": "string"
8150               }
8151             },
8152             "region": {
8153               "type": "string"
8154             },
8155             "root-storage-type": {
8156               "type": "string"
8157             },
8158             "series": {
8159               "type": "array",
8160               "items": {
8161                 "type": "string"
8162               }
8163             },
8164             "stream": {
8165               "type": "string"
8166             },
8167             "virt-type": {
8168               "type": "string"
8169             }
8170           },
8171           "additionalProperties": false
8172         },
8173         "ListCloudImageMetadataResult": {
8174           "type": "object",
8175           "properties": {
8176             "result": {
8177               "type": "array",
8178               "items": {
8179                 "$ref": "#/definitions/CloudImageMetadata"
8180               }
8181             }
8182           },
8183           "additionalProperties": false,
8184           "required": [
8185             "result"
8186           ]
8187         },
8188         "Macaroon": {
8189           "type": "object",
8190           "additionalProperties": false
8191         },
8192         "MetadataImageIds": {
8193           "type": "object",
8194           "properties": {
8195             "image-ids": {
8196               "type": "array",
8197               "items": {
8198                 "type": "string"
8199               }
8200             }
8201           },
8202           "additionalProperties": false,
8203           "required": [
8204             "image-ids"
8205           ]
8206         },
8207         "MetadataSaveParams": {
8208           "type": "object",
8209           "properties": {
8210             "metadata": {
8211               "type": "array",
8212               "items": {
8213                 "$ref": "#/definitions/CloudImageMetadataList"
8214               }
8215             }
8216           },
8217           "additionalProperties": false
8218         }
8219       }
8220     }
8221   },
8222   {
8223     "Name": "InstancePoller",
8224     "Version": 3,
8225     "Schema": {
8226       "type": "object",
8227       "properties": {
8228         "AreManuallyProvisioned": {
8229           "type": "object",
8230           "properties": {
8231             "Params": {
8232               "$ref": "#/definitions/Entities"
8233             },
8234             "Result": {
8235               "$ref": "#/definitions/BoolResults"
8236             }
8237           }
8238         },
8239         "InstanceId": {
8240           "type": "object",
8241           "properties": {
8242             "Params": {
8243               "$ref": "#/definitions/Entities"
8244             },
8245             "Result": {
8246               "$ref": "#/definitions/StringResults"
8247             }
8248           }
8249         },
8250         "InstanceStatus": {
8251           "type": "object",
8252           "properties": {
8253             "Params": {
8254               "$ref": "#/definitions/Entities"
8255             },
8256             "Result": {
8257               "$ref": "#/definitions/StatusResults"
8258             }
8259           }
8260         },
8261         "Life": {
8262           "type": "object",
8263           "properties": {
8264             "Params": {
8265               "$ref": "#/definitions/Entities"
8266             },
8267             "Result": {
8268               "$ref": "#/definitions/LifeResults"
8269             }
8270           }
8271         },
8272         "ModelConfig": {
8273           "type": "object",
8274           "properties": {
8275             "Result": {
8276               "$ref": "#/definitions/ModelConfigResult"
8277             }
8278           }
8279         },
8280         "ProviderAddresses": {
8281           "type": "object",
8282           "properties": {
8283             "Params": {
8284               "$ref": "#/definitions/Entities"
8285             },
8286             "Result": {
8287               "$ref": "#/definitions/MachineAddressesResults"
8288             }
8289           }
8290         },
8291         "SetInstanceStatus": {
8292           "type": "object",
8293           "properties": {
8294             "Params": {
8295               "$ref": "#/definitions/SetStatus"
8296             },
8297             "Result": {
8298               "$ref": "#/definitions/ErrorResults"
8299             }
8300           }
8301         },
8302         "SetProviderAddresses": {
8303           "type": "object",
8304           "properties": {
8305             "Params": {
8306               "$ref": "#/definitions/SetMachinesAddresses"
8307             },
8308             "Result": {
8309               "$ref": "#/definitions/ErrorResults"
8310             }
8311           }
8312         },
8313         "Status": {
8314           "type": "object",
8315           "properties": {
8316             "Params": {
8317               "$ref": "#/definitions/Entities"
8318             },
8319             "Result": {
8320               "$ref": "#/definitions/StatusResults"
8321             }
8322           }
8323         },
8324         "WatchForModelConfigChanges": {
8325           "type": "object",
8326           "properties": {
8327             "Result": {
8328               "$ref": "#/definitions/NotifyWatchResult"
8329             }
8330           }
8331         },
8332         "WatchModelMachines": {
8333           "type": "object",
8334           "properties": {
8335             "Result": {
8336               "$ref": "#/definitions/StringsWatchResult"
8337             }
8338           }
8339         }
8340       },
8341       "definitions": {
8342         "Address": {
8343           "type": "object",
8344           "properties": {
8345             "scope": {
8346               "type": "string"
8347             },
8348             "space-name": {
8349               "type": "string"
8350             },
8351             "type": {
8352               "type": "string"
8353             },
8354             "value": {
8355               "type": "string"
8356             }
8357           },
8358           "additionalProperties": false,
8359           "required": [
8360             "value",
8361             "type",
8362             "scope"
8363           ]
8364         },
8365         "BoolResult": {
8366           "type": "object",
8367           "properties": {
8368             "error": {
8369               "$ref": "#/definitions/Error"
8370             },
8371             "result": {
8372               "type": "boolean"
8373             }
8374           },
8375           "additionalProperties": false,
8376           "required": [
8377             "result"
8378           ]
8379         },
8380         "BoolResults": {
8381           "type": "object",
8382           "properties": {
8383             "results": {
8384               "type": "array",
8385               "items": {
8386                 "$ref": "#/definitions/BoolResult"
8387               }
8388             }
8389           },
8390           "additionalProperties": false,
8391           "required": [
8392             "results"
8393           ]
8394         },
8395         "Entities": {
8396           "type": "object",
8397           "properties": {
8398             "entities": {
8399               "type": "array",
8400               "items": {
8401                 "$ref": "#/definitions/Entity"
8402               }
8403             }
8404           },
8405           "additionalProperties": false,
8406           "required": [
8407             "entities"
8408           ]
8409         },
8410         "Entity": {
8411           "type": "object",
8412           "properties": {
8413             "tag": {
8414               "type": "string"
8415             }
8416           },
8417           "additionalProperties": false,
8418           "required": [
8419             "tag"
8420           ]
8421         },
8422         "EntityStatusArgs": {
8423           "type": "object",
8424           "properties": {
8425             "data": {
8426               "type": "object",
8427               "patternProperties": {
8428                 ".*": {
8429                   "type": "object",
8430                   "additionalProperties": true
8431                 }
8432               }
8433             },
8434             "info": {
8435               "type": "string"
8436             },
8437             "status": {
8438               "type": "string"
8439             },
8440             "tag": {
8441               "type": "string"
8442             }
8443           },
8444           "additionalProperties": false,
8445           "required": [
8446             "tag",
8447             "status",
8448             "info",
8449             "data"
8450           ]
8451         },
8452         "Error": {
8453           "type": "object",
8454           "properties": {
8455             "code": {
8456               "type": "string"
8457             },
8458             "info": {
8459               "$ref": "#/definitions/ErrorInfo"
8460             },
8461             "message": {
8462               "type": "string"
8463             }
8464           },
8465           "additionalProperties": false,
8466           "required": [
8467             "message",
8468             "code"
8469           ]
8470         },
8471         "ErrorInfo": {
8472           "type": "object",
8473           "properties": {
8474             "macaroon": {
8475               "$ref": "#/definitions/Macaroon"
8476             },
8477             "macaroon-path": {
8478               "type": "string"
8479             }
8480           },
8481           "additionalProperties": false
8482         },
8483         "ErrorResult": {
8484           "type": "object",
8485           "properties": {
8486             "error": {
8487               "$ref": "#/definitions/Error"
8488             }
8489           },
8490           "additionalProperties": false
8491         },
8492         "ErrorResults": {
8493           "type": "object",
8494           "properties": {
8495             "results": {
8496               "type": "array",
8497               "items": {
8498                 "$ref": "#/definitions/ErrorResult"
8499               }
8500             }
8501           },
8502           "additionalProperties": false,
8503           "required": [
8504             "results"
8505           ]
8506         },
8507         "LifeResult": {
8508           "type": "object",
8509           "properties": {
8510             "error": {
8511               "$ref": "#/definitions/Error"
8512             },
8513             "life": {
8514               "type": "string"
8515             }
8516           },
8517           "additionalProperties": false,
8518           "required": [
8519             "life"
8520           ]
8521         },
8522         "LifeResults": {
8523           "type": "object",
8524           "properties": {
8525             "results": {
8526               "type": "array",
8527               "items": {
8528                 "$ref": "#/definitions/LifeResult"
8529               }
8530             }
8531           },
8532           "additionalProperties": false,
8533           "required": [
8534             "results"
8535           ]
8536         },
8537         "Macaroon": {
8538           "type": "object",
8539           "additionalProperties": false
8540         },
8541         "MachineAddresses": {
8542           "type": "object",
8543           "properties": {
8544             "addresses": {
8545               "type": "array",
8546               "items": {
8547                 "$ref": "#/definitions/Address"
8548               }
8549             },
8550             "tag": {
8551               "type": "string"
8552             }
8553           },
8554           "additionalProperties": false,
8555           "required": [
8556             "tag",
8557             "addresses"
8558           ]
8559         },
8560         "MachineAddressesResult": {
8561           "type": "object",
8562           "properties": {
8563             "addresses": {
8564               "type": "array",
8565               "items": {
8566                 "$ref": "#/definitions/Address"
8567               }
8568             },
8569             "error": {
8570               "$ref": "#/definitions/Error"
8571             }
8572           },
8573           "additionalProperties": false,
8574           "required": [
8575             "addresses"
8576           ]
8577         },
8578         "MachineAddressesResults": {
8579           "type": "object",
8580           "properties": {
8581             "results": {
8582               "type": "array",
8583               "items": {
8584                 "$ref": "#/definitions/MachineAddressesResult"
8585               }
8586             }
8587           },
8588           "additionalProperties": false,
8589           "required": [
8590             "results"
8591           ]
8592         },
8593         "ModelConfigResult": {
8594           "type": "object",
8595           "properties": {
8596             "config": {
8597               "type": "object",
8598               "patternProperties": {
8599                 ".*": {
8600                   "type": "object",
8601                   "additionalProperties": true
8602                 }
8603               }
8604             }
8605           },
8606           "additionalProperties": false,
8607           "required": [
8608             "config"
8609           ]
8610         },
8611         "NotifyWatchResult": {
8612           "type": "object",
8613           "properties": {
8614             "NotifyWatcherId": {
8615               "type": "string"
8616             },
8617             "error": {
8618               "$ref": "#/definitions/Error"
8619             }
8620           },
8621           "additionalProperties": false,
8622           "required": [
8623             "NotifyWatcherId"
8624           ]
8625         },
8626         "SetMachinesAddresses": {
8627           "type": "object",
8628           "properties": {
8629             "machine-addresses": {
8630               "type": "array",
8631               "items": {
8632                 "$ref": "#/definitions/MachineAddresses"
8633               }
8634             }
8635           },
8636           "additionalProperties": false,
8637           "required": [
8638             "machine-addresses"
8639           ]
8640         },
8641         "SetStatus": {
8642           "type": "object",
8643           "properties": {
8644             "entities": {
8645               "type": "array",
8646               "items": {
8647                 "$ref": "#/definitions/EntityStatusArgs"
8648               }
8649             }
8650           },
8651           "additionalProperties": false,
8652           "required": [
8653             "entities"
8654           ]
8655         },
8656         "StatusResult": {
8657           "type": "object",
8658           "properties": {
8659             "data": {
8660               "type": "object",
8661               "patternProperties": {
8662                 ".*": {
8663                   "type": "object",
8664                   "additionalProperties": true
8665                 }
8666               }
8667             },
8668             "error": {
8669               "$ref": "#/definitions/Error"
8670             },
8671             "id": {
8672               "type": "string"
8673             },
8674             "info": {
8675               "type": "string"
8676             },
8677             "life": {
8678               "type": "string"
8679             },
8680             "since": {
8681               "type": "string",
8682               "format": "date-time"
8683             },
8684             "status": {
8685               "type": "string"
8686             }
8687           },
8688           "additionalProperties": false,
8689           "required": [
8690             "id",
8691             "life",
8692             "status",
8693             "info",
8694             "data",
8695             "since"
8696           ]
8697         },
8698         "StatusResults": {
8699           "type": "object",
8700           "properties": {
8701             "results": {
8702               "type": "array",
8703               "items": {
8704                 "$ref": "#/definitions/StatusResult"
8705               }
8706             }
8707           },
8708           "additionalProperties": false,
8709           "required": [
8710             "results"
8711           ]
8712         },
8713         "StringResult": {
8714           "type": "object",
8715           "properties": {
8716             "error": {
8717               "$ref": "#/definitions/Error"
8718             },
8719             "result": {
8720               "type": "string"
8721             }
8722           },
8723           "additionalProperties": false,
8724           "required": [
8725             "result"
8726           ]
8727         },
8728         "StringResults": {
8729           "type": "object",
8730           "properties": {
8731             "results": {
8732               "type": "array",
8733               "items": {
8734                 "$ref": "#/definitions/StringResult"
8735               }
8736             }
8737           },
8738           "additionalProperties": false,
8739           "required": [
8740             "results"
8741           ]
8742         },
8743         "StringsWatchResult": {
8744           "type": "object",
8745           "properties": {
8746             "changes": {
8747               "type": "array",
8748               "items": {
8749                 "type": "string"
8750               }
8751             },
8752             "error": {
8753               "$ref": "#/definitions/Error"
8754             },
8755             "watcher-id": {
8756               "type": "string"
8757             }
8758           },
8759           "additionalProperties": false,
8760           "required": [
8761             "watcher-id"
8762           ]
8763         }
8764       }
8765     }
8766   },
8767   {
8768     "Name": "KeyManager",
8769     "Version": 1,
8770     "Schema": {
8771       "type": "object",
8772       "properties": {
8773         "AddKeys": {
8774           "type": "object",
8775           "properties": {
8776             "Params": {
8777               "$ref": "#/definitions/ModifyUserSSHKeys"
8778             },
8779             "Result": {
8780               "$ref": "#/definitions/ErrorResults"
8781             }
8782           }
8783         },
8784         "DeleteKeys": {
8785           "type": "object",
8786           "properties": {
8787             "Params": {
8788               "$ref": "#/definitions/ModifyUserSSHKeys"
8789             },
8790             "Result": {
8791               "$ref": "#/definitions/ErrorResults"
8792             }
8793           }
8794         },
8795         "ImportKeys": {
8796           "type": "object",
8797           "properties": {
8798             "Params": {
8799               "$ref": "#/definitions/ModifyUserSSHKeys"
8800             },
8801             "Result": {
8802               "$ref": "#/definitions/ErrorResults"
8803             }
8804           }
8805         },
8806         "ListKeys": {
8807           "type": "object",
8808           "properties": {
8809             "Params": {
8810               "$ref": "#/definitions/ListSSHKeys"
8811             },
8812             "Result": {
8813               "$ref": "#/definitions/StringsResults"
8814             }
8815           }
8816         }
8817       },
8818       "definitions": {
8819         "Entities": {
8820           "type": "object",
8821           "properties": {
8822             "entities": {
8823               "type": "array",
8824               "items": {
8825                 "$ref": "#/definitions/Entity"
8826               }
8827             }
8828           },
8829           "additionalProperties": false,
8830           "required": [
8831             "entities"
8832           ]
8833         },
8834         "Entity": {
8835           "type": "object",
8836           "properties": {
8837             "tag": {
8838               "type": "string"
8839             }
8840           },
8841           "additionalProperties": false,
8842           "required": [
8843             "tag"
8844           ]
8845         },
8846         "Error": {
8847           "type": "object",
8848           "properties": {
8849             "code": {
8850               "type": "string"
8851             },
8852             "info": {
8853               "$ref": "#/definitions/ErrorInfo"
8854             },
8855             "message": {
8856               "type": "string"
8857             }
8858           },
8859           "additionalProperties": false,
8860           "required": [
8861             "message",
8862             "code"
8863           ]
8864         },
8865         "ErrorInfo": {
8866           "type": "object",
8867           "properties": {
8868             "macaroon": {
8869               "$ref": "#/definitions/Macaroon"
8870             },
8871             "macaroon-path": {
8872               "type": "string"
8873             }
8874           },
8875           "additionalProperties": false
8876         },
8877         "ErrorResult": {
8878           "type": "object",
8879           "properties": {
8880             "error": {
8881               "$ref": "#/definitions/Error"
8882             }
8883           },
8884           "additionalProperties": false
8885         },
8886         "ErrorResults": {
8887           "type": "object",
8888           "properties": {
8889             "results": {
8890               "type": "array",
8891               "items": {
8892                 "$ref": "#/definitions/ErrorResult"
8893               }
8894             }
8895           },
8896           "additionalProperties": false,
8897           "required": [
8898             "results"
8899           ]
8900         },
8901         "ListSSHKeys": {
8902           "type": "object",
8903           "properties": {
8904             "entities": {
8905               "$ref": "#/definitions/Entities"
8906             },
8907             "mode": {
8908               "type": "boolean"
8909             }
8910           },
8911           "additionalProperties": false,
8912           "required": [
8913             "entities",
8914             "mode"
8915           ]
8916         },
8917         "Macaroon": {
8918           "type": "object",
8919           "additionalProperties": false
8920         },
8921         "ModifyUserSSHKeys": {
8922           "type": "object",
8923           "properties": {
8924             "ssh-keys": {
8925               "type": "array",
8926               "items": {
8927                 "type": "string"
8928               }
8929             },
8930             "user": {
8931               "type": "string"
8932             }
8933           },
8934           "additionalProperties": false,
8935           "required": [
8936             "user",
8937             "ssh-keys"
8938           ]
8939         },
8940         "StringsResult": {
8941           "type": "object",
8942           "properties": {
8943             "error": {
8944               "$ref": "#/definitions/Error"
8945             },
8946             "result": {
8947               "type": "array",
8948               "items": {
8949                 "type": "string"
8950               }
8951             }
8952           },
8953           "additionalProperties": false
8954         },
8955         "StringsResults": {
8956           "type": "object",
8957           "properties": {
8958             "results": {
8959               "type": "array",
8960               "items": {
8961                 "$ref": "#/definitions/StringsResult"
8962               }
8963             }
8964           },
8965           "additionalProperties": false,
8966           "required": [
8967             "results"
8968           ]
8969         }
8970       }
8971     }
8972   },
8973   {
8974     "Name": "KeyUpdater",
8975     "Version": 1,
8976     "Schema": {
8977       "type": "object",
8978       "properties": {
8979         "AuthorisedKeys": {
8980           "type": "object",
8981           "properties": {
8982             "Params": {
8983               "$ref": "#/definitions/Entities"
8984             },
8985             "Result": {
8986               "$ref": "#/definitions/StringsResults"
8987             }
8988           }
8989         },
8990         "WatchAuthorisedKeys": {
8991           "type": "object",
8992           "properties": {
8993             "Params": {
8994               "$ref": "#/definitions/Entities"
8995             },
8996             "Result": {
8997               "$ref": "#/definitions/NotifyWatchResults"
8998             }
8999           }
9000         }
9001       },
9002       "definitions": {
9003         "Entities": {
9004           "type": "object",
9005           "properties": {
9006             "entities": {
9007               "type": "array",
9008               "items": {
9009                 "$ref": "#/definitions/Entity"
9010               }
9011             }
9012           },
9013           "additionalProperties": false,
9014           "required": [
9015             "entities"
9016           ]
9017         },
9018         "Entity": {
9019           "type": "object",
9020           "properties": {
9021             "tag": {
9022               "type": "string"
9023             }
9024           },
9025           "additionalProperties": false,
9026           "required": [
9027             "tag"
9028           ]
9029         },
9030         "Error": {
9031           "type": "object",
9032           "properties": {
9033             "code": {
9034               "type": "string"
9035             },
9036             "info": {
9037               "$ref": "#/definitions/ErrorInfo"
9038             },
9039             "message": {
9040               "type": "string"
9041             }
9042           },
9043           "additionalProperties": false,
9044           "required": [
9045             "message",
9046             "code"
9047           ]
9048         },
9049         "ErrorInfo": {
9050           "type": "object",
9051           "properties": {
9052             "macaroon": {
9053               "$ref": "#/definitions/Macaroon"
9054             },
9055             "macaroon-path": {
9056               "type": "string"
9057             }
9058           },
9059           "additionalProperties": false
9060         },
9061         "Macaroon": {
9062           "type": "object",
9063           "additionalProperties": false
9064         },
9065         "NotifyWatchResult": {
9066           "type": "object",
9067           "properties": {
9068             "NotifyWatcherId": {
9069               "type": "string"
9070             },
9071             "error": {
9072               "$ref": "#/definitions/Error"
9073             }
9074           },
9075           "additionalProperties": false,
9076           "required": [
9077             "NotifyWatcherId"
9078           ]
9079         },
9080         "NotifyWatchResults": {
9081           "type": "object",
9082           "properties": {
9083             "results": {
9084               "type": "array",
9085               "items": {
9086                 "$ref": "#/definitions/NotifyWatchResult"
9087               }
9088             }
9089           },
9090           "additionalProperties": false,
9091           "required": [
9092             "results"
9093           ]
9094         },
9095         "StringsResult": {
9096           "type": "object",
9097           "properties": {
9098             "error": {
9099               "$ref": "#/definitions/Error"
9100             },
9101             "result": {
9102               "type": "array",
9103               "items": {
9104                 "type": "string"
9105               }
9106             }
9107           },
9108           "additionalProperties": false
9109         },
9110         "StringsResults": {
9111           "type": "object",
9112           "properties": {
9113             "results": {
9114               "type": "array",
9115               "items": {
9116                 "$ref": "#/definitions/StringsResult"
9117               }
9118             }
9119           },
9120           "additionalProperties": false,
9121           "required": [
9122             "results"
9123           ]
9124         }
9125       }
9126     }
9127   },
9128   {
9129     "Name": "LeadershipService",
9130     "Version": 2,
9131     "Schema": {
9132       "type": "object",
9133       "properties": {
9134         "BlockUntilLeadershipReleased": {
9135           "type": "object",
9136           "properties": {
9137             "Params": {
9138               "$ref": "#/definitions/ApplicationTag"
9139             },
9140             "Result": {
9141               "$ref": "#/definitions/ErrorResult"
9142             }
9143           }
9144         },
9145         "ClaimLeadership": {
9146           "type": "object",
9147           "properties": {
9148             "Params": {
9149               "$ref": "#/definitions/ClaimLeadershipBulkParams"
9150             },
9151             "Result": {
9152               "$ref": "#/definitions/ClaimLeadershipBulkResults"
9153             }
9154           }
9155         }
9156       },
9157       "definitions": {
9158         "ApplicationTag": {
9159           "type": "object",
9160           "properties": {
9161             "Name": {
9162               "type": "string"
9163             }
9164           },
9165           "additionalProperties": false,
9166           "required": [
9167             "Name"
9168           ]
9169         },
9170         "ClaimLeadershipBulkParams": {
9171           "type": "object",
9172           "properties": {
9173             "params": {
9174               "type": "array",
9175               "items": {
9176                 "$ref": "#/definitions/ClaimLeadershipParams"
9177               }
9178             }
9179           },
9180           "additionalProperties": false,
9181           "required": [
9182             "params"
9183           ]
9184         },
9185         "ClaimLeadershipBulkResults": {
9186           "type": "object",
9187           "properties": {
9188             "results": {
9189               "type": "array",
9190               "items": {
9191                 "$ref": "#/definitions/ErrorResult"
9192               }
9193             }
9194           },
9195           "additionalProperties": false,
9196           "required": [
9197             "results"
9198           ]
9199         },
9200         "ClaimLeadershipParams": {
9201           "type": "object",
9202           "properties": {
9203             "application-tag": {
9204               "type": "string"
9205             },
9206             "duration": {
9207               "type": "number"
9208             },
9209             "unit-tag": {
9210               "type": "string"
9211             }
9212           },
9213           "additionalProperties": false,
9214           "required": [
9215             "application-tag",
9216             "unit-tag",
9217             "duration"
9218           ]
9219         },
9220         "Error": {
9221           "type": "object",
9222           "properties": {
9223             "code": {
9224               "type": "string"
9225             },
9226             "info": {
9227               "$ref": "#/definitions/ErrorInfo"
9228             },
9229             "message": {
9230               "type": "string"
9231             }
9232           },
9233           "additionalProperties": false,
9234           "required": [
9235             "message",
9236             "code"
9237           ]
9238         },
9239         "ErrorInfo": {
9240           "type": "object",
9241           "properties": {
9242             "macaroon": {
9243               "$ref": "#/definitions/Macaroon"
9244             },
9245             "macaroon-path": {
9246               "type": "string"
9247             }
9248           },
9249           "additionalProperties": false
9250         },
9251         "ErrorResult": {
9252           "type": "object",
9253           "properties": {
9254             "error": {
9255               "$ref": "#/definitions/Error"
9256             }
9257           },
9258           "additionalProperties": false
9259         },
9260         "Macaroon": {
9261           "type": "object",
9262           "additionalProperties": false
9263         }
9264       }
9265     }
9266   },
9267   {
9268     "Name": "LifeFlag",
9269     "Version": 1,
9270     "Schema": {
9271       "type": "object",
9272       "properties": {
9273         "Life": {
9274           "type": "object",
9275           "properties": {
9276             "Params": {
9277               "$ref": "#/definitions/Entities"
9278             },
9279             "Result": {
9280               "$ref": "#/definitions/LifeResults"
9281             }
9282           }
9283         },
9284         "Watch": {
9285           "type": "object",
9286           "properties": {
9287             "Params": {
9288               "$ref": "#/definitions/Entities"
9289             },
9290             "Result": {
9291               "$ref": "#/definitions/NotifyWatchResults"
9292             }
9293           }
9294         }
9295       },
9296       "definitions": {
9297         "Entities": {
9298           "type": "object",
9299           "properties": {
9300             "entities": {
9301               "type": "array",
9302               "items": {
9303                 "$ref": "#/definitions/Entity"
9304               }
9305             }
9306           },
9307           "additionalProperties": false,
9308           "required": [
9309             "entities"
9310           ]
9311         },
9312         "Entity": {
9313           "type": "object",
9314           "properties": {
9315             "tag": {
9316               "type": "string"
9317             }
9318           },
9319           "additionalProperties": false,
9320           "required": [
9321             "tag"
9322           ]
9323         },
9324         "Error": {
9325           "type": "object",
9326           "properties": {
9327             "code": {
9328               "type": "string"
9329             },
9330             "info": {
9331               "$ref": "#/definitions/ErrorInfo"
9332             },
9333             "message": {
9334               "type": "string"
9335             }
9336           },
9337           "additionalProperties": false,
9338           "required": [
9339             "message",
9340             "code"
9341           ]
9342         },
9343         "ErrorInfo": {
9344           "type": "object",
9345           "properties": {
9346             "macaroon": {
9347               "$ref": "#/definitions/Macaroon"
9348             },
9349             "macaroon-path": {
9350               "type": "string"
9351             }
9352           },
9353           "additionalProperties": false
9354         },
9355         "LifeResult": {
9356           "type": "object",
9357           "properties": {
9358             "error": {
9359               "$ref": "#/definitions/Error"
9360             },
9361             "life": {
9362               "type": "string"
9363             }
9364           },
9365           "additionalProperties": false,
9366           "required": [
9367             "life"
9368           ]
9369         },
9370         "LifeResults": {
9371           "type": "object",
9372           "properties": {
9373             "results": {
9374               "type": "array",
9375               "items": {
9376                 "$ref": "#/definitions/LifeResult"
9377               }
9378             }
9379           },
9380           "additionalProperties": false,
9381           "required": [
9382             "results"
9383           ]
9384         },
9385         "Macaroon": {
9386           "type": "object",
9387           "additionalProperties": false
9388         },
9389         "NotifyWatchResult": {
9390           "type": "object",
9391           "properties": {
9392             "NotifyWatcherId": {
9393               "type": "string"
9394             },
9395             "error": {
9396               "$ref": "#/definitions/Error"
9397             }
9398           },
9399           "additionalProperties": false,
9400           "required": [
9401             "NotifyWatcherId"
9402           ]
9403         },
9404         "NotifyWatchResults": {
9405           "type": "object",
9406           "properties": {
9407             "results": {
9408               "type": "array",
9409               "items": {
9410                 "$ref": "#/definitions/NotifyWatchResult"
9411               }
9412             }
9413           },
9414           "additionalProperties": false,
9415           "required": [
9416             "results"
9417           ]
9418         }
9419       }
9420     }
9421   },
9422   {
9423     "Name": "LogForwarding",
9424     "Version": 1,
9425     "Schema": {
9426       "type": "object",
9427       "properties": {
9428         "GetLastSent": {
9429           "type": "object",
9430           "properties": {
9431             "Params": {
9432               "$ref": "#/definitions/LogForwardingGetLastSentParams"
9433             },
9434             "Result": {
9435               "$ref": "#/definitions/LogForwardingGetLastSentResults"
9436             }
9437           }
9438         },
9439         "SetLastSent": {
9440           "type": "object",
9441           "properties": {
9442             "Params": {
9443               "$ref": "#/definitions/LogForwardingSetLastSentParams"
9444             },
9445             "Result": {
9446               "$ref": "#/definitions/ErrorResults"
9447             }
9448           }
9449         }
9450       },
9451       "definitions": {
9452         "Error": {
9453           "type": "object",
9454           "properties": {
9455             "code": {
9456               "type": "string"
9457             },
9458             "info": {
9459               "$ref": "#/definitions/ErrorInfo"
9460             },
9461             "message": {
9462               "type": "string"
9463             }
9464           },
9465           "additionalProperties": false,
9466           "required": [
9467             "message",
9468             "code"
9469           ]
9470         },
9471         "ErrorInfo": {
9472           "type": "object",
9473           "properties": {
9474             "macaroon": {
9475               "$ref": "#/definitions/Macaroon"
9476             },
9477             "macaroon-path": {
9478               "type": "string"
9479             }
9480           },
9481           "additionalProperties": false
9482         },
9483         "ErrorResult": {
9484           "type": "object",
9485           "properties": {
9486             "error": {
9487               "$ref": "#/definitions/Error"
9488             }
9489           },
9490           "additionalProperties": false
9491         },
9492         "ErrorResults": {
9493           "type": "object",
9494           "properties": {
9495             "results": {
9496               "type": "array",
9497               "items": {
9498                 "$ref": "#/definitions/ErrorResult"
9499               }
9500             }
9501           },
9502           "additionalProperties": false,
9503           "required": [
9504             "results"
9505           ]
9506         },
9507         "LogForwardingGetLastSentParams": {
9508           "type": "object",
9509           "properties": {
9510             "ids": {
9511               "type": "array",
9512               "items": {
9513                 "$ref": "#/definitions/LogForwardingID"
9514               }
9515             }
9516           },
9517           "additionalProperties": false,
9518           "required": [
9519             "ids"
9520           ]
9521         },
9522         "LogForwardingGetLastSentResult": {
9523           "type": "object",
9524           "properties": {
9525             "err": {
9526               "$ref": "#/definitions/Error"
9527             },
9528             "record-id": {
9529               "type": "integer"
9530             }
9531           },
9532           "additionalProperties": false,
9533           "required": [
9534             "record-id",
9535             "err"
9536           ]
9537         },
9538         "LogForwardingGetLastSentResults": {
9539           "type": "object",
9540           "properties": {
9541             "results": {
9542               "type": "array",
9543               "items": {
9544                 "$ref": "#/definitions/LogForwardingGetLastSentResult"
9545               }
9546             }
9547           },
9548           "additionalProperties": false,
9549           "required": [
9550             "results"
9551           ]
9552         },
9553         "LogForwardingID": {
9554           "type": "object",
9555           "properties": {
9556             "model": {
9557               "type": "string"
9558             },
9559             "sink": {
9560               "type": "string"
9561             }
9562           },
9563           "additionalProperties": false,
9564           "required": [
9565             "model",
9566             "sink"
9567           ]
9568         },
9569         "LogForwardingSetLastSentParam": {
9570           "type": "object",
9571           "properties": {
9572             "LogForwardingID": {
9573               "$ref": "#/definitions/LogForwardingID"
9574             },
9575             "record-id": {
9576               "type": "integer"
9577             }
9578           },
9579           "additionalProperties": false,
9580           "required": [
9581             "LogForwardingID",
9582             "record-id"
9583           ]
9584         },
9585         "LogForwardingSetLastSentParams": {
9586           "type": "object",
9587           "properties": {
9588             "params": {
9589               "type": "array",
9590               "items": {
9591                 "$ref": "#/definitions/LogForwardingSetLastSentParam"
9592               }
9593             }
9594           },
9595           "additionalProperties": false,
9596           "required": [
9597             "params"
9598           ]
9599         },
9600         "Macaroon": {
9601           "type": "object",
9602           "additionalProperties": false
9603         }
9604       }
9605     }
9606   },
9607   {
9608     "Name": "Logger",
9609     "Version": 1,
9610     "Schema": {
9611       "type": "object",
9612       "properties": {
9613         "LoggingConfig": {
9614           "type": "object",
9615           "properties": {
9616             "Params": {
9617               "$ref": "#/definitions/Entities"
9618             },
9619             "Result": {
9620               "$ref": "#/definitions/StringResults"
9621             }
9622           }
9623         },
9624         "WatchLoggingConfig": {
9625           "type": "object",
9626           "properties": {
9627             "Params": {
9628               "$ref": "#/definitions/Entities"
9629             },
9630             "Result": {
9631               "$ref": "#/definitions/NotifyWatchResults"
9632             }
9633           }
9634         }
9635       },
9636       "definitions": {
9637         "Entities": {
9638           "type": "object",
9639           "properties": {
9640             "entities": {
9641               "type": "array",
9642               "items": {
9643                 "$ref": "#/definitions/Entity"
9644               }
9645             }
9646           },
9647           "additionalProperties": false,
9648           "required": [
9649             "entities"
9650           ]
9651         },
9652         "Entity": {
9653           "type": "object",
9654           "properties": {
9655             "tag": {
9656               "type": "string"
9657             }
9658           },
9659           "additionalProperties": false,
9660           "required": [
9661             "tag"
9662           ]
9663         },
9664         "Error": {
9665           "type": "object",
9666           "properties": {
9667             "code": {
9668               "type": "string"
9669             },
9670             "info": {
9671               "$ref": "#/definitions/ErrorInfo"
9672             },
9673             "message": {
9674               "type": "string"
9675             }
9676           },
9677           "additionalProperties": false,
9678           "required": [
9679             "message",
9680             "code"
9681           ]
9682         },
9683         "ErrorInfo": {
9684           "type": "object",
9685           "properties": {
9686             "macaroon": {
9687               "$ref": "#/definitions/Macaroon"
9688             },
9689             "macaroon-path": {
9690               "type": "string"
9691             }
9692           },
9693           "additionalProperties": false
9694         },
9695         "Macaroon": {
9696           "type": "object",
9697           "additionalProperties": false
9698         },
9699         "NotifyWatchResult": {
9700           "type": "object",
9701           "properties": {
9702             "NotifyWatcherId": {
9703               "type": "string"
9704             },
9705             "error": {
9706               "$ref": "#/definitions/Error"
9707             }
9708           },
9709           "additionalProperties": false,
9710           "required": [
9711             "NotifyWatcherId"
9712           ]
9713         },
9714         "NotifyWatchResults": {
9715           "type": "object",
9716           "properties": {
9717             "results": {
9718               "type": "array",
9719               "items": {
9720                 "$ref": "#/definitions/NotifyWatchResult"
9721               }
9722             }
9723           },
9724           "additionalProperties": false,
9725           "required": [
9726             "results"
9727           ]
9728         },
9729         "StringResult": {
9730           "type": "object",
9731           "properties": {
9732             "error": {
9733               "$ref": "#/definitions/Error"
9734             },
9735             "result": {
9736               "type": "string"
9737             }
9738           },
9739           "additionalProperties": false,
9740           "required": [
9741             "result"
9742           ]
9743         },
9744         "StringResults": {
9745           "type": "object",
9746           "properties": {
9747             "results": {
9748               "type": "array",
9749               "items": {
9750                 "$ref": "#/definitions/StringResult"
9751               }
9752             }
9753           },
9754           "additionalProperties": false,
9755           "required": [
9756             "results"
9757           ]
9758         }
9759       }
9760     }
9761   },
9762   {
9763     "Name": "MachineActions",
9764     "Version": 1,
9765     "Schema": {
9766       "type": "object",
9767       "properties": {
9768         "Actions": {
9769           "type": "object",
9770           "properties": {
9771             "Params": {
9772               "$ref": "#/definitions/Entities"
9773             },
9774             "Result": {
9775               "$ref": "#/definitions/ActionResults"
9776             }
9777           }
9778         },
9779         "BeginActions": {
9780           "type": "object",
9781           "properties": {
9782             "Params": {
9783               "$ref": "#/definitions/Entities"
9784             },
9785             "Result": {
9786               "$ref": "#/definitions/ErrorResults"
9787             }
9788           }
9789         },
9790         "FinishActions": {
9791           "type": "object",
9792           "properties": {
9793             "Params": {
9794               "$ref": "#/definitions/ActionExecutionResults"
9795             },
9796             "Result": {
9797               "$ref": "#/definitions/ErrorResults"
9798             }
9799           }
9800         },
9801         "RunningActions": {
9802           "type": "object",
9803           "properties": {
9804             "Params": {
9805               "$ref": "#/definitions/Entities"
9806             },
9807             "Result": {
9808               "$ref": "#/definitions/ActionsByReceivers"
9809             }
9810           }
9811         },
9812         "WatchActionNotifications": {
9813           "type": "object",
9814           "properties": {
9815             "Params": {
9816               "$ref": "#/definitions/Entities"
9817             },
9818             "Result": {
9819               "$ref": "#/definitions/StringsWatchResults"
9820             }
9821           }
9822         }
9823       },
9824       "definitions": {
9825         "Action": {
9826           "type": "object",
9827           "properties": {
9828             "name": {
9829               "type": "string"
9830             },
9831             "parameters": {
9832               "type": "object",
9833               "patternProperties": {
9834                 ".*": {
9835                   "type": "object",
9836                   "additionalProperties": true
9837                 }
9838               }
9839             },
9840             "receiver": {
9841               "type": "string"
9842             },
9843             "tag": {
9844               "type": "string"
9845             }
9846           },
9847           "additionalProperties": false,
9848           "required": [
9849             "tag",
9850             "receiver",
9851             "name"
9852           ]
9853         },
9854         "ActionExecutionResult": {
9855           "type": "object",
9856           "properties": {
9857             "action-tag": {
9858               "type": "string"
9859             },
9860             "message": {
9861               "type": "string"
9862             },
9863             "results": {
9864               "type": "object",
9865               "patternProperties": {
9866                 ".*": {
9867                   "type": "object",
9868                   "additionalProperties": true
9869                 }
9870               }
9871             },
9872             "status": {
9873               "type": "string"
9874             }
9875           },
9876           "additionalProperties": false,
9877           "required": [
9878             "action-tag",
9879             "status"
9880           ]
9881         },
9882         "ActionExecutionResults": {
9883           "type": "object",
9884           "properties": {
9885             "results": {
9886               "type": "array",
9887               "items": {
9888                 "$ref": "#/definitions/ActionExecutionResult"
9889               }
9890             }
9891           },
9892           "additionalProperties": false
9893         },
9894         "ActionResult": {
9895           "type": "object",
9896           "properties": {
9897             "action": {
9898               "$ref": "#/definitions/Action"
9899             },
9900             "completed": {
9901               "type": "string",
9902               "format": "date-time"
9903             },
9904             "enqueued": {
9905               "type": "string",
9906               "format": "date-time"
9907             },
9908             "error": {
9909               "$ref": "#/definitions/Error"
9910             },
9911             "message": {
9912               "type": "string"
9913             },
9914             "output": {
9915               "type": "object",
9916               "patternProperties": {
9917                 ".*": {
9918                   "type": "object",
9919                   "additionalProperties": true
9920                 }
9921               }
9922             },
9923             "started": {
9924               "type": "string",
9925               "format": "date-time"
9926             },
9927             "status": {
9928               "type": "string"
9929             }
9930           },
9931           "additionalProperties": false
9932         },
9933         "ActionResults": {
9934           "type": "object",
9935           "properties": {
9936             "results": {
9937               "type": "array",
9938               "items": {
9939                 "$ref": "#/definitions/ActionResult"
9940               }
9941             }
9942           },
9943           "additionalProperties": false
9944         },
9945         "ActionsByReceiver": {
9946           "type": "object",
9947           "properties": {
9948             "actions": {
9949               "type": "array",
9950               "items": {
9951                 "$ref": "#/definitions/ActionResult"
9952               }
9953             },
9954             "error": {
9955               "$ref": "#/definitions/Error"
9956             },
9957             "receiver": {
9958               "type": "string"
9959             }
9960           },
9961           "additionalProperties": false
9962         },
9963         "ActionsByReceivers": {
9964           "type": "object",
9965           "properties": {
9966             "actions": {
9967               "type": "array",
9968               "items": {
9969                 "$ref": "#/definitions/ActionsByReceiver"
9970               }
9971             }
9972           },
9973           "additionalProperties": false
9974         },
9975         "Entities": {
9976           "type": "object",
9977           "properties": {
9978             "entities": {
9979               "type": "array",
9980               "items": {
9981                 "$ref": "#/definitions/Entity"
9982               }
9983             }
9984           },
9985           "additionalProperties": false,
9986           "required": [
9987             "entities"
9988           ]
9989         },
9990         "Entity": {
9991           "type": "object",
9992           "properties": {
9993             "tag": {
9994               "type": "string"
9995             }
9996           },
9997           "additionalProperties": false,
9998           "required": [
9999             "tag"
10000           ]
10001         },
10002         "Error": {
10003           "type": "object",
10004           "properties": {
10005             "code": {
10006               "type": "string"
10007             },
10008             "info": {
10009               "$ref": "#/definitions/ErrorInfo"
10010             },
10011             "message": {
10012               "type": "string"
10013             }
10014           },
10015           "additionalProperties": false,
10016           "required": [
10017             "message",
10018             "code"
10019           ]
10020         },
10021         "ErrorInfo": {
10022           "type": "object",
10023           "properties": {
10024             "macaroon": {
10025               "$ref": "#/definitions/Macaroon"
10026             },
10027             "macaroon-path": {
10028               "type": "string"
10029             }
10030           },
10031           "additionalProperties": false
10032         },
10033         "ErrorResult": {
10034           "type": "object",
10035           "properties": {
10036             "error": {
10037               "$ref": "#/definitions/Error"
10038             }
10039           },
10040           "additionalProperties": false
10041         },
10042         "ErrorResults": {
10043           "type": "object",
10044           "properties": {
10045             "results": {
10046               "type": "array",
10047               "items": {
10048                 "$ref": "#/definitions/ErrorResult"
10049               }
10050             }
10051           },
10052           "additionalProperties": false,
10053           "required": [
10054             "results"
10055           ]
10056         },
10057         "Macaroon": {
10058           "type": "object",
10059           "additionalProperties": false
10060         },
10061         "StringsWatchResult": {
10062           "type": "object",
10063           "properties": {
10064             "changes": {
10065               "type": "array",
10066               "items": {
10067                 "type": "string"
10068               }
10069             },
10070             "error": {
10071               "$ref": "#/definitions/Error"
10072             },
10073             "watcher-id": {
10074               "type": "string"
10075             }
10076           },
10077           "additionalProperties": false,
10078           "required": [
10079             "watcher-id"
10080           ]
10081         },
10082         "StringsWatchResults": {
10083           "type": "object",
10084           "properties": {
10085             "results": {
10086               "type": "array",
10087               "items": {
10088                 "$ref": "#/definitions/StringsWatchResult"
10089               }
10090             }
10091           },
10092           "additionalProperties": false,
10093           "required": [
10094             "results"
10095           ]
10096         }
10097       }
10098     }
10099   },
10100   {
10101     "Name": "MachineManager",
10102     "Version": 2,
10103     "Schema": {
10104       "type": "object",
10105       "properties": {
10106         "AddMachines": {
10107           "type": "object",
10108           "properties": {
10109             "Params": {
10110               "$ref": "#/definitions/AddMachines"
10111             },
10112             "Result": {
10113               "$ref": "#/definitions/AddMachinesResults"
10114             }
10115           }
10116         }
10117       },
10118       "definitions": {
10119         "AddMachineParams": {
10120           "type": "object",
10121           "properties": {
10122             "addresses": {
10123               "type": "array",
10124               "items": {
10125                 "$ref": "#/definitions/Address"
10126               }
10127             },
10128             "constraints": {
10129               "$ref": "#/definitions/Value"
10130             },
10131             "container-type": {
10132               "type": "string"
10133             },
10134             "disks": {
10135               "type": "array",
10136               "items": {
10137                 "$ref": "#/definitions/Constraints"
10138               }
10139             },
10140             "hardware-characteristics": {
10141               "$ref": "#/definitions/HardwareCharacteristics"
10142             },
10143             "instance-id": {
10144               "type": "string"
10145             },
10146             "jobs": {
10147               "type": "array",
10148               "items": {
10149                 "type": "string"
10150               }
10151             },
10152             "nonce": {
10153               "type": "string"
10154             },
10155             "parent-id": {
10156               "type": "string"
10157             },
10158             "placement": {
10159               "$ref": "#/definitions/Placement"
10160             },
10161             "series": {
10162               "type": "string"
10163             }
10164           },
10165           "additionalProperties": false,
10166           "required": [
10167             "series",
10168             "constraints",
10169             "jobs",
10170             "parent-id",
10171             "container-type",
10172             "instance-id",
10173             "nonce",
10174             "hardware-characteristics",
10175             "addresses"
10176           ]
10177         },
10178         "AddMachines": {
10179           "type": "object",
10180           "properties": {
10181             "params": {
10182               "type": "array",
10183               "items": {
10184                 "$ref": "#/definitions/AddMachineParams"
10185               }
10186             }
10187           },
10188           "additionalProperties": false,
10189           "required": [
10190             "params"
10191           ]
10192         },
10193         "AddMachinesResult": {
10194           "type": "object",
10195           "properties": {
10196             "error": {
10197               "$ref": "#/definitions/Error"
10198             },
10199             "machine": {
10200               "type": "string"
10201             }
10202           },
10203           "additionalProperties": false,
10204           "required": [
10205             "machine"
10206           ]
10207         },
10208         "AddMachinesResults": {
10209           "type": "object",
10210           "properties": {
10211             "machines": {
10212               "type": "array",
10213               "items": {
10214                 "$ref": "#/definitions/AddMachinesResult"
10215               }
10216             }
10217           },
10218           "additionalProperties": false,
10219           "required": [
10220             "machines"
10221           ]
10222         },
10223         "Address": {
10224           "type": "object",
10225           "properties": {
10226             "scope": {
10227               "type": "string"
10228             },
10229             "space-name": {
10230               "type": "string"
10231             },
10232             "type": {
10233               "type": "string"
10234             },
10235             "value": {
10236               "type": "string"
10237             }
10238           },
10239           "additionalProperties": false,
10240           "required": [
10241             "value",
10242             "type",
10243             "scope"
10244           ]
10245         },
10246         "Constraints": {
10247           "type": "object",
10248           "properties": {
10249             "Count": {
10250               "type": "integer"
10251             },
10252             "Pool": {
10253               "type": "string"
10254             },
10255             "Size": {
10256               "type": "integer"
10257             }
10258           },
10259           "additionalProperties": false,
10260           "required": [
10261             "Pool",
10262             "Size",
10263             "Count"
10264           ]
10265         },
10266         "Error": {
10267           "type": "object",
10268           "properties": {
10269             "code": {
10270               "type": "string"
10271             },
10272             "info": {
10273               "$ref": "#/definitions/ErrorInfo"
10274             },
10275             "message": {
10276               "type": "string"
10277             }
10278           },
10279           "additionalProperties": false,
10280           "required": [
10281             "message",
10282             "code"
10283           ]
10284         },
10285         "ErrorInfo": {
10286           "type": "object",
10287           "properties": {
10288             "macaroon": {
10289               "$ref": "#/definitions/Macaroon"
10290             },
10291             "macaroon-path": {
10292               "type": "string"
10293             }
10294           },
10295           "additionalProperties": false
10296         },
10297         "HardwareCharacteristics": {
10298           "type": "object",
10299           "properties": {
10300             "arch": {
10301               "type": "string"
10302             },
10303             "availability-zone": {
10304               "type": "string"
10305             },
10306             "cpu-cores": {
10307               "type": "integer"
10308             },
10309             "cpu-power": {
10310               "type": "integer"
10311             },
10312             "mem": {
10313               "type": "integer"
10314             },
10315             "root-disk": {
10316               "type": "integer"
10317             },
10318             "tags": {
10319               "type": "array",
10320               "items": {
10321                 "type": "string"
10322               }
10323             }
10324           },
10325           "additionalProperties": false
10326         },
10327         "Macaroon": {
10328           "type": "object",
10329           "additionalProperties": false
10330         },
10331         "Placement": {
10332           "type": "object",
10333           "properties": {
10334             "directive": {
10335               "type": "string"
10336             },
10337             "scope": {
10338               "type": "string"
10339             }
10340           },
10341           "additionalProperties": false,
10342           "required": [
10343             "scope",
10344             "directive"
10345           ]
10346         },
10347         "Value": {
10348           "type": "object",
10349           "properties": {
10350             "arch": {
10351               "type": "string"
10352             },
10353             "container": {
10354               "type": "string"
10355             },
10356             "cpu-cores": {
10357               "type": "integer"
10358             },
10359             "cpu-power": {
10360               "type": "integer"
10361             },
10362             "instance-type": {
10363               "type": "string"
10364             },
10365             "mem": {
10366               "type": "integer"
10367             },
10368             "root-disk": {
10369               "type": "integer"
10370             },
10371             "spaces": {
10372               "type": "array",
10373               "items": {
10374                 "type": "string"
10375               }
10376             },
10377             "tags": {
10378               "type": "array",
10379               "items": {
10380                 "type": "string"
10381               }
10382             },
10383             "virt-type": {
10384               "type": "string"
10385             }
10386           },
10387           "additionalProperties": false
10388         }
10389       }
10390     }
10391   },
10392   {
10393     "Name": "Machiner",
10394     "Version": 1,
10395     "Schema": {
10396       "type": "object",
10397       "properties": {
10398         "APIAddresses": {
10399           "type": "object",
10400           "properties": {
10401             "Result": {
10402               "$ref": "#/definitions/StringsResult"
10403             }
10404           }
10405         },
10406         "APIHostPorts": {
10407           "type": "object",
10408           "properties": {
10409             "Result": {
10410               "$ref": "#/definitions/APIHostPortsResult"
10411             }
10412           }
10413         },
10414         "CACert": {
10415           "type": "object",
10416           "properties": {
10417             "Result": {
10418               "$ref": "#/definitions/BytesResult"
10419             }
10420           }
10421         },
10422         "EnsureDead": {
10423           "type": "object",
10424           "properties": {
10425             "Params": {
10426               "$ref": "#/definitions/Entities"
10427             },
10428             "Result": {
10429               "$ref": "#/definitions/ErrorResults"
10430             }
10431           }
10432         },
10433         "Jobs": {
10434           "type": "object",
10435           "properties": {
10436             "Params": {
10437               "$ref": "#/definitions/Entities"
10438             },
10439             "Result": {
10440               "$ref": "#/definitions/JobsResults"
10441             }
10442           }
10443         },
10444         "Life": {
10445           "type": "object",
10446           "properties": {
10447             "Params": {
10448               "$ref": "#/definitions/Entities"
10449             },
10450             "Result": {
10451               "$ref": "#/definitions/LifeResults"
10452             }
10453           }
10454         },
10455         "ModelUUID": {
10456           "type": "object",
10457           "properties": {
10458             "Result": {
10459               "$ref": "#/definitions/StringResult"
10460             }
10461           }
10462         },
10463         "SetMachineAddresses": {
10464           "type": "object",
10465           "properties": {
10466             "Params": {
10467               "$ref": "#/definitions/SetMachinesAddresses"
10468             },
10469             "Result": {
10470               "$ref": "#/definitions/ErrorResults"
10471             }
10472           }
10473         },
10474         "SetObservedNetworkConfig": {
10475           "type": "object",
10476           "properties": {
10477             "Params": {
10478               "$ref": "#/definitions/SetMachineNetworkConfig"
10479             }
10480           }
10481         },
10482         "SetProviderNetworkConfig": {
10483           "type": "object",
10484           "properties": {
10485             "Params": {
10486               "$ref": "#/definitions/Entities"
10487             },
10488             "Result": {
10489               "$ref": "#/definitions/ErrorResults"
10490             }
10491           }
10492         },
10493         "SetStatus": {
10494           "type": "object",
10495           "properties": {
10496             "Params": {
10497               "$ref": "#/definitions/SetStatus"
10498             },
10499             "Result": {
10500               "$ref": "#/definitions/ErrorResults"
10501             }
10502           }
10503         },
10504         "UpdateStatus": {
10505           "type": "object",
10506           "properties": {
10507             "Params": {
10508               "$ref": "#/definitions/SetStatus"
10509             },
10510             "Result": {
10511               "$ref": "#/definitions/ErrorResults"
10512             }
10513           }
10514         },
10515         "Watch": {
10516           "type": "object",
10517           "properties": {
10518             "Params": {
10519               "$ref": "#/definitions/Entities"
10520             },
10521             "Result": {
10522               "$ref": "#/definitions/NotifyWatchResults"
10523             }
10524           }
10525         },
10526         "WatchAPIHostPorts": {
10527           "type": "object",
10528           "properties": {
10529             "Result": {
10530               "$ref": "#/definitions/NotifyWatchResult"
10531             }
10532           }
10533         }
10534       },
10535       "definitions": {
10536         "APIHostPortsResult": {
10537           "type": "object",
10538           "properties": {
10539             "servers": {
10540               "type": "array",
10541               "items": {
10542                 "type": "array",
10543                 "items": {
10544                   "$ref": "#/definitions/HostPort"
10545                 }
10546               }
10547             }
10548           },
10549           "additionalProperties": false,
10550           "required": [
10551             "servers"
10552           ]
10553         },
10554         "Address": {
10555           "type": "object",
10556           "properties": {
10557             "scope": {
10558               "type": "string"
10559             },
10560             "space-name": {
10561               "type": "string"
10562             },
10563             "type": {
10564               "type": "string"
10565             },
10566             "value": {
10567               "type": "string"
10568             }
10569           },
10570           "additionalProperties": false,
10571           "required": [
10572             "value",
10573             "type",
10574             "scope"
10575           ]
10576         },
10577         "BytesResult": {
10578           "type": "object",
10579           "properties": {
10580             "result": {
10581               "type": "array",
10582               "items": {
10583                 "type": "integer"
10584               }
10585             }
10586           },
10587           "additionalProperties": false,
10588           "required": [
10589             "result"
10590           ]
10591         },
10592         "Entities": {
10593           "type": "object",
10594           "properties": {
10595             "entities": {
10596               "type": "array",
10597               "items": {
10598                 "$ref": "#/definitions/Entity"
10599               }
10600             }
10601           },
10602           "additionalProperties": false,
10603           "required": [
10604             "entities"
10605           ]
10606         },
10607         "Entity": {
10608           "type": "object",
10609           "properties": {
10610             "tag": {
10611               "type": "string"
10612             }
10613           },
10614           "additionalProperties": false,
10615           "required": [
10616             "tag"
10617           ]
10618         },
10619         "EntityStatusArgs": {
10620           "type": "object",
10621           "properties": {
10622             "data": {
10623               "type": "object",
10624               "patternProperties": {
10625                 ".*": {
10626                   "type": "object",
10627                   "additionalProperties": true
10628                 }
10629               }
10630             },
10631             "info": {
10632               "type": "string"
10633             },
10634             "status": {
10635               "type": "string"
10636             },
10637             "tag": {
10638               "type": "string"
10639             }
10640           },
10641           "additionalProperties": false,
10642           "required": [
10643             "tag",
10644             "status",
10645             "info",
10646             "data"
10647           ]
10648         },
10649         "Error": {
10650           "type": "object",
10651           "properties": {
10652             "code": {
10653               "type": "string"
10654             },
10655             "info": {
10656               "$ref": "#/definitions/ErrorInfo"
10657             },
10658             "message": {
10659               "type": "string"
10660             }
10661           },
10662           "additionalProperties": false,
10663           "required": [
10664             "message",
10665             "code"
10666           ]
10667         },
10668         "ErrorInfo": {
10669           "type": "object",
10670           "properties": {
10671             "macaroon": {
10672               "$ref": "#/definitions/Macaroon"
10673             },
10674             "macaroon-path": {
10675               "type": "string"
10676             }
10677           },
10678           "additionalProperties": false
10679         },
10680         "ErrorResult": {
10681           "type": "object",
10682           "properties": {
10683             "error": {
10684               "$ref": "#/definitions/Error"
10685             }
10686           },
10687           "additionalProperties": false
10688         },
10689         "ErrorResults": {
10690           "type": "object",
10691           "properties": {
10692             "results": {
10693               "type": "array",
10694               "items": {
10695                 "$ref": "#/definitions/ErrorResult"
10696               }
10697             }
10698           },
10699           "additionalProperties": false,
10700           "required": [
10701             "results"
10702           ]
10703         },
10704         "HostPort": {
10705           "type": "object",
10706           "properties": {
10707             "Address": {
10708               "$ref": "#/definitions/Address"
10709             },
10710             "port": {
10711               "type": "integer"
10712             }
10713           },
10714           "additionalProperties": false,
10715           "required": [
10716             "Address",
10717             "port"
10718           ]
10719         },
10720         "JobsResult": {
10721           "type": "object",
10722           "properties": {
10723             "error": {
10724               "$ref": "#/definitions/Error"
10725             },
10726             "jobs": {
10727               "type": "array",
10728               "items": {
10729                 "type": "string"
10730               }
10731             }
10732           },
10733           "additionalProperties": false,
10734           "required": [
10735             "jobs"
10736           ]
10737         },
10738         "JobsResults": {
10739           "type": "object",
10740           "properties": {
10741             "results": {
10742               "type": "array",
10743               "items": {
10744                 "$ref": "#/definitions/JobsResult"
10745               }
10746             }
10747           },
10748           "additionalProperties": false,
10749           "required": [
10750             "results"
10751           ]
10752         },
10753         "LifeResult": {
10754           "type": "object",
10755           "properties": {
10756             "error": {
10757               "$ref": "#/definitions/Error"
10758             },
10759             "life": {
10760               "type": "string"
10761             }
10762           },
10763           "additionalProperties": false,
10764           "required": [
10765             "life"
10766           ]
10767         },
10768         "LifeResults": {
10769           "type": "object",
10770           "properties": {
10771             "results": {
10772               "type": "array",
10773               "items": {
10774                 "$ref": "#/definitions/LifeResult"
10775               }
10776             }
10777           },
10778           "additionalProperties": false,
10779           "required": [
10780             "results"
10781           ]
10782         },
10783         "Macaroon": {
10784           "type": "object",
10785           "additionalProperties": false
10786         },
10787         "MachineAddresses": {
10788           "type": "object",
10789           "properties": {
10790             "addresses": {
10791               "type": "array",
10792               "items": {
10793                 "$ref": "#/definitions/Address"
10794               }
10795             },
10796             "tag": {
10797               "type": "string"
10798             }
10799           },
10800           "additionalProperties": false,
10801           "required": [
10802             "tag",
10803             "addresses"
10804           ]
10805         },
10806         "NetworkConfig": {
10807           "type": "object",
10808           "properties": {
10809             "address": {
10810               "type": "string"
10811             },
10812             "cidr": {
10813               "type": "string"
10814             },
10815             "config-type": {
10816               "type": "string"
10817             },
10818             "device-index": {
10819               "type": "integer"
10820             },
10821             "disabled": {
10822               "type": "boolean"
10823             },
10824             "dns-search-domains": {
10825               "type": "array",
10826               "items": {
10827                 "type": "string"
10828               }
10829             },
10830             "dns-servers": {
10831               "type": "array",
10832               "items": {
10833                 "type": "string"
10834               }
10835             },
10836             "gateway-address": {
10837               "type": "string"
10838             },
10839             "interface-name": {
10840               "type": "string"
10841             },
10842             "interface-type": {
10843               "type": "string"
10844             },
10845             "mac-address": {
10846               "type": "string"
10847             },
10848             "mtu": {
10849               "type": "integer"
10850             },
10851             "no-auto-start": {
10852               "type": "boolean"
10853             },
10854             "parent-interface-name": {
10855               "type": "string"
10856             },
10857             "provider-address-id": {
10858               "type": "string"
10859             },
10860             "provider-id": {
10861               "type": "string"
10862             },
10863             "provider-space-id": {
10864               "type": "string"
10865             },
10866             "provider-subnet-id": {
10867               "type": "string"
10868             },
10869             "provider-vlan-id": {
10870               "type": "string"
10871             },
10872             "vlan-tag": {
10873               "type": "integer"
10874             }
10875           },
10876           "additionalProperties": false,
10877           "required": [
10878             "device-index",
10879             "mac-address",
10880             "cidr",
10881             "mtu",
10882             "provider-id",
10883             "provider-subnet-id",
10884             "provider-space-id",
10885             "provider-address-id",
10886             "provider-vlan-id",
10887             "vlan-tag",
10888             "interface-name",
10889             "parent-interface-name",
10890             "interface-type",
10891             "disabled"
10892           ]
10893         },
10894         "NotifyWatchResult": {
10895           "type": "object",
10896           "properties": {
10897             "NotifyWatcherId": {
10898               "type": "string"
10899             },
10900             "error": {
10901               "$ref": "#/definitions/Error"
10902             }
10903           },
10904           "additionalProperties": false,
10905           "required": [
10906             "NotifyWatcherId"
10907           ]
10908         },
10909         "NotifyWatchResults": {
10910           "type": "object",
10911           "properties": {
10912             "results": {
10913               "type": "array",
10914               "items": {
10915                 "$ref": "#/definitions/NotifyWatchResult"
10916               }
10917             }
10918           },
10919           "additionalProperties": false,
10920           "required": [
10921             "results"
10922           ]
10923         },
10924         "SetMachineNetworkConfig": {
10925           "type": "object",
10926           "properties": {
10927             "config": {
10928               "type": "array",
10929               "items": {
10930                 "$ref": "#/definitions/NetworkConfig"
10931               }
10932             },
10933             "tag": {
10934               "type": "string"
10935             }
10936           },
10937           "additionalProperties": false,
10938           "required": [
10939             "tag",
10940             "config"
10941           ]
10942         },
10943         "SetMachinesAddresses": {
10944           "type": "object",
10945           "properties": {
10946             "machine-addresses": {
10947               "type": "array",
10948               "items": {
10949                 "$ref": "#/definitions/MachineAddresses"
10950               }
10951             }
10952           },
10953           "additionalProperties": false,
10954           "required": [
10955             "machine-addresses"
10956           ]
10957         },
10958         "SetStatus": {
10959           "type": "object",
10960           "properties": {
10961             "entities": {
10962               "type": "array",
10963               "items": {
10964                 "$ref": "#/definitions/EntityStatusArgs"
10965               }
10966             }
10967           },
10968           "additionalProperties": false,
10969           "required": [
10970             "entities"
10971           ]
10972         },
10973         "StringResult": {
10974           "type": "object",
10975           "properties": {
10976             "error": {
10977               "$ref": "#/definitions/Error"
10978             },
10979             "result": {
10980               "type": "string"
10981             }
10982           },
10983           "additionalProperties": false,
10984           "required": [
10985             "result"
10986           ]
10987         },
10988         "StringsResult": {
10989           "type": "object",
10990           "properties": {
10991             "error": {
10992               "$ref": "#/definitions/Error"
10993             },
10994             "result": {
10995               "type": "array",
10996               "items": {
10997                 "type": "string"
10998               }
10999             }
11000           },
11001           "additionalProperties": false
11002         }
11003       }
11004     }
11005   },
11006   {
11007     "Name": "MeterStatus",
11008     "Version": 1,
11009     "Schema": {
11010       "type": "object",
11011       "properties": {
11012         "GetMeterStatus": {
11013           "type": "object",
11014           "properties": {
11015             "Params": {
11016               "$ref": "#/definitions/Entities"
11017             },
11018             "Result": {
11019               "$ref": "#/definitions/MeterStatusResults"
11020             }
11021           }
11022         },
11023         "WatchMeterStatus": {
11024           "type": "object",
11025           "properties": {
11026             "Params": {
11027               "$ref": "#/definitions/Entities"
11028             },
11029             "Result": {
11030               "$ref": "#/definitions/NotifyWatchResults"
11031             }
11032           }
11033         }
11034       },
11035       "definitions": {
11036         "Entities": {
11037           "type": "object",
11038           "properties": {
11039             "entities": {
11040               "type": "array",
11041               "items": {
11042                 "$ref": "#/definitions/Entity"
11043               }
11044             }
11045           },
11046           "additionalProperties": false,
11047           "required": [
11048             "entities"
11049           ]
11050         },
11051         "Entity": {
11052           "type": "object",
11053           "properties": {
11054             "tag": {
11055               "type": "string"
11056             }
11057           },
11058           "additionalProperties": false,
11059           "required": [
11060             "tag"
11061           ]
11062         },
11063         "Error": {
11064           "type": "object",
11065           "properties": {
11066             "code": {
11067               "type": "string"
11068             },
11069             "info": {
11070               "$ref": "#/definitions/ErrorInfo"
11071             },
11072             "message": {
11073               "type": "string"
11074             }
11075           },
11076           "additionalProperties": false,
11077           "required": [
11078             "message",
11079             "code"
11080           ]
11081         },
11082         "ErrorInfo": {
11083           "type": "object",
11084           "properties": {
11085             "macaroon": {
11086               "$ref": "#/definitions/Macaroon"
11087             },
11088             "macaroon-path": {
11089               "type": "string"
11090             }
11091           },
11092           "additionalProperties": false
11093         },
11094         "Macaroon": {
11095           "type": "object",
11096           "additionalProperties": false
11097         },
11098         "MeterStatusResult": {
11099           "type": "object",
11100           "properties": {
11101             "code": {
11102               "type": "string"
11103             },
11104             "error": {
11105               "$ref": "#/definitions/Error"
11106             },
11107             "info": {
11108               "type": "string"
11109             }
11110           },
11111           "additionalProperties": false,
11112           "required": [
11113             "code",
11114             "info"
11115           ]
11116         },
11117         "MeterStatusResults": {
11118           "type": "object",
11119           "properties": {
11120             "results": {
11121               "type": "array",
11122               "items": {
11123                 "$ref": "#/definitions/MeterStatusResult"
11124               }
11125             }
11126           },
11127           "additionalProperties": false,
11128           "required": [
11129             "results"
11130           ]
11131         },
11132         "NotifyWatchResult": {
11133           "type": "object",
11134           "properties": {
11135             "NotifyWatcherId": {
11136               "type": "string"
11137             },
11138             "error": {
11139               "$ref": "#/definitions/Error"
11140             }
11141           },
11142           "additionalProperties": false,
11143           "required": [
11144             "NotifyWatcherId"
11145           ]
11146         },
11147         "NotifyWatchResults": {
11148           "type": "object",
11149           "properties": {
11150             "results": {
11151               "type": "array",
11152               "items": {
11153                 "$ref": "#/definitions/NotifyWatchResult"
11154               }
11155             }
11156           },
11157           "additionalProperties": false,
11158           "required": [
11159             "results"
11160           ]
11161         }
11162       }
11163     }
11164   },
11165   {
11166     "Name": "MetricsAdder",
11167     "Version": 2,
11168     "Schema": {
11169       "type": "object",
11170       "properties": {
11171         "AddMetricBatches": {
11172           "type": "object",
11173           "properties": {
11174             "Params": {
11175               "$ref": "#/definitions/MetricBatchParams"
11176             },
11177             "Result": {
11178               "$ref": "#/definitions/ErrorResults"
11179             }
11180           }
11181         }
11182       },
11183       "definitions": {
11184         "Error": {
11185           "type": "object",
11186           "properties": {
11187             "code": {
11188               "type": "string"
11189             },
11190             "info": {
11191               "$ref": "#/definitions/ErrorInfo"
11192             },
11193             "message": {
11194               "type": "string"
11195             }
11196           },
11197           "additionalProperties": false,
11198           "required": [
11199             "message",
11200             "code"
11201           ]
11202         },
11203         "ErrorInfo": {
11204           "type": "object",
11205           "properties": {
11206             "macaroon": {
11207               "$ref": "#/definitions/Macaroon"
11208             },
11209             "macaroon-path": {
11210               "type": "string"
11211             }
11212           },
11213           "additionalProperties": false
11214         },
11215         "ErrorResult": {
11216           "type": "object",
11217           "properties": {
11218             "error": {
11219               "$ref": "#/definitions/Error"
11220             }
11221           },
11222           "additionalProperties": false
11223         },
11224         "ErrorResults": {
11225           "type": "object",
11226           "properties": {
11227             "results": {
11228               "type": "array",
11229               "items": {
11230                 "$ref": "#/definitions/ErrorResult"
11231               }
11232             }
11233           },
11234           "additionalProperties": false,
11235           "required": [
11236             "results"
11237           ]
11238         },
11239         "Macaroon": {
11240           "type": "object",
11241           "additionalProperties": false
11242         },
11243         "Metric": {
11244           "type": "object",
11245           "properties": {
11246             "key": {
11247               "type": "string"
11248             },
11249             "time": {
11250               "type": "string",
11251               "format": "date-time"
11252             },
11253             "value": {
11254               "type": "string"
11255             }
11256           },
11257           "additionalProperties": false,
11258           "required": [
11259             "key",
11260             "value",
11261             "time"
11262           ]
11263         },
11264         "MetricBatch": {
11265           "type": "object",
11266           "properties": {
11267             "charm-url": {
11268               "type": "string"
11269             },
11270             "created": {
11271               "type": "string",
11272               "format": "date-time"
11273             },
11274             "metrics": {
11275               "type": "array",
11276               "items": {
11277                 "$ref": "#/definitions/Metric"
11278               }
11279             },
11280             "uuid": {
11281               "type": "string"
11282             }
11283           },
11284           "additionalProperties": false,
11285           "required": [
11286             "uuid",
11287             "charm-url",
11288             "created",
11289             "metrics"
11290           ]
11291         },
11292         "MetricBatchParam": {
11293           "type": "object",
11294           "properties": {
11295             "batch": {
11296               "$ref": "#/definitions/MetricBatch"
11297             },
11298             "tag": {
11299               "type": "string"
11300             }
11301           },
11302           "additionalProperties": false,
11303           "required": [
11304             "tag",
11305             "batch"
11306           ]
11307         },
11308         "MetricBatchParams": {
11309           "type": "object",
11310           "properties": {
11311             "batches": {
11312               "type": "array",
11313               "items": {
11314                 "$ref": "#/definitions/MetricBatchParam"
11315               }
11316             }
11317           },
11318           "additionalProperties": false,
11319           "required": [
11320             "batches"
11321           ]
11322         }
11323       }
11324     }
11325   },
11326   {
11327     "Name": "MetricsDebug",
11328     "Version": 2,
11329     "Schema": {
11330       "type": "object",
11331       "properties": {
11332         "GetMetrics": {
11333           "type": "object",
11334           "properties": {
11335             "Params": {
11336               "$ref": "#/definitions/Entities"
11337             },
11338             "Result": {
11339               "$ref": "#/definitions/MetricResults"
11340             }
11341           }
11342         },
11343         "SetMeterStatus": {
11344           "type": "object",
11345           "properties": {
11346             "Params": {
11347               "$ref": "#/definitions/MeterStatusParams"
11348             },
11349             "Result": {
11350               "$ref": "#/definitions/ErrorResults"
11351             }
11352           }
11353         }
11354       },
11355       "definitions": {
11356         "Entities": {
11357           "type": "object",
11358           "properties": {
11359             "entities": {
11360               "type": "array",
11361               "items": {
11362                 "$ref": "#/definitions/Entity"
11363               }
11364             }
11365           },
11366           "additionalProperties": false,
11367           "required": [
11368             "entities"
11369           ]
11370         },
11371         "Entity": {
11372           "type": "object",
11373           "properties": {
11374             "tag": {
11375               "type": "string"
11376             }
11377           },
11378           "additionalProperties": false,
11379           "required": [
11380             "tag"
11381           ]
11382         },
11383         "EntityMetrics": {
11384           "type": "object",
11385           "properties": {
11386             "error": {
11387               "$ref": "#/definitions/Error"
11388             },
11389             "metrics": {
11390               "type": "array",
11391               "items": {
11392                 "$ref": "#/definitions/MetricResult"
11393               }
11394             }
11395           },
11396           "additionalProperties": false
11397         },
11398         "Error": {
11399           "type": "object",
11400           "properties": {
11401             "code": {
11402               "type": "string"
11403             },
11404             "info": {
11405               "$ref": "#/definitions/ErrorInfo"
11406             },
11407             "message": {
11408               "type": "string"
11409             }
11410           },
11411           "additionalProperties": false,
11412           "required": [
11413             "message",
11414             "code"
11415           ]
11416         },
11417         "ErrorInfo": {
11418           "type": "object",
11419           "properties": {
11420             "macaroon": {
11421               "$ref": "#/definitions/Macaroon"
11422             },
11423             "macaroon-path": {
11424               "type": "string"
11425             }
11426           },
11427           "additionalProperties": false
11428         },
11429         "ErrorResult": {
11430           "type": "object",
11431           "properties": {
11432             "error": {
11433               "$ref": "#/definitions/Error"
11434             }
11435           },
11436           "additionalProperties": false
11437         },
11438         "ErrorResults": {
11439           "type": "object",
11440           "properties": {
11441             "results": {
11442               "type": "array",
11443               "items": {
11444                 "$ref": "#/definitions/ErrorResult"
11445               }
11446             }
11447           },
11448           "additionalProperties": false,
11449           "required": [
11450             "results"
11451           ]
11452         },
11453         "Macaroon": {
11454           "type": "object",
11455           "additionalProperties": false
11456         },
11457         "MeterStatusParam": {
11458           "type": "object",
11459           "properties": {
11460             "code": {
11461               "type": "string"
11462             },
11463             "info": {
11464               "type": "string"
11465             },
11466             "tag": {
11467               "type": "string"
11468             }
11469           },
11470           "additionalProperties": false,
11471           "required": [
11472             "tag",
11473             "code",
11474             "info"
11475           ]
11476         },
11477         "MeterStatusParams": {
11478           "type": "object",
11479           "properties": {
11480             "statues": {
11481               "type": "array",
11482               "items": {
11483                 "$ref": "#/definitions/MeterStatusParam"
11484               }
11485             }
11486           },
11487           "additionalProperties": false,
11488           "required": [
11489             "statues"
11490           ]
11491         },
11492         "MetricResult": {
11493           "type": "object",
11494           "properties": {
11495             "key": {
11496               "type": "string"
11497             },
11498             "time": {
11499               "type": "string",
11500               "format": "date-time"
11501             },
11502             "value": {
11503               "type": "string"
11504             }
11505           },
11506           "additionalProperties": false,
11507           "required": [
11508             "time",
11509             "key",
11510             "value"
11511           ]
11512         },
11513         "MetricResults": {
11514           "type": "object",
11515           "properties": {
11516             "results": {
11517               "type": "array",
11518               "items": {
11519                 "$ref": "#/definitions/EntityMetrics"
11520               }
11521             }
11522           },
11523           "additionalProperties": false,
11524           "required": [
11525             "results"
11526           ]
11527         }
11528       }
11529     }
11530   },
11531   {
11532     "Name": "MetricsManager",
11533     "Version": 1,
11534     "Schema": {
11535       "type": "object",
11536       "properties": {
11537         "CleanupOldMetrics": {
11538           "type": "object",
11539           "properties": {
11540             "Params": {
11541               "$ref": "#/definitions/Entities"
11542             },
11543             "Result": {
11544               "$ref": "#/definitions/ErrorResults"
11545             }
11546           }
11547         },
11548         "SendMetrics": {
11549           "type": "object",
11550           "properties": {
11551             "Params": {
11552               "$ref": "#/definitions/Entities"
11553             },
11554             "Result": {
11555               "$ref": "#/definitions/ErrorResults"
11556             }
11557           }
11558         }
11559       },
11560       "definitions": {
11561         "Entities": {
11562           "type": "object",
11563           "properties": {
11564             "entities": {
11565               "type": "array",
11566               "items": {
11567                 "$ref": "#/definitions/Entity"
11568               }
11569             }
11570           },
11571           "additionalProperties": false,
11572           "required": [
11573             "entities"
11574           ]
11575         },
11576         "Entity": {
11577           "type": "object",
11578           "properties": {
11579             "tag": {
11580               "type": "string"
11581             }
11582           },
11583           "additionalProperties": false,
11584           "required": [
11585             "tag"
11586           ]
11587         },
11588         "Error": {
11589           "type": "object",
11590           "properties": {
11591             "code": {
11592               "type": "string"
11593             },
11594             "info": {
11595               "$ref": "#/definitions/ErrorInfo"
11596             },
11597             "message": {
11598               "type": "string"
11599             }
11600           },
11601           "additionalProperties": false,
11602           "required": [
11603             "message",
11604             "code"
11605           ]
11606         },
11607         "ErrorInfo": {
11608           "type": "object",
11609           "properties": {
11610             "macaroon": {
11611               "$ref": "#/definitions/Macaroon"
11612             },
11613             "macaroon-path": {
11614               "type": "string"
11615             }
11616           },
11617           "additionalProperties": false
11618         },
11619         "ErrorResult": {
11620           "type": "object",
11621           "properties": {
11622             "error": {
11623               "$ref": "#/definitions/Error"
11624             }
11625           },
11626           "additionalProperties": false
11627         },
11628         "ErrorResults": {
11629           "type": "object",
11630           "properties": {
11631             "results": {
11632               "type": "array",
11633               "items": {
11634                 "$ref": "#/definitions/ErrorResult"
11635               }
11636             }
11637           },
11638           "additionalProperties": false,
11639           "required": [
11640             "results"
11641           ]
11642         },
11643         "Macaroon": {
11644           "type": "object",
11645           "additionalProperties": false
11646         }
11647       }
11648     }
11649   },
11650   {
11651     "Name": "MigrationFlag",
11652     "Version": 1,
11653     "Schema": {
11654       "type": "object",
11655       "properties": {
11656         "Phase": {
11657           "type": "object",
11658           "properties": {
11659             "Params": {
11660               "$ref": "#/definitions/Entities"
11661             },
11662             "Result": {
11663               "$ref": "#/definitions/PhaseResults"
11664             }
11665           }
11666         },
11667         "Watch": {
11668           "type": "object",
11669           "properties": {
11670             "Params": {
11671               "$ref": "#/definitions/Entities"
11672             },
11673             "Result": {
11674               "$ref": "#/definitions/NotifyWatchResults"
11675             }
11676           }
11677         }
11678       },
11679       "definitions": {
11680         "Entities": {
11681           "type": "object",
11682           "properties": {
11683             "entities": {
11684               "type": "array",
11685               "items": {
11686                 "$ref": "#/definitions/Entity"
11687               }
11688             }
11689           },
11690           "additionalProperties": false,
11691           "required": [
11692             "entities"
11693           ]
11694         },
11695         "Entity": {
11696           "type": "object",
11697           "properties": {
11698             "tag": {
11699               "type": "string"
11700             }
11701           },
11702           "additionalProperties": false,
11703           "required": [
11704             "tag"
11705           ]
11706         },
11707         "Error": {
11708           "type": "object",
11709           "properties": {
11710             "code": {
11711               "type": "string"
11712             },
11713             "info": {
11714               "$ref": "#/definitions/ErrorInfo"
11715             },
11716             "message": {
11717               "type": "string"
11718             }
11719           },
11720           "additionalProperties": false,
11721           "required": [
11722             "message",
11723             "code"
11724           ]
11725         },
11726         "ErrorInfo": {
11727           "type": "object",
11728           "properties": {
11729             "macaroon": {
11730               "$ref": "#/definitions/Macaroon"
11731             },
11732             "macaroon-path": {
11733               "type": "string"
11734             }
11735           },
11736           "additionalProperties": false
11737         },
11738         "Macaroon": {
11739           "type": "object",
11740           "additionalProperties": false
11741         },
11742         "NotifyWatchResult": {
11743           "type": "object",
11744           "properties": {
11745             "NotifyWatcherId": {
11746               "type": "string"
11747             },
11748             "error": {
11749               "$ref": "#/definitions/Error"
11750             }
11751           },
11752           "additionalProperties": false,
11753           "required": [
11754             "NotifyWatcherId"
11755           ]
11756         },
11757         "NotifyWatchResults": {
11758           "type": "object",
11759           "properties": {
11760             "results": {
11761               "type": "array",
11762               "items": {
11763                 "$ref": "#/definitions/NotifyWatchResult"
11764               }
11765             }
11766           },
11767           "additionalProperties": false,
11768           "required": [
11769             "results"
11770           ]
11771         },
11772         "PhaseResult": {
11773           "type": "object",
11774           "properties": {
11775             "error": {
11776               "$ref": "#/definitions/Error"
11777             },
11778             "phase": {
11779               "type": "string"
11780             }
11781           },
11782           "additionalProperties": false,
11783           "required": [
11784             "phase"
11785           ]
11786         },
11787         "PhaseResults": {
11788           "type": "object",
11789           "properties": {
11790             "results": {
11791               "type": "array",
11792               "items": {
11793                 "$ref": "#/definitions/PhaseResult"
11794               }
11795             }
11796           },
11797           "additionalProperties": false,
11798           "required": [
11799             "results"
11800           ]
11801         }
11802       }
11803     }
11804   },
11805   {
11806     "Name": "MigrationMaster",
11807     "Version": 1,
11808     "Schema": {
11809       "type": "object",
11810       "properties": {
11811         "Export": {
11812           "type": "object",
11813           "properties": {
11814             "Result": {
11815               "$ref": "#/definitions/SerializedModel"
11816             }
11817           }
11818         },
11819         "GetMigrationStatus": {
11820           "type": "object",
11821           "properties": {
11822             "Result": {
11823               "$ref": "#/definitions/FullMigrationStatus"
11824             }
11825           }
11826         },
11827         "SetPhase": {
11828           "type": "object",
11829           "properties": {
11830             "Params": {
11831               "$ref": "#/definitions/SetMigrationPhaseArgs"
11832             }
11833           }
11834         },
11835         "Watch": {
11836           "type": "object",
11837           "properties": {
11838             "Result": {
11839               "$ref": "#/definitions/NotifyWatchResult"
11840             }
11841           }
11842         }
11843       },
11844       "definitions": {
11845         "Error": {
11846           "type": "object",
11847           "properties": {
11848             "code": {
11849               "type": "string"
11850             },
11851             "info": {
11852               "$ref": "#/definitions/ErrorInfo"
11853             },
11854             "message": {
11855               "type": "string"
11856             }
11857           },
11858           "additionalProperties": false,
11859           "required": [
11860             "message",
11861             "code"
11862           ]
11863         },
11864         "ErrorInfo": {
11865           "type": "object",
11866           "properties": {
11867             "macaroon": {
11868               "$ref": "#/definitions/Macaroon"
11869             },
11870             "macaroon-path": {
11871               "type": "string"
11872             }
11873           },
11874           "additionalProperties": false
11875         },
11876         "FullMigrationStatus": {
11877           "type": "object",
11878           "properties": {
11879             "attempt": {
11880               "type": "integer"
11881             },
11882             "phase": {
11883               "type": "string"
11884             },
11885             "spec": {
11886               "$ref": "#/definitions/ModelMigrationSpec"
11887             }
11888           },
11889           "additionalProperties": false,
11890           "required": [
11891             "spec",
11892             "attempt",
11893             "phase"
11894           ]
11895         },
11896         "Macaroon": {
11897           "type": "object",
11898           "additionalProperties": false
11899         },
11900         "ModelMigrationSpec": {
11901           "type": "object",
11902           "properties": {
11903             "model-tag": {
11904               "type": "string"
11905             },
11906             "target-info": {
11907               "$ref": "#/definitions/ModelMigrationTargetInfo"
11908             }
11909           },
11910           "additionalProperties": false,
11911           "required": [
11912             "model-tag",
11913             "target-info"
11914           ]
11915         },
11916         "ModelMigrationTargetInfo": {
11917           "type": "object",
11918           "properties": {
11919             "addrs": {
11920               "type": "array",
11921               "items": {
11922                 "type": "string"
11923               }
11924             },
11925             "auth-tag": {
11926               "type": "string"
11927             },
11928             "ca-cert": {
11929               "type": "string"
11930             },
11931             "controller-tag": {
11932               "type": "string"
11933             },
11934             "password": {
11935               "type": "string"
11936             }
11937           },
11938           "additionalProperties": false,
11939           "required": [
11940             "controller-tag",
11941             "addrs",
11942             "ca-cert",
11943             "auth-tag",
11944             "password"
11945           ]
11946         },
11947         "NotifyWatchResult": {
11948           "type": "object",
11949           "properties": {
11950             "NotifyWatcherId": {
11951               "type": "string"
11952             },
11953             "error": {
11954               "$ref": "#/definitions/Error"
11955             }
11956           },
11957           "additionalProperties": false,
11958           "required": [
11959             "NotifyWatcherId"
11960           ]
11961         },
11962         "SerializedModel": {
11963           "type": "object",
11964           "properties": {
11965             "bytes": {
11966               "type": "array",
11967               "items": {
11968                 "type": "integer"
11969               }
11970             }
11971           },
11972           "additionalProperties": false,
11973           "required": [
11974             "bytes"
11975           ]
11976         },
11977         "SetMigrationPhaseArgs": {
11978           "type": "object",
11979           "properties": {
11980             "phase": {
11981               "type": "string"
11982             }
11983           },
11984           "additionalProperties": false,
11985           "required": [
11986             "phase"
11987           ]
11988         }
11989       }
11990     }
11991   },
11992   {
11993     "Name": "MigrationMinion",
11994     "Version": 1,
11995     "Schema": {
11996       "type": "object",
11997       "properties": {
11998         "Watch": {
11999           "type": "object",
12000           "properties": {
12001             "Result": {
12002               "$ref": "#/definitions/NotifyWatchResult"
12003             }
12004           }
12005         }
12006       },
12007       "definitions": {
12008         "Error": {
12009           "type": "object",
12010           "properties": {
12011             "code": {
12012               "type": "string"
12013             },
12014             "info": {
12015               "$ref": "#/definitions/ErrorInfo"
12016             },
12017             "message": {
12018               "type": "string"
12019             }
12020           },
12021           "additionalProperties": false,
12022           "required": [
12023             "message",
12024             "code"
12025           ]
12026         },
12027         "ErrorInfo": {
12028           "type": "object",
12029           "properties": {
12030             "macaroon": {
12031               "$ref": "#/definitions/Macaroon"
12032             },
12033             "macaroon-path": {
12034               "type": "string"
12035             }
12036           },
12037           "additionalProperties": false
12038         },
12039         "Macaroon": {
12040           "type": "object",
12041           "additionalProperties": false
12042         },
12043         "NotifyWatchResult": {
12044           "type": "object",
12045           "properties": {
12046             "NotifyWatcherId": {
12047               "type": "string"
12048             },
12049             "error": {
12050               "$ref": "#/definitions/Error"
12051             }
12052           },
12053           "additionalProperties": false,
12054           "required": [
12055             "NotifyWatcherId"
12056           ]
12057         }
12058       }
12059     }
12060   },
12061   {
12062     "Name": "MigrationStatusWatcher",
12063     "Version": 1,
12064     "Schema": {
12065       "type": "object",
12066       "properties": {
12067         "Next": {
12068           "type": "object",
12069           "properties": {
12070             "Result": {
12071               "$ref": "#/definitions/MigrationStatus"
12072             }
12073           }
12074         },
12075         "Stop": {
12076           "type": "object"
12077         }
12078       },
12079       "definitions": {
12080         "MigrationStatus": {
12081           "type": "object",
12082           "properties": {
12083             "attempt": {
12084               "type": "integer"
12085             },
12086             "phase": {
12087               "type": "string"
12088             },
12089             "source-api-addrs": {
12090               "type": "array",
12091               "items": {
12092                 "type": "string"
12093               }
12094             },
12095             "source-ca-cert": {
12096               "type": "string"
12097             },
12098             "target-api-addrs": {
12099               "type": "array",
12100               "items": {
12101                 "type": "string"
12102               }
12103             },
12104             "target-ca-cert": {
12105               "type": "string"
12106             }
12107           },
12108           "additionalProperties": false,
12109           "required": [
12110             "attempt",
12111             "phase",
12112             "source-api-addrs",
12113             "source-ca-cert",
12114             "target-api-addrs",
12115             "target-ca-cert"
12116           ]
12117         }
12118       }
12119     }
12120   },
12121   {
12122     "Name": "MigrationTarget",
12123     "Version": 1,
12124     "Schema": {
12125       "type": "object",
12126       "properties": {
12127         "Abort": {
12128           "type": "object",
12129           "properties": {
12130             "Params": {
12131               "$ref": "#/definitions/ModelArgs"
12132             }
12133           }
12134         },
12135         "Activate": {
12136           "type": "object",
12137           "properties": {
12138             "Params": {
12139               "$ref": "#/definitions/ModelArgs"
12140             }
12141           }
12142         },
12143         "Import": {
12144           "type": "object",
12145           "properties": {
12146             "Params": {
12147               "$ref": "#/definitions/SerializedModel"
12148             }
12149           }
12150         }
12151       },
12152       "definitions": {
12153         "ModelArgs": {
12154           "type": "object",
12155           "properties": {
12156             "model-tag": {
12157               "type": "string"
12158             }
12159           },
12160           "additionalProperties": false,
12161           "required": [
12162             "model-tag"
12163           ]
12164         },
12165         "SerializedModel": {
12166           "type": "object",
12167           "properties": {
12168             "bytes": {
12169               "type": "array",
12170               "items": {
12171                 "type": "integer"
12172               }
12173             }
12174           },
12175           "additionalProperties": false,
12176           "required": [
12177             "bytes"
12178           ]
12179         }
12180       }
12181     }
12182   },
12183   {
12184     "Name": "ModelManager",
12185     "Version": 2,
12186     "Schema": {
12187       "type": "object",
12188       "properties": {
12189         "CreateModel": {
12190           "type": "object",
12191           "properties": {
12192             "Params": {
12193               "$ref": "#/definitions/ModelCreateArgs"
12194             },
12195             "Result": {
12196               "$ref": "#/definitions/ModelInfo"
12197             }
12198           }
12199         },
12200         "DestroyModel": {
12201           "type": "object"
12202         },
12203         "ListModels": {
12204           "type": "object",
12205           "properties": {
12206             "Params": {
12207               "$ref": "#/definitions/Entity"
12208             },
12209             "Result": {
12210               "$ref": "#/definitions/UserModelList"
12211             }
12212           }
12213         },
12214         "ModelInfo": {
12215           "type": "object",
12216           "properties": {
12217             "Params": {
12218               "$ref": "#/definitions/Entities"
12219             },
12220             "Result": {
12221               "$ref": "#/definitions/ModelInfoResults"
12222             }
12223           }
12224         },
12225         "ModifyModelAccess": {
12226           "type": "object",
12227           "properties": {
12228             "Params": {
12229               "$ref": "#/definitions/ModifyModelAccessRequest"
12230             },
12231             "Result": {
12232               "$ref": "#/definitions/ErrorResults"
12233             }
12234           }
12235         }
12236       },
12237       "definitions": {
12238         "Entities": {
12239           "type": "object",
12240           "properties": {
12241             "entities": {
12242               "type": "array",
12243               "items": {
12244                 "$ref": "#/definitions/Entity"
12245               }
12246             }
12247           },
12248           "additionalProperties": false,
12249           "required": [
12250             "entities"
12251           ]
12252         },
12253         "Entity": {
12254           "type": "object",
12255           "properties": {
12256             "tag": {
12257               "type": "string"
12258             }
12259           },
12260           "additionalProperties": false,
12261           "required": [
12262             "tag"
12263           ]
12264         },
12265         "EntityStatus": {
12266           "type": "object",
12267           "properties": {
12268             "data": {
12269               "type": "object",
12270               "patternProperties": {
12271                 ".*": {
12272                   "type": "object",
12273                   "additionalProperties": true
12274                 }
12275               }
12276             },
12277             "info": {
12278               "type": "string"
12279             },
12280             "since": {
12281               "type": "string",
12282               "format": "date-time"
12283             },
12284             "status": {
12285               "type": "string"
12286             }
12287           },
12288           "additionalProperties": false,
12289           "required": [
12290             "status",
12291             "info",
12292             "since"
12293           ]
12294         },
12295         "Error": {
12296           "type": "object",
12297           "properties": {
12298             "code": {
12299               "type": "string"
12300             },
12301             "info": {
12302               "$ref": "#/definitions/ErrorInfo"
12303             },
12304             "message": {
12305               "type": "string"
12306             }
12307           },
12308           "additionalProperties": false,
12309           "required": [
12310             "message",
12311             "code"
12312           ]
12313         },
12314         "ErrorInfo": {
12315           "type": "object",
12316           "properties": {
12317             "macaroon": {
12318               "$ref": "#/definitions/Macaroon"
12319             },
12320             "macaroon-path": {
12321               "type": "string"
12322             }
12323           },
12324           "additionalProperties": false
12325         },
12326         "ErrorResult": {
12327           "type": "object",
12328           "properties": {
12329             "error": {
12330               "$ref": "#/definitions/Error"
12331             }
12332           },
12333           "additionalProperties": false
12334         },
12335         "ErrorResults": {
12336           "type": "object",
12337           "properties": {
12338             "results": {
12339               "type": "array",
12340               "items": {
12341                 "$ref": "#/definitions/ErrorResult"
12342               }
12343             }
12344           },
12345           "additionalProperties": false,
12346           "required": [
12347             "results"
12348           ]
12349         },
12350         "Macaroon": {
12351           "type": "object",
12352           "additionalProperties": false
12353         },
12354         "Model": {
12355           "type": "object",
12356           "properties": {
12357             "name": {
12358               "type": "string"
12359             },
12360             "owner-tag": {
12361               "type": "string"
12362             },
12363             "uuid": {
12364               "type": "string"
12365             }
12366           },
12367           "additionalProperties": false,
12368           "required": [
12369             "name",
12370             "uuid",
12371             "owner-tag"
12372           ]
12373         },
12374         "ModelCreateArgs": {
12375           "type": "object",
12376           "properties": {
12377             "config": {
12378               "type": "object",
12379               "patternProperties": {
12380                 ".*": {
12381                   "type": "object",
12382                   "additionalProperties": true
12383                 }
12384               }
12385             },
12386             "credential": {
12387               "type": "string"
12388             },
12389             "name": {
12390               "type": "string"
12391             },
12392             "owner-tag": {
12393               "type": "string"
12394             },
12395             "region": {
12396               "type": "string"
12397             }
12398           },
12399           "additionalProperties": false,
12400           "required": [
12401             "name",
12402             "owner-tag"
12403           ]
12404         },
12405         "ModelInfo": {
12406           "type": "object",
12407           "properties": {
12408             "cloud": {
12409               "type": "string"
12410             },
12411             "cloud-credential": {
12412               "type": "string"
12413             },
12414             "cloud-region": {
12415               "type": "string"
12416             },
12417             "controller-uuid": {
12418               "type": "string"
12419             },
12420             "default-series": {
12421               "type": "string"
12422             },
12423             "life": {
12424               "type": "string"
12425             },
12426             "name": {
12427               "type": "string"
12428             },
12429             "owner-tag": {
12430               "type": "string"
12431             },
12432             "provider-type": {
12433               "type": "string"
12434             },
12435             "status": {
12436               "$ref": "#/definitions/EntityStatus"
12437             },
12438             "users": {
12439               "type": "array",
12440               "items": {
12441                 "$ref": "#/definitions/ModelUserInfo"
12442               }
12443             },
12444             "uuid": {
12445               "type": "string"
12446             }
12447           },
12448           "additionalProperties": false,
12449           "required": [
12450             "name",
12451             "uuid",
12452             "controller-uuid",
12453             "provider-type",
12454             "default-series",
12455             "cloud",
12456             "owner-tag",
12457             "life",
12458             "status",
12459             "users"
12460           ]
12461         },
12462         "ModelInfoResult": {
12463           "type": "object",
12464           "properties": {
12465             "error": {
12466               "$ref": "#/definitions/Error"
12467             },
12468             "result": {
12469               "$ref": "#/definitions/ModelInfo"
12470             }
12471           },
12472           "additionalProperties": false
12473         },
12474         "ModelInfoResults": {
12475           "type": "object",
12476           "properties": {
12477             "results": {
12478               "type": "array",
12479               "items": {
12480                 "$ref": "#/definitions/ModelInfoResult"
12481               }
12482             }
12483           },
12484           "additionalProperties": false,
12485           "required": [
12486             "results"
12487           ]
12488         },
12489         "ModelUserInfo": {
12490           "type": "object",
12491           "properties": {
12492             "access": {
12493               "type": "string"
12494             },
12495             "display-name": {
12496               "type": "string"
12497             },
12498             "last-connection": {
12499               "type": "string",
12500               "format": "date-time"
12501             },
12502             "user": {
12503               "type": "string"
12504             }
12505           },
12506           "additionalProperties": false,
12507           "required": [
12508             "user",
12509             "display-name",
12510             "last-connection",
12511             "access"
12512           ]
12513         },
12514         "ModifyModelAccess": {
12515           "type": "object",
12516           "properties": {
12517             "access": {
12518               "type": "string"
12519             },
12520             "action": {
12521               "type": "string"
12522             },
12523             "model-tag": {
12524               "type": "string"
12525             },
12526             "user-tag": {
12527               "type": "string"
12528             }
12529           },
12530           "additionalProperties": false,
12531           "required": [
12532             "user-tag",
12533             "action",
12534             "access",
12535             "model-tag"
12536           ]
12537         },
12538         "ModifyModelAccessRequest": {
12539           "type": "object",
12540           "properties": {
12541             "changes": {
12542               "type": "array",
12543               "items": {
12544                 "$ref": "#/definitions/ModifyModelAccess"
12545               }
12546             }
12547           },
12548           "additionalProperties": false,
12549           "required": [
12550             "changes"
12551           ]
12552         },
12553         "UserModel": {
12554           "type": "object",
12555           "properties": {
12556             "last-connection": {
12557               "type": "string",
12558               "format": "date-time"
12559             },
12560             "model": {
12561               "$ref": "#/definitions/Model"
12562             }
12563           },
12564           "additionalProperties": false,
12565           "required": [
12566             "model",
12567             "last-connection"
12568           ]
12569         },
12570         "UserModelList": {
12571           "type": "object",
12572           "properties": {
12573             "user-models": {
12574               "type": "array",
12575               "items": {
12576                 "$ref": "#/definitions/UserModel"
12577               }
12578             }
12579           },
12580           "additionalProperties": false,
12581           "required": [
12582             "user-models"
12583           ]
12584         }
12585       }
12586     }
12587   },
12588   {
12589     "Name": "NotifyWatcher",
12590     "Version": 1,
12591     "Schema": {
12592       "type": "object",
12593       "properties": {
12594         "Next": {
12595           "type": "object"
12596         },
12597         "Stop": {
12598           "type": "object"
12599         }
12600       }
12601     }
12602   },
12603   {
12604     "Name": "Pinger",
12605     "Version": 1,
12606     "Schema": {
12607       "type": "object",
12608       "properties": {
12609         "Ping": {
12610           "type": "object"
12611         },
12612         "Stop": {
12613           "type": "object"
12614         }
12615       }
12616     }
12617   },
12618   {
12619     "Name": "Provisioner",
12620     "Version": 3,
12621     "Schema": {
12622       "type": "object",
12623       "properties": {
12624         "APIAddresses": {
12625           "type": "object",
12626           "properties": {
12627             "Result": {
12628               "$ref": "#/definitions/StringsResult"
12629             }
12630           }
12631         },
12632         "APIHostPorts": {
12633           "type": "object",
12634           "properties": {
12635             "Result": {
12636               "$ref": "#/definitions/APIHostPortsResult"
12637             }
12638           }
12639         },
12640         "CACert": {
12641           "type": "object",
12642           "properties": {
12643             "Result": {
12644               "$ref": "#/definitions/BytesResult"
12645             }
12646           }
12647         },
12648         "Constraints": {
12649           "type": "object",
12650           "properties": {
12651             "Params": {
12652               "$ref": "#/definitions/Entities"
12653             },
12654             "Result": {
12655               "$ref": "#/definitions/ConstraintsResults"
12656             }
12657           }
12658         },
12659         "ContainerConfig": {
12660           "type": "object",
12661           "properties": {
12662             "Result": {
12663               "$ref": "#/definitions/ContainerConfig"
12664             }
12665           }
12666         },
12667         "ContainerManagerConfig": {
12668           "type": "object",
12669           "properties": {
12670             "Params": {
12671               "$ref": "#/definitions/ContainerManagerConfigParams"
12672             },
12673             "Result": {
12674               "$ref": "#/definitions/ContainerManagerConfig"
12675             }
12676           }
12677         },
12678         "ControllerConfig": {
12679           "type": "object",
12680           "properties": {
12681             "Result": {
12682               "$ref": "#/definitions/ControllerConfigResult"
12683             }
12684           }
12685         },
12686         "DistributionGroup": {
12687           "type": "object",
12688           "properties": {
12689             "Params": {
12690               "$ref": "#/definitions/Entities"
12691             },
12692             "Result": {
12693               "$ref": "#/definitions/DistributionGroupResults"
12694             }
12695           }
12696         },
12697         "EnsureDead": {
12698           "type": "object",
12699           "properties": {
12700             "Params": {
12701               "$ref": "#/definitions/Entities"
12702             },
12703             "Result": {
12704               "$ref": "#/definitions/ErrorResults"
12705             }
12706           }
12707         },
12708         "FindTools": {
12709           "type": "object",
12710           "properties": {
12711             "Params": {
12712               "$ref": "#/definitions/FindToolsParams"
12713             },
12714             "Result": {
12715               "$ref": "#/definitions/FindToolsResult"
12716             }
12717           }
12718         },
12719         "GetContainerInterfaceInfo": {
12720           "type": "object",
12721           "properties": {
12722             "Params": {
12723               "$ref": "#/definitions/Entities"
12724             },
12725             "Result": {
12726               "$ref": "#/definitions/MachineNetworkConfigResults"
12727             }
12728           }
12729         },
12730         "InstanceId": {
12731           "type": "object",
12732           "properties": {
12733             "Params": {
12734               "$ref": "#/definitions/Entities"
12735             },
12736             "Result": {
12737               "$ref": "#/definitions/StringResults"
12738             }
12739           }
12740         },
12741         "InstanceStatus": {
12742           "type": "object",
12743           "properties": {
12744             "Params": {
12745               "$ref": "#/definitions/Entities"
12746             },
12747             "Result": {
12748               "$ref": "#/definitions/StatusResults"
12749             }
12750           }
12751         },
12752         "Life": {
12753           "type": "object",
12754           "properties": {
12755             "Params": {
12756               "$ref": "#/definitions/Entities"
12757             },
12758             "Result": {
12759               "$ref": "#/definitions/LifeResults"
12760             }
12761           }
12762         },
12763         "MachinesWithTransientErrors": {
12764           "type": "object",
12765           "properties": {
12766             "Result": {
12767               "$ref": "#/definitions/StatusResults"
12768             }
12769           }
12770         },
12771         "ModelConfig": {
12772           "type": "object",
12773           "properties": {
12774             "Result": {
12775               "$ref": "#/definitions/ModelConfigResult"
12776             }
12777           }
12778         },
12779         "ModelUUID": {
12780           "type": "object",
12781           "properties": {
12782             "Result": {
12783               "$ref": "#/definitions/StringResult"
12784             }
12785           }
12786         },
12787         "PrepareContainerInterfaceInfo": {
12788           "type": "object",
12789           "properties": {
12790             "Params": {
12791               "$ref": "#/definitions/Entities"
12792             },
12793             "Result": {
12794               "$ref": "#/definitions/MachineNetworkConfigResults"
12795             }
12796           }
12797         },
12798         "ProvisioningInfo": {
12799           "type": "object",
12800           "properties": {
12801             "Params": {
12802               "$ref": "#/definitions/Entities"
12803             },
12804             "Result": {
12805               "$ref": "#/definitions/ProvisioningInfoResults"
12806             }
12807           }
12808         },
12809         "ReleaseContainerAddresses": {
12810           "type": "object",
12811           "properties": {
12812             "Params": {
12813               "$ref": "#/definitions/Entities"
12814             },
12815             "Result": {
12816               "$ref": "#/definitions/ErrorResults"
12817             }
12818           }
12819         },
12820         "Remove": {
12821           "type": "object",
12822           "properties": {
12823             "Params": {
12824               "$ref": "#/definitions/Entities"
12825             },
12826             "Result": {
12827               "$ref": "#/definitions/ErrorResults"
12828             }
12829           }
12830         },
12831         "Series": {
12832           "type": "object",
12833           "properties": {
12834             "Params": {
12835               "$ref": "#/definitions/Entities"
12836             },
12837             "Result": {
12838               "$ref": "#/definitions/StringResults"
12839             }
12840           }
12841         },
12842         "SetInstanceInfo": {
12843           "type": "object",
12844           "properties": {
12845             "Params": {
12846               "$ref": "#/definitions/InstancesInfo"
12847             },
12848             "Result": {
12849               "$ref": "#/definitions/ErrorResults"
12850             }
12851           }
12852         },
12853         "SetInstanceStatus": {
12854           "type": "object",
12855           "properties": {
12856             "Params": {
12857               "$ref": "#/definitions/SetStatus"
12858             },
12859             "Result": {
12860               "$ref": "#/definitions/ErrorResults"
12861             }
12862           }
12863         },
12864         "SetPasswords": {
12865           "type": "object",
12866           "properties": {
12867             "Params": {
12868               "$ref": "#/definitions/EntityPasswords"
12869             },
12870             "Result": {
12871               "$ref": "#/definitions/ErrorResults"
12872             }
12873           }
12874         },
12875         "SetStatus": {
12876           "type": "object",
12877           "properties": {
12878             "Params": {
12879               "$ref": "#/definitions/SetStatus"
12880             },
12881             "Result": {
12882               "$ref": "#/definitions/ErrorResults"
12883             }
12884           }
12885         },
12886         "SetSupportedContainers": {
12887           "type": "object",
12888           "properties": {
12889             "Params": {
12890               "$ref": "#/definitions/MachineContainersParams"
12891             },
12892             "Result": {
12893               "$ref": "#/definitions/ErrorResults"
12894             }
12895           }
12896         },
12897         "StateAddresses": {
12898           "type": "object",
12899           "properties": {
12900             "Result": {
12901               "$ref": "#/definitions/StringsResult"
12902             }
12903           }
12904         },
12905         "Status": {
12906           "type": "object",
12907           "properties": {
12908             "Params": {
12909               "$ref": "#/definitions/Entities"
12910             },
12911             "Result": {
12912               "$ref": "#/definitions/StatusResults"
12913             }
12914           }
12915         },
12916         "Tools": {
12917           "type": "object",
12918           "properties": {
12919             "Params": {
12920               "$ref": "#/definitions/Entities"
12921             },
12922             "Result": {
12923               "$ref": "#/definitions/ToolsResults"
12924             }
12925           }
12926         },
12927         "UpdateStatus": {
12928           "type": "object",
12929           "properties": {
12930             "Params": {
12931               "$ref": "#/definitions/SetStatus"
12932             },
12933             "Result": {
12934               "$ref": "#/definitions/ErrorResults"
12935             }
12936           }
12937         },
12938         "WatchAPIHostPorts": {
12939           "type": "object",
12940           "properties": {
12941             "Result": {
12942               "$ref": "#/definitions/NotifyWatchResult"
12943             }
12944           }
12945         },
12946         "WatchAllContainers": {
12947           "type": "object",
12948           "properties": {
12949             "Params": {
12950               "$ref": "#/definitions/WatchContainers"
12951             },
12952             "Result": {
12953               "$ref": "#/definitions/StringsWatchResults"
12954             }
12955           }
12956         },
12957         "WatchContainers": {
12958           "type": "object",
12959           "properties": {
12960             "Params": {
12961               "$ref": "#/definitions/WatchContainers"
12962             },
12963             "Result": {
12964               "$ref": "#/definitions/StringsWatchResults"
12965             }
12966           }
12967         },
12968         "WatchForModelConfigChanges": {
12969           "type": "object",
12970           "properties": {
12971             "Result": {
12972               "$ref": "#/definitions/NotifyWatchResult"
12973             }
12974           }
12975         },
12976         "WatchMachineErrorRetry": {
12977           "type": "object",
12978           "properties": {
12979             "Result": {
12980               "$ref": "#/definitions/NotifyWatchResult"
12981             }
12982           }
12983         },
12984         "WatchModelMachines": {
12985           "type": "object",
12986           "properties": {
12987             "Result": {
12988               "$ref": "#/definitions/StringsWatchResult"
12989             }
12990           }
12991         }
12992       },
12993       "definitions": {
12994         "APIHostPortsResult": {
12995           "type": "object",
12996           "properties": {
12997             "servers": {
12998               "type": "array",
12999               "items": {
13000                 "type": "array",
13001                 "items": {
13002                   "$ref": "#/definitions/HostPort"
13003                 }
13004               }
13005             }
13006           },
13007           "additionalProperties": false,
13008           "required": [
13009             "servers"
13010           ]
13011         },
13012         "Address": {
13013           "type": "object",
13014           "properties": {
13015             "scope": {
13016               "type": "string"
13017             },
13018             "space-name": {
13019               "type": "string"
13020             },
13021             "type": {
13022               "type": "string"
13023             },
13024             "value": {
13025               "type": "string"
13026             }
13027           },
13028           "additionalProperties": false,
13029           "required": [
13030             "value",
13031             "type",
13032             "scope"
13033           ]
13034         },
13035         "Binary": {
13036           "type": "object",
13037           "properties": {
13038             "Arch": {
13039               "type": "string"
13040             },
13041             "Number": {
13042               "$ref": "#/definitions/Number"
13043             },
13044             "Series": {
13045               "type": "string"
13046             }
13047           },
13048           "additionalProperties": false,
13049           "required": [
13050             "Number",
13051             "Series",
13052             "Arch"
13053           ]
13054         },
13055         "BytesResult": {
13056           "type": "object",
13057           "properties": {
13058             "result": {
13059               "type": "array",
13060               "items": {
13061                 "type": "integer"
13062               }
13063             }
13064           },
13065           "additionalProperties": false,
13066           "required": [
13067             "result"
13068           ]
13069         },
13070         "CloudImageMetadata": {
13071           "type": "object",
13072           "properties": {
13073             "arch": {
13074               "type": "string"
13075             },
13076             "image-id": {
13077               "type": "string"
13078             },
13079             "priority": {
13080               "type": "integer"
13081             },
13082             "region": {
13083               "type": "string"
13084             },
13085             "root-storage-size": {
13086               "type": "integer"
13087             },
13088             "root-storage-type": {
13089               "type": "string"
13090             },
13091             "series": {
13092               "type": "string"
13093             },
13094             "source": {
13095               "type": "string"
13096             },
13097             "stream": {
13098               "type": "string"
13099             },
13100             "version": {
13101               "type": "string"
13102             },
13103             "virt-type": {
13104               "type": "string"
13105             }
13106           },
13107           "additionalProperties": false,
13108           "required": [
13109             "image-id",
13110             "region",
13111             "version",
13112             "series",
13113             "arch",
13114             "source",
13115             "priority"
13116           ]
13117         },
13118         "ConstraintsResult": {
13119           "type": "object",
13120           "properties": {
13121             "constraints": {
13122               "$ref": "#/definitions/Value"
13123             },
13124             "error": {
13125               "$ref": "#/definitions/Error"
13126             }
13127           },
13128           "additionalProperties": false,
13129           "required": [
13130             "constraints"
13131           ]
13132         },
13133         "ConstraintsResults": {
13134           "type": "object",
13135           "properties": {
13136             "results": {
13137               "type": "array",
13138               "items": {
13139                 "$ref": "#/definitions/ConstraintsResult"
13140               }
13141             }
13142           },
13143           "additionalProperties": false,
13144           "required": [
13145             "results"
13146           ]
13147         },
13148         "ContainerConfig": {
13149           "type": "object",
13150           "properties": {
13151             "UpdateBehavior": {
13152               "$ref": "#/definitions/UpdateBehavior"
13153             },
13154             "apt-mirror": {
13155               "type": "string"
13156             },
13157             "apt-proxy": {
13158               "$ref": "#/definitions/Settings"
13159             },
13160             "authorized-keys": {
13161               "type": "string"
13162             },
13163             "provider-type": {
13164               "type": "string"
13165             },
13166             "proxy": {
13167               "$ref": "#/definitions/Settings"
13168             },
13169             "ssl-hostname-verification": {
13170               "type": "boolean"
13171             }
13172           },
13173           "additionalProperties": false,
13174           "required": [
13175             "provider-type",
13176             "authorized-keys",
13177             "ssl-hostname-verification",
13178             "proxy",
13179             "apt-proxy",
13180             "apt-mirror",
13181             "UpdateBehavior"
13182           ]
13183         },
13184         "ContainerManagerConfig": {
13185           "type": "object",
13186           "properties": {
13187             "config": {
13188               "type": "object",
13189               "patternProperties": {
13190                 ".*": {
13191                   "type": "string"
13192                 }
13193               }
13194             }
13195           },
13196           "additionalProperties": false,
13197           "required": [
13198             "config"
13199           ]
13200         },
13201         "ContainerManagerConfigParams": {
13202           "type": "object",
13203           "properties": {
13204             "type": {
13205               "type": "string"
13206             }
13207           },
13208           "additionalProperties": false,
13209           "required": [
13210             "type"
13211           ]
13212         },
13213         "ControllerConfigResult": {
13214           "type": "object",
13215           "properties": {
13216             "config": {
13217               "type": "object",
13218               "patternProperties": {
13219                 ".*": {
13220                   "type": "object",
13221                   "additionalProperties": true
13222                 }
13223               }
13224             }
13225           },
13226           "additionalProperties": false,
13227           "required": [
13228             "config"
13229           ]
13230         },
13231         "DistributionGroupResult": {
13232           "type": "object",
13233           "properties": {
13234             "error": {
13235               "$ref": "#/definitions/Error"
13236             },
13237             "result": {
13238               "type": "array",
13239               "items": {
13240                 "type": "string"
13241               }
13242             }
13243           },
13244           "additionalProperties": false,
13245           "required": [
13246             "result"
13247           ]
13248         },
13249         "DistributionGroupResults": {
13250           "type": "object",
13251           "properties": {
13252             "results": {
13253               "type": "array",
13254               "items": {
13255                 "$ref": "#/definitions/DistributionGroupResult"
13256               }
13257             }
13258           },
13259           "additionalProperties": false,
13260           "required": [
13261             "results"
13262           ]
13263         },
13264         "Entities": {
13265           "type": "object",
13266           "properties": {
13267             "entities": {
13268               "type": "array",
13269               "items": {
13270                 "$ref": "#/definitions/Entity"
13271               }
13272             }
13273           },
13274           "additionalProperties": false,
13275           "required": [
13276             "entities"
13277           ]
13278         },
13279         "Entity": {
13280           "type": "object",
13281           "properties": {
13282             "tag": {
13283               "type": "string"
13284             }
13285           },
13286           "additionalProperties": false,
13287           "required": [
13288             "tag"
13289           ]
13290         },
13291         "EntityPassword": {
13292           "type": "object",
13293           "properties": {
13294             "password": {
13295               "type": "string"
13296             },
13297             "tag": {
13298               "type": "string"
13299             }
13300           },
13301           "additionalProperties": false,
13302           "required": [
13303             "tag",
13304             "password"
13305           ]
13306         },
13307         "EntityPasswords": {
13308           "type": "object",
13309           "properties": {
13310             "changes": {
13311               "type": "array",
13312               "items": {
13313                 "$ref": "#/definitions/EntityPassword"
13314               }
13315             }
13316           },
13317           "additionalProperties": false,
13318           "required": [
13319             "changes"
13320           ]
13321         },
13322         "EntityStatusArgs": {
13323           "type": "object",
13324           "properties": {
13325             "data": {
13326               "type": "object",
13327               "patternProperties": {
13328                 ".*": {
13329                   "type": "object",
13330                   "additionalProperties": true
13331                 }
13332               }
13333             },
13334             "info": {
13335               "type": "string"
13336             },
13337             "status": {
13338               "type": "string"
13339             },
13340             "tag": {
13341               "type": "string"
13342             }
13343           },
13344           "additionalProperties": false,
13345           "required": [
13346             "tag",
13347             "status",
13348             "info",
13349             "data"
13350           ]
13351         },
13352         "Error": {
13353           "type": "object",
13354           "properties": {
13355             "code": {
13356               "type": "string"
13357             },
13358             "info": {
13359               "$ref": "#/definitions/ErrorInfo"
13360             },
13361             "message": {
13362               "type": "string"
13363             }
13364           },
13365           "additionalProperties": false,
13366           "required": [
13367             "message",
13368             "code"
13369           ]
13370         },
13371         "ErrorInfo": {
13372           "type": "object",
13373           "properties": {
13374             "macaroon": {
13375               "$ref": "#/definitions/Macaroon"
13376             },
13377             "macaroon-path": {
13378               "type": "string"
13379             }
13380           },
13381           "additionalProperties": false
13382         },
13383         "ErrorResult": {
13384           "type": "object",
13385           "properties": {
13386             "error": {
13387               "$ref": "#/definitions/Error"
13388             }
13389           },
13390           "additionalProperties": false
13391         },
13392         "ErrorResults": {
13393           "type": "object",
13394           "properties": {
13395             "results": {
13396               "type": "array",
13397               "items": {
13398                 "$ref": "#/definitions/ErrorResult"
13399               }
13400             }
13401           },
13402           "additionalProperties": false,
13403           "required": [
13404             "results"
13405           ]
13406         },
13407         "FindToolsParams": {
13408           "type": "object",
13409           "properties": {
13410             "arch": {
13411               "type": "string"
13412             },
13413             "major": {
13414               "type": "integer"
13415             },
13416             "minor": {
13417               "type": "integer"
13418             },
13419             "number": {
13420               "$ref": "#/definitions/Number"
13421             },
13422             "series": {
13423               "type": "string"
13424             }
13425           },
13426           "additionalProperties": false,
13427           "required": [
13428             "number",
13429             "major",
13430             "minor",
13431             "arch",
13432             "series"
13433           ]
13434         },
13435         "FindToolsResult": {
13436           "type": "object",
13437           "properties": {
13438             "error": {
13439               "$ref": "#/definitions/Error"
13440             },
13441             "list": {
13442               "type": "array",
13443               "items": {
13444                 "$ref": "#/definitions/Tools"
13445               }
13446             }
13447           },
13448           "additionalProperties": false,
13449           "required": [
13450             "list"
13451           ]
13452         },
13453         "HardwareCharacteristics": {
13454           "type": "object",
13455           "properties": {
13456             "arch": {
13457               "type": "string"
13458             },
13459             "availability-zone": {
13460               "type": "string"
13461             },
13462             "cpu-cores": {
13463               "type": "integer"
13464             },
13465             "cpu-power": {
13466               "type": "integer"
13467             },
13468             "mem": {
13469               "type": "integer"
13470             },
13471             "root-disk": {
13472               "type": "integer"
13473             },
13474             "tags": {
13475               "type": "array",
13476               "items": {
13477                 "type": "string"
13478               }
13479             }
13480           },
13481           "additionalProperties": false
13482         },
13483         "HostPort": {
13484           "type": "object",
13485           "properties": {
13486             "Address": {
13487               "$ref": "#/definitions/Address"
13488             },
13489             "port": {
13490               "type": "integer"
13491             }
13492           },
13493           "additionalProperties": false,
13494           "required": [
13495             "Address",
13496             "port"
13497           ]
13498         },
13499         "InstanceInfo": {
13500           "type": "object",
13501           "properties": {
13502             "characteristics": {
13503               "$ref": "#/definitions/HardwareCharacteristics"
13504             },
13505             "instance-id": {
13506               "type": "string"
13507             },
13508             "network-config": {
13509               "type": "array",
13510               "items": {
13511                 "$ref": "#/definitions/NetworkConfig"
13512               }
13513             },
13514             "nonce": {
13515               "type": "string"
13516             },
13517             "tag": {
13518               "type": "string"
13519             },
13520             "volume-attachments": {
13521               "type": "object",
13522               "patternProperties": {
13523                 ".*": {
13524                   "$ref": "#/definitions/VolumeAttachmentInfo"
13525                 }
13526               }
13527             },
13528             "volumes": {
13529               "type": "array",
13530               "items": {
13531                 "$ref": "#/definitions/Volume"
13532               }
13533             }
13534           },
13535           "additionalProperties": false,
13536           "required": [
13537             "tag",
13538             "instance-id",
13539             "nonce",
13540             "characteristics",
13541             "volumes",
13542             "volume-attachments",
13543             "network-config"
13544           ]
13545         },
13546         "InstancesInfo": {
13547           "type": "object",
13548           "properties": {
13549             "machines": {
13550               "type": "array",
13551               "items": {
13552                 "$ref": "#/definitions/InstanceInfo"
13553               }
13554             }
13555           },
13556           "additionalProperties": false,
13557           "required": [
13558             "machines"
13559           ]
13560         },
13561         "LifeResult": {
13562           "type": "object",
13563           "properties": {
13564             "error": {
13565               "$ref": "#/definitions/Error"
13566             },
13567             "life": {
13568               "type": "string"
13569             }
13570           },
13571           "additionalProperties": false,
13572           "required": [
13573             "life"
13574           ]
13575         },
13576         "LifeResults": {
13577           "type": "object",
13578           "properties": {
13579             "results": {
13580               "type": "array",
13581               "items": {
13582                 "$ref": "#/definitions/LifeResult"
13583               }
13584             }
13585           },
13586           "additionalProperties": false,
13587           "required": [
13588             "results"
13589           ]
13590         },
13591         "Macaroon": {
13592           "type": "object",
13593           "additionalProperties": false
13594         },
13595         "MachineContainers": {
13596           "type": "object",
13597           "properties": {
13598             "container-types": {
13599               "type": "array",
13600               "items": {
13601                 "type": "string"
13602               }
13603             },
13604             "machine-tag": {
13605               "type": "string"
13606             }
13607           },
13608           "additionalProperties": false,
13609           "required": [
13610             "machine-tag",
13611             "container-types"
13612           ]
13613         },
13614         "MachineContainersParams": {
13615           "type": "object",
13616           "properties": {
13617             "params": {
13618               "type": "array",
13619               "items": {
13620                 "$ref": "#/definitions/MachineContainers"
13621               }
13622             }
13623           },
13624           "additionalProperties": false,
13625           "required": [
13626             "params"
13627           ]
13628         },
13629         "MachineNetworkConfigResult": {
13630           "type": "object",
13631           "properties": {
13632             "error": {
13633               "$ref": "#/definitions/Error"
13634             },
13635             "info": {
13636               "type": "array",
13637               "items": {
13638                 "$ref": "#/definitions/NetworkConfig"
13639               }
13640             }
13641           },
13642           "additionalProperties": false,
13643           "required": [
13644             "info"
13645           ]
13646         },
13647         "MachineNetworkConfigResults": {
13648           "type": "object",
13649           "properties": {
13650             "results": {
13651               "type": "array",
13652               "items": {
13653                 "$ref": "#/definitions/MachineNetworkConfigResult"
13654               }
13655             }
13656           },
13657           "additionalProperties": false,
13658           "required": [
13659             "results"
13660           ]
13661         },
13662         "ModelConfigResult": {
13663           "type": "object",
13664           "properties": {
13665             "config": {
13666               "type": "object",
13667               "patternProperties": {
13668                 ".*": {
13669                   "type": "object",
13670                   "additionalProperties": true
13671                 }
13672               }
13673             }
13674           },
13675           "additionalProperties": false,
13676           "required": [
13677             "config"
13678           ]
13679         },
13680         "NetworkConfig": {
13681           "type": "object",
13682           "properties": {
13683             "address": {
13684               "type": "string"
13685             },
13686             "cidr": {
13687               "type": "string"
13688             },
13689             "config-type": {
13690               "type": "string"
13691             },
13692             "device-index": {
13693               "type": "integer"
13694             },
13695             "disabled": {
13696               "type": "boolean"
13697             },
13698             "dns-search-domains": {
13699               "type": "array",
13700               "items": {
13701                 "type": "string"
13702               }
13703             },
13704             "dns-servers": {
13705               "type": "array",
13706               "items": {
13707                 "type": "string"
13708               }
13709             },
13710             "gateway-address": {
13711               "type": "string"
13712             },
13713             "interface-name": {
13714               "type": "string"
13715             },
13716             "interface-type": {
13717               "type": "string"
13718             },
13719             "mac-address": {
13720               "type": "string"
13721             },
13722             "mtu": {
13723               "type": "integer"
13724             },
13725             "no-auto-start": {
13726               "type": "boolean"
13727             },
13728             "parent-interface-name": {
13729               "type": "string"
13730             },
13731             "provider-address-id": {
13732               "type": "string"
13733             },
13734             "provider-id": {
13735               "type": "string"
13736             },
13737             "provider-space-id": {
13738               "type": "string"
13739             },
13740             "provider-subnet-id": {
13741               "type": "string"
13742             },
13743             "provider-vlan-id": {
13744               "type": "string"
13745             },
13746             "vlan-tag": {
13747               "type": "integer"
13748             }
13749           },
13750           "additionalProperties": false,
13751           "required": [
13752             "device-index",
13753             "mac-address",
13754             "cidr",
13755             "mtu",
13756             "provider-id",
13757             "provider-subnet-id",
13758             "provider-space-id",
13759             "provider-address-id",
13760             "provider-vlan-id",
13761             "vlan-tag",
13762             "interface-name",
13763             "parent-interface-name",
13764             "interface-type",
13765             "disabled"
13766           ]
13767         },
13768         "NotifyWatchResult": {
13769           "type": "object",
13770           "properties": {
13771             "NotifyWatcherId": {
13772               "type": "string"
13773             },
13774             "error": {
13775               "$ref": "#/definitions/Error"
13776             }
13777           },
13778           "additionalProperties": false,
13779           "required": [
13780             "NotifyWatcherId"
13781           ]
13782         },
13783         "Number": {
13784           "type": "object",
13785           "properties": {
13786             "Build": {
13787               "type": "integer"
13788             },
13789             "Major": {
13790               "type": "integer"
13791             },
13792             "Minor": {
13793               "type": "integer"
13794             },
13795             "Patch": {
13796               "type": "integer"
13797             },
13798             "Tag": {
13799               "type": "string"
13800             }
13801           },
13802           "additionalProperties": false,
13803           "required": [
13804             "Major",
13805             "Minor",
13806             "Tag",
13807             "Patch",
13808             "Build"
13809           ]
13810         },
13811         "ProvisioningInfo": {
13812           "type": "object",
13813           "properties": {
13814             "constraints": {
13815               "$ref": "#/definitions/Value"
13816             },
13817             "controller-config": {
13818               "type": "object",
13819               "patternProperties": {
13820                 ".*": {
13821                   "type": "object",
13822                   "additionalProperties": true
13823                 }
13824               }
13825             },
13826             "endpoint-bindings": {
13827               "type": "object",
13828               "patternProperties": {
13829                 ".*": {
13830                   "type": "string"
13831                 }
13832               }
13833             },
13834             "image-metadata": {
13835               "type": "array",
13836               "items": {
13837                 "$ref": "#/definitions/CloudImageMetadata"
13838               }
13839             },
13840             "jobs": {
13841               "type": "array",
13842               "items": {
13843                 "type": "string"
13844               }
13845             },
13846             "placement": {
13847               "type": "string"
13848             },
13849             "series": {
13850               "type": "string"
13851             },
13852             "subnets-to-zones": {
13853               "type": "object",
13854               "patternProperties": {
13855                 ".*": {
13856                   "type": "array",
13857                   "items": {
13858                     "type": "string"
13859                   }
13860                 }
13861               }
13862             },
13863             "tags": {
13864               "type": "object",
13865               "patternProperties": {
13866                 ".*": {
13867                   "type": "string"
13868                 }
13869               }
13870             },
13871             "volumes": {
13872               "type": "array",
13873               "items": {
13874                 "$ref": "#/definitions/VolumeParams"
13875               }
13876             }
13877           },
13878           "additionalProperties": false,
13879           "required": [
13880             "constraints",
13881             "series",
13882             "placement",
13883             "jobs"
13884           ]
13885         },
13886         "ProvisioningInfoResult": {
13887           "type": "object",
13888           "properties": {
13889             "error": {
13890               "$ref": "#/definitions/Error"
13891             },
13892             "result": {
13893               "$ref": "#/definitions/ProvisioningInfo"
13894             }
13895           },
13896           "additionalProperties": false,
13897           "required": [
13898             "result"
13899           ]
13900         },
13901         "ProvisioningInfoResults": {
13902           "type": "object",
13903           "properties": {
13904             "results": {
13905               "type": "array",
13906               "items": {
13907                 "$ref": "#/definitions/ProvisioningInfoResult"
13908               }
13909             }
13910           },
13911           "additionalProperties": false,
13912           "required": [
13913             "results"
13914           ]
13915         },
13916         "SetStatus": {
13917           "type": "object",
13918           "properties": {
13919             "entities": {
13920               "type": "array",
13921               "items": {
13922                 "$ref": "#/definitions/EntityStatusArgs"
13923               }
13924             }
13925           },
13926           "additionalProperties": false,
13927           "required": [
13928             "entities"
13929           ]
13930         },
13931         "Settings": {
13932           "type": "object",
13933           "properties": {
13934             "Ftp": {
13935               "type": "string"
13936             },
13937             "Http": {
13938               "type": "string"
13939             },
13940             "Https": {
13941               "type": "string"
13942             },
13943             "NoProxy": {
13944               "type": "string"
13945             }
13946           },
13947           "additionalProperties": false,
13948           "required": [
13949             "Http",
13950             "Https",
13951             "Ftp",
13952             "NoProxy"
13953           ]
13954         },
13955         "StatusResult": {
13956           "type": "object",
13957           "properties": {
13958             "data": {
13959               "type": "object",
13960               "patternProperties": {
13961                 ".*": {
13962                   "type": "object",
13963                   "additionalProperties": true
13964                 }
13965               }
13966             },
13967             "error": {
13968               "$ref": "#/definitions/Error"
13969             },
13970             "id": {
13971               "type": "string"
13972             },
13973             "info": {
13974               "type": "string"
13975             },
13976             "life": {
13977               "type": "string"
13978             },
13979             "since": {
13980               "type": "string",
13981               "format": "date-time"
13982             },
13983             "status": {
13984               "type": "string"
13985             }
13986           },
13987           "additionalProperties": false,
13988           "required": [
13989             "id",
13990             "life",
13991             "status",
13992             "info",
13993             "data",
13994             "since"
13995           ]
13996         },
13997         "StatusResults": {
13998           "type": "object",
13999           "properties": {
14000             "results": {
14001               "type": "array",
14002               "items": {
14003                 "$ref": "#/definitions/StatusResult"
14004               }
14005             }
14006           },
14007           "additionalProperties": false,
14008           "required": [
14009             "results"
14010           ]
14011         },
14012         "StringResult": {
14013           "type": "object",
14014           "properties": {
14015             "error": {
14016               "$ref": "#/definitions/Error"
14017             },
14018             "result": {
14019               "type": "string"
14020             }
14021           },
14022           "additionalProperties": false,
14023           "required": [
14024             "result"
14025           ]
14026         },
14027         "StringResults": {
14028           "type": "object",
14029           "properties": {
14030             "results": {
14031               "type": "array",
14032               "items": {
14033                 "$ref": "#/definitions/StringResult"
14034               }
14035             }
14036           },
14037           "additionalProperties": false,
14038           "required": [
14039             "results"
14040           ]
14041         },
14042         "StringsResult": {
14043           "type": "object",
14044           "properties": {
14045             "error": {
14046               "$ref": "#/definitions/Error"
14047             },
14048             "result": {
14049               "type": "array",
14050               "items": {
14051                 "type": "string"
14052               }
14053             }
14054           },
14055           "additionalProperties": false
14056         },
14057         "StringsWatchResult": {
14058           "type": "object",
14059           "properties": {
14060             "changes": {
14061               "type": "array",
14062               "items": {
14063                 "type": "string"
14064               }
14065             },
14066             "error": {
14067               "$ref": "#/definitions/Error"
14068             },
14069             "watcher-id": {
14070               "type": "string"
14071             }
14072           },
14073           "additionalProperties": false,
14074           "required": [
14075             "watcher-id"
14076           ]
14077         },
14078         "StringsWatchResults": {
14079           "type": "object",
14080           "properties": {
14081             "results": {
14082               "type": "array",
14083               "items": {
14084                 "$ref": "#/definitions/StringsWatchResult"
14085               }
14086             }
14087           },
14088           "additionalProperties": false,
14089           "required": [
14090             "results"
14091           ]
14092         },
14093         "Tools": {
14094           "type": "object",
14095           "properties": {
14096             "sha256": {
14097               "type": "string"
14098             },
14099             "size": {
14100               "type": "integer"
14101             },
14102             "url": {
14103               "type": "string"
14104             },
14105             "version": {
14106               "$ref": "#/definitions/Binary"
14107             }
14108           },
14109           "additionalProperties": false,
14110           "required": [
14111             "version",
14112             "url",
14113             "size"
14114           ]
14115         },
14116         "ToolsResult": {
14117           "type": "object",
14118           "properties": {
14119             "disable-ssl-hostname-verification": {
14120               "type": "boolean"
14121             },
14122             "error": {
14123               "$ref": "#/definitions/Error"
14124             },
14125             "tools": {
14126               "type": "array",
14127               "items": {
14128                 "$ref": "#/definitions/Tools"
14129               }
14130             }
14131           },
14132           "additionalProperties": false,
14133           "required": [
14134             "tools",
14135             "disable-ssl-hostname-verification"
14136           ]
14137         },
14138         "ToolsResults": {
14139           "type": "object",
14140           "properties": {
14141             "results": {
14142               "type": "array",
14143               "items": {
14144                 "$ref": "#/definitions/ToolsResult"
14145               }
14146             }
14147           },
14148           "additionalProperties": false,
14149           "required": [
14150             "results"
14151           ]
14152         },
14153         "UpdateBehavior": {
14154           "type": "object",
14155           "properties": {
14156             "enable-os-refresh-update": {
14157               "type": "boolean"
14158             },
14159             "enable-os-upgrade": {
14160               "type": "boolean"
14161             }
14162           },
14163           "additionalProperties": false,
14164           "required": [
14165             "enable-os-refresh-update",
14166             "enable-os-upgrade"
14167           ]
14168         },
14169         "Value": {
14170           "type": "object",
14171           "properties": {
14172             "arch": {
14173               "type": "string"
14174             },
14175             "container": {
14176               "type": "string"
14177             },
14178             "cpu-cores": {
14179               "type": "integer"
14180             },
14181             "cpu-power": {
14182               "type": "integer"
14183             },
14184             "instance-type": {
14185               "type": "string"
14186             },
14187             "mem": {
14188               "type": "integer"
14189             },
14190             "root-disk": {
14191               "type": "integer"
14192             },
14193             "spaces": {
14194               "type": "array",
14195               "items": {
14196                 "type": "string"
14197               }
14198             },
14199             "tags": {
14200               "type": "array",
14201               "items": {
14202                 "type": "string"
14203               }
14204             },
14205             "virt-type": {
14206               "type": "string"
14207             }
14208           },
14209           "additionalProperties": false
14210         },
14211         "Volume": {
14212           "type": "object",
14213           "properties": {
14214             "info": {
14215               "$ref": "#/definitions/VolumeInfo"
14216             },
14217             "volume-tag": {
14218               "type": "string"
14219             }
14220           },
14221           "additionalProperties": false,
14222           "required": [
14223             "volume-tag",
14224             "info"
14225           ]
14226         },
14227         "VolumeAttachmentInfo": {
14228           "type": "object",
14229           "properties": {
14230             "bus-address": {
14231               "type": "string"
14232             },
14233             "device-link": {
14234               "type": "string"
14235             },
14236             "device-name": {
14237               "type": "string"
14238             },
14239             "read-only": {
14240               "type": "boolean"
14241             }
14242           },
14243           "additionalProperties": false
14244         },
14245         "VolumeAttachmentParams": {
14246           "type": "object",
14247           "properties": {
14248             "instance-id": {
14249               "type": "string"
14250             },
14251             "machine-tag": {
14252               "type": "string"
14253             },
14254             "provider": {
14255               "type": "string"
14256             },
14257             "read-only": {
14258               "type": "boolean"
14259             },
14260             "volume-id": {
14261               "type": "string"
14262             },
14263             "volume-tag": {
14264               "type": "string"
14265             }
14266           },
14267           "additionalProperties": false,
14268           "required": [
14269             "volume-tag",
14270             "machine-tag",
14271             "provider"
14272           ]
14273         },
14274         "VolumeInfo": {
14275           "type": "object",
14276           "properties": {
14277             "hardware-id": {
14278               "type": "string"
14279             },
14280             "persistent": {
14281               "type": "boolean"
14282             },
14283             "size": {
14284               "type": "integer"
14285             },
14286             "volume-id": {
14287               "type": "string"
14288             }
14289           },
14290           "additionalProperties": false,
14291           "required": [
14292             "volume-id",
14293             "size",
14294             "persistent"
14295           ]
14296         },
14297         "VolumeParams": {
14298           "type": "object",
14299           "properties": {
14300             "attachment": {
14301               "$ref": "#/definitions/VolumeAttachmentParams"
14302             },
14303             "attributes": {
14304               "type": "object",
14305               "patternProperties": {
14306                 ".*": {
14307                   "type": "object",
14308                   "additionalProperties": true
14309                 }
14310               }
14311             },
14312             "provider": {
14313               "type": "string"
14314             },
14315             "size": {
14316               "type": "integer"
14317             },
14318             "tags": {
14319               "type": "object",
14320               "patternProperties": {
14321                 ".*": {
14322                   "type": "string"
14323                 }
14324               }
14325             },
14326             "volume-tag": {
14327               "type": "string"
14328             }
14329           },
14330           "additionalProperties": false,
14331           "required": [
14332             "volume-tag",
14333             "size",
14334             "provider"
14335           ]
14336         },
14337         "WatchContainer": {
14338           "type": "object",
14339           "properties": {
14340             "container-type": {
14341               "type": "string"
14342             },
14343             "machine-tag": {
14344               "type": "string"
14345             }
14346           },
14347           "additionalProperties": false,
14348           "required": [
14349             "machine-tag",
14350             "container-type"
14351           ]
14352         },
14353         "WatchContainers": {
14354           "type": "object",
14355           "properties": {
14356             "params": {
14357               "type": "array",
14358               "items": {
14359                 "$ref": "#/definitions/WatchContainer"
14360               }
14361             }
14362           },
14363           "additionalProperties": false,
14364           "required": [
14365             "params"
14366           ]
14367         }
14368       }
14369     }
14370   },
14371   {
14372     "Name": "ProxyUpdater",
14373     "Version": 1,
14374     "Schema": {
14375       "type": "object",
14376       "properties": {
14377         "ProxyConfig": {
14378           "type": "object",
14379           "properties": {
14380             "Params": {
14381               "$ref": "#/definitions/Entities"
14382             },
14383             "Result": {
14384               "$ref": "#/definitions/ProxyConfigResults"
14385             }
14386           }
14387         },
14388         "WatchForProxyConfigAndAPIHostPortChanges": {
14389           "type": "object",
14390           "properties": {
14391             "Params": {
14392               "$ref": "#/definitions/Entities"
14393             },
14394             "Result": {
14395               "$ref": "#/definitions/NotifyWatchResults"
14396             }
14397           }
14398         }
14399       },
14400       "definitions": {
14401         "Entities": {
14402           "type": "object",
14403           "properties": {
14404             "entities": {
14405               "type": "array",
14406               "items": {
14407                 "$ref": "#/definitions/Entity"
14408               }
14409             }
14410           },
14411           "additionalProperties": false,
14412           "required": [
14413             "entities"
14414           ]
14415         },
14416         "Entity": {
14417           "type": "object",
14418           "properties": {
14419             "tag": {
14420               "type": "string"
14421             }
14422           },
14423           "additionalProperties": false,
14424           "required": [
14425             "tag"
14426           ]
14427         },
14428         "Error": {
14429           "type": "object",
14430           "properties": {
14431             "code": {
14432               "type": "string"
14433             },
14434             "info": {
14435               "$ref": "#/definitions/ErrorInfo"
14436             },
14437             "message": {
14438               "type": "string"
14439             }
14440           },
14441           "additionalProperties": false,
14442           "required": [
14443             "message",
14444             "code"
14445           ]
14446         },
14447         "ErrorInfo": {
14448           "type": "object",
14449           "properties": {
14450             "macaroon": {
14451               "$ref": "#/definitions/Macaroon"
14452             },
14453             "macaroon-path": {
14454               "type": "string"
14455             }
14456           },
14457           "additionalProperties": false
14458         },
14459         "Macaroon": {
14460           "type": "object",
14461           "additionalProperties": false
14462         },
14463         "NotifyWatchResult": {
14464           "type": "object",
14465           "properties": {
14466             "NotifyWatcherId": {
14467               "type": "string"
14468             },
14469             "error": {
14470               "$ref": "#/definitions/Error"
14471             }
14472           },
14473           "additionalProperties": false,
14474           "required": [
14475             "NotifyWatcherId"
14476           ]
14477         },
14478         "NotifyWatchResults": {
14479           "type": "object",
14480           "properties": {
14481             "results": {
14482               "type": "array",
14483               "items": {
14484                 "$ref": "#/definitions/NotifyWatchResult"
14485               }
14486             }
14487           },
14488           "additionalProperties": false,
14489           "required": [
14490             "results"
14491           ]
14492         },
14493         "ProxyConfig": {
14494           "type": "object",
14495           "properties": {
14496             "ftp": {
14497               "type": "string"
14498             },
14499             "http": {
14500               "type": "string"
14501             },
14502             "https": {
14503               "type": "string"
14504             },
14505             "no-proxy": {
14506               "type": "string"
14507             }
14508           },
14509           "additionalProperties": false,
14510           "required": [
14511             "http",
14512             "https",
14513             "ftp",
14514             "no-proxy"
14515           ]
14516         },
14517         "ProxyConfigResult": {
14518           "type": "object",
14519           "properties": {
14520             "apt-proxy-settings": {
14521               "$ref": "#/definitions/ProxyConfig"
14522             },
14523             "error": {
14524               "$ref": "#/definitions/Error"
14525             },
14526             "proxy-settings": {
14527               "$ref": "#/definitions/ProxyConfig"
14528             }
14529           },
14530           "additionalProperties": false,
14531           "required": [
14532             "proxy-settings",
14533             "apt-proxy-settings"
14534           ]
14535         },
14536         "ProxyConfigResults": {
14537           "type": "object",
14538           "properties": {
14539             "results": {
14540               "type": "array",
14541               "items": {
14542                 "$ref": "#/definitions/ProxyConfigResult"
14543               }
14544             }
14545           },
14546           "additionalProperties": false,
14547           "required": [
14548             "results"
14549           ]
14550         }
14551       }
14552     }
14553   },
14554   {
14555     "Name": "Reboot",
14556     "Version": 2,
14557     "Schema": {
14558       "type": "object",
14559       "properties": {
14560         "ClearReboot": {
14561           "type": "object",
14562           "properties": {
14563             "Params": {
14564               "$ref": "#/definitions/Entities"
14565             },
14566             "Result": {
14567               "$ref": "#/definitions/ErrorResults"
14568             }
14569           }
14570         },
14571         "GetRebootAction": {
14572           "type": "object",
14573           "properties": {
14574             "Params": {
14575               "$ref": "#/definitions/Entities"
14576             },
14577             "Result": {
14578               "$ref": "#/definitions/RebootActionResults"
14579             }
14580           }
14581         },
14582         "RequestReboot": {
14583           "type": "object",
14584           "properties": {
14585             "Params": {
14586               "$ref": "#/definitions/Entities"
14587             },
14588             "Result": {
14589               "$ref": "#/definitions/ErrorResults"
14590             }
14591           }
14592         },
14593         "WatchForRebootEvent": {
14594           "type": "object",
14595           "properties": {
14596             "Result": {
14597               "$ref": "#/definitions/NotifyWatchResult"
14598             }
14599           }
14600         }
14601       },
14602       "definitions": {
14603         "Entities": {
14604           "type": "object",
14605           "properties": {
14606             "entities": {
14607               "type": "array",
14608               "items": {
14609                 "$ref": "#/definitions/Entity"
14610               }
14611             }
14612           },
14613           "additionalProperties": false,
14614           "required": [
14615             "entities"
14616           ]
14617         },
14618         "Entity": {
14619           "type": "object",
14620           "properties": {
14621             "tag": {
14622               "type": "string"
14623             }
14624           },
14625           "additionalProperties": false,
14626           "required": [
14627             "tag"
14628           ]
14629         },
14630         "Error": {
14631           "type": "object",
14632           "properties": {
14633             "code": {
14634               "type": "string"
14635             },
14636             "info": {
14637               "$ref": "#/definitions/ErrorInfo"
14638             },
14639             "message": {
14640               "type": "string"
14641             }
14642           },
14643           "additionalProperties": false,
14644           "required": [
14645             "message",
14646             "code"
14647           ]
14648         },
14649         "ErrorInfo": {
14650           "type": "object",
14651           "properties": {
14652             "macaroon": {
14653               "$ref": "#/definitions/Macaroon"
14654             },
14655             "macaroon-path": {
14656               "type": "string"
14657             }
14658           },
14659           "additionalProperties": false
14660         },
14661         "ErrorResult": {
14662           "type": "object",
14663           "properties": {
14664             "error": {
14665               "$ref": "#/definitions/Error"
14666             }
14667           },
14668           "additionalProperties": false
14669         },
14670         "ErrorResults": {
14671           "type": "object",
14672           "properties": {
14673             "results": {
14674               "type": "array",
14675               "items": {
14676                 "$ref": "#/definitions/ErrorResult"
14677               }
14678             }
14679           },
14680           "additionalProperties": false,
14681           "required": [
14682             "results"
14683           ]
14684         },
14685         "Macaroon": {
14686           "type": "object",
14687           "additionalProperties": false
14688         },
14689         "NotifyWatchResult": {
14690           "type": "object",
14691           "properties": {
14692             "NotifyWatcherId": {
14693               "type": "string"
14694             },
14695             "error": {
14696               "$ref": "#/definitions/Error"
14697             }
14698           },
14699           "additionalProperties": false,
14700           "required": [
14701             "NotifyWatcherId"
14702           ]
14703         },
14704         "RebootActionResult": {
14705           "type": "object",
14706           "properties": {
14707             "error": {
14708               "$ref": "#/definitions/Error"
14709             },
14710             "result": {
14711               "type": "string"
14712             }
14713           },
14714           "additionalProperties": false
14715         },
14716         "RebootActionResults": {
14717           "type": "object",
14718           "properties": {
14719             "results": {
14720               "type": "array",
14721               "items": {
14722                 "$ref": "#/definitions/RebootActionResult"
14723               }
14724             }
14725           },
14726           "additionalProperties": false
14727         }
14728       }
14729     }
14730   },
14731   {
14732     "Name": "RelationUnitsWatcher",
14733     "Version": 1,
14734     "Schema": {
14735       "type": "object",
14736       "properties": {
14737         "Next": {
14738           "type": "object",
14739           "properties": {
14740             "Result": {
14741               "$ref": "#/definitions/RelationUnitsWatchResult"
14742             }
14743           }
14744         },
14745         "Stop": {
14746           "type": "object"
14747         }
14748       },
14749       "definitions": {
14750         "Error": {
14751           "type": "object",
14752           "properties": {
14753             "code": {
14754               "type": "string"
14755             },
14756             "info": {
14757               "$ref": "#/definitions/ErrorInfo"
14758             },
14759             "message": {
14760               "type": "string"
14761             }
14762           },
14763           "additionalProperties": false,
14764           "required": [
14765             "message",
14766             "code"
14767           ]
14768         },
14769         "ErrorInfo": {
14770           "type": "object",
14771           "properties": {
14772             "macaroon": {
14773               "$ref": "#/definitions/Macaroon"
14774             },
14775             "macaroon-path": {
14776               "type": "string"
14777             }
14778           },
14779           "additionalProperties": false
14780         },
14781         "Macaroon": {
14782           "type": "object",
14783           "additionalProperties": false
14784         },
14785         "RelationUnitsChange": {
14786           "type": "object",
14787           "properties": {
14788             "changed": {
14789               "type": "object",
14790               "patternProperties": {
14791                 ".*": {
14792                   "$ref": "#/definitions/UnitSettings"
14793                 }
14794               }
14795             },
14796             "departed": {
14797               "type": "array",
14798               "items": {
14799                 "type": "string"
14800               }
14801             }
14802           },
14803           "additionalProperties": false,
14804           "required": [
14805             "changed"
14806           ]
14807         },
14808         "RelationUnitsWatchResult": {
14809           "type": "object",
14810           "properties": {
14811             "changes": {
14812               "$ref": "#/definitions/RelationUnitsChange"
14813             },
14814             "error": {
14815               "$ref": "#/definitions/Error"
14816             },
14817             "watcher-id": {
14818               "type": "string"
14819             }
14820           },
14821           "additionalProperties": false,
14822           "required": [
14823             "watcher-id",
14824             "changes"
14825           ]
14826         },
14827         "UnitSettings": {
14828           "type": "object",
14829           "properties": {
14830             "version": {
14831               "type": "integer"
14832             }
14833           },
14834           "additionalProperties": false,
14835           "required": [
14836             "version"
14837           ]
14838         }
14839       }
14840     }
14841   },
14842   {
14843     "Name": "Resumer",
14844     "Version": 2,
14845     "Schema": {
14846       "type": "object",
14847       "properties": {
14848         "ResumeTransactions": {
14849           "type": "object"
14850         }
14851       }
14852     }
14853   },
14854   {
14855     "Name": "RetryStrategy",
14856     "Version": 1,
14857     "Schema": {
14858       "type": "object",
14859       "properties": {
14860         "RetryStrategy": {
14861           "type": "object",
14862           "properties": {
14863             "Params": {
14864               "$ref": "#/definitions/Entities"
14865             },
14866             "Result": {
14867               "$ref": "#/definitions/RetryStrategyResults"
14868             }
14869           }
14870         },
14871         "WatchRetryStrategy": {
14872           "type": "object",
14873           "properties": {
14874             "Params": {
14875               "$ref": "#/definitions/Entities"
14876             },
14877             "Result": {
14878               "$ref": "#/definitions/NotifyWatchResults"
14879             }
14880           }
14881         }
14882       },
14883       "definitions": {
14884         "Entities": {
14885           "type": "object",
14886           "properties": {
14887             "entities": {
14888               "type": "array",
14889               "items": {
14890                 "$ref": "#/definitions/Entity"
14891               }
14892             }
14893           },
14894           "additionalProperties": false,
14895           "required": [
14896             "entities"
14897           ]
14898         },
14899         "Entity": {
14900           "type": "object",
14901           "properties": {
14902             "tag": {
14903               "type": "string"
14904             }
14905           },
14906           "additionalProperties": false,
14907           "required": [
14908             "tag"
14909           ]
14910         },
14911         "Error": {
14912           "type": "object",
14913           "properties": {
14914             "code": {
14915               "type": "string"
14916             },
14917             "info": {
14918               "$ref": "#/definitions/ErrorInfo"
14919             },
14920             "message": {
14921               "type": "string"
14922             }
14923           },
14924           "additionalProperties": false,
14925           "required": [
14926             "message",
14927             "code"
14928           ]
14929         },
14930         "ErrorInfo": {
14931           "type": "object",
14932           "properties": {
14933             "macaroon": {
14934               "$ref": "#/definitions/Macaroon"
14935             },
14936             "macaroon-path": {
14937               "type": "string"
14938             }
14939           },
14940           "additionalProperties": false
14941         },
14942         "Macaroon": {
14943           "type": "object",
14944           "additionalProperties": false
14945         },
14946         "NotifyWatchResult": {
14947           "type": "object",
14948           "properties": {
14949             "NotifyWatcherId": {
14950               "type": "string"
14951             },
14952             "error": {
14953               "$ref": "#/definitions/Error"
14954             }
14955           },
14956           "additionalProperties": false,
14957           "required": [
14958             "NotifyWatcherId"
14959           ]
14960         },
14961         "NotifyWatchResults": {
14962           "type": "object",
14963           "properties": {
14964             "results": {
14965               "type": "array",
14966               "items": {
14967                 "$ref": "#/definitions/NotifyWatchResult"
14968               }
14969             }
14970           },
14971           "additionalProperties": false,
14972           "required": [
14973             "results"
14974           ]
14975         },
14976         "RetryStrategy": {
14977           "type": "object",
14978           "properties": {
14979             "jitter-retry-time": {
14980               "type": "boolean"
14981             },
14982             "max-retry-time": {
14983               "type": "integer"
14984             },
14985             "min-retry-time": {
14986               "type": "integer"
14987             },
14988             "retry-time-factor": {
14989               "type": "integer"
14990             },
14991             "should-retry": {
14992               "type": "boolean"
14993             }
14994           },
14995           "additionalProperties": false,
14996           "required": [
14997             "should-retry",
14998             "min-retry-time",
14999             "max-retry-time",
15000             "jitter-retry-time",
15001             "retry-time-factor"
15002           ]
15003         },
15004         "RetryStrategyResult": {
15005           "type": "object",
15006           "properties": {
15007             "error": {
15008               "$ref": "#/definitions/Error"
15009             },
15010             "result": {
15011               "$ref": "#/definitions/RetryStrategy"
15012             }
15013           },
15014           "additionalProperties": false
15015         },
15016         "RetryStrategyResults": {
15017           "type": "object",
15018           "properties": {
15019             "results": {
15020               "type": "array",
15021               "items": {
15022                 "$ref": "#/definitions/RetryStrategyResult"
15023               }
15024             }
15025           },
15026           "additionalProperties": false,
15027           "required": [
15028             "results"
15029           ]
15030         }
15031       }
15032     }
15033   },
15034   {
15035     "Name": "SSHClient",
15036     "Version": 1,
15037     "Schema": {
15038       "type": "object",
15039       "properties": {
15040         "PrivateAddress": {
15041           "type": "object",
15042           "properties": {
15043             "Params": {
15044               "$ref": "#/definitions/Entities"
15045             },
15046             "Result": {
15047               "$ref": "#/definitions/SSHAddressResults"
15048             }
15049           }
15050         },
15051         "Proxy": {
15052           "type": "object",
15053           "properties": {
15054             "Result": {
15055               "$ref": "#/definitions/SSHProxyResult"
15056             }
15057           }
15058         },
15059         "PublicAddress": {
15060           "type": "object",
15061           "properties": {
15062             "Params": {
15063               "$ref": "#/definitions/Entities"
15064             },
15065             "Result": {
15066               "$ref": "#/definitions/SSHAddressResults"
15067             }
15068           }
15069         },
15070         "PublicKeys": {
15071           "type": "object",
15072           "properties": {
15073             "Params": {
15074               "$ref": "#/definitions/Entities"
15075             },
15076             "Result": {
15077               "$ref": "#/definitions/SSHPublicKeysResults"
15078             }
15079           }
15080         }
15081       },
15082       "definitions": {
15083         "Entities": {
15084           "type": "object",
15085           "properties": {
15086             "entities": {
15087               "type": "array",
15088               "items": {
15089                 "$ref": "#/definitions/Entity"
15090               }
15091             }
15092           },
15093           "additionalProperties": false,
15094           "required": [
15095             "entities"
15096           ]
15097         },
15098         "Entity": {
15099           "type": "object",
15100           "properties": {
15101             "tag": {
15102               "type": "string"
15103             }
15104           },
15105           "additionalProperties": false,
15106           "required": [
15107             "tag"
15108           ]
15109         },
15110         "Error": {
15111           "type": "object",
15112           "properties": {
15113             "code": {
15114               "type": "string"
15115             },
15116             "info": {
15117               "$ref": "#/definitions/ErrorInfo"
15118             },
15119             "message": {
15120               "type": "string"
15121             }
15122           },
15123           "additionalProperties": false,
15124           "required": [
15125             "message",
15126             "code"
15127           ]
15128         },
15129         "ErrorInfo": {
15130           "type": "object",
15131           "properties": {
15132             "macaroon": {
15133               "$ref": "#/definitions/Macaroon"
15134             },
15135             "macaroon-path": {
15136               "type": "string"
15137             }
15138           },
15139           "additionalProperties": false
15140         },
15141         "Macaroon": {
15142           "type": "object",
15143           "additionalProperties": false
15144         },
15145         "SSHAddressResult": {
15146           "type": "object",
15147           "properties": {
15148             "address": {
15149               "type": "string"
15150             },
15151             "error": {
15152               "$ref": "#/definitions/Error"
15153             }
15154           },
15155           "additionalProperties": false
15156         },
15157         "SSHAddressResults": {
15158           "type": "object",
15159           "properties": {
15160             "results": {
15161               "type": "array",
15162               "items": {
15163                 "$ref": "#/definitions/SSHAddressResult"
15164               }
15165             }
15166           },
15167           "additionalProperties": false,
15168           "required": [
15169             "results"
15170           ]
15171         },
15172         "SSHProxyResult": {
15173           "type": "object",
15174           "properties": {
15175             "use-proxy": {
15176               "type": "boolean"
15177             }
15178           },
15179           "additionalProperties": false,
15180           "required": [
15181             "use-proxy"
15182           ]
15183         },
15184         "SSHPublicKeysResult": {
15185           "type": "object",
15186           "properties": {
15187             "error": {
15188               "$ref": "#/definitions/Error"
15189             },
15190             "public-keys": {
15191               "type": "array",
15192               "items": {
15193                 "type": "string"
15194               }
15195             }
15196           },
15197           "additionalProperties": false
15198         },
15199         "SSHPublicKeysResults": {
15200           "type": "object",
15201           "properties": {
15202             "results": {
15203               "type": "array",
15204               "items": {
15205                 "$ref": "#/definitions/SSHPublicKeysResult"
15206               }
15207             }
15208           },
15209           "additionalProperties": false,
15210           "required": [
15211             "results"
15212           ]
15213         }
15214       }
15215     }
15216   },
15217   {
15218     "Name": "Singular",
15219     "Version": 1,
15220     "Schema": {
15221       "type": "object",
15222       "properties": {
15223         "Claim": {
15224           "type": "object",
15225           "properties": {
15226             "Params": {
15227               "$ref": "#/definitions/SingularClaims"
15228             },
15229             "Result": {
15230               "$ref": "#/definitions/ErrorResults"
15231             }
15232           }
15233         },
15234         "Wait": {
15235           "type": "object",
15236           "properties": {
15237             "Params": {
15238               "$ref": "#/definitions/Entities"
15239             },
15240             "Result": {
15241               "$ref": "#/definitions/ErrorResults"
15242             }
15243           }
15244         }
15245       },
15246       "definitions": {
15247         "Entities": {
15248           "type": "object",
15249           "properties": {
15250             "entities": {
15251               "type": "array",
15252               "items": {
15253                 "$ref": "#/definitions/Entity"
15254               }
15255             }
15256           },
15257           "additionalProperties": false,
15258           "required": [
15259             "entities"
15260           ]
15261         },
15262         "Entity": {
15263           "type": "object",
15264           "properties": {
15265             "tag": {
15266               "type": "string"
15267             }
15268           },
15269           "additionalProperties": false,
15270           "required": [
15271             "tag"
15272           ]
15273         },
15274         "Error": {
15275           "type": "object",
15276           "properties": {
15277             "code": {
15278               "type": "string"
15279             },
15280             "info": {
15281               "$ref": "#/definitions/ErrorInfo"
15282             },
15283             "message": {
15284               "type": "string"
15285             }
15286           },
15287           "additionalProperties": false,
15288           "required": [
15289             "message",
15290             "code"
15291           ]
15292         },
15293         "ErrorInfo": {
15294           "type": "object",
15295           "properties": {
15296             "macaroon": {
15297               "$ref": "#/definitions/Macaroon"
15298             },
15299             "macaroon-path": {
15300               "type": "string"
15301             }
15302           },
15303           "additionalProperties": false
15304         },
15305         "ErrorResult": {
15306           "type": "object",
15307           "properties": {
15308             "error": {
15309               "$ref": "#/definitions/Error"
15310             }
15311           },
15312           "additionalProperties": false
15313         },
15314         "ErrorResults": {
15315           "type": "object",
15316           "properties": {
15317             "results": {
15318               "type": "array",
15319               "items": {
15320                 "$ref": "#/definitions/ErrorResult"
15321               }
15322             }
15323           },
15324           "additionalProperties": false,
15325           "required": [
15326             "results"
15327           ]
15328         },
15329         "Macaroon": {
15330           "type": "object",
15331           "additionalProperties": false
15332         },
15333         "SingularClaim": {
15334           "type": "object",
15335           "properties": {
15336             "controller-tag": {
15337               "type": "string"
15338             },
15339             "duration": {
15340               "type": "integer"
15341             },
15342             "model-tag": {
15343               "type": "string"
15344             }
15345           },
15346           "additionalProperties": false,
15347           "required": [
15348             "model-tag",
15349             "controller-tag",
15350             "duration"
15351           ]
15352         },
15353         "SingularClaims": {
15354           "type": "object",
15355           "properties": {
15356             "claims": {
15357               "type": "array",
15358               "items": {
15359                 "$ref": "#/definitions/SingularClaim"
15360               }
15361             }
15362           },
15363           "additionalProperties": false,
15364           "required": [
15365             "claims"
15366           ]
15367         }
15368       }
15369     }
15370   },
15371   {
15372     "Name": "Spaces",
15373     "Version": 2,
15374     "Schema": {
15375       "type": "object",
15376       "properties": {
15377         "CreateSpaces": {
15378           "type": "object",
15379           "properties": {
15380             "Params": {
15381               "$ref": "#/definitions/CreateSpacesParams"
15382             },
15383             "Result": {
15384               "$ref": "#/definitions/ErrorResults"
15385             }
15386           }
15387         },
15388         "ListSpaces": {
15389           "type": "object",
15390           "properties": {
15391             "Result": {
15392               "$ref": "#/definitions/ListSpacesResults"
15393             }
15394           }
15395         }
15396       },
15397       "definitions": {
15398         "CreateSpaceParams": {
15399           "type": "object",
15400           "properties": {
15401             "provider-id": {
15402               "type": "string"
15403             },
15404             "public": {
15405               "type": "boolean"
15406             },
15407             "space-tag": {
15408               "type": "string"
15409             },
15410             "subnet-tags": {
15411               "type": "array",
15412               "items": {
15413                 "type": "string"
15414               }
15415             }
15416           },
15417           "additionalProperties": false,
15418           "required": [
15419             "subnet-tags",
15420             "space-tag",
15421             "public"
15422           ]
15423         },
15424         "CreateSpacesParams": {
15425           "type": "object",
15426           "properties": {
15427             "spaces": {
15428               "type": "array",
15429               "items": {
15430                 "$ref": "#/definitions/CreateSpaceParams"
15431               }
15432             }
15433           },
15434           "additionalProperties": false,
15435           "required": [
15436             "spaces"
15437           ]
15438         },
15439         "Error": {
15440           "type": "object",
15441           "properties": {
15442             "code": {
15443               "type": "string"
15444             },
15445             "info": {
15446               "$ref": "#/definitions/ErrorInfo"
15447             },
15448             "message": {
15449               "type": "string"
15450             }
15451           },
15452           "additionalProperties": false,
15453           "required": [
15454             "message",
15455             "code"
15456           ]
15457         },
15458         "ErrorInfo": {
15459           "type": "object",
15460           "properties": {
15461             "macaroon": {
15462               "$ref": "#/definitions/Macaroon"
15463             },
15464             "macaroon-path": {
15465               "type": "string"
15466             }
15467           },
15468           "additionalProperties": false
15469         },
15470         "ErrorResult": {
15471           "type": "object",
15472           "properties": {
15473             "error": {
15474               "$ref": "#/definitions/Error"
15475             }
15476           },
15477           "additionalProperties": false
15478         },
15479         "ErrorResults": {
15480           "type": "object",
15481           "properties": {
15482             "results": {
15483               "type": "array",
15484               "items": {
15485                 "$ref": "#/definitions/ErrorResult"
15486               }
15487             }
15488           },
15489           "additionalProperties": false,
15490           "required": [
15491             "results"
15492           ]
15493         },
15494         "ListSpacesResults": {
15495           "type": "object",
15496           "properties": {
15497             "results": {
15498               "type": "array",
15499               "items": {
15500                 "$ref": "#/definitions/Space"
15501               }
15502             }
15503           },
15504           "additionalProperties": false,
15505           "required": [
15506             "results"
15507           ]
15508         },
15509         "Macaroon": {
15510           "type": "object",
15511           "additionalProperties": false
15512         },
15513         "Space": {
15514           "type": "object",
15515           "properties": {
15516             "error": {
15517               "$ref": "#/definitions/Error"
15518             },
15519             "name": {
15520               "type": "string"
15521             },
15522             "subnets": {
15523               "type": "array",
15524               "items": {
15525                 "$ref": "#/definitions/Subnet"
15526               }
15527             }
15528           },
15529           "additionalProperties": false,
15530           "required": [
15531             "name",
15532             "subnets"
15533           ]
15534         },
15535         "Subnet": {
15536           "type": "object",
15537           "properties": {
15538             "cidr": {
15539               "type": "string"
15540             },
15541             "life": {
15542               "type": "string"
15543             },
15544             "provider-id": {
15545               "type": "string"
15546             },
15547             "space-tag": {
15548               "type": "string"
15549             },
15550             "status": {
15551               "type": "string"
15552             },
15553             "vlan-tag": {
15554               "type": "integer"
15555             },
15556             "zones": {
15557               "type": "array",
15558               "items": {
15559                 "type": "string"
15560               }
15561             }
15562           },
15563           "additionalProperties": false,
15564           "required": [
15565             "cidr",
15566             "vlan-tag",
15567             "life",
15568             "space-tag",
15569             "zones"
15570           ]
15571         }
15572       }
15573     }
15574   },
15575   {
15576     "Name": "StatusHistory",
15577     "Version": 2,
15578     "Schema": {
15579       "type": "object",
15580       "properties": {
15581         "Prune": {
15582           "type": "object",
15583           "properties": {
15584             "Params": {
15585               "$ref": "#/definitions/StatusHistoryPruneArgs"
15586             }
15587           }
15588         }
15589       },
15590       "definitions": {
15591         "StatusHistoryPruneArgs": {
15592           "type": "object",
15593           "properties": {
15594             "max-history-mb": {
15595               "type": "integer"
15596             },
15597             "max-history-time": {
15598               "type": "integer"
15599             }
15600           },
15601           "additionalProperties": false,
15602           "required": [
15603             "max-history-time",
15604             "max-history-mb"
15605           ]
15606         }
15607       }
15608     }
15609   },
15610   {
15611     "Name": "Storage",
15612     "Version": 2,
15613     "Schema": {
15614       "type": "object",
15615       "properties": {
15616         "AddToUnit": {
15617           "type": "object",
15618           "properties": {
15619             "Params": {
15620               "$ref": "#/definitions/StoragesAddParams"
15621             },
15622             "Result": {
15623               "$ref": "#/definitions/ErrorResults"
15624             }
15625           }
15626         },
15627         "CreatePool": {
15628           "type": "object",
15629           "properties": {
15630             "Params": {
15631               "$ref": "#/definitions/StoragePool"
15632             }
15633           }
15634         },
15635         "ListFilesystems": {
15636           "type": "object",
15637           "properties": {
15638             "Params": {
15639               "$ref": "#/definitions/FilesystemFilters"
15640             },
15641             "Result": {
15642               "$ref": "#/definitions/FilesystemDetailsListResults"
15643             }
15644           }
15645         },
15646         "ListPools": {
15647           "type": "object",
15648           "properties": {
15649             "Params": {
15650               "$ref": "#/definitions/StoragePoolFilters"
15651             },
15652             "Result": {
15653               "$ref": "#/definitions/StoragePoolsResults"
15654             }
15655           }
15656         },
15657         "ListStorageDetails": {
15658           "type": "object",
15659           "properties": {
15660             "Params": {
15661               "$ref": "#/definitions/StorageFilters"
15662             },
15663             "Result": {
15664               "$ref": "#/definitions/StorageDetailsListResults"
15665             }
15666           }
15667         },
15668         "ListVolumes": {
15669           "type": "object",
15670           "properties": {
15671             "Params": {
15672               "$ref": "#/definitions/VolumeFilters"
15673             },
15674             "Result": {
15675               "$ref": "#/definitions/VolumeDetailsListResults"
15676             }
15677           }
15678         },
15679         "StorageDetails": {
15680           "type": "object",
15681           "properties": {
15682             "Params": {
15683               "$ref": "#/definitions/Entities"
15684             },
15685             "Result": {
15686               "$ref": "#/definitions/StorageDetailsResults"
15687             }
15688           }
15689         }
15690       },
15691       "definitions": {
15692         "Entities": {
15693           "type": "object",
15694           "properties": {
15695             "entities": {
15696               "type": "array",
15697               "items": {
15698                 "$ref": "#/definitions/Entity"
15699               }
15700             }
15701           },
15702           "additionalProperties": false,
15703           "required": [
15704             "entities"
15705           ]
15706         },
15707         "Entity": {
15708           "type": "object",
15709           "properties": {
15710             "tag": {
15711               "type": "string"
15712             }
15713           },
15714           "additionalProperties": false,
15715           "required": [
15716             "tag"
15717           ]
15718         },
15719         "EntityStatus": {
15720           "type": "object",
15721           "properties": {
15722             "data": {
15723               "type": "object",
15724               "patternProperties": {
15725                 ".*": {
15726                   "type": "object",
15727                   "additionalProperties": true
15728                 }
15729               }
15730             },
15731             "info": {
15732               "type": "string"
15733             },
15734             "since": {
15735               "type": "string",
15736               "format": "date-time"
15737             },
15738             "status": {
15739               "type": "string"
15740             }
15741           },
15742           "additionalProperties": false,
15743           "required": [
15744             "status",
15745             "info",
15746             "since"
15747           ]
15748         },
15749         "Error": {
15750           "type": "object",
15751           "properties": {
15752             "code": {
15753               "type": "string"
15754             },
15755             "info": {
15756               "$ref": "#/definitions/ErrorInfo"
15757             },
15758             "message": {
15759               "type": "string"
15760             }
15761           },
15762           "additionalProperties": false,
15763           "required": [
15764             "message",
15765             "code"
15766           ]
15767         },
15768         "ErrorInfo": {
15769           "type": "object",
15770           "properties": {
15771             "macaroon": {
15772               "$ref": "#/definitions/Macaroon"
15773             },
15774             "macaroon-path": {
15775               "type": "string"
15776             }
15777           },
15778           "additionalProperties": false
15779         },
15780         "ErrorResult": {
15781           "type": "object",
15782           "properties": {
15783             "error": {
15784               "$ref": "#/definitions/Error"
15785             }
15786           },
15787           "additionalProperties": false
15788         },
15789         "ErrorResults": {
15790           "type": "object",
15791           "properties": {
15792             "results": {
15793               "type": "array",
15794               "items": {
15795                 "$ref": "#/definitions/ErrorResult"
15796               }
15797             }
15798           },
15799           "additionalProperties": false,
15800           "required": [
15801             "results"
15802           ]
15803         },
15804         "FilesystemAttachmentInfo": {
15805           "type": "object",
15806           "properties": {
15807             "mount-point": {
15808               "type": "string"
15809             },
15810             "read-only": {
15811               "type": "boolean"
15812             }
15813           },
15814           "additionalProperties": false
15815         },
15816         "FilesystemDetails": {
15817           "type": "object",
15818           "properties": {
15819             "filesystem-tag": {
15820               "type": "string"
15821             },
15822             "info": {
15823               "$ref": "#/definitions/FilesystemInfo"
15824             },
15825             "machine-attachments": {
15826               "type": "object",
15827               "patternProperties": {
15828                 ".*": {
15829                   "$ref": "#/definitions/FilesystemAttachmentInfo"
15830                 }
15831               }
15832             },
15833             "status": {
15834               "$ref": "#/definitions/EntityStatus"
15835             },
15836             "storage": {
15837               "$ref": "#/definitions/StorageDetails"
15838             },
15839             "volume-tag": {
15840               "type": "string"
15841             }
15842           },
15843           "additionalProperties": false,
15844           "required": [
15845             "filesystem-tag",
15846             "info",
15847             "status"
15848           ]
15849         },
15850         "FilesystemDetailsListResult": {
15851           "type": "object",
15852           "properties": {
15853             "error": {
15854               "$ref": "#/definitions/Error"
15855             },
15856             "result": {
15857               "type": "array",
15858               "items": {
15859                 "$ref": "#/definitions/FilesystemDetails"
15860               }
15861             }
15862           },
15863           "additionalProperties": false
15864         },
15865         "FilesystemDetailsListResults": {
15866           "type": "object",
15867           "properties": {
15868             "results": {
15869               "type": "array",
15870               "items": {
15871                 "$ref": "#/definitions/FilesystemDetailsListResult"
15872               }
15873             }
15874           },
15875           "additionalProperties": false
15876         },
15877         "FilesystemFilter": {
15878           "type": "object",
15879           "properties": {
15880             "machines": {
15881               "type": "array",
15882               "items": {
15883                 "type": "string"
15884               }
15885             }
15886           },
15887           "additionalProperties": false
15888         },
15889         "FilesystemFilters": {
15890           "type": "object",
15891           "properties": {
15892             "filters": {
15893               "type": "array",
15894               "items": {
15895                 "$ref": "#/definitions/FilesystemFilter"
15896               }
15897             }
15898           },
15899           "additionalProperties": false
15900         },
15901         "FilesystemInfo": {
15902           "type": "object",
15903           "properties": {
15904             "filesystem-id": {
15905               "type": "string"
15906             },
15907             "size": {
15908               "type": "integer"
15909             }
15910           },
15911           "additionalProperties": false,
15912           "required": [
15913             "filesystem-id",
15914             "size"
15915           ]
15916         },
15917         "Macaroon": {
15918           "type": "object",
15919           "additionalProperties": false
15920         },
15921         "StorageAddParams": {
15922           "type": "object",
15923           "properties": {
15924             "name": {
15925               "type": "string"
15926             },
15927             "storage": {
15928               "$ref": "#/definitions/StorageConstraints"
15929             },
15930             "unit": {
15931               "type": "string"
15932             }
15933           },
15934           "additionalProperties": false,
15935           "required": [
15936             "unit",
15937             "name",
15938             "storage"
15939           ]
15940         },
15941         "StorageAttachmentDetails": {
15942           "type": "object",
15943           "properties": {
15944             "location": {
15945               "type": "string"
15946             },
15947             "machine-tag": {
15948               "type": "string"
15949             },
15950             "storage-tag": {
15951               "type": "string"
15952             },
15953             "unit-tag": {
15954               "type": "string"
15955             }
15956           },
15957           "additionalProperties": false,
15958           "required": [
15959             "storage-tag",
15960             "unit-tag",
15961             "machine-tag"
15962           ]
15963         },
15964         "StorageConstraints": {
15965           "type": "object",
15966           "properties": {
15967             "count": {
15968               "type": "integer"
15969             },
15970             "pool": {
15971               "type": "string"
15972             },
15973             "size": {
15974               "type": "integer"
15975             }
15976           },
15977           "additionalProperties": false
15978         },
15979         "StorageDetails": {
15980           "type": "object",
15981           "properties": {
15982             "attachments": {
15983               "type": "object",
15984               "patternProperties": {
15985                 ".*": {
15986                   "$ref": "#/definitions/StorageAttachmentDetails"
15987                 }
15988               }
15989             },
15990             "kind": {
15991               "type": "integer"
15992             },
15993             "owner-tag": {
15994               "type": "string"
15995             },
15996             "persistent": {
15997               "type": "boolean"
15998             },
15999             "status": {
16000               "$ref": "#/definitions/EntityStatus"
16001             },
16002             "storage-tag": {
16003               "type": "string"
16004             }
16005           },
16006           "additionalProperties": false,
16007           "required": [
16008             "storage-tag",
16009             "owner-tag",
16010             "kind",
16011             "status",
16012             "persistent"
16013           ]
16014         },
16015         "StorageDetailsListResult": {
16016           "type": "object",
16017           "properties": {
16018             "error": {
16019               "$ref": "#/definitions/Error"
16020             },
16021             "result": {
16022               "type": "array",
16023               "items": {
16024                 "$ref": "#/definitions/StorageDetails"
16025               }
16026             }
16027           },
16028           "additionalProperties": false
16029         },
16030         "StorageDetailsListResults": {
16031           "type": "object",
16032           "properties": {
16033             "results": {
16034               "type": "array",
16035               "items": {
16036                 "$ref": "#/definitions/StorageDetailsListResult"
16037               }
16038             }
16039           },
16040           "additionalProperties": false
16041         },
16042         "StorageDetailsResult": {
16043           "type": "object",
16044           "properties": {
16045             "error": {
16046               "$ref": "#/definitions/Error"
16047             },
16048             "result": {
16049               "$ref": "#/definitions/StorageDetails"
16050             }
16051           },
16052           "additionalProperties": false
16053         },
16054         "StorageDetailsResults": {
16055           "type": "object",
16056           "properties": {
16057             "results": {
16058               "type": "array",
16059               "items": {
16060                 "$ref": "#/definitions/StorageDetailsResult"
16061               }
16062             }
16063           },
16064           "additionalProperties": false
16065         },
16066         "StorageFilter": {
16067           "type": "object",
16068           "additionalProperties": false
16069         },
16070         "StorageFilters": {
16071           "type": "object",
16072           "properties": {
16073             "filters": {
16074               "type": "array",
16075               "items": {
16076                 "$ref": "#/definitions/StorageFilter"
16077               }
16078             }
16079           },
16080           "additionalProperties": false
16081         },
16082         "StoragePool": {
16083           "type": "object",
16084           "properties": {
16085             "attrs": {
16086               "type": "object",
16087               "patternProperties": {
16088                 ".*": {
16089                   "type": "object",
16090                   "additionalProperties": true
16091                 }
16092               }
16093             },
16094             "name": {
16095               "type": "string"
16096             },
16097             "provider": {
16098               "type": "string"
16099             }
16100           },
16101           "additionalProperties": false,
16102           "required": [
16103             "name",
16104             "provider",
16105             "attrs"
16106           ]
16107         },
16108         "StoragePoolFilter": {
16109           "type": "object",
16110           "properties": {
16111             "names": {
16112               "type": "array",
16113               "items": {
16114                 "type": "string"
16115               }
16116             },
16117             "providers": {
16118               "type": "array",
16119               "items": {
16120                 "type": "string"
16121               }
16122             }
16123           },
16124           "additionalProperties": false
16125         },
16126         "StoragePoolFilters": {
16127           "type": "object",
16128           "properties": {
16129             "filters": {
16130               "type": "array",
16131               "items": {
16132                 "$ref": "#/definitions/StoragePoolFilter"
16133               }
16134             }
16135           },
16136           "additionalProperties": false
16137         },
16138         "StoragePoolsResult": {
16139           "type": "object",
16140           "properties": {
16141             "error": {
16142               "$ref": "#/definitions/Error"
16143             },
16144             "storage-pools": {
16145               "type": "array",
16146               "items": {
16147                 "$ref": "#/definitions/StoragePool"
16148               }
16149             }
16150           },
16151           "additionalProperties": false
16152         },
16153         "StoragePoolsResults": {
16154           "type": "object",
16155           "properties": {
16156             "results": {
16157               "type": "array",
16158               "items": {
16159                 "$ref": "#/definitions/StoragePoolsResult"
16160               }
16161             }
16162           },
16163           "additionalProperties": false
16164         },
16165         "StoragesAddParams": {
16166           "type": "object",
16167           "properties": {
16168             "storages": {
16169               "type": "array",
16170               "items": {
16171                 "$ref": "#/definitions/StorageAddParams"
16172               }
16173             }
16174           },
16175           "additionalProperties": false,
16176           "required": [
16177             "storages"
16178           ]
16179         },
16180         "VolumeAttachmentInfo": {
16181           "type": "object",
16182           "properties": {
16183             "bus-address": {
16184               "type": "string"
16185             },
16186             "device-link": {
16187               "type": "string"
16188             },
16189             "device-name": {
16190               "type": "string"
16191             },
16192             "read-only": {
16193               "type": "boolean"
16194             }
16195           },
16196           "additionalProperties": false
16197         },
16198         "VolumeDetails": {
16199           "type": "object",
16200           "properties": {
16201             "info": {
16202               "$ref": "#/definitions/VolumeInfo"
16203             },
16204             "machine-attachments": {
16205               "type": "object",
16206               "patternProperties": {
16207                 ".*": {
16208                   "$ref": "#/definitions/VolumeAttachmentInfo"
16209                 }
16210               }
16211             },
16212             "status": {
16213               "$ref": "#/definitions/EntityStatus"
16214             },
16215             "storage": {
16216               "$ref": "#/definitions/StorageDetails"
16217             },
16218             "volume-tag": {
16219               "type": "string"
16220             }
16221           },
16222           "additionalProperties": false,
16223           "required": [
16224             "volume-tag",
16225             "info",
16226             "status"
16227           ]
16228         },
16229         "VolumeDetailsListResult": {
16230           "type": "object",
16231           "properties": {
16232             "error": {
16233               "$ref": "#/definitions/Error"
16234             },
16235             "result": {
16236               "type": "array",
16237               "items": {
16238                 "$ref": "#/definitions/VolumeDetails"
16239               }
16240             }
16241           },
16242           "additionalProperties": false
16243         },
16244         "VolumeDetailsListResults": {
16245           "type": "object",
16246           "properties": {
16247             "results": {
16248               "type": "array",
16249               "items": {
16250                 "$ref": "#/definitions/VolumeDetailsListResult"
16251               }
16252             }
16253           },
16254           "additionalProperties": false
16255         },
16256         "VolumeFilter": {
16257           "type": "object",
16258           "properties": {
16259             "machines": {
16260               "type": "array",
16261               "items": {
16262                 "type": "string"
16263               }
16264             }
16265           },
16266           "additionalProperties": false
16267         },
16268         "VolumeFilters": {
16269           "type": "object",
16270           "properties": {
16271             "filters": {
16272               "type": "array",
16273               "items": {
16274                 "$ref": "#/definitions/VolumeFilter"
16275               }
16276             }
16277           },
16278           "additionalProperties": false
16279         },
16280         "VolumeInfo": {
16281           "type": "object",
16282           "properties": {
16283             "hardware-id": {
16284               "type": "string"
16285             },
16286             "persistent": {
16287               "type": "boolean"
16288             },
16289             "size": {
16290               "type": "integer"
16291             },
16292             "volume-id": {
16293               "type": "string"
16294             }
16295           },
16296           "additionalProperties": false,
16297           "required": [
16298             "volume-id",
16299             "size",
16300             "persistent"
16301           ]
16302         }
16303       }
16304     }
16305   },
16306   {
16307     "Name": "StorageProvisioner",
16308     "Version": 2,
16309     "Schema": {
16310       "type": "object",
16311       "properties": {
16312         "AttachmentLife": {
16313           "type": "object",
16314           "properties": {
16315             "Params": {
16316               "$ref": "#/definitions/MachineStorageIds"
16317             },
16318             "Result": {
16319               "$ref": "#/definitions/LifeResults"
16320             }
16321           }
16322         },
16323         "EnsureDead": {
16324           "type": "object",
16325           "properties": {
16326             "Params": {
16327               "$ref": "#/definitions/Entities"
16328             },
16329             "Result": {
16330               "$ref": "#/definitions/ErrorResults"
16331             }
16332           }
16333         },
16334         "FilesystemAttachmentParams": {
16335           "type": "object",
16336           "properties": {
16337             "Params": {
16338               "$ref": "#/definitions/MachineStorageIds"
16339             },
16340             "Result": {
16341               "$ref": "#/definitions/FilesystemAttachmentParamsResults"
16342             }
16343           }
16344         },
16345         "FilesystemAttachments": {
16346           "type": "object",
16347           "properties": {
16348             "Params": {
16349               "$ref": "#/definitions/MachineStorageIds"
16350             },
16351             "Result": {
16352               "$ref": "#/definitions/FilesystemAttachmentResults"
16353             }
16354           }
16355         },
16356         "FilesystemParams": {
16357           "type": "object",
16358           "properties": {
16359             "Params": {
16360               "$ref": "#/definitions/Entities"
16361             },
16362             "Result": {
16363               "$ref": "#/definitions/FilesystemParamsResults"
16364             }
16365           }
16366         },
16367         "Filesystems": {
16368           "type": "object",
16369           "properties": {
16370             "Params": {
16371               "$ref": "#/definitions/Entities"
16372             },
16373             "Result": {
16374               "$ref": "#/definitions/FilesystemResults"
16375             }
16376           }
16377         },
16378         "InstanceId": {
16379           "type": "object",
16380           "properties": {
16381             "Params": {
16382               "$ref": "#/definitions/Entities"
16383             },
16384             "Result": {
16385               "$ref": "#/definitions/StringResults"
16386             }
16387           }
16388         },
16389         "Life": {
16390           "type": "object",
16391           "properties": {
16392             "Params": {
16393               "$ref": "#/definitions/Entities"
16394             },
16395             "Result": {
16396               "$ref": "#/definitions/LifeResults"
16397             }
16398           }
16399         },
16400         "ModelConfig": {
16401           "type": "object",
16402           "properties": {
16403             "Result": {
16404               "$ref": "#/definitions/ModelConfigResult"
16405             }
16406           }
16407         },
16408         "Remove": {
16409           "type": "object",
16410           "properties": {
16411             "Params": {
16412               "$ref": "#/definitions/Entities"
16413             },
16414             "Result": {
16415               "$ref": "#/definitions/ErrorResults"
16416             }
16417           }
16418         },
16419         "RemoveAttachment": {
16420           "type": "object",
16421           "properties": {
16422             "Params": {
16423               "$ref": "#/definitions/MachineStorageIds"
16424             },
16425             "Result": {
16426               "$ref": "#/definitions/ErrorResults"
16427             }
16428           }
16429         },
16430         "SetFilesystemAttachmentInfo": {
16431           "type": "object",
16432           "properties": {
16433             "Params": {
16434               "$ref": "#/definitions/FilesystemAttachments"
16435             },
16436             "Result": {
16437               "$ref": "#/definitions/ErrorResults"
16438             }
16439           }
16440         },
16441         "SetFilesystemInfo": {
16442           "type": "object",
16443           "properties": {
16444             "Params": {
16445               "$ref": "#/definitions/Filesystems"
16446             },
16447             "Result": {
16448               "$ref": "#/definitions/ErrorResults"
16449             }
16450           }
16451         },
16452         "SetStatus": {
16453           "type": "object",
16454           "properties": {
16455             "Params": {
16456               "$ref": "#/definitions/SetStatus"
16457             },
16458             "Result": {
16459               "$ref": "#/definitions/ErrorResults"
16460             }
16461           }
16462         },
16463         "SetVolumeAttachmentInfo": {
16464           "type": "object",
16465           "properties": {
16466             "Params": {
16467               "$ref": "#/definitions/VolumeAttachments"
16468             },
16469             "Result": {
16470               "$ref": "#/definitions/ErrorResults"
16471             }
16472           }
16473         },
16474         "SetVolumeInfo": {
16475           "type": "object",
16476           "properties": {
16477             "Params": {
16478               "$ref": "#/definitions/Volumes"
16479             },
16480             "Result": {
16481               "$ref": "#/definitions/ErrorResults"
16482             }
16483           }
16484         },
16485         "UpdateStatus": {
16486           "type": "object",
16487           "properties": {
16488             "Params": {
16489               "$ref": "#/definitions/SetStatus"
16490             },
16491             "Result": {
16492               "$ref": "#/definitions/ErrorResults"
16493             }
16494           }
16495         },
16496         "VolumeAttachmentParams": {
16497           "type": "object",
16498           "properties": {
16499             "Params": {
16500               "$ref": "#/definitions/MachineStorageIds"
16501             },
16502             "Result": {
16503               "$ref": "#/definitions/VolumeAttachmentParamsResults"
16504             }
16505           }
16506         },
16507         "VolumeAttachments": {
16508           "type": "object",
16509           "properties": {
16510             "Params": {
16511               "$ref": "#/definitions/MachineStorageIds"
16512             },
16513             "Result": {
16514               "$ref": "#/definitions/VolumeAttachmentResults"
16515             }
16516           }
16517         },
16518         "VolumeBlockDevices": {
16519           "type": "object",
16520           "properties": {
16521             "Params": {
16522               "$ref": "#/definitions/MachineStorageIds"
16523             },
16524             "Result": {
16525               "$ref": "#/definitions/BlockDeviceResults"
16526             }
16527           }
16528         },
16529         "VolumeParams": {
16530           "type": "object",
16531           "properties": {
16532             "Params": {
16533               "$ref": "#/definitions/Entities"
16534             },
16535             "Result": {
16536               "$ref": "#/definitions/VolumeParamsResults"
16537             }
16538           }
16539         },
16540         "Volumes": {
16541           "type": "object",
16542           "properties": {
16543             "Params": {
16544               "$ref": "#/definitions/Entities"
16545             },
16546             "Result": {
16547               "$ref": "#/definitions/VolumeResults"
16548             }
16549           }
16550         },
16551         "WatchBlockDevices": {
16552           "type": "object",
16553           "properties": {
16554             "Params": {
16555               "$ref": "#/definitions/Entities"
16556             },
16557             "Result": {
16558               "$ref": "#/definitions/NotifyWatchResults"
16559             }
16560           }
16561         },
16562         "WatchFilesystemAttachments": {
16563           "type": "object",
16564           "properties": {
16565             "Params": {
16566               "$ref": "#/definitions/Entities"
16567             },
16568             "Result": {
16569               "$ref": "#/definitions/MachineStorageIdsWatchResults"
16570             }
16571           }
16572         },
16573         "WatchFilesystems": {
16574           "type": "object",
16575           "properties": {
16576             "Params": {
16577               "$ref": "#/definitions/Entities"
16578             },
16579             "Result": {
16580               "$ref": "#/definitions/StringsWatchResults"
16581             }
16582           }
16583         },
16584         "WatchForModelConfigChanges": {
16585           "type": "object",
16586           "properties": {
16587             "Result": {
16588               "$ref": "#/definitions/NotifyWatchResult"
16589             }
16590           }
16591         },
16592         "WatchMachines": {
16593           "type": "object",
16594           "properties": {
16595             "Params": {
16596               "$ref": "#/definitions/Entities"
16597             },
16598             "Result": {
16599               "$ref": "#/definitions/NotifyWatchResults"
16600             }
16601           }
16602         },
16603         "WatchVolumeAttachments": {
16604           "type": "object",
16605           "properties": {
16606             "Params": {
16607               "$ref": "#/definitions/Entities"
16608             },
16609             "Result": {
16610               "$ref": "#/definitions/MachineStorageIdsWatchResults"
16611             }
16612           }
16613         },
16614         "WatchVolumes": {
16615           "type": "object",
16616           "properties": {
16617             "Params": {
16618               "$ref": "#/definitions/Entities"
16619             },
16620             "Result": {
16621               "$ref": "#/definitions/StringsWatchResults"
16622             }
16623           }
16624         }
16625       },
16626       "definitions": {
16627         "BlockDevice": {
16628           "type": "object",
16629           "properties": {
16630             "BusAddress": {
16631               "type": "string"
16632             },
16633             "DeviceLinks": {
16634               "type": "array",
16635               "items": {
16636                 "type": "string"
16637               }
16638             },
16639             "DeviceName": {
16640               "type": "string"
16641             },
16642             "FilesystemType": {
16643               "type": "string"
16644             },
16645             "HardwareId": {
16646               "type": "string"
16647             },
16648             "InUse": {
16649               "type": "boolean"
16650             },
16651             "Label": {
16652               "type": "string"
16653             },
16654             "MountPoint": {
16655               "type": "string"
16656             },
16657             "Size": {
16658               "type": "integer"
16659             },
16660             "UUID": {
16661               "type": "string"
16662             }
16663           },
16664           "additionalProperties": false,
16665           "required": [
16666             "DeviceName",
16667             "DeviceLinks",
16668             "Label",
16669             "UUID",
16670             "HardwareId",
16671             "BusAddress",
16672             "Size",
16673             "FilesystemType",
16674             "InUse",
16675             "MountPoint"
16676           ]
16677         },
16678         "BlockDeviceResult": {
16679           "type": "object",
16680           "properties": {
16681             "error": {
16682               "$ref": "#/definitions/Error"
16683             },
16684             "result": {
16685               "$ref": "#/definitions/BlockDevice"
16686             }
16687           },
16688           "additionalProperties": false,
16689           "required": [
16690             "result"
16691           ]
16692         },
16693         "BlockDeviceResults": {
16694           "type": "object",
16695           "properties": {
16696             "results": {
16697               "type": "array",
16698               "items": {
16699                 "$ref": "#/definitions/BlockDeviceResult"
16700               }
16701             }
16702           },
16703           "additionalProperties": false
16704         },
16705         "Entities": {
16706           "type": "object",
16707           "properties": {
16708             "entities": {
16709               "type": "array",
16710               "items": {
16711                 "$ref": "#/definitions/Entity"
16712               }
16713             }
16714           },
16715           "additionalProperties": false,
16716           "required": [
16717             "entities"
16718           ]
16719         },
16720         "Entity": {
16721           "type": "object",
16722           "properties": {
16723             "tag": {
16724               "type": "string"
16725             }
16726           },
16727           "additionalProperties": false,
16728           "required": [
16729             "tag"
16730           ]
16731         },
16732         "EntityStatusArgs": {
16733           "type": "object",
16734           "properties": {
16735             "data": {
16736               "type": "object",
16737               "patternProperties": {
16738                 ".*": {
16739                   "type": "object",
16740                   "additionalProperties": true
16741                 }
16742               }
16743             },
16744             "info": {
16745               "type": "string"
16746             },
16747             "status": {
16748               "type": "string"
16749             },
16750             "tag": {
16751               "type": "string"
16752             }
16753           },
16754           "additionalProperties": false,
16755           "required": [
16756             "tag",
16757             "status",
16758             "info",
16759             "data"
16760           ]
16761         },
16762         "Error": {
16763           "type": "object",
16764           "properties": {
16765             "code": {
16766               "type": "string"
16767             },
16768             "info": {
16769               "$ref": "#/definitions/ErrorInfo"
16770             },
16771             "message": {
16772               "type": "string"
16773             }
16774           },
16775           "additionalProperties": false,
16776           "required": [
16777             "message",
16778             "code"
16779           ]
16780         },
16781         "ErrorInfo": {
16782           "type": "object",
16783           "properties": {
16784             "macaroon": {
16785               "$ref": "#/definitions/Macaroon"
16786             },
16787             "macaroon-path": {
16788               "type": "string"
16789             }
16790           },
16791           "additionalProperties": false
16792         },
16793         "ErrorResult": {
16794           "type": "object",
16795           "properties": {
16796             "error": {
16797               "$ref": "#/definitions/Error"
16798             }
16799           },
16800           "additionalProperties": false
16801         },
16802         "ErrorResults": {
16803           "type": "object",
16804           "properties": {
16805             "results": {
16806               "type": "array",
16807               "items": {
16808                 "$ref": "#/definitions/ErrorResult"
16809               }
16810             }
16811           },
16812           "additionalProperties": false,
16813           "required": [
16814             "results"
16815           ]
16816         },
16817         "Filesystem": {
16818           "type": "object",
16819           "properties": {
16820             "filesystem-tag": {
16821               "type": "string"
16822             },
16823             "info": {
16824               "$ref": "#/definitions/FilesystemInfo"
16825             },
16826             "volume-tag": {
16827               "type": "string"
16828             }
16829           },
16830           "additionalProperties": false,
16831           "required": [
16832             "filesystem-tag",
16833             "info"
16834           ]
16835         },
16836         "FilesystemAttachment": {
16837           "type": "object",
16838           "properties": {
16839             "filesystem-tag": {
16840               "type": "string"
16841             },
16842             "info": {
16843               "$ref": "#/definitions/FilesystemAttachmentInfo"
16844             },
16845             "machine-tag": {
16846               "type": "string"
16847             }
16848           },
16849           "additionalProperties": false,
16850           "required": [
16851             "filesystem-tag",
16852             "machine-tag",
16853             "info"
16854           ]
16855         },
16856         "FilesystemAttachmentInfo": {
16857           "type": "object",
16858           "properties": {
16859             "mount-point": {
16860               "type": "string"
16861             },
16862             "read-only": {
16863               "type": "boolean"
16864             }
16865           },
16866           "additionalProperties": false
16867         },
16868         "FilesystemAttachmentParams": {
16869           "type": "object",
16870           "properties": {
16871             "filesystem-id": {
16872               "type": "string"
16873             },
16874             "filesystem-tag": {
16875               "type": "string"
16876             },
16877             "instance-id": {
16878               "type": "string"
16879             },
16880             "machine-tag": {
16881               "type": "string"
16882             },
16883             "mount-point": {
16884               "type": "string"
16885             },
16886             "provider": {
16887               "type": "string"
16888             },
16889             "read-only": {
16890               "type": "boolean"
16891             }
16892           },
16893           "additionalProperties": false,
16894           "required": [
16895             "filesystem-tag",
16896             "machine-tag",
16897             "provider"
16898           ]
16899         },
16900         "FilesystemAttachmentParamsResult": {
16901           "type": "object",
16902           "properties": {
16903             "error": {
16904               "$ref": "#/definitions/Error"
16905             },
16906             "result": {
16907               "$ref": "#/definitions/FilesystemAttachmentParams"
16908             }
16909           },
16910           "additionalProperties": false,
16911           "required": [
16912             "result"
16913           ]
16914         },
16915         "FilesystemAttachmentParamsResults": {
16916           "type": "object",
16917           "properties": {
16918             "results": {
16919               "type": "array",
16920               "items": {
16921                 "$ref": "#/definitions/FilesystemAttachmentParamsResult"
16922               }
16923             }
16924           },
16925           "additionalProperties": false
16926         },
16927         "FilesystemAttachmentResult": {
16928           "type": "object",
16929           "properties": {
16930             "error": {
16931               "$ref": "#/definitions/Error"
16932             },
16933             "result": {
16934               "$ref": "#/definitions/FilesystemAttachment"
16935             }
16936           },
16937           "additionalProperties": false,
16938           "required": [
16939             "result"
16940           ]
16941         },
16942         "FilesystemAttachmentResults": {
16943           "type": "object",
16944           "properties": {
16945             "results": {
16946               "type": "array",
16947               "items": {
16948                 "$ref": "#/definitions/FilesystemAttachmentResult"
16949               }
16950             }
16951           },
16952           "additionalProperties": false
16953         },
16954         "FilesystemAttachments": {
16955           "type": "object",
16956           "properties": {
16957             "filesystem-attachments": {
16958               "type": "array",
16959               "items": {
16960                 "$ref": "#/definitions/FilesystemAttachment"
16961               }
16962             }
16963           },
16964           "additionalProperties": false,
16965           "required": [
16966             "filesystem-attachments"
16967           ]
16968         },
16969         "FilesystemInfo": {
16970           "type": "object",
16971           "properties": {
16972             "filesystem-id": {
16973               "type": "string"
16974             },
16975             "size": {
16976               "type": "integer"
16977             }
16978           },
16979           "additionalProperties": false,
16980           "required": [
16981             "filesystem-id",
16982             "size"
16983           ]
16984         },
16985         "FilesystemParams": {
16986           "type": "object",
16987           "properties": {
16988             "attachment": {
16989               "$ref": "#/definitions/FilesystemAttachmentParams"
16990             },
16991             "attributes": {
16992               "type": "object",
16993               "patternProperties": {
16994                 ".*": {
16995                   "type": "object",
16996                   "additionalProperties": true
16997                 }
16998               }
16999             },
17000             "filesystem-tag": {
17001               "type": "string"
17002             },
17003             "provider": {
17004               "type": "string"
17005             },
17006             "size": {
17007               "type": "integer"
17008             },
17009             "tags": {
17010               "type": "object",
17011               "patternProperties": {
17012                 ".*": {
17013                   "type": "string"
17014                 }
17015               }
17016             },
17017             "volume-tag": {
17018               "type": "string"
17019             }
17020           },
17021           "additionalProperties": false,
17022           "required": [
17023             "filesystem-tag",
17024             "size",
17025             "provider"
17026           ]
17027         },
17028         "FilesystemParamsResult": {
17029           "type": "object",
17030           "properties": {
17031             "error": {
17032               "$ref": "#/definitions/Error"
17033             },
17034             "result": {
17035               "$ref": "#/definitions/FilesystemParams"
17036             }
17037           },
17038           "additionalProperties": false,
17039           "required": [
17040             "result"
17041           ]
17042         },
17043         "FilesystemParamsResults": {
17044           "type": "object",
17045           "properties": {
17046             "results": {
17047               "type": "array",
17048               "items": {
17049                 "$ref": "#/definitions/FilesystemParamsResult"
17050               }
17051             }
17052           },
17053           "additionalProperties": false
17054         },
17055         "FilesystemResult": {
17056           "type": "object",
17057           "properties": {
17058             "error": {
17059               "$ref": "#/definitions/Error"
17060             },
17061             "result": {
17062               "$ref": "#/definitions/Filesystem"
17063             }
17064           },
17065           "additionalProperties": false,
17066           "required": [
17067             "result"
17068           ]
17069         },
17070         "FilesystemResults": {
17071           "type": "object",
17072           "properties": {
17073             "results": {
17074               "type": "array",
17075               "items": {
17076                 "$ref": "#/definitions/FilesystemResult"
17077               }
17078             }
17079           },
17080           "additionalProperties": false
17081         },
17082         "Filesystems": {
17083           "type": "object",
17084           "properties": {
17085             "filesystems": {
17086               "type": "array",
17087               "items": {
17088                 "$ref": "#/definitions/Filesystem"
17089               }
17090             }
17091           },
17092           "additionalProperties": false,
17093           "required": [
17094             "filesystems"
17095           ]
17096         },
17097         "LifeResult": {
17098           "type": "object",
17099           "properties": {
17100             "error": {
17101               "$ref": "#/definitions/Error"
17102             },
17103             "life": {
17104               "type": "string"
17105             }
17106           },
17107           "additionalProperties": false,
17108           "required": [
17109             "life"
17110           ]
17111         },
17112         "LifeResults": {
17113           "type": "object",
17114           "properties": {
17115             "results": {
17116               "type": "array",
17117               "items": {
17118                 "$ref": "#/definitions/LifeResult"
17119               }
17120             }
17121           },
17122           "additionalProperties": false,
17123           "required": [
17124             "results"
17125           ]
17126         },
17127         "Macaroon": {
17128           "type": "object",
17129           "additionalProperties": false
17130         },
17131         "MachineStorageId": {
17132           "type": "object",
17133           "properties": {
17134             "attachment-tag": {
17135               "type": "string"
17136             },
17137             "machine-tag": {
17138               "type": "string"
17139             }
17140           },
17141           "additionalProperties": false,
17142           "required": [
17143             "machine-tag",
17144             "attachment-tag"
17145           ]
17146         },
17147         "MachineStorageIds": {
17148           "type": "object",
17149           "properties": {
17150             "ids": {
17151               "type": "array",
17152               "items": {
17153                 "$ref": "#/definitions/MachineStorageId"
17154               }
17155             }
17156           },
17157           "additionalProperties": false,
17158           "required": [
17159             "ids"
17160           ]
17161         },
17162         "MachineStorageIdsWatchResult": {
17163           "type": "object",
17164           "properties": {
17165             "changes": {
17166               "type": "array",
17167               "items": {
17168                 "$ref": "#/definitions/MachineStorageId"
17169               }
17170             },
17171             "error": {
17172               "$ref": "#/definitions/Error"
17173             },
17174             "watcher-id": {
17175               "type": "string"
17176             }
17177           },
17178           "additionalProperties": false,
17179           "required": [
17180             "watcher-id",
17181             "changes"
17182           ]
17183         },
17184         "MachineStorageIdsWatchResults": {
17185           "type": "object",
17186           "properties": {
17187             "results": {
17188               "type": "array",
17189               "items": {
17190                 "$ref": "#/definitions/MachineStorageIdsWatchResult"
17191               }
17192             }
17193           },
17194           "additionalProperties": false,
17195           "required": [
17196             "results"
17197           ]
17198         },
17199         "ModelConfigResult": {
17200           "type": "object",
17201           "properties": {
17202             "config": {
17203               "type": "object",
17204               "patternProperties": {
17205                 ".*": {
17206                   "type": "object",
17207                   "additionalProperties": true
17208                 }
17209               }
17210             }
17211           },
17212           "additionalProperties": false,
17213           "required": [
17214             "config"
17215           ]
17216         },
17217         "NotifyWatchResult": {
17218           "type": "object",
17219           "properties": {
17220             "NotifyWatcherId": {
17221               "type": "string"
17222             },
17223             "error": {
17224               "$ref": "#/definitions/Error"
17225             }
17226           },
17227           "additionalProperties": false,
17228           "required": [
17229             "NotifyWatcherId"
17230           ]
17231         },
17232         "NotifyWatchResults": {
17233           "type": "object",
17234           "properties": {
17235             "results": {
17236               "type": "array",
17237               "items": {
17238                 "$ref": "#/definitions/NotifyWatchResult"
17239               }
17240             }
17241           },
17242           "additionalProperties": false,
17243           "required": [
17244             "results"
17245           ]
17246         },
17247         "SetStatus": {
17248           "type": "object",
17249           "properties": {
17250             "entities": {
17251               "type": "array",
17252               "items": {
17253                 "$ref": "#/definitions/EntityStatusArgs"
17254               }
17255             }
17256           },
17257           "additionalProperties": false,
17258           "required": [
17259             "entities"
17260           ]
17261         },
17262         "StringResult": {
17263           "type": "object",
17264           "properties": {
17265             "error": {
17266               "$ref": "#/definitions/Error"
17267             },
17268             "result": {
17269               "type": "string"
17270             }
17271           },
17272           "additionalProperties": false,
17273           "required": [
17274             "result"
17275           ]
17276         },
17277         "StringResults": {
17278           "type": "object",
17279           "properties": {
17280             "results": {
17281               "type": "array",
17282               "items": {
17283                 "$ref": "#/definitions/StringResult"
17284               }
17285             }
17286           },
17287           "additionalProperties": false,
17288           "required": [
17289             "results"
17290           ]
17291         },
17292         "StringsWatchResult": {
17293           "type": "object",
17294           "properties": {
17295             "changes": {
17296               "type": "array",
17297               "items": {
17298                 "type": "string"
17299               }
17300             },
17301             "error": {
17302               "$ref": "#/definitions/Error"
17303             },
17304             "watcher-id": {
17305               "type": "string"
17306             }
17307           },
17308           "additionalProperties": false,
17309           "required": [
17310             "watcher-id"
17311           ]
17312         },
17313         "StringsWatchResults": {
17314           "type": "object",
17315           "properties": {
17316             "results": {
17317               "type": "array",
17318               "items": {
17319                 "$ref": "#/definitions/StringsWatchResult"
17320               }
17321             }
17322           },
17323           "additionalProperties": false,
17324           "required": [
17325             "results"
17326           ]
17327         },
17328         "Volume": {
17329           "type": "object",
17330           "properties": {
17331             "info": {
17332               "$ref": "#/definitions/VolumeInfo"
17333             },
17334             "volume-tag": {
17335               "type": "string"
17336             }
17337           },
17338           "additionalProperties": false,
17339           "required": [
17340             "volume-tag",
17341             "info"
17342           ]
17343         },
17344         "VolumeAttachment": {
17345           "type": "object",
17346           "properties": {
17347             "info": {
17348               "$ref": "#/definitions/VolumeAttachmentInfo"
17349             },
17350             "machine-tag": {
17351               "type": "string"
17352             },
17353             "volume-tag": {
17354               "type": "string"
17355             }
17356           },
17357           "additionalProperties": false,
17358           "required": [
17359             "volume-tag",
17360             "machine-tag",
17361             "info"
17362           ]
17363         },
17364         "VolumeAttachmentInfo": {
17365           "type": "object",
17366           "properties": {
17367             "bus-address": {
17368               "type": "string"
17369             },
17370             "device-link": {
17371               "type": "string"
17372             },
17373             "device-name": {
17374               "type": "string"
17375             },
17376             "read-only": {
17377               "type": "boolean"
17378             }
17379           },
17380           "additionalProperties": false
17381         },
17382         "VolumeAttachmentParams": {
17383           "type": "object",
17384           "properties": {
17385             "instance-id": {
17386               "type": "string"
17387             },
17388             "machine-tag": {
17389               "type": "string"
17390             },
17391             "provider": {
17392               "type": "string"
17393             },
17394             "read-only": {
17395               "type": "boolean"
17396             },
17397             "volume-id": {
17398               "type": "string"
17399             },
17400             "volume-tag": {
17401               "type": "string"
17402             }
17403           },
17404           "additionalProperties": false,
17405           "required": [
17406             "volume-tag",
17407             "machine-tag",
17408             "provider"
17409           ]
17410         },
17411         "VolumeAttachmentParamsResult": {
17412           "type": "object",
17413           "properties": {
17414             "error": {
17415               "$ref": "#/definitions/Error"
17416             },
17417             "result": {
17418               "$ref": "#/definitions/VolumeAttachmentParams"
17419             }
17420           },
17421           "additionalProperties": false,
17422           "required": [
17423             "result"
17424           ]
17425         },
17426         "VolumeAttachmentParamsResults": {
17427           "type": "object",
17428           "properties": {
17429             "results": {
17430               "type": "array",
17431               "items": {
17432                 "$ref": "#/definitions/VolumeAttachmentParamsResult"
17433               }
17434             }
17435           },
17436           "additionalProperties": false
17437         },
17438         "VolumeAttachmentResult": {
17439           "type": "object",
17440           "properties": {
17441             "error": {
17442               "$ref": "#/definitions/Error"
17443             },
17444             "result": {
17445               "$ref": "#/definitions/VolumeAttachment"
17446             }
17447           },
17448           "additionalProperties": false,
17449           "required": [
17450             "result"
17451           ]
17452         },
17453         "VolumeAttachmentResults": {
17454           "type": "object",
17455           "properties": {
17456             "results": {
17457               "type": "array",
17458               "items": {
17459                 "$ref": "#/definitions/VolumeAttachmentResult"
17460               }
17461             }
17462           },
17463           "additionalProperties": false
17464         },
17465         "VolumeAttachments": {
17466           "type": "object",
17467           "properties": {
17468             "volume-attachments": {
17469               "type": "array",
17470               "items": {
17471                 "$ref": "#/definitions/VolumeAttachment"
17472               }
17473             }
17474           },
17475           "additionalProperties": false,
17476           "required": [
17477             "volume-attachments"
17478           ]
17479         },
17480         "VolumeInfo": {
17481           "type": "object",
17482           "properties": {
17483             "hardware-id": {
17484               "type": "string"
17485             },
17486             "persistent": {
17487               "type": "boolean"
17488             },
17489             "size": {
17490               "type": "integer"
17491             },
17492             "volume-id": {
17493               "type": "string"
17494             }
17495           },
17496           "additionalProperties": false,
17497           "required": [
17498             "volume-id",
17499             "size",
17500             "persistent"
17501           ]
17502         },
17503         "VolumeParams": {
17504           "type": "object",
17505           "properties": {
17506             "attachment": {
17507               "$ref": "#/definitions/VolumeAttachmentParams"
17508             },
17509             "attributes": {
17510               "type": "object",
17511               "patternProperties": {
17512                 ".*": {
17513                   "type": "object",
17514                   "additionalProperties": true
17515                 }
17516               }
17517             },
17518             "provider": {
17519               "type": "string"
17520             },
17521             "size": {
17522               "type": "integer"
17523             },
17524             "tags": {
17525               "type": "object",
17526               "patternProperties": {
17527                 ".*": {
17528                   "type": "string"
17529                 }
17530               }
17531             },
17532             "volume-tag": {
17533               "type": "string"
17534             }
17535           },
17536           "additionalProperties": false,
17537           "required": [
17538             "volume-tag",
17539             "size",
17540             "provider"
17541           ]
17542         },
17543         "VolumeParamsResult": {
17544           "type": "object",
17545           "properties": {
17546             "error": {
17547               "$ref": "#/definitions/Error"
17548             },
17549             "result": {
17550               "$ref": "#/definitions/VolumeParams"
17551             }
17552           },
17553           "additionalProperties": false,
17554           "required": [
17555             "result"
17556           ]
17557         },
17558         "VolumeParamsResults": {
17559           "type": "object",
17560           "properties": {
17561             "results": {
17562               "type": "array",
17563               "items": {
17564                 "$ref": "#/definitions/VolumeParamsResult"
17565               }
17566             }
17567           },
17568           "additionalProperties": false
17569         },
17570         "VolumeResult": {
17571           "type": "object",
17572           "properties": {
17573             "error": {
17574               "$ref": "#/definitions/Error"
17575             },
17576             "result": {
17577               "$ref": "#/definitions/Volume"
17578             }
17579           },
17580           "additionalProperties": false,
17581           "required": [
17582             "result"
17583           ]
17584         },
17585         "VolumeResults": {
17586           "type": "object",
17587           "properties": {
17588             "results": {
17589               "type": "array",
17590               "items": {
17591                 "$ref": "#/definitions/VolumeResult"
17592               }
17593             }
17594           },
17595           "additionalProperties": false
17596         },
17597         "Volumes": {
17598           "type": "object",
17599           "properties": {
17600             "volumes": {
17601               "type": "array",
17602               "items": {
17603                 "$ref": "#/definitions/Volume"
17604               }
17605             }
17606           },
17607           "additionalProperties": false,
17608           "required": [
17609             "volumes"
17610           ]
17611         }
17612       }
17613     }
17614   },
17615   {
17616     "Name": "StringsWatcher",
17617     "Version": 1,
17618     "Schema": {
17619       "type": "object",
17620       "properties": {
17621         "Next": {
17622           "type": "object",
17623           "properties": {
17624             "Result": {
17625               "$ref": "#/definitions/StringsWatchResult"
17626             }
17627           }
17628         },
17629         "Stop": {
17630           "type": "object"
17631         }
17632       },
17633       "definitions": {
17634         "Error": {
17635           "type": "object",
17636           "properties": {
17637             "code": {
17638               "type": "string"
17639             },
17640             "info": {
17641               "$ref": "#/definitions/ErrorInfo"
17642             },
17643             "message": {
17644               "type": "string"
17645             }
17646           },
17647           "additionalProperties": false,
17648           "required": [
17649             "message",
17650             "code"
17651           ]
17652         },
17653         "ErrorInfo": {
17654           "type": "object",
17655           "properties": {
17656             "macaroon": {
17657               "$ref": "#/definitions/Macaroon"
17658             },
17659             "macaroon-path": {
17660               "type": "string"
17661             }
17662           },
17663           "additionalProperties": false
17664         },
17665         "Macaroon": {
17666           "type": "object",
17667           "additionalProperties": false
17668         },
17669         "StringsWatchResult": {
17670           "type": "object",
17671           "properties": {
17672             "changes": {
17673               "type": "array",
17674               "items": {
17675                 "type": "string"
17676               }
17677             },
17678             "error": {
17679               "$ref": "#/definitions/Error"
17680             },
17681             "watcher-id": {
17682               "type": "string"
17683             }
17684           },
17685           "additionalProperties": false,
17686           "required": [
17687             "watcher-id"
17688           ]
17689         }
17690       }
17691     }
17692   },
17693   {
17694     "Name": "Subnets",
17695     "Version": 2,
17696     "Schema": {
17697       "type": "object",
17698       "properties": {
17699         "AddSubnets": {
17700           "type": "object",
17701           "properties": {
17702             "Params": {
17703               "$ref": "#/definitions/AddSubnetsParams"
17704             },
17705             "Result": {
17706               "$ref": "#/definitions/ErrorResults"
17707             }
17708           }
17709         },
17710         "AllSpaces": {
17711           "type": "object",
17712           "properties": {
17713             "Result": {
17714               "$ref": "#/definitions/SpaceResults"
17715             }
17716           }
17717         },
17718         "AllZones": {
17719           "type": "object",
17720           "properties": {
17721             "Result": {
17722               "$ref": "#/definitions/ZoneResults"
17723             }
17724           }
17725         },
17726         "ListSubnets": {
17727           "type": "object",
17728           "properties": {
17729             "Params": {
17730               "$ref": "#/definitions/SubnetsFilters"
17731             },
17732             "Result": {
17733               "$ref": "#/definitions/ListSubnetsResults"
17734             }
17735           }
17736         }
17737       },
17738       "definitions": {
17739         "AddSubnetParams": {
17740           "type": "object",
17741           "properties": {
17742             "space-tag": {
17743               "type": "string"
17744             },
17745             "subnet-provider-id": {
17746               "type": "string"
17747             },
17748             "subnet-tag": {
17749               "type": "string"
17750             },
17751             "zones": {
17752               "type": "array",
17753               "items": {
17754                 "type": "string"
17755               }
17756             }
17757           },
17758           "additionalProperties": false,
17759           "required": [
17760             "space-tag"
17761           ]
17762         },
17763         "AddSubnetsParams": {
17764           "type": "object",
17765           "properties": {
17766             "subnets": {
17767               "type": "array",
17768               "items": {
17769                 "$ref": "#/definitions/AddSubnetParams"
17770               }
17771             }
17772           },
17773           "additionalProperties": false,
17774           "required": [
17775             "subnets"
17776           ]
17777         },
17778         "Error": {
17779           "type": "object",
17780           "properties": {
17781             "code": {
17782               "type": "string"
17783             },
17784             "info": {
17785               "$ref": "#/definitions/ErrorInfo"
17786             },
17787             "message": {
17788               "type": "string"
17789             }
17790           },
17791           "additionalProperties": false,
17792           "required": [
17793             "message",
17794             "code"
17795           ]
17796         },
17797         "ErrorInfo": {
17798           "type": "object",
17799           "properties": {
17800             "macaroon": {
17801               "$ref": "#/definitions/Macaroon"
17802             },
17803             "macaroon-path": {
17804               "type": "string"
17805             }
17806           },
17807           "additionalProperties": false
17808         },
17809         "ErrorResult": {
17810           "type": "object",
17811           "properties": {
17812             "error": {
17813               "$ref": "#/definitions/Error"
17814             }
17815           },
17816           "additionalProperties": false
17817         },
17818         "ErrorResults": {
17819           "type": "object",
17820           "properties": {
17821             "results": {
17822               "type": "array",
17823               "items": {
17824                 "$ref": "#/definitions/ErrorResult"
17825               }
17826             }
17827           },
17828           "additionalProperties": false,
17829           "required": [
17830             "results"
17831           ]
17832         },
17833         "ListSubnetsResults": {
17834           "type": "object",
17835           "properties": {
17836             "results": {
17837               "type": "array",
17838               "items": {
17839                 "$ref": "#/definitions/Subnet"
17840               }
17841             }
17842           },
17843           "additionalProperties": false,
17844           "required": [
17845             "results"
17846           ]
17847         },
17848         "Macaroon": {
17849           "type": "object",
17850           "additionalProperties": false
17851         },
17852         "SpaceResult": {
17853           "type": "object",
17854           "properties": {
17855             "error": {
17856               "$ref": "#/definitions/Error"
17857             },
17858             "tag": {
17859               "type": "string"
17860             }
17861           },
17862           "additionalProperties": false,
17863           "required": [
17864             "tag"
17865           ]
17866         },
17867         "SpaceResults": {
17868           "type": "object",
17869           "properties": {
17870             "results": {
17871               "type": "array",
17872               "items": {
17873                 "$ref": "#/definitions/SpaceResult"
17874               }
17875             }
17876           },
17877           "additionalProperties": false,
17878           "required": [
17879             "results"
17880           ]
17881         },
17882         "Subnet": {
17883           "type": "object",
17884           "properties": {
17885             "cidr": {
17886               "type": "string"
17887             },
17888             "life": {
17889               "type": "string"
17890             },
17891             "provider-id": {
17892               "type": "string"
17893             },
17894             "space-tag": {
17895               "type": "string"
17896             },
17897             "status": {
17898               "type": "string"
17899             },
17900             "vlan-tag": {
17901               "type": "integer"
17902             },
17903             "zones": {
17904               "type": "array",
17905               "items": {
17906                 "type": "string"
17907               }
17908             }
17909           },
17910           "additionalProperties": false,
17911           "required": [
17912             "cidr",
17913             "vlan-tag",
17914             "life",
17915             "space-tag",
17916             "zones"
17917           ]
17918         },
17919         "SubnetsFilters": {
17920           "type": "object",
17921           "properties": {
17922             "space-tag": {
17923               "type": "string"
17924             },
17925             "zone": {
17926               "type": "string"
17927             }
17928           },
17929           "additionalProperties": false
17930         },
17931         "ZoneResult": {
17932           "type": "object",
17933           "properties": {
17934             "available": {
17935               "type": "boolean"
17936             },
17937             "error": {
17938               "$ref": "#/definitions/Error"
17939             },
17940             "name": {
17941               "type": "string"
17942             }
17943           },
17944           "additionalProperties": false,
17945           "required": [
17946             "name",
17947             "available"
17948           ]
17949         },
17950         "ZoneResults": {
17951           "type": "object",
17952           "properties": {
17953             "results": {
17954               "type": "array",
17955               "items": {
17956                 "$ref": "#/definitions/ZoneResult"
17957               }
17958             }
17959           },
17960           "additionalProperties": false,
17961           "required": [
17962             "results"
17963           ]
17964         }
17965       }
17966     }
17967   },
17968   {
17969     "Name": "Undertaker",
17970     "Version": 1,
17971     "Schema": {
17972       "type": "object",
17973       "properties": {
17974         "ModelConfig": {
17975           "type": "object",
17976           "properties": {
17977             "Result": {
17978               "$ref": "#/definitions/ModelConfigResult"
17979             }
17980           }
17981         },
17982         "ModelInfo": {
17983           "type": "object",
17984           "properties": {
17985             "Result": {
17986               "$ref": "#/definitions/UndertakerModelInfoResult"
17987             }
17988           }
17989         },
17990         "ProcessDyingModel": {
17991           "type": "object"
17992         },
17993         "RemoveModel": {
17994           "type": "object"
17995         },
17996         "SetStatus": {
17997           "type": "object",
17998           "properties": {
17999             "Params": {
18000               "$ref": "#/definitions/SetStatus"
18001             },
18002             "Result": {
18003               "$ref": "#/definitions/ErrorResults"
18004             }
18005           }
18006         },
18007         "UpdateStatus": {
18008           "type": "object",
18009           "properties": {
18010             "Params": {
18011               "$ref": "#/definitions/SetStatus"
18012             },
18013             "Result": {
18014               "$ref": "#/definitions/ErrorResults"
18015             }
18016           }
18017         },
18018         "WatchModelResources": {
18019           "type": "object",
18020           "properties": {
18021             "Result": {
18022               "$ref": "#/definitions/NotifyWatchResults"
18023             }
18024           }
18025         }
18026       },
18027       "definitions": {
18028         "EntityStatusArgs": {
18029           "type": "object",
18030           "properties": {
18031             "data": {
18032               "type": "object",
18033               "patternProperties": {
18034                 ".*": {
18035                   "type": "object",
18036                   "additionalProperties": true
18037                 }
18038               }
18039             },
18040             "info": {
18041               "type": "string"
18042             },
18043             "status": {
18044               "type": "string"
18045             },
18046             "tag": {
18047               "type": "string"
18048             }
18049           },
18050           "additionalProperties": false,
18051           "required": [
18052             "tag",
18053             "status",
18054             "info",
18055             "data"
18056           ]
18057         },
18058         "Error": {
18059           "type": "object",
18060           "properties": {
18061             "code": {
18062               "type": "string"
18063             },
18064             "info": {
18065               "$ref": "#/definitions/ErrorInfo"
18066             },
18067             "message": {
18068               "type": "string"
18069             }
18070           },
18071           "additionalProperties": false,
18072           "required": [
18073             "message",
18074             "code"
18075           ]
18076         },
18077         "ErrorInfo": {
18078           "type": "object",
18079           "properties": {
18080             "macaroon": {
18081               "$ref": "#/definitions/Macaroon"
18082             },
18083             "macaroon-path": {
18084               "type": "string"
18085             }
18086           },
18087           "additionalProperties": false
18088         },
18089         "ErrorResult": {
18090           "type": "object",
18091           "properties": {
18092             "error": {
18093               "$ref": "#/definitions/Error"
18094             }
18095           },
18096           "additionalProperties": false
18097         },
18098         "ErrorResults": {
18099           "type": "object",
18100           "properties": {
18101             "results": {
18102               "type": "array",
18103               "items": {
18104                 "$ref": "#/definitions/ErrorResult"
18105               }
18106             }
18107           },
18108           "additionalProperties": false,
18109           "required": [
18110             "results"
18111           ]
18112         },
18113         "Macaroon": {
18114           "type": "object",
18115           "additionalProperties": false
18116         },
18117         "ModelConfigResult": {
18118           "type": "object",
18119           "properties": {
18120             "config": {
18121               "type": "object",
18122               "patternProperties": {
18123                 ".*": {
18124                   "type": "object",
18125                   "additionalProperties": true
18126                 }
18127               }
18128             }
18129           },
18130           "additionalProperties": false,
18131           "required": [
18132             "config"
18133           ]
18134         },
18135         "NotifyWatchResult": {
18136           "type": "object",
18137           "properties": {
18138             "NotifyWatcherId": {
18139               "type": "string"
18140             },
18141             "error": {
18142               "$ref": "#/definitions/Error"
18143             }
18144           },
18145           "additionalProperties": false,
18146           "required": [
18147             "NotifyWatcherId"
18148           ]
18149         },
18150         "NotifyWatchResults": {
18151           "type": "object",
18152           "properties": {
18153             "results": {
18154               "type": "array",
18155               "items": {
18156                 "$ref": "#/definitions/NotifyWatchResult"
18157               }
18158             }
18159           },
18160           "additionalProperties": false,
18161           "required": [
18162             "results"
18163           ]
18164         },
18165         "SetStatus": {
18166           "type": "object",
18167           "properties": {
18168             "entities": {
18169               "type": "array",
18170               "items": {
18171                 "$ref": "#/definitions/EntityStatusArgs"
18172               }
18173             }
18174           },
18175           "additionalProperties": false,
18176           "required": [
18177             "entities"
18178           ]
18179         },
18180         "UndertakerModelInfo": {
18181           "type": "object",
18182           "properties": {
18183             "global-name": {
18184               "type": "string"
18185             },
18186             "is-system": {
18187               "type": "boolean"
18188             },
18189             "life": {
18190               "type": "string"
18191             },
18192             "name": {
18193               "type": "string"
18194             },
18195             "uuid": {
18196               "type": "string"
18197             }
18198           },
18199           "additionalProperties": false,
18200           "required": [
18201             "uuid",
18202             "name",
18203             "global-name",
18204             "is-system",
18205             "life"
18206           ]
18207         },
18208         "UndertakerModelInfoResult": {
18209           "type": "object",
18210           "properties": {
18211             "error": {
18212               "$ref": "#/definitions/Error"
18213             },
18214             "result": {
18215               "$ref": "#/definitions/UndertakerModelInfo"
18216             }
18217           },
18218           "additionalProperties": false,
18219           "required": [
18220             "result"
18221           ]
18222         }
18223       }
18224     }
18225   },
18226   {
18227     "Name": "UnitAssigner",
18228     "Version": 1,
18229     "Schema": {
18230       "type": "object",
18231       "properties": {
18232         "AssignUnits": {
18233           "type": "object",
18234           "properties": {
18235             "Params": {
18236               "$ref": "#/definitions/Entities"
18237             },
18238             "Result": {
18239               "$ref": "#/definitions/ErrorResults"
18240             }
18241           }
18242         },
18243         "SetAgentStatus": {
18244           "type": "object",
18245           "properties": {
18246             "Params": {
18247               "$ref": "#/definitions/SetStatus"
18248             },
18249             "Result": {
18250               "$ref": "#/definitions/ErrorResults"
18251             }
18252           }
18253         },
18254         "WatchUnitAssignments": {
18255           "type": "object",
18256           "properties": {
18257             "Result": {
18258               "$ref": "#/definitions/StringsWatchResult"
18259             }
18260           }
18261         }
18262       },
18263       "definitions": {
18264         "Entities": {
18265           "type": "object",
18266           "properties": {
18267             "entities": {
18268               "type": "array",
18269               "items": {
18270                 "$ref": "#/definitions/Entity"
18271               }
18272             }
18273           },
18274           "additionalProperties": false,
18275           "required": [
18276             "entities"
18277           ]
18278         },
18279         "Entity": {
18280           "type": "object",
18281           "properties": {
18282             "tag": {
18283               "type": "string"
18284             }
18285           },
18286           "additionalProperties": false,
18287           "required": [
18288             "tag"
18289           ]
18290         },
18291         "EntityStatusArgs": {
18292           "type": "object",
18293           "properties": {
18294             "data": {
18295               "type": "object",
18296               "patternProperties": {
18297                 ".*": {
18298                   "type": "object",
18299                   "additionalProperties": true
18300                 }
18301               }
18302             },
18303             "info": {
18304               "type": "string"
18305             },
18306             "status": {
18307               "type": "string"
18308             },
18309             "tag": {
18310               "type": "string"
18311             }
18312           },
18313           "additionalProperties": false,
18314           "required": [
18315             "tag",
18316             "status",
18317             "info",
18318             "data"
18319           ]
18320         },
18321         "Error": {
18322           "type": "object",
18323           "properties": {
18324             "code": {
18325               "type": "string"
18326             },
18327             "info": {
18328               "$ref": "#/definitions/ErrorInfo"
18329             },
18330             "message": {
18331               "type": "string"
18332             }
18333           },
18334           "additionalProperties": false,
18335           "required": [
18336             "message",
18337             "code"
18338           ]
18339         },
18340         "ErrorInfo": {
18341           "type": "object",
18342           "properties": {
18343             "macaroon": {
18344               "$ref": "#/definitions/Macaroon"
18345             },
18346             "macaroon-path": {
18347               "type": "string"
18348             }
18349           },
18350           "additionalProperties": false
18351         },
18352         "ErrorResult": {
18353           "type": "object",
18354           "properties": {
18355             "error": {
18356               "$ref": "#/definitions/Error"
18357             }
18358           },
18359           "additionalProperties": false
18360         },
18361         "ErrorResults": {
18362           "type": "object",
18363           "properties": {
18364             "results": {
18365               "type": "array",
18366               "items": {
18367                 "$ref": "#/definitions/ErrorResult"
18368               }
18369             }
18370           },
18371           "additionalProperties": false,
18372           "required": [
18373             "results"
18374           ]
18375         },
18376         "Macaroon": {
18377           "type": "object",
18378           "additionalProperties": false
18379         },
18380         "SetStatus": {
18381           "type": "object",
18382           "properties": {
18383             "entities": {
18384               "type": "array",
18385               "items": {
18386                 "$ref": "#/definitions/EntityStatusArgs"
18387               }
18388             }
18389           },
18390           "additionalProperties": false,
18391           "required": [
18392             "entities"
18393           ]
18394         },
18395         "StringsWatchResult": {
18396           "type": "object",
18397           "properties": {
18398             "changes": {
18399               "type": "array",
18400               "items": {
18401                 "type": "string"
18402               }
18403             },
18404             "error": {
18405               "$ref": "#/definitions/Error"
18406             },
18407             "watcher-id": {
18408               "type": "string"
18409             }
18410           },
18411           "additionalProperties": false,
18412           "required": [
18413             "watcher-id"
18414           ]
18415         }
18416       }
18417     }
18418   },
18419   {
18420     "Name": "Uniter",
18421     "Version": 4,
18422     "Schema": {
18423       "type": "object",
18424       "properties": {
18425         "APIAddresses": {
18426           "type": "object",
18427           "properties": {
18428             "Result": {
18429               "$ref": "#/definitions/StringsResult"
18430             }
18431           }
18432         },
18433         "APIHostPorts": {
18434           "type": "object",
18435           "properties": {
18436             "Result": {
18437               "$ref": "#/definitions/APIHostPortsResult"
18438             }
18439           }
18440         },
18441         "Actions": {
18442           "type": "object",
18443           "properties": {
18444             "Params": {
18445               "$ref": "#/definitions/Entities"
18446             },
18447             "Result": {
18448               "$ref": "#/definitions/ActionResults"
18449             }
18450           }
18451         },
18452         "AddMetricBatches": {
18453           "type": "object",
18454           "properties": {
18455             "Params": {
18456               "$ref": "#/definitions/MetricBatchParams"
18457             },
18458             "Result": {
18459               "$ref": "#/definitions/ErrorResults"
18460             }
18461           }
18462         },
18463         "AddUnitStorage": {
18464           "type": "object",
18465           "properties": {
18466             "Params": {
18467               "$ref": "#/definitions/StoragesAddParams"
18468             },
18469             "Result": {
18470               "$ref": "#/definitions/ErrorResults"
18471             }
18472           }
18473         },
18474         "AllMachinePorts": {
18475           "type": "object",
18476           "properties": {
18477             "Params": {
18478               "$ref": "#/definitions/Entities"
18479             },
18480             "Result": {
18481               "$ref": "#/definitions/MachinePortsResults"
18482             }
18483           }
18484         },
18485         "ApplicationStatus": {
18486           "type": "object",
18487           "properties": {
18488             "Params": {
18489               "$ref": "#/definitions/Entities"
18490             },
18491             "Result": {
18492               "$ref": "#/definitions/ApplicationStatusResults"
18493             }
18494           }
18495         },
18496         "AssignedMachine": {
18497           "type": "object",
18498           "properties": {
18499             "Params": {
18500               "$ref": "#/definitions/Entities"
18501             },
18502             "Result": {
18503               "$ref": "#/definitions/StringResults"
18504             }
18505           }
18506         },
18507         "AvailabilityZone": {
18508           "type": "object",
18509           "properties": {
18510             "Params": {
18511               "$ref": "#/definitions/Entities"
18512             },
18513             "Result": {
18514               "$ref": "#/definitions/StringResults"
18515             }
18516           }
18517         },
18518         "BeginActions": {
18519           "type": "object",
18520           "properties": {
18521             "Params": {
18522               "$ref": "#/definitions/Entities"
18523             },
18524             "Result": {
18525               "$ref": "#/definitions/ErrorResults"
18526             }
18527           }
18528         },
18529         "CACert": {
18530           "type": "object",
18531           "properties": {
18532             "Result": {
18533               "$ref": "#/definitions/BytesResult"
18534             }
18535           }
18536         },
18537         "CharmArchiveSha256": {
18538           "type": "object",
18539           "properties": {
18540             "Params": {
18541               "$ref": "#/definitions/CharmURLs"
18542             },
18543             "Result": {
18544               "$ref": "#/definitions/StringResults"
18545             }
18546           }
18547         },
18548         "CharmModifiedVersion": {
18549           "type": "object",
18550           "properties": {
18551             "Params": {
18552               "$ref": "#/definitions/Entities"
18553             },
18554             "Result": {
18555               "$ref": "#/definitions/IntResults"
18556             }
18557           }
18558         },
18559         "CharmURL": {
18560           "type": "object",
18561           "properties": {
18562             "Params": {
18563               "$ref": "#/definitions/Entities"
18564             },
18565             "Result": {
18566               "$ref": "#/definitions/StringBoolResults"
18567             }
18568           }
18569         },
18570         "ClearResolved": {
18571           "type": "object",
18572           "properties": {
18573             "Params": {
18574               "$ref": "#/definitions/Entities"
18575             },
18576             "Result": {
18577               "$ref": "#/definitions/ErrorResults"
18578             }
18579           }
18580         },
18581         "ClosePorts": {
18582           "type": "object",
18583           "properties": {
18584             "Params": {
18585               "$ref": "#/definitions/EntitiesPortRanges"
18586             },
18587             "Result": {
18588               "$ref": "#/definitions/ErrorResults"
18589             }
18590           }
18591         },
18592         "ConfigSettings": {
18593           "type": "object",
18594           "properties": {
18595             "Params": {
18596               "$ref": "#/definitions/Entities"
18597             },
18598             "Result": {
18599               "$ref": "#/definitions/ConfigSettingsResults"
18600             }
18601           }
18602         },
18603         "CurrentModel": {
18604           "type": "object",
18605           "properties": {
18606             "Result": {
18607               "$ref": "#/definitions/ModelResult"
18608             }
18609           }
18610         },
18611         "Destroy": {
18612           "type": "object",
18613           "properties": {
18614             "Params": {
18615               "$ref": "#/definitions/Entities"
18616             },
18617             "Result": {
18618               "$ref": "#/definitions/ErrorResults"
18619             }
18620           }
18621         },
18622         "DestroyAllSubordinates": {
18623           "type": "object",
18624           "properties": {
18625             "Params": {
18626               "$ref": "#/definitions/Entities"
18627             },
18628             "Result": {
18629               "$ref": "#/definitions/ErrorResults"
18630             }
18631           }
18632         },
18633         "DestroyUnitStorageAttachments": {
18634           "type": "object",
18635           "properties": {
18636             "Params": {
18637               "$ref": "#/definitions/Entities"
18638             },
18639             "Result": {
18640               "$ref": "#/definitions/ErrorResults"
18641             }
18642           }
18643         },
18644         "EnsureDead": {
18645           "type": "object",
18646           "properties": {
18647             "Params": {
18648               "$ref": "#/definitions/Entities"
18649             },
18650             "Result": {
18651               "$ref": "#/definitions/ErrorResults"
18652             }
18653           }
18654         },
18655         "EnterScope": {
18656           "type": "object",
18657           "properties": {
18658             "Params": {
18659               "$ref": "#/definitions/RelationUnits"
18660             },
18661             "Result": {
18662               "$ref": "#/definitions/ErrorResults"
18663             }
18664           }
18665         },
18666         "FinishActions": {
18667           "type": "object",
18668           "properties": {
18669             "Params": {
18670               "$ref": "#/definitions/ActionExecutionResults"
18671             },
18672             "Result": {
18673               "$ref": "#/definitions/ErrorResults"
18674             }
18675           }
18676         },
18677         "GetMeterStatus": {
18678           "type": "object",
18679           "properties": {
18680             "Params": {
18681               "$ref": "#/definitions/Entities"
18682             },
18683             "Result": {
18684               "$ref": "#/definitions/MeterStatusResults"
18685             }
18686           }
18687         },
18688         "GetPrincipal": {
18689           "type": "object",
18690           "properties": {
18691             "Params": {
18692               "$ref": "#/definitions/Entities"
18693             },
18694             "Result": {
18695               "$ref": "#/definitions/StringBoolResults"
18696             }
18697           }
18698         },
18699         "HasSubordinates": {
18700           "type": "object",
18701           "properties": {
18702             "Params": {
18703               "$ref": "#/definitions/Entities"
18704             },
18705             "Result": {
18706               "$ref": "#/definitions/BoolResults"
18707             }
18708           }
18709         },
18710         "JoinedRelations": {
18711           "type": "object",
18712           "properties": {
18713             "Params": {
18714               "$ref": "#/definitions/Entities"
18715             },
18716             "Result": {
18717               "$ref": "#/definitions/StringsResults"
18718             }
18719           }
18720         },
18721         "LeaveScope": {
18722           "type": "object",
18723           "properties": {
18724             "Params": {
18725               "$ref": "#/definitions/RelationUnits"
18726             },
18727             "Result": {
18728               "$ref": "#/definitions/ErrorResults"
18729             }
18730           }
18731         },
18732         "Life": {
18733           "type": "object",
18734           "properties": {
18735             "Params": {
18736               "$ref": "#/definitions/Entities"
18737             },
18738             "Result": {
18739               "$ref": "#/definitions/LifeResults"
18740             }
18741           }
18742         },
18743         "Merge": {
18744           "type": "object",
18745           "properties": {
18746             "Params": {
18747               "$ref": "#/definitions/MergeLeadershipSettingsBulkParams"
18748             },
18749             "Result": {
18750               "$ref": "#/definitions/ErrorResults"
18751             }
18752           }
18753         },
18754         "ModelConfig": {
18755           "type": "object",
18756           "properties": {
18757             "Result": {
18758               "$ref": "#/definitions/ModelConfigResult"
18759             }
18760           }
18761         },
18762         "ModelUUID": {
18763           "type": "object",
18764           "properties": {
18765             "Result": {
18766               "$ref": "#/definitions/StringResult"
18767             }
18768           }
18769         },
18770         "NetworkConfig": {
18771           "type": "object",
18772           "properties": {
18773             "Params": {
18774               "$ref": "#/definitions/UnitsNetworkConfig"
18775             },
18776             "Result": {
18777               "$ref": "#/definitions/UnitNetworkConfigResults"
18778             }
18779           }
18780         },
18781         "OpenPorts": {
18782           "type": "object",
18783           "properties": {
18784             "Params": {
18785               "$ref": "#/definitions/EntitiesPortRanges"
18786             },
18787             "Result": {
18788               "$ref": "#/definitions/ErrorResults"
18789             }
18790           }
18791         },
18792         "PrivateAddress": {
18793           "type": "object",
18794           "properties": {
18795             "Params": {
18796               "$ref": "#/definitions/Entities"
18797             },
18798             "Result": {
18799               "$ref": "#/definitions/StringResults"
18800             }
18801           }
18802         },
18803         "ProviderType": {
18804           "type": "object",
18805           "properties": {
18806             "Result": {
18807               "$ref": "#/definitions/StringResult"
18808             }
18809           }
18810         },
18811         "PublicAddress": {
18812           "type": "object",
18813           "properties": {
18814             "Params": {
18815               "$ref": "#/definitions/Entities"
18816             },
18817             "Result": {
18818               "$ref": "#/definitions/StringResults"
18819             }
18820           }
18821         },
18822         "Read": {
18823           "type": "object",
18824           "properties": {
18825             "Params": {
18826               "$ref": "#/definitions/Entities"
18827             },
18828             "Result": {
18829               "$ref": "#/definitions/GetLeadershipSettingsBulkResults"
18830             }
18831           }
18832         },
18833         "ReadRemoteSettings": {
18834           "type": "object",
18835           "properties": {
18836             "Params": {
18837               "$ref": "#/definitions/RelationUnitPairs"
18838             },
18839             "Result": {
18840               "$ref": "#/definitions/SettingsResults"
18841             }
18842           }
18843         },
18844         "ReadSettings": {
18845           "type": "object",
18846           "properties": {
18847             "Params": {
18848               "$ref": "#/definitions/RelationUnits"
18849             },
18850             "Result": {
18851               "$ref": "#/definitions/SettingsResults"
18852             }
18853           }
18854         },
18855         "Relation": {
18856           "type": "object",
18857           "properties": {
18858             "Params": {
18859               "$ref": "#/definitions/RelationUnits"
18860             },
18861             "Result": {
18862               "$ref": "#/definitions/RelationResults"
18863             }
18864           }
18865         },
18866         "RelationById": {
18867           "type": "object",
18868           "properties": {
18869             "Params": {
18870               "$ref": "#/definitions/RelationIds"
18871             },
18872             "Result": {
18873               "$ref": "#/definitions/RelationResults"
18874             }
18875           }
18876         },
18877         "RemoveStorageAttachments": {
18878           "type": "object",
18879           "properties": {
18880             "Params": {
18881               "$ref": "#/definitions/StorageAttachmentIds"
18882             },
18883             "Result": {
18884               "$ref": "#/definitions/ErrorResults"
18885             }
18886           }
18887         },
18888         "RequestReboot": {
18889           "type": "object",
18890           "properties": {
18891             "Params": {
18892               "$ref": "#/definitions/Entities"
18893             },
18894             "Result": {
18895               "$ref": "#/definitions/ErrorResults"
18896             }
18897           }
18898         },
18899         "Resolved": {
18900           "type": "object",
18901           "properties": {
18902             "Params": {
18903               "$ref": "#/definitions/Entities"
18904             },
18905             "Result": {
18906               "$ref": "#/definitions/ResolvedModeResults"
18907             }
18908           }
18909         },
18910         "SetAgentStatus": {
18911           "type": "object",
18912           "properties": {
18913             "Params": {
18914               "$ref": "#/definitions/SetStatus"
18915             },
18916             "Result": {
18917               "$ref": "#/definitions/ErrorResults"
18918             }
18919           }
18920         },
18921         "SetApplicationStatus": {
18922           "type": "object",
18923           "properties": {
18924             "Params": {
18925               "$ref": "#/definitions/SetStatus"
18926             },
18927             "Result": {
18928               "$ref": "#/definitions/ErrorResults"
18929             }
18930           }
18931         },
18932         "SetCharmURL": {
18933           "type": "object",
18934           "properties": {
18935             "Params": {
18936               "$ref": "#/definitions/EntitiesCharmURL"
18937             },
18938             "Result": {
18939               "$ref": "#/definitions/ErrorResults"
18940             }
18941           }
18942         },
18943         "SetStatus": {
18944           "type": "object",
18945           "properties": {
18946             "Params": {
18947               "$ref": "#/definitions/SetStatus"
18948             },
18949             "Result": {
18950               "$ref": "#/definitions/ErrorResults"
18951             }
18952           }
18953         },
18954         "SetUnitStatus": {
18955           "type": "object",
18956           "properties": {
18957             "Params": {
18958               "$ref": "#/definitions/SetStatus"
18959             },
18960             "Result": {
18961               "$ref": "#/definitions/ErrorResults"
18962             }
18963           }
18964         },
18965         "SetWorkloadVersion": {
18966           "type": "object",
18967           "properties": {
18968             "Params": {
18969               "$ref": "#/definitions/EntityWorkloadVersions"
18970             },
18971             "Result": {
18972               "$ref": "#/definitions/ErrorResults"
18973             }
18974           }
18975         },
18976         "StorageAttachmentLife": {
18977           "type": "object",
18978           "properties": {
18979             "Params": {
18980               "$ref": "#/definitions/StorageAttachmentIds"
18981             },
18982             "Result": {
18983               "$ref": "#/definitions/LifeResults"
18984             }
18985           }
18986         },
18987         "StorageAttachments": {
18988           "type": "object",
18989           "properties": {
18990             "Params": {
18991               "$ref": "#/definitions/StorageAttachmentIds"
18992             },
18993             "Result": {
18994               "$ref": "#/definitions/StorageAttachmentResults"
18995             }
18996           }
18997         },
18998         "UnitStatus": {
18999           "type": "object",
19000           "properties": {
19001             "Params": {
19002               "$ref": "#/definitions/Entities"
19003             },
19004             "Result": {
19005               "$ref": "#/definitions/StatusResults"
19006             }
19007           }
19008         },
19009         "UnitStorageAttachments": {
19010           "type": "object",
19011           "properties": {
19012             "Params": {
19013               "$ref": "#/definitions/Entities"
19014             },
19015             "Result": {
19016               "$ref": "#/definitions/StorageAttachmentIdsResults"
19017             }
19018           }
19019         },
19020         "UpdateSettings": {
19021           "type": "object",
19022           "properties": {
19023             "Params": {
19024               "$ref": "#/definitions/RelationUnitsSettings"
19025             },
19026             "Result": {
19027               "$ref": "#/definitions/ErrorResults"
19028             }
19029           }
19030         },
19031         "Watch": {
19032           "type": "object",
19033           "properties": {
19034             "Params": {
19035               "$ref": "#/definitions/Entities"
19036             },
19037             "Result": {
19038               "$ref": "#/definitions/NotifyWatchResults"
19039             }
19040           }
19041         },
19042         "WatchAPIHostPorts": {
19043           "type": "object",
19044           "properties": {
19045             "Result": {
19046               "$ref": "#/definitions/NotifyWatchResult"
19047             }
19048           }
19049         },
19050         "WatchActionNotifications": {
19051           "type": "object",
19052           "properties": {
19053             "Params": {
19054               "$ref": "#/definitions/Entities"
19055             },
19056             "Result": {
19057               "$ref": "#/definitions/StringsWatchResults"
19058             }
19059           }
19060         },
19061         "WatchApplicationRelations": {
19062           "type": "object",
19063           "properties": {
19064             "Params": {
19065               "$ref": "#/definitions/Entities"
19066             },
19067             "Result": {
19068               "$ref": "#/definitions/StringsWatchResults"
19069             }
19070           }
19071         },
19072         "WatchConfigSettings": {
19073           "type": "object",
19074           "properties": {
19075             "Params": {
19076               "$ref": "#/definitions/Entities"
19077             },
19078             "Result": {
19079               "$ref": "#/definitions/NotifyWatchResults"
19080             }
19081           }
19082         },
19083         "WatchForModelConfigChanges": {
19084           "type": "object",
19085           "properties": {
19086             "Result": {
19087               "$ref": "#/definitions/NotifyWatchResult"
19088             }
19089           }
19090         },
19091         "WatchLeadershipSettings": {
19092           "type": "object",
19093           "properties": {
19094             "Params": {
19095               "$ref": "#/definitions/Entities"
19096             },
19097             "Result": {
19098               "$ref": "#/definitions/NotifyWatchResults"
19099             }
19100           }
19101         },
19102         "WatchMeterStatus": {
19103           "type": "object",
19104           "properties": {
19105             "Params": {
19106               "$ref": "#/definitions/Entities"
19107             },
19108             "Result": {
19109               "$ref": "#/definitions/NotifyWatchResults"
19110             }
19111           }
19112         },
19113         "WatchRelationUnits": {
19114           "type": "object",
19115           "properties": {
19116             "Params": {
19117               "$ref": "#/definitions/RelationUnits"
19118             },
19119             "Result": {
19120               "$ref": "#/definitions/RelationUnitsWatchResults"
19121             }
19122           }
19123         },
19124         "WatchStorageAttachments": {
19125           "type": "object",
19126           "properties": {
19127             "Params": {
19128               "$ref": "#/definitions/StorageAttachmentIds"
19129             },
19130             "Result": {
19131               "$ref": "#/definitions/NotifyWatchResults"
19132             }
19133           }
19134         },
19135         "WatchUnitAddresses": {
19136           "type": "object",
19137           "properties": {
19138             "Params": {
19139               "$ref": "#/definitions/Entities"
19140             },
19141             "Result": {
19142               "$ref": "#/definitions/NotifyWatchResults"
19143             }
19144           }
19145         },
19146         "WatchUnitStorageAttachments": {
19147           "type": "object",
19148           "properties": {
19149             "Params": {
19150               "$ref": "#/definitions/Entities"
19151             },
19152             "Result": {
19153               "$ref": "#/definitions/StringsWatchResults"
19154             }
19155           }
19156         },
19157         "WorkloadVersion": {
19158           "type": "object",
19159           "properties": {
19160             "Params": {
19161               "$ref": "#/definitions/Entities"
19162             },
19163             "Result": {
19164               "$ref": "#/definitions/StringResults"
19165             }
19166           }
19167         }
19168       },
19169       "definitions": {
19170         "APIHostPortsResult": {
19171           "type": "object",
19172           "properties": {
19173             "servers": {
19174               "type": "array",
19175               "items": {
19176                 "type": "array",
19177                 "items": {
19178                   "$ref": "#/definitions/HostPort"
19179                 }
19180               }
19181             }
19182           },
19183           "additionalProperties": false,
19184           "required": [
19185             "servers"
19186           ]
19187         },
19188         "Action": {
19189           "type": "object",
19190           "properties": {
19191             "name": {
19192               "type": "string"
19193             },
19194             "parameters": {
19195               "type": "object",
19196               "patternProperties": {
19197                 ".*": {
19198                   "type": "object",
19199                   "additionalProperties": true
19200                 }
19201               }
19202             },
19203             "receiver": {
19204               "type": "string"
19205             },
19206             "tag": {
19207               "type": "string"
19208             }
19209           },
19210           "additionalProperties": false,
19211           "required": [
19212             "tag",
19213             "receiver",
19214             "name"
19215           ]
19216         },
19217         "ActionExecutionResult": {
19218           "type": "object",
19219           "properties": {
19220             "action-tag": {
19221               "type": "string"
19222             },
19223             "message": {
19224               "type": "string"
19225             },
19226             "results": {
19227               "type": "object",
19228               "patternProperties": {
19229                 ".*": {
19230                   "type": "object",
19231                   "additionalProperties": true
19232                 }
19233               }
19234             },
19235             "status": {
19236               "type": "string"
19237             }
19238           },
19239           "additionalProperties": false,
19240           "required": [
19241             "action-tag",
19242             "status"
19243           ]
19244         },
19245         "ActionExecutionResults": {
19246           "type": "object",
19247           "properties": {
19248             "results": {
19249               "type": "array",
19250               "items": {
19251                 "$ref": "#/definitions/ActionExecutionResult"
19252               }
19253             }
19254           },
19255           "additionalProperties": false
19256         },
19257         "ActionResult": {
19258           "type": "object",
19259           "properties": {
19260             "action": {
19261               "$ref": "#/definitions/Action"
19262             },
19263             "completed": {
19264               "type": "string",
19265               "format": "date-time"
19266             },
19267             "enqueued": {
19268               "type": "string",
19269               "format": "date-time"
19270             },
19271             "error": {
19272               "$ref": "#/definitions/Error"
19273             },
19274             "message": {
19275               "type": "string"
19276             },
19277             "output": {
19278               "type": "object",
19279               "patternProperties": {
19280                 ".*": {
19281                   "type": "object",
19282                   "additionalProperties": true
19283                 }
19284               }
19285             },
19286             "started": {
19287               "type": "string",
19288               "format": "date-time"
19289             },
19290             "status": {
19291               "type": "string"
19292             }
19293           },
19294           "additionalProperties": false
19295         },
19296         "ActionResults": {
19297           "type": "object",
19298           "properties": {
19299             "results": {
19300               "type": "array",
19301               "items": {
19302                 "$ref": "#/definitions/ActionResult"
19303               }
19304             }
19305           },
19306           "additionalProperties": false
19307         },
19308         "Address": {
19309           "type": "object",
19310           "properties": {
19311             "scope": {
19312               "type": "string"
19313             },
19314             "space-name": {
19315               "type": "string"
19316             },
19317             "type": {
19318               "type": "string"
19319             },
19320             "value": {
19321               "type": "string"
19322             }
19323           },
19324           "additionalProperties": false,
19325           "required": [
19326             "value",
19327             "type",
19328             "scope"
19329           ]
19330         },
19331         "ApplicationStatusResult": {
19332           "type": "object",
19333           "properties": {
19334             "application": {
19335               "$ref": "#/definitions/StatusResult"
19336             },
19337             "error": {
19338               "$ref": "#/definitions/Error"
19339             },
19340             "units": {
19341               "type": "object",
19342               "patternProperties": {
19343                 ".*": {
19344                   "$ref": "#/definitions/StatusResult"
19345                 }
19346               }
19347             }
19348           },
19349           "additionalProperties": false,
19350           "required": [
19351             "application",
19352             "units"
19353           ]
19354         },
19355         "ApplicationStatusResults": {
19356           "type": "object",
19357           "properties": {
19358             "results": {
19359               "type": "array",
19360               "items": {
19361                 "$ref": "#/definitions/ApplicationStatusResult"
19362               }
19363             }
19364           },
19365           "additionalProperties": false,
19366           "required": [
19367             "results"
19368           ]
19369         },
19370         "BoolResult": {
19371           "type": "object",
19372           "properties": {
19373             "error": {
19374               "$ref": "#/definitions/Error"
19375             },
19376             "result": {
19377               "type": "boolean"
19378             }
19379           },
19380           "additionalProperties": false,
19381           "required": [
19382             "result"
19383           ]
19384         },
19385         "BoolResults": {
19386           "type": "object",
19387           "properties": {
19388             "results": {
19389               "type": "array",
19390               "items": {
19391                 "$ref": "#/definitions/BoolResult"
19392               }
19393             }
19394           },
19395           "additionalProperties": false,
19396           "required": [
19397             "results"
19398           ]
19399         },
19400         "BytesResult": {
19401           "type": "object",
19402           "properties": {
19403             "result": {
19404               "type": "array",
19405               "items": {
19406                 "type": "integer"
19407               }
19408             }
19409           },
19410           "additionalProperties": false,
19411           "required": [
19412             "result"
19413           ]
19414         },
19415         "CharmRelation": {
19416           "type": "object",
19417           "properties": {
19418             "interface": {
19419               "type": "string"
19420             },
19421             "limit": {
19422               "type": "integer"
19423             },
19424             "name": {
19425               "type": "string"
19426             },
19427             "optional": {
19428               "type": "boolean"
19429             },
19430             "role": {
19431               "type": "string"
19432             },
19433             "scope": {
19434               "type": "string"
19435             }
19436           },
19437           "additionalProperties": false,
19438           "required": [
19439             "name",
19440             "role",
19441             "interface",
19442             "optional",
19443             "limit",
19444             "scope"
19445           ]
19446         },
19447         "CharmURL": {
19448           "type": "object",
19449           "properties": {
19450             "url": {
19451               "type": "string"
19452             }
19453           },
19454           "additionalProperties": false,
19455           "required": [
19456             "url"
19457           ]
19458         },
19459         "CharmURLs": {
19460           "type": "object",
19461           "properties": {
19462             "urls": {
19463               "type": "array",
19464               "items": {
19465                 "$ref": "#/definitions/CharmURL"
19466               }
19467             }
19468           },
19469           "additionalProperties": false,
19470           "required": [
19471             "urls"
19472           ]
19473         },
19474         "ConfigSettingsResult": {
19475           "type": "object",
19476           "properties": {
19477             "error": {
19478               "$ref": "#/definitions/Error"
19479             },
19480             "settings": {
19481               "type": "object",
19482               "patternProperties": {
19483                 ".*": {
19484                   "type": "object",
19485                   "additionalProperties": true
19486                 }
19487               }
19488             }
19489           },
19490           "additionalProperties": false,
19491           "required": [
19492             "settings"
19493           ]
19494         },
19495         "ConfigSettingsResults": {
19496           "type": "object",
19497           "properties": {
19498             "results": {
19499               "type": "array",
19500               "items": {
19501                 "$ref": "#/definitions/ConfigSettingsResult"
19502               }
19503             }
19504           },
19505           "additionalProperties": false,
19506           "required": [
19507             "results"
19508           ]
19509         },
19510         "Endpoint": {
19511           "type": "object",
19512           "properties": {
19513             "application-name": {
19514               "type": "string"
19515             },
19516             "relation": {
19517               "$ref": "#/definitions/CharmRelation"
19518             }
19519           },
19520           "additionalProperties": false,
19521           "required": [
19522             "application-name",
19523             "relation"
19524           ]
19525         },
19526         "Entities": {
19527           "type": "object",
19528           "properties": {
19529             "entities": {
19530               "type": "array",
19531               "items": {
19532                 "$ref": "#/definitions/Entity"
19533               }
19534             }
19535           },
19536           "additionalProperties": false,
19537           "required": [
19538             "entities"
19539           ]
19540         },
19541         "EntitiesCharmURL": {
19542           "type": "object",
19543           "properties": {
19544             "entities": {
19545               "type": "array",
19546               "items": {
19547                 "$ref": "#/definitions/EntityCharmURL"
19548               }
19549             }
19550           },
19551           "additionalProperties": false,
19552           "required": [
19553             "entities"
19554           ]
19555         },
19556         "EntitiesPortRanges": {
19557           "type": "object",
19558           "properties": {
19559             "entities": {
19560               "type": "array",
19561               "items": {
19562                 "$ref": "#/definitions/EntityPortRange"
19563               }
19564             }
19565           },
19566           "additionalProperties": false,
19567           "required": [
19568             "entities"
19569           ]
19570         },
19571         "Entity": {
19572           "type": "object",
19573           "properties": {
19574             "tag": {
19575               "type": "string"
19576             }
19577           },
19578           "additionalProperties": false,
19579           "required": [
19580             "tag"
19581           ]
19582         },
19583         "EntityCharmURL": {
19584           "type": "object",
19585           "properties": {
19586             "charm-url": {
19587               "type": "string"
19588             },
19589             "tag": {
19590               "type": "string"
19591             }
19592           },
19593           "additionalProperties": false,
19594           "required": [
19595             "tag",
19596             "charm-url"
19597           ]
19598         },
19599         "EntityPortRange": {
19600           "type": "object",
19601           "properties": {
19602             "from-port": {
19603               "type": "integer"
19604             },
19605             "protocol": {
19606               "type": "string"
19607             },
19608             "tag": {
19609               "type": "string"
19610             },
19611             "to-port": {
19612               "type": "integer"
19613             }
19614           },
19615           "additionalProperties": false,
19616           "required": [
19617             "tag",
19618             "protocol",
19619             "from-port",
19620             "to-port"
19621           ]
19622         },
19623         "EntityStatusArgs": {
19624           "type": "object",
19625           "properties": {
19626             "data": {
19627               "type": "object",
19628               "patternProperties": {
19629                 ".*": {
19630                   "type": "object",
19631                   "additionalProperties": true
19632                 }
19633               }
19634             },
19635             "info": {
19636               "type": "string"
19637             },
19638             "status": {
19639               "type": "string"
19640             },
19641             "tag": {
19642               "type": "string"
19643             }
19644           },
19645           "additionalProperties": false,
19646           "required": [
19647             "tag",
19648             "status",
19649             "info",
19650             "data"
19651           ]
19652         },
19653         "EntityWorkloadVersion": {
19654           "type": "object",
19655           "properties": {
19656             "tag": {
19657               "type": "string"
19658             },
19659             "workload-version": {
19660               "type": "string"
19661             }
19662           },
19663           "additionalProperties": false,
19664           "required": [
19665             "tag",
19666             "workload-version"
19667           ]
19668         },
19669         "EntityWorkloadVersions": {
19670           "type": "object",
19671           "properties": {
19672             "entities": {
19673               "type": "array",
19674               "items": {
19675                 "$ref": "#/definitions/EntityWorkloadVersion"
19676               }
19677             }
19678           },
19679           "additionalProperties": false,
19680           "required": [
19681             "entities"
19682           ]
19683         },
19684         "Error": {
19685           "type": "object",
19686           "properties": {
19687             "code": {
19688               "type": "string"
19689             },
19690             "info": {
19691               "$ref": "#/definitions/ErrorInfo"
19692             },
19693             "message": {
19694               "type": "string"
19695             }
19696           },
19697           "additionalProperties": false,
19698           "required": [
19699             "message",
19700             "code"
19701           ]
19702         },
19703         "ErrorInfo": {
19704           "type": "object",
19705           "properties": {
19706             "macaroon": {
19707               "$ref": "#/definitions/Macaroon"
19708             },
19709             "macaroon-path": {
19710               "type": "string"
19711             }
19712           },
19713           "additionalProperties": false
19714         },
19715         "ErrorResult": {
19716           "type": "object",
19717           "properties": {
19718             "error": {
19719               "$ref": "#/definitions/Error"
19720             }
19721           },
19722           "additionalProperties": false
19723         },
19724         "ErrorResults": {
19725           "type": "object",
19726           "properties": {
19727             "results": {
19728               "type": "array",
19729               "items": {
19730                 "$ref": "#/definitions/ErrorResult"
19731               }
19732             }
19733           },
19734           "additionalProperties": false,
19735           "required": [
19736             "results"
19737           ]
19738         },
19739         "GetLeadershipSettingsBulkResults": {
19740           "type": "object",
19741           "properties": {
19742             "results": {
19743               "type": "array",
19744               "items": {
19745                 "$ref": "#/definitions/GetLeadershipSettingsResult"
19746               }
19747             }
19748           },
19749           "additionalProperties": false,
19750           "required": [
19751             "results"
19752           ]
19753         },
19754         "GetLeadershipSettingsResult": {
19755           "type": "object",
19756           "properties": {
19757             "error": {
19758               "$ref": "#/definitions/Error"
19759             },
19760             "settings": {
19761               "type": "object",
19762               "patternProperties": {
19763                 ".*": {
19764                   "type": "string"
19765                 }
19766               }
19767             }
19768           },
19769           "additionalProperties": false,
19770           "required": [
19771             "settings"
19772           ]
19773         },
19774         "HostPort": {
19775           "type": "object",
19776           "properties": {
19777             "Address": {
19778               "$ref": "#/definitions/Address"
19779             },
19780             "port": {
19781               "type": "integer"
19782             }
19783           },
19784           "additionalProperties": false,
19785           "required": [
19786             "Address",
19787             "port"
19788           ]
19789         },
19790         "IntResult": {
19791           "type": "object",
19792           "properties": {
19793             "error": {
19794               "$ref": "#/definitions/Error"
19795             },
19796             "result": {
19797               "type": "integer"
19798             }
19799           },
19800           "additionalProperties": false,
19801           "required": [
19802             "result"
19803           ]
19804         },
19805         "IntResults": {
19806           "type": "object",
19807           "properties": {
19808             "results": {
19809               "type": "array",
19810               "items": {
19811                 "$ref": "#/definitions/IntResult"
19812               }
19813             }
19814           },
19815           "additionalProperties": false,
19816           "required": [
19817             "results"
19818           ]
19819         },
19820         "LifeResult": {
19821           "type": "object",
19822           "properties": {
19823             "error": {
19824               "$ref": "#/definitions/Error"
19825             },
19826             "life": {
19827               "type": "string"
19828             }
19829           },
19830           "additionalProperties": false,
19831           "required": [
19832             "life"
19833           ]
19834         },
19835         "LifeResults": {
19836           "type": "object",
19837           "properties": {
19838             "results": {
19839               "type": "array",
19840               "items": {
19841                 "$ref": "#/definitions/LifeResult"
19842               }
19843             }
19844           },
19845           "additionalProperties": false,
19846           "required": [
19847             "results"
19848           ]
19849         },
19850         "Macaroon": {
19851           "type": "object",
19852           "additionalProperties": false
19853         },
19854         "MachinePortRange": {
19855           "type": "object",
19856           "properties": {
19857             "port-range": {
19858               "$ref": "#/definitions/PortRange"
19859             },
19860             "relation-tag": {
19861               "type": "string"
19862             },
19863             "unit-tag": {
19864               "type": "string"
19865             }
19866           },
19867           "additionalProperties": false,
19868           "required": [
19869             "unit-tag",
19870             "relation-tag",
19871             "port-range"
19872           ]
19873         },
19874         "MachinePortsResult": {
19875           "type": "object",
19876           "properties": {
19877             "error": {
19878               "$ref": "#/definitions/Error"
19879             },
19880             "ports": {
19881               "type": "array",
19882               "items": {
19883                 "$ref": "#/definitions/MachinePortRange"
19884               }
19885             }
19886           },
19887           "additionalProperties": false,
19888           "required": [
19889             "ports"
19890           ]
19891         },
19892         "MachinePortsResults": {
19893           "type": "object",
19894           "properties": {
19895             "results": {
19896               "type": "array",
19897               "items": {
19898                 "$ref": "#/definitions/MachinePortsResult"
19899               }
19900             }
19901           },
19902           "additionalProperties": false,
19903           "required": [
19904             "results"
19905           ]
19906         },
19907         "MergeLeadershipSettingsBulkParams": {
19908           "type": "object",
19909           "properties": {
19910             "params": {
19911               "type": "array",
19912               "items": {
19913                 "$ref": "#/definitions/MergeLeadershipSettingsParam"
19914               }
19915             }
19916           },
19917           "additionalProperties": false,
19918           "required": [
19919             "params"
19920           ]
19921         },
19922         "MergeLeadershipSettingsParam": {
19923           "type": "object",
19924           "properties": {
19925             "application-tag": {
19926               "type": "string"
19927             },
19928             "settings": {
19929               "type": "object",
19930               "patternProperties": {
19931                 ".*": {
19932                   "type": "string"
19933                 }
19934               }
19935             }
19936           },
19937           "additionalProperties": false,
19938           "required": [
19939             "application-tag",
19940             "settings"
19941           ]
19942         },
19943         "MeterStatusResult": {
19944           "type": "object",
19945           "properties": {
19946             "code": {
19947               "type": "string"
19948             },
19949             "error": {
19950               "$ref": "#/definitions/Error"
19951             },
19952             "info": {
19953               "type": "string"
19954             }
19955           },
19956           "additionalProperties": false,
19957           "required": [
19958             "code",
19959             "info"
19960           ]
19961         },
19962         "MeterStatusResults": {
19963           "type": "object",
19964           "properties": {
19965             "results": {
19966               "type": "array",
19967               "items": {
19968                 "$ref": "#/definitions/MeterStatusResult"
19969               }
19970             }
19971           },
19972           "additionalProperties": false,
19973           "required": [
19974             "results"
19975           ]
19976         },
19977         "Metric": {
19978           "type": "object",
19979           "properties": {
19980             "key": {
19981               "type": "string"
19982             },
19983             "time": {
19984               "type": "string",
19985               "format": "date-time"
19986             },
19987             "value": {
19988               "type": "string"
19989             }
19990           },
19991           "additionalProperties": false,
19992           "required": [
19993             "key",
19994             "value",
19995             "time"
19996           ]
19997         },
19998         "MetricBatch": {
19999           "type": "object",
20000           "properties": {
20001             "charm-url": {
20002               "type": "string"
20003             },
20004             "created": {
20005               "type": "string",
20006               "format": "date-time"
20007             },
20008             "metrics": {
20009               "type": "array",
20010               "items": {
20011                 "$ref": "#/definitions/Metric"
20012               }
20013             },
20014             "uuid": {
20015               "type": "string"
20016             }
20017           },
20018           "additionalProperties": false,
20019           "required": [
20020             "uuid",
20021             "charm-url",
20022             "created",
20023             "metrics"
20024           ]
20025         },
20026         "MetricBatchParam": {
20027           "type": "object",
20028           "properties": {
20029             "batch": {
20030               "$ref": "#/definitions/MetricBatch"
20031             },
20032             "tag": {
20033               "type": "string"
20034             }
20035           },
20036           "additionalProperties": false,
20037           "required": [
20038             "tag",
20039             "batch"
20040           ]
20041         },
20042         "MetricBatchParams": {
20043           "type": "object",
20044           "properties": {
20045             "batches": {
20046               "type": "array",
20047               "items": {
20048                 "$ref": "#/definitions/MetricBatchParam"
20049               }
20050             }
20051           },
20052           "additionalProperties": false,
20053           "required": [
20054             "batches"
20055           ]
20056         },
20057         "ModelConfigResult": {
20058           "type": "object",
20059           "properties": {
20060             "config": {
20061               "type": "object",
20062               "patternProperties": {
20063                 ".*": {
20064                   "type": "object",
20065                   "additionalProperties": true
20066                 }
20067               }
20068             }
20069           },
20070           "additionalProperties": false,
20071           "required": [
20072             "config"
20073           ]
20074         },
20075         "ModelResult": {
20076           "type": "object",
20077           "properties": {
20078             "error": {
20079               "$ref": "#/definitions/Error"
20080             },
20081             "name": {
20082               "type": "string"
20083             },
20084             "uuid": {
20085               "type": "string"
20086             }
20087           },
20088           "additionalProperties": false,
20089           "required": [
20090             "name",
20091             "uuid"
20092           ]
20093         },
20094         "NetworkConfig": {
20095           "type": "object",
20096           "properties": {
20097             "address": {
20098               "type": "string"
20099             },
20100             "cidr": {
20101               "type": "string"
20102             },
20103             "config-type": {
20104               "type": "string"
20105             },
20106             "device-index": {
20107               "type": "integer"
20108             },
20109             "disabled": {
20110               "type": "boolean"
20111             },
20112             "dns-search-domains": {
20113               "type": "array",
20114               "items": {
20115                 "type": "string"
20116               }
20117             },
20118             "dns-servers": {
20119               "type": "array",
20120               "items": {
20121                 "type": "string"
20122               }
20123             },
20124             "gateway-address": {
20125               "type": "string"
20126             },
20127             "interface-name": {
20128               "type": "string"
20129             },
20130             "interface-type": {
20131               "type": "string"
20132             },
20133             "mac-address": {
20134               "type": "string"
20135             },
20136             "mtu": {
20137               "type": "integer"
20138             },
20139             "no-auto-start": {
20140               "type": "boolean"
20141             },
20142             "parent-interface-name": {
20143               "type": "string"
20144             },
20145             "provider-address-id": {
20146               "type": "string"
20147             },
20148             "provider-id": {
20149               "type": "string"
20150             },
20151             "provider-space-id": {
20152               "type": "string"
20153             },
20154             "provider-subnet-id": {
20155               "type": "string"
20156             },
20157             "provider-vlan-id": {
20158               "type": "string"
20159             },
20160             "vlan-tag": {
20161               "type": "integer"
20162             }
20163           },
20164           "additionalProperties": false,
20165           "required": [
20166             "device-index",
20167             "mac-address",
20168             "cidr",
20169             "mtu",
20170             "provider-id",
20171             "provider-subnet-id",
20172             "provider-space-id",
20173             "provider-address-id",
20174             "provider-vlan-id",
20175             "vlan-tag",
20176             "interface-name",
20177             "parent-interface-name",
20178             "interface-type",
20179             "disabled"
20180           ]
20181         },
20182         "NotifyWatchResult": {
20183           "type": "object",
20184           "properties": {
20185             "NotifyWatcherId": {
20186               "type": "string"
20187             },
20188             "error": {
20189               "$ref": "#/definitions/Error"
20190             }
20191           },
20192           "additionalProperties": false,
20193           "required": [
20194             "NotifyWatcherId"
20195           ]
20196         },
20197         "NotifyWatchResults": {
20198           "type": "object",
20199           "properties": {
20200             "results": {
20201               "type": "array",
20202               "items": {
20203                 "$ref": "#/definitions/NotifyWatchResult"
20204               }
20205             }
20206           },
20207           "additionalProperties": false,
20208           "required": [
20209             "results"
20210           ]
20211         },
20212         "PortRange": {
20213           "type": "object",
20214           "properties": {
20215             "from-port": {
20216               "type": "integer"
20217             },
20218             "protocol": {
20219               "type": "string"
20220             },
20221             "to-port": {
20222               "type": "integer"
20223             }
20224           },
20225           "additionalProperties": false,
20226           "required": [
20227             "from-port",
20228             "to-port",
20229             "protocol"
20230           ]
20231         },
20232         "RelationIds": {
20233           "type": "object",
20234           "properties": {
20235             "relation-ids": {
20236               "type": "array",
20237               "items": {
20238                 "type": "integer"
20239               }
20240             }
20241           },
20242           "additionalProperties": false,
20243           "required": [
20244             "relation-ids"
20245           ]
20246         },
20247         "RelationResult": {
20248           "type": "object",
20249           "properties": {
20250             "endpoint": {
20251               "$ref": "#/definitions/Endpoint"
20252             },
20253             "error": {
20254               "$ref": "#/definitions/Error"
20255             },
20256             "id": {
20257               "type": "integer"
20258             },
20259             "key": {
20260               "type": "string"
20261             },
20262             "life": {
20263               "type": "string"
20264             }
20265           },
20266           "additionalProperties": false,
20267           "required": [
20268             "life",
20269             "id",
20270             "key",
20271             "endpoint"
20272           ]
20273         },
20274         "RelationResults": {
20275           "type": "object",
20276           "properties": {
20277             "results": {
20278               "type": "array",
20279               "items": {
20280                 "$ref": "#/definitions/RelationResult"
20281               }
20282             }
20283           },
20284           "additionalProperties": false,
20285           "required": [
20286             "results"
20287           ]
20288         },
20289         "RelationUnit": {
20290           "type": "object",
20291           "properties": {
20292             "relation": {
20293               "type": "string"
20294             },
20295             "unit": {
20296               "type": "string"
20297             }
20298           },
20299           "additionalProperties": false,
20300           "required": [
20301             "relation",
20302             "unit"
20303           ]
20304         },
20305         "RelationUnitPair": {
20306           "type": "object",
20307           "properties": {
20308             "local-unit": {
20309               "type": "string"
20310             },
20311             "relation": {
20312               "type": "string"
20313             },
20314             "remote-unit": {
20315               "type": "string"
20316             }
20317           },
20318           "additionalProperties": false,
20319           "required": [
20320             "relation",
20321             "local-unit",
20322             "remote-unit"
20323           ]
20324         },
20325         "RelationUnitPairs": {
20326           "type": "object",
20327           "properties": {
20328             "relation-unit-pairs": {
20329               "type": "array",
20330               "items": {
20331                 "$ref": "#/definitions/RelationUnitPair"
20332               }
20333             }
20334           },
20335           "additionalProperties": false,
20336           "required": [
20337             "relation-unit-pairs"
20338           ]
20339         },
20340         "RelationUnitSettings": {
20341           "type": "object",
20342           "properties": {
20343             "relation": {
20344               "type": "string"
20345             },
20346             "settings": {
20347               "type": "object",
20348               "patternProperties": {
20349                 ".*": {
20350                   "type": "string"
20351                 }
20352               }
20353             },
20354             "unit": {
20355               "type": "string"
20356             }
20357           },
20358           "additionalProperties": false,
20359           "required": [
20360             "relation",
20361             "unit",
20362             "settings"
20363           ]
20364         },
20365         "RelationUnits": {
20366           "type": "object",
20367           "properties": {
20368             "relation-units": {
20369               "type": "array",
20370               "items": {
20371                 "$ref": "#/definitions/RelationUnit"
20372               }
20373             }
20374           },
20375           "additionalProperties": false,
20376           "required": [
20377             "relation-units"
20378           ]
20379         },
20380         "RelationUnitsChange": {
20381           "type": "object",
20382           "properties": {
20383             "changed": {
20384               "type": "object",
20385               "patternProperties": {
20386                 ".*": {
20387                   "$ref": "#/definitions/UnitSettings"
20388                 }
20389               }
20390             },
20391             "departed": {
20392               "type": "array",
20393               "items": {
20394                 "type": "string"
20395               }
20396             }
20397           },
20398           "additionalProperties": false,
20399           "required": [
20400             "changed"
20401           ]
20402         },
20403         "RelationUnitsSettings": {
20404           "type": "object",
20405           "properties": {
20406             "relation-units": {
20407               "type": "array",
20408               "items": {
20409                 "$ref": "#/definitions/RelationUnitSettings"
20410               }
20411             }
20412           },
20413           "additionalProperties": false,
20414           "required": [
20415             "relation-units"
20416           ]
20417         },
20418         "RelationUnitsWatchResult": {
20419           "type": "object",
20420           "properties": {
20421             "changes": {
20422               "$ref": "#/definitions/RelationUnitsChange"
20423             },
20424             "error": {
20425               "$ref": "#/definitions/Error"
20426             },
20427             "watcher-id": {
20428               "type": "string"
20429             }
20430           },
20431           "additionalProperties": false,
20432           "required": [
20433             "watcher-id",
20434             "changes"
20435           ]
20436         },
20437         "RelationUnitsWatchResults": {
20438           "type": "object",
20439           "properties": {
20440             "results": {
20441               "type": "array",
20442               "items": {
20443                 "$ref": "#/definitions/RelationUnitsWatchResult"
20444               }
20445             }
20446           },
20447           "additionalProperties": false,
20448           "required": [
20449             "results"
20450           ]
20451         },
20452         "ResolvedModeResult": {
20453           "type": "object",
20454           "properties": {
20455             "error": {
20456               "$ref": "#/definitions/Error"
20457             },
20458             "mode": {
20459               "type": "string"
20460             }
20461           },
20462           "additionalProperties": false,
20463           "required": [
20464             "mode"
20465           ]
20466         },
20467         "ResolvedModeResults": {
20468           "type": "object",
20469           "properties": {
20470             "results": {
20471               "type": "array",
20472               "items": {
20473                 "$ref": "#/definitions/ResolvedModeResult"
20474               }
20475             }
20476           },
20477           "additionalProperties": false,
20478           "required": [
20479             "results"
20480           ]
20481         },
20482         "SetStatus": {
20483           "type": "object",
20484           "properties": {
20485             "entities": {
20486               "type": "array",
20487               "items": {
20488                 "$ref": "#/definitions/EntityStatusArgs"
20489               }
20490             }
20491           },
20492           "additionalProperties": false,
20493           "required": [
20494             "entities"
20495           ]
20496         },
20497         "SettingsResult": {
20498           "type": "object",
20499           "properties": {
20500             "error": {
20501               "$ref": "#/definitions/Error"
20502             },
20503             "settings": {
20504               "type": "object",
20505               "patternProperties": {
20506                 ".*": {
20507                   "type": "string"
20508                 }
20509               }
20510             }
20511           },
20512           "additionalProperties": false,
20513           "required": [
20514             "settings"
20515           ]
20516         },
20517         "SettingsResults": {
20518           "type": "object",
20519           "properties": {
20520             "results": {
20521               "type": "array",
20522               "items": {
20523                 "$ref": "#/definitions/SettingsResult"
20524               }
20525             }
20526           },
20527           "additionalProperties": false,
20528           "required": [
20529             "results"
20530           ]
20531         },
20532         "StatusResult": {
20533           "type": "object",
20534           "properties": {
20535             "data": {
20536               "type": "object",
20537               "patternProperties": {
20538                 ".*": {
20539                   "type": "object",
20540                   "additionalProperties": true
20541                 }
20542               }
20543             },
20544             "error": {
20545               "$ref": "#/definitions/Error"
20546             },
20547             "id": {
20548               "type": "string"
20549             },
20550             "info": {
20551               "type": "string"
20552             },
20553             "life": {
20554               "type": "string"
20555             },
20556             "since": {
20557               "type": "string",
20558               "format": "date-time"
20559             },
20560             "status": {
20561               "type": "string"
20562             }
20563           },
20564           "additionalProperties": false,
20565           "required": [
20566             "id",
20567             "life",
20568             "status",
20569             "info",
20570             "data",
20571             "since"
20572           ]
20573         },
20574         "StatusResults": {
20575           "type": "object",
20576           "properties": {
20577             "results": {
20578               "type": "array",
20579               "items": {
20580                 "$ref": "#/definitions/StatusResult"
20581               }
20582             }
20583           },
20584           "additionalProperties": false,
20585           "required": [
20586             "results"
20587           ]
20588         },
20589         "StorageAddParams": {
20590           "type": "object",
20591           "properties": {
20592             "name": {
20593               "type": "string"
20594             },
20595             "storage": {
20596               "$ref": "#/definitions/StorageConstraints"
20597             },
20598             "unit": {
20599               "type": "string"
20600             }
20601           },
20602           "additionalProperties": false,
20603           "required": [
20604             "unit",
20605             "name",
20606             "storage"
20607           ]
20608         },
20609         "StorageAttachment": {
20610           "type": "object",
20611           "properties": {
20612             "kind": {
20613               "type": "integer"
20614             },
20615             "life": {
20616               "type": "string"
20617             },
20618             "location": {
20619               "type": "string"
20620             },
20621             "owner-tag": {
20622               "type": "string"
20623             },
20624             "storage-tag": {
20625               "type": "string"
20626             },
20627             "unit-tag": {
20628               "type": "string"
20629             }
20630           },
20631           "additionalProperties": false,
20632           "required": [
20633             "storage-tag",
20634             "owner-tag",
20635             "unit-tag",
20636             "kind",
20637             "location",
20638             "life"
20639           ]
20640         },
20641         "StorageAttachmentId": {
20642           "type": "object",
20643           "properties": {
20644             "storage-tag": {
20645               "type": "string"
20646             },
20647             "unit-tag": {
20648               "type": "string"
20649             }
20650           },
20651           "additionalProperties": false,
20652           "required": [
20653             "storage-tag",
20654             "unit-tag"
20655           ]
20656         },
20657         "StorageAttachmentIds": {
20658           "type": "object",
20659           "properties": {
20660             "ids": {
20661               "type": "array",
20662               "items": {
20663                 "$ref": "#/definitions/StorageAttachmentId"
20664               }
20665             }
20666           },
20667           "additionalProperties": false,
20668           "required": [
20669             "ids"
20670           ]
20671         },
20672         "StorageAttachmentIdsResult": {
20673           "type": "object",
20674           "properties": {
20675             "error": {
20676               "$ref": "#/definitions/Error"
20677             },
20678             "result": {
20679               "$ref": "#/definitions/StorageAttachmentIds"
20680             }
20681           },
20682           "additionalProperties": false,
20683           "required": [
20684             "result"
20685           ]
20686         },
20687         "StorageAttachmentIdsResults": {
20688           "type": "object",
20689           "properties": {
20690             "results": {
20691               "type": "array",
20692               "items": {
20693                 "$ref": "#/definitions/StorageAttachmentIdsResult"
20694               }
20695             }
20696           },
20697           "additionalProperties": false
20698         },
20699         "StorageAttachmentResult": {
20700           "type": "object",
20701           "properties": {
20702             "error": {
20703               "$ref": "#/definitions/Error"
20704             },
20705             "result": {
20706               "$ref": "#/definitions/StorageAttachment"
20707             }
20708           },
20709           "additionalProperties": false,
20710           "required": [
20711             "result"
20712           ]
20713         },
20714         "StorageAttachmentResults": {
20715           "type": "object",
20716           "properties": {
20717             "results": {
20718               "type": "array",
20719               "items": {
20720                 "$ref": "#/definitions/StorageAttachmentResult"
20721               }
20722             }
20723           },
20724           "additionalProperties": false
20725         },
20726         "StorageConstraints": {
20727           "type": "object",
20728           "properties": {
20729             "count": {
20730               "type": "integer"
20731             },
20732             "pool": {
20733               "type": "string"
20734             },
20735             "size": {
20736               "type": "integer"
20737             }
20738           },
20739           "additionalProperties": false
20740         },
20741         "StoragesAddParams": {
20742           "type": "object",
20743           "properties": {
20744             "storages": {
20745               "type": "array",
20746               "items": {
20747                 "$ref": "#/definitions/StorageAddParams"
20748               }
20749             }
20750           },
20751           "additionalProperties": false,
20752           "required": [
20753             "storages"
20754           ]
20755         },
20756         "StringBoolResult": {
20757           "type": "object",
20758           "properties": {
20759             "error": {
20760               "$ref": "#/definitions/Error"
20761             },
20762             "ok": {
20763               "type": "boolean"
20764             },
20765             "result": {
20766               "type": "string"
20767             }
20768           },
20769           "additionalProperties": false,
20770           "required": [
20771             "result",
20772             "ok"
20773           ]
20774         },
20775         "StringBoolResults": {
20776           "type": "object",
20777           "properties": {
20778             "results": {
20779               "type": "array",
20780               "items": {
20781                 "$ref": "#/definitions/StringBoolResult"
20782               }
20783             }
20784           },
20785           "additionalProperties": false,
20786           "required": [
20787             "results"
20788           ]
20789         },
20790         "StringResult": {
20791           "type": "object",
20792           "properties": {
20793             "error": {
20794               "$ref": "#/definitions/Error"
20795             },
20796             "result": {
20797               "type": "string"
20798             }
20799           },
20800           "additionalProperties": false,
20801           "required": [
20802             "result"
20803           ]
20804         },
20805         "StringResults": {
20806           "type": "object",
20807           "properties": {
20808             "results": {
20809               "type": "array",
20810               "items": {
20811                 "$ref": "#/definitions/StringResult"
20812               }
20813             }
20814           },
20815           "additionalProperties": false,
20816           "required": [
20817             "results"
20818           ]
20819         },
20820         "StringsResult": {
20821           "type": "object",
20822           "properties": {
20823             "error": {
20824               "$ref": "#/definitions/Error"
20825             },
20826             "result": {
20827               "type": "array",
20828               "items": {
20829                 "type": "string"
20830               }
20831             }
20832           },
20833           "additionalProperties": false
20834         },
20835         "StringsResults": {
20836           "type": "object",
20837           "properties": {
20838             "results": {
20839               "type": "array",
20840               "items": {
20841                 "$ref": "#/definitions/StringsResult"
20842               }
20843             }
20844           },
20845           "additionalProperties": false,
20846           "required": [
20847             "results"
20848           ]
20849         },
20850         "StringsWatchResult": {
20851           "type": "object",
20852           "properties": {
20853             "changes": {
20854               "type": "array",
20855               "items": {
20856                 "type": "string"
20857               }
20858             },
20859             "error": {
20860               "$ref": "#/definitions/Error"
20861             },
20862             "watcher-id": {
20863               "type": "string"
20864             }
20865           },
20866           "additionalProperties": false,
20867           "required": [
20868             "watcher-id"
20869           ]
20870         },
20871         "StringsWatchResults": {
20872           "type": "object",
20873           "properties": {
20874             "results": {
20875               "type": "array",
20876               "items": {
20877                 "$ref": "#/definitions/StringsWatchResult"
20878               }
20879             }
20880           },
20881           "additionalProperties": false,
20882           "required": [
20883             "results"
20884           ]
20885         },
20886         "UnitNetworkConfig": {
20887           "type": "object",
20888           "properties": {
20889             "binding-name": {
20890               "type": "string"
20891             },
20892             "unit-tag": {
20893               "type": "string"
20894             }
20895           },
20896           "additionalProperties": false,
20897           "required": [
20898             "unit-tag",
20899             "binding-name"
20900           ]
20901         },
20902         "UnitNetworkConfigResult": {
20903           "type": "object",
20904           "properties": {
20905             "error": {
20906               "$ref": "#/definitions/Error"
20907             },
20908             "info": {
20909               "type": "array",
20910               "items": {
20911                 "$ref": "#/definitions/NetworkConfig"
20912               }
20913             }
20914           },
20915           "additionalProperties": false,
20916           "required": [
20917             "info"
20918           ]
20919         },
20920         "UnitNetworkConfigResults": {
20921           "type": "object",
20922           "properties": {
20923             "results": {
20924               "type": "array",
20925               "items": {
20926                 "$ref": "#/definitions/UnitNetworkConfigResult"
20927               }
20928             }
20929           },
20930           "additionalProperties": false,
20931           "required": [
20932             "results"
20933           ]
20934         },
20935         "UnitSettings": {
20936           "type": "object",
20937           "properties": {
20938             "version": {
20939               "type": "integer"
20940             }
20941           },
20942           "additionalProperties": false,
20943           "required": [
20944             "version"
20945           ]
20946         },
20947         "UnitsNetworkConfig": {
20948           "type": "object",
20949           "properties": {
20950             "args": {
20951               "type": "array",
20952               "items": {
20953                 "$ref": "#/definitions/UnitNetworkConfig"
20954               }
20955             }
20956           },
20957           "additionalProperties": false,
20958           "required": [
20959             "args"
20960           ]
20961         }
20962       }
20963     }
20964   },
20965   {
20966     "Name": "Upgrader",
20967     "Version": 1,
20968     "Schema": {
20969       "type": "object",
20970       "properties": {
20971         "DesiredVersion": {
20972           "type": "object",
20973           "properties": {
20974             "Params": {
20975               "$ref": "#/definitions/Entities"
20976             },
20977             "Result": {
20978               "$ref": "#/definitions/VersionResults"
20979             }
20980           }
20981         },
20982         "SetTools": {
20983           "type": "object",
20984           "properties": {
20985             "Params": {
20986               "$ref": "#/definitions/EntitiesVersion"
20987             },
20988             "Result": {
20989               "$ref": "#/definitions/ErrorResults"
20990             }
20991           }
20992         },
20993         "Tools": {
20994           "type": "object",
20995           "properties": {
20996             "Params": {
20997               "$ref": "#/definitions/Entities"
20998             },
20999             "Result": {
21000               "$ref": "#/definitions/ToolsResults"
21001             }
21002           }
21003         },
21004         "WatchAPIVersion": {
21005           "type": "object",
21006           "properties": {
21007             "Params": {
21008               "$ref": "#/definitions/Entities"
21009             },
21010             "Result": {
21011               "$ref": "#/definitions/NotifyWatchResults"
21012             }
21013           }
21014         }
21015       },
21016       "definitions": {
21017         "Binary": {
21018           "type": "object",
21019           "properties": {
21020             "Arch": {
21021               "type": "string"
21022             },
21023             "Number": {
21024               "$ref": "#/definitions/Number"
21025             },
21026             "Series": {
21027               "type": "string"
21028             }
21029           },
21030           "additionalProperties": false,
21031           "required": [
21032             "Number",
21033             "Series",
21034             "Arch"
21035           ]
21036         },
21037         "Entities": {
21038           "type": "object",
21039           "properties": {
21040             "entities": {
21041               "type": "array",
21042               "items": {
21043                 "$ref": "#/definitions/Entity"
21044               }
21045             }
21046           },
21047           "additionalProperties": false,
21048           "required": [
21049             "entities"
21050           ]
21051         },
21052         "EntitiesVersion": {
21053           "type": "object",
21054           "properties": {
21055             "agent-tools": {
21056               "type": "array",
21057               "items": {
21058                 "$ref": "#/definitions/EntityVersion"
21059               }
21060             }
21061           },
21062           "additionalProperties": false,
21063           "required": [
21064             "agent-tools"
21065           ]
21066         },
21067         "Entity": {
21068           "type": "object",
21069           "properties": {
21070             "tag": {
21071               "type": "string"
21072             }
21073           },
21074           "additionalProperties": false,
21075           "required": [
21076             "tag"
21077           ]
21078         },
21079         "EntityVersion": {
21080           "type": "object",
21081           "properties": {
21082             "tag": {
21083               "type": "string"
21084             },
21085             "tools": {
21086               "$ref": "#/definitions/Version"
21087             }
21088           },
21089           "additionalProperties": false,
21090           "required": [
21091             "tag",
21092             "tools"
21093           ]
21094         },
21095         "Error": {
21096           "type": "object",
21097           "properties": {
21098             "code": {
21099               "type": "string"
21100             },
21101             "info": {
21102               "$ref": "#/definitions/ErrorInfo"
21103             },
21104             "message": {
21105               "type": "string"
21106             }
21107           },
21108           "additionalProperties": false,
21109           "required": [
21110             "message",
21111             "code"
21112           ]
21113         },
21114         "ErrorInfo": {
21115           "type": "object",
21116           "properties": {
21117             "macaroon": {
21118               "$ref": "#/definitions/Macaroon"
21119             },
21120             "macaroon-path": {
21121               "type": "string"
21122             }
21123           },
21124           "additionalProperties": false
21125         },
21126         "ErrorResult": {
21127           "type": "object",
21128           "properties": {
21129             "error": {
21130               "$ref": "#/definitions/Error"
21131             }
21132           },
21133           "additionalProperties": false
21134         },
21135         "ErrorResults": {
21136           "type": "object",
21137           "properties": {
21138             "results": {
21139               "type": "array",
21140               "items": {
21141                 "$ref": "#/definitions/ErrorResult"
21142               }
21143             }
21144           },
21145           "additionalProperties": false,
21146           "required": [
21147             "results"
21148           ]
21149         },
21150         "Macaroon": {
21151           "type": "object",
21152           "additionalProperties": false
21153         },
21154         "NotifyWatchResult": {
21155           "type": "object",
21156           "properties": {
21157             "NotifyWatcherId": {
21158               "type": "string"
21159             },
21160             "error": {
21161               "$ref": "#/definitions/Error"
21162             }
21163           },
21164           "additionalProperties": false,
21165           "required": [
21166             "NotifyWatcherId"
21167           ]
21168         },
21169         "NotifyWatchResults": {
21170           "type": "object",
21171           "properties": {
21172             "results": {
21173               "type": "array",
21174               "items": {
21175                 "$ref": "#/definitions/NotifyWatchResult"
21176               }
21177             }
21178           },
21179           "additionalProperties": false,
21180           "required": [
21181             "results"
21182           ]
21183         },
21184         "Number": {
21185           "type": "object",
21186           "properties": {
21187             "Build": {
21188               "type": "integer"
21189             },
21190             "Major": {
21191               "type": "integer"
21192             },
21193             "Minor": {
21194               "type": "integer"
21195             },
21196             "Patch": {
21197               "type": "integer"
21198             },
21199             "Tag": {
21200               "type": "string"
21201             }
21202           },
21203           "additionalProperties": false,
21204           "required": [
21205             "Major",
21206             "Minor",
21207             "Tag",
21208             "Patch",
21209             "Build"
21210           ]
21211         },
21212         "Tools": {
21213           "type": "object",
21214           "properties": {
21215             "sha256": {
21216               "type": "string"
21217             },
21218             "size": {
21219               "type": "integer"
21220             },
21221             "url": {
21222               "type": "string"
21223             },
21224             "version": {
21225               "$ref": "#/definitions/Binary"
21226             }
21227           },
21228           "additionalProperties": false,
21229           "required": [
21230             "version",
21231             "url",
21232             "size"
21233           ]
21234         },
21235         "ToolsResult": {
21236           "type": "object",
21237           "properties": {
21238             "disable-ssl-hostname-verification": {
21239               "type": "boolean"
21240             },
21241             "error": {
21242               "$ref": "#/definitions/Error"
21243             },
21244             "tools": {
21245               "type": "array",
21246               "items": {
21247                 "$ref": "#/definitions/Tools"
21248               }
21249             }
21250           },
21251           "additionalProperties": false,
21252           "required": [
21253             "tools",
21254             "disable-ssl-hostname-verification"
21255           ]
21256         },
21257         "ToolsResults": {
21258           "type": "object",
21259           "properties": {
21260             "results": {
21261               "type": "array",
21262               "items": {
21263                 "$ref": "#/definitions/ToolsResult"
21264               }
21265             }
21266           },
21267           "additionalProperties": false,
21268           "required": [
21269             "results"
21270           ]
21271         },
21272         "Version": {
21273           "type": "object",
21274           "properties": {
21275             "version": {
21276               "$ref": "#/definitions/Binary"
21277             }
21278           },
21279           "additionalProperties": false,
21280           "required": [
21281             "version"
21282           ]
21283         },
21284         "VersionResult": {
21285           "type": "object",
21286           "properties": {
21287             "error": {
21288               "$ref": "#/definitions/Error"
21289             },
21290             "version": {
21291               "$ref": "#/definitions/Number"
21292             }
21293           },
21294           "additionalProperties": false
21295         },
21296         "VersionResults": {
21297           "type": "object",
21298           "properties": {
21299             "results": {
21300               "type": "array",
21301               "items": {
21302                 "$ref": "#/definitions/VersionResult"
21303               }
21304             }
21305           },
21306           "additionalProperties": false,
21307           "required": [
21308             "results"
21309           ]
21310         }
21311       }
21312     }
21313   },
21314   {
21315     "Name": "UserManager",
21316     "Version": 1,
21317     "Schema": {
21318       "type": "object",
21319       "properties": {
21320         "AddUser": {
21321           "type": "object",
21322           "properties": {
21323             "Params": {
21324               "$ref": "#/definitions/AddUsers"
21325             },
21326             "Result": {
21327               "$ref": "#/definitions/AddUserResults"
21328             }
21329           }
21330         },
21331         "CreateLocalLoginMacaroon": {
21332           "type": "object",
21333           "properties": {
21334             "Params": {
21335               "$ref": "#/definitions/Entities"
21336             },
21337             "Result": {
21338               "$ref": "#/definitions/MacaroonResults"
21339             }
21340           }
21341         },
21342         "DisableUser": {
21343           "type": "object",
21344           "properties": {
21345             "Params": {
21346               "$ref": "#/definitions/Entities"
21347             },
21348             "Result": {
21349               "$ref": "#/definitions/ErrorResults"
21350             }
21351           }
21352         },
21353         "EnableUser": {
21354           "type": "object",
21355           "properties": {
21356             "Params": {
21357               "$ref": "#/definitions/Entities"
21358             },
21359             "Result": {
21360               "$ref": "#/definitions/ErrorResults"
21361             }
21362           }
21363         },
21364         "SetPassword": {
21365           "type": "object",
21366           "properties": {
21367             "Params": {
21368               "$ref": "#/definitions/EntityPasswords"
21369             },
21370             "Result": {
21371               "$ref": "#/definitions/ErrorResults"
21372             }
21373           }
21374         },
21375         "UserInfo": {
21376           "type": "object",
21377           "properties": {
21378             "Params": {
21379               "$ref": "#/definitions/UserInfoRequest"
21380             },
21381             "Result": {
21382               "$ref": "#/definitions/UserInfoResults"
21383             }
21384           }
21385         }
21386       },
21387       "definitions": {
21388         "AddUser": {
21389           "type": "object",
21390           "properties": {
21391             "display-name": {
21392               "type": "string"
21393             },
21394             "model-access-permission": {
21395               "type": "string"
21396             },
21397             "password": {
21398               "type": "string"
21399             },
21400             "shared-model-tags": {
21401               "type": "array",
21402               "items": {
21403                 "type": "string"
21404               }
21405             },
21406             "username": {
21407               "type": "string"
21408             }
21409           },
21410           "additionalProperties": false,
21411           "required": [
21412             "username",
21413             "display-name",
21414             "shared-model-tags"
21415           ]
21416         },
21417         "AddUserResult": {
21418           "type": "object",
21419           "properties": {
21420             "error": {
21421               "$ref": "#/definitions/Error"
21422             },
21423             "secret-key": {
21424               "type": "array",
21425               "items": {
21426                 "type": "integer"
21427               }
21428             },
21429             "tag": {
21430               "type": "string"
21431             }
21432           },
21433           "additionalProperties": false
21434         },
21435         "AddUserResults": {
21436           "type": "object",
21437           "properties": {
21438             "results": {
21439               "type": "array",
21440               "items": {
21441                 "$ref": "#/definitions/AddUserResult"
21442               }
21443             }
21444           },
21445           "additionalProperties": false,
21446           "required": [
21447             "results"
21448           ]
21449         },
21450         "AddUsers": {
21451           "type": "object",
21452           "properties": {
21453             "users": {
21454               "type": "array",
21455               "items": {
21456                 "$ref": "#/definitions/AddUser"
21457               }
21458             }
21459           },
21460           "additionalProperties": false,
21461           "required": [
21462             "users"
21463           ]
21464         },
21465         "Entities": {
21466           "type": "object",
21467           "properties": {
21468             "entities": {
21469               "type": "array",
21470               "items": {
21471                 "$ref": "#/definitions/Entity"
21472               }
21473             }
21474           },
21475           "additionalProperties": false,
21476           "required": [
21477             "entities"
21478           ]
21479         },
21480         "Entity": {
21481           "type": "object",
21482           "properties": {
21483             "tag": {
21484               "type": "string"
21485             }
21486           },
21487           "additionalProperties": false,
21488           "required": [
21489             "tag"
21490           ]
21491         },
21492         "EntityPassword": {
21493           "type": "object",
21494           "properties": {
21495             "password": {
21496               "type": "string"
21497             },
21498             "tag": {
21499               "type": "string"
21500             }
21501           },
21502           "additionalProperties": false,
21503           "required": [
21504             "tag",
21505             "password"
21506           ]
21507         },
21508         "EntityPasswords": {
21509           "type": "object",
21510           "properties": {
21511             "changes": {
21512               "type": "array",
21513               "items": {
21514                 "$ref": "#/definitions/EntityPassword"
21515               }
21516             }
21517           },
21518           "additionalProperties": false,
21519           "required": [
21520             "changes"
21521           ]
21522         },
21523         "Error": {
21524           "type": "object",
21525           "properties": {
21526             "code": {
21527               "type": "string"
21528             },
21529             "info": {
21530               "$ref": "#/definitions/ErrorInfo"
21531             },
21532             "message": {
21533               "type": "string"
21534             }
21535           },
21536           "additionalProperties": false,
21537           "required": [
21538             "message",
21539             "code"
21540           ]
21541         },
21542         "ErrorInfo": {
21543           "type": "object",
21544           "properties": {
21545             "macaroon": {
21546               "$ref": "#/definitions/Macaroon"
21547             },
21548             "macaroon-path": {
21549               "type": "string"
21550             }
21551           },
21552           "additionalProperties": false
21553         },
21554         "ErrorResult": {
21555           "type": "object",
21556           "properties": {
21557             "error": {
21558               "$ref": "#/definitions/Error"
21559             }
21560           },
21561           "additionalProperties": false
21562         },
21563         "ErrorResults": {
21564           "type": "object",
21565           "properties": {
21566             "results": {
21567               "type": "array",
21568               "items": {
21569                 "$ref": "#/definitions/ErrorResult"
21570               }
21571             }
21572           },
21573           "additionalProperties": false,
21574           "required": [
21575             "results"
21576           ]
21577         },
21578         "Macaroon": {
21579           "type": "object",
21580           "additionalProperties": false
21581         },
21582         "MacaroonResult": {
21583           "type": "object",
21584           "properties": {
21585             "error": {
21586               "$ref": "#/definitions/Error"
21587             },
21588             "result": {
21589               "$ref": "#/definitions/Macaroon"
21590             }
21591           },
21592           "additionalProperties": false
21593         },
21594         "MacaroonResults": {
21595           "type": "object",
21596           "properties": {
21597             "results": {
21598               "type": "array",
21599               "items": {
21600                 "$ref": "#/definitions/MacaroonResult"
21601               }
21602             }
21603           },
21604           "additionalProperties": false,
21605           "required": [
21606             "results"
21607           ]
21608         },
21609         "UserInfo": {
21610           "type": "object",
21611           "properties": {
21612             "created-by": {
21613               "type": "string"
21614             },
21615             "date-created": {
21616               "type": "string",
21617               "format": "date-time"
21618             },
21619             "disabled": {
21620               "type": "boolean"
21621             },
21622             "display-name": {
21623               "type": "string"
21624             },
21625             "last-connection": {
21626               "type": "string",
21627               "format": "date-time"
21628             },
21629             "username": {
21630               "type": "string"
21631             }
21632           },
21633           "additionalProperties": false,
21634           "required": [
21635             "username",
21636             "display-name",
21637             "created-by",
21638             "date-created",
21639             "disabled"
21640           ]
21641         },
21642         "UserInfoRequest": {
21643           "type": "object",
21644           "properties": {
21645             "entities": {
21646               "type": "array",
21647               "items": {
21648                 "$ref": "#/definitions/Entity"
21649               }
21650             },
21651             "include-disabled": {
21652               "type": "boolean"
21653             }
21654           },
21655           "additionalProperties": false,
21656           "required": [
21657             "entities",
21658             "include-disabled"
21659           ]
21660         },
21661         "UserInfoResult": {
21662           "type": "object",
21663           "properties": {
21664             "error": {
21665               "$ref": "#/definitions/Error"
21666             },
21667             "result": {
21668               "$ref": "#/definitions/UserInfo"
21669             }
21670           },
21671           "additionalProperties": false
21672         },
21673         "UserInfoResults": {
21674           "type": "object",
21675           "properties": {
21676             "results": {
21677               "type": "array",
21678               "items": {
21679                 "$ref": "#/definitions/UserInfoResult"
21680               }
21681             }
21682           },
21683           "additionalProperties": false,
21684           "required": [
21685             "results"
21686           ]
21687         }
21688       }
21689     }
21690   },
21691   {
21692     "Name": "VolumeAttachmentsWatcher",
21693     "Version": 2,
21694     "Schema": {
21695       "type": "object",
21696       "properties": {
21697         "Next": {
21698           "type": "object",
21699           "properties": {
21700             "Result": {
21701               "$ref": "#/definitions/MachineStorageIdsWatchResult"
21702             }
21703           }
21704         },
21705         "Stop": {
21706           "type": "object"
21707         }
21708       },
21709       "definitions": {
21710         "Error": {
21711           "type": "object",
21712           "properties": {
21713             "code": {
21714               "type": "string"
21715             },
21716             "info": {
21717               "$ref": "#/definitions/ErrorInfo"
21718             },
21719             "message": {
21720               "type": "string"
21721             }
21722           },
21723           "additionalProperties": false,
21724           "required": [
21725             "message",
21726             "code"
21727           ]
21728         },
21729         "ErrorInfo": {
21730           "type": "object",
21731           "properties": {
21732             "macaroon": {
21733               "$ref": "#/definitions/Macaroon"
21734             },
21735             "macaroon-path": {
21736               "type": "string"
21737             }
21738           },
21739           "additionalProperties": false
21740         },
21741         "Macaroon": {
21742           "type": "object",
21743           "additionalProperties": false
21744         },
21745         "MachineStorageId": {
21746           "type": "object",
21747           "properties": {
21748             "attachment-tag": {
21749               "type": "string"
21750             },
21751             "machine-tag": {
21752               "type": "string"
21753             }
21754           },
21755           "additionalProperties": false,
21756           "required": [
21757             "machine-tag",
21758             "attachment-tag"
21759           ]
21760         },
21761         "MachineStorageIdsWatchResult": {
21762           "type": "object",
21763           "properties": {
21764             "changes": {
21765               "type": "array",
21766               "items": {
21767                 "$ref": "#/definitions/MachineStorageId"
21768               }
21769             },
21770             "error": {
21771               "$ref": "#/definitions/Error"
21772             },
21773             "watcher-id": {
21774               "type": "string"
21775             }
21776           },
21777           "additionalProperties": false,
21778           "required": [
21779             "watcher-id",
21780             "changes"
21781           ]
21782         }
21783       }
21784     }
21785   }
21786 ]