Fixes for latest juju-2 beta
[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         "CloudSpec": {
512           "type": "object",
513           "properties": {
514             "Params": {
515               "$ref": "#/definitions/Entities"
516             },
517             "Result": {
518               "$ref": "#/definitions/CloudSpecResults"
519             }
520           }
521         },
522         "ControllerConfig": {
523           "type": "object",
524           "properties": {
525             "Result": {
526               "$ref": "#/definitions/ControllerConfigResult"
527             }
528           }
529         },
530         "GetEntities": {
531           "type": "object",
532           "properties": {
533             "Params": {
534               "$ref": "#/definitions/Entities"
535             },
536             "Result": {
537               "$ref": "#/definitions/AgentGetEntitiesResults"
538             }
539           }
540         },
541         "IsMaster": {
542           "type": "object",
543           "properties": {
544             "Result": {
545               "$ref": "#/definitions/IsMasterResult"
546             }
547           }
548         },
549         "ModelConfig": {
550           "type": "object",
551           "properties": {
552             "Result": {
553               "$ref": "#/definitions/ModelConfigResult"
554             }
555           }
556         },
557         "SetPasswords": {
558           "type": "object",
559           "properties": {
560             "Params": {
561               "$ref": "#/definitions/EntityPasswords"
562             },
563             "Result": {
564               "$ref": "#/definitions/ErrorResults"
565             }
566           }
567         },
568         "StateServingInfo": {
569           "type": "object",
570           "properties": {
571             "Result": {
572               "$ref": "#/definitions/StateServingInfo"
573             }
574           }
575         },
576         "WatchForModelConfigChanges": {
577           "type": "object",
578           "properties": {
579             "Result": {
580               "$ref": "#/definitions/NotifyWatchResult"
581             }
582           }
583         }
584       },
585       "definitions": {
586         "AgentGetEntitiesResult": {
587           "type": "object",
588           "properties": {
589             "container-type": {
590               "type": "string"
591             },
592             "error": {
593               "$ref": "#/definitions/Error"
594             },
595             "jobs": {
596               "type": "array",
597               "items": {
598                 "type": "string"
599               }
600             },
601             "life": {
602               "type": "string"
603             }
604           },
605           "additionalProperties": false,
606           "required": [
607             "life",
608             "jobs",
609             "container-type"
610           ]
611         },
612         "AgentGetEntitiesResults": {
613           "type": "object",
614           "properties": {
615             "entities": {
616               "type": "array",
617               "items": {
618                 "$ref": "#/definitions/AgentGetEntitiesResult"
619               }
620             }
621           },
622           "additionalProperties": false,
623           "required": [
624             "entities"
625           ]
626         },
627         "CloudCredential": {
628           "type": "object",
629           "properties": {
630             "attrs": {
631               "type": "object",
632               "patternProperties": {
633                 ".*": {
634                   "type": "string"
635                 }
636               }
637             },
638             "auth-type": {
639               "type": "string"
640             },
641             "redacted": {
642               "type": "array",
643               "items": {
644                 "type": "string"
645               }
646             }
647           },
648           "additionalProperties": false,
649           "required": [
650             "auth-type"
651           ]
652         },
653         "CloudSpec": {
654           "type": "object",
655           "properties": {
656             "credential": {
657               "$ref": "#/definitions/CloudCredential"
658             },
659             "endpoint": {
660               "type": "string"
661             },
662             "identity-endpoint": {
663               "type": "string"
664             },
665             "name": {
666               "type": "string"
667             },
668             "region": {
669               "type": "string"
670             },
671             "storage-endpoint": {
672               "type": "string"
673             },
674             "type": {
675               "type": "string"
676             }
677           },
678           "additionalProperties": false,
679           "required": [
680             "type",
681             "name"
682           ]
683         },
684         "CloudSpecResult": {
685           "type": "object",
686           "properties": {
687             "error": {
688               "$ref": "#/definitions/Error"
689             },
690             "result": {
691               "$ref": "#/definitions/CloudSpec"
692             }
693           },
694           "additionalProperties": false
695         },
696         "CloudSpecResults": {
697           "type": "object",
698           "properties": {
699             "results": {
700               "type": "array",
701               "items": {
702                 "$ref": "#/definitions/CloudSpecResult"
703               }
704             }
705           },
706           "additionalProperties": false
707         },
708         "ControllerConfigResult": {
709           "type": "object",
710           "properties": {
711             "config": {
712               "type": "object",
713               "patternProperties": {
714                 ".*": {
715                   "type": "object",
716                   "additionalProperties": true
717                 }
718               }
719             }
720           },
721           "additionalProperties": false,
722           "required": [
723             "config"
724           ]
725         },
726         "Entities": {
727           "type": "object",
728           "properties": {
729             "entities": {
730               "type": "array",
731               "items": {
732                 "$ref": "#/definitions/Entity"
733               }
734             }
735           },
736           "additionalProperties": false,
737           "required": [
738             "entities"
739           ]
740         },
741         "Entity": {
742           "type": "object",
743           "properties": {
744             "tag": {
745               "type": "string"
746             }
747           },
748           "additionalProperties": false,
749           "required": [
750             "tag"
751           ]
752         },
753         "EntityPassword": {
754           "type": "object",
755           "properties": {
756             "password": {
757               "type": "string"
758             },
759             "tag": {
760               "type": "string"
761             }
762           },
763           "additionalProperties": false,
764           "required": [
765             "tag",
766             "password"
767           ]
768         },
769         "EntityPasswords": {
770           "type": "object",
771           "properties": {
772             "changes": {
773               "type": "array",
774               "items": {
775                 "$ref": "#/definitions/EntityPassword"
776               }
777             }
778           },
779           "additionalProperties": false,
780           "required": [
781             "changes"
782           ]
783         },
784         "Error": {
785           "type": "object",
786           "properties": {
787             "code": {
788               "type": "string"
789             },
790             "info": {
791               "$ref": "#/definitions/ErrorInfo"
792             },
793             "message": {
794               "type": "string"
795             }
796           },
797           "additionalProperties": false,
798           "required": [
799             "message",
800             "code"
801           ]
802         },
803         "ErrorInfo": {
804           "type": "object",
805           "properties": {
806             "macaroon": {
807               "$ref": "#/definitions/Macaroon"
808             },
809             "macaroon-path": {
810               "type": "string"
811             }
812           },
813           "additionalProperties": false
814         },
815         "ErrorResult": {
816           "type": "object",
817           "properties": {
818             "error": {
819               "$ref": "#/definitions/Error"
820             }
821           },
822           "additionalProperties": false
823         },
824         "ErrorResults": {
825           "type": "object",
826           "properties": {
827             "results": {
828               "type": "array",
829               "items": {
830                 "$ref": "#/definitions/ErrorResult"
831               }
832             }
833           },
834           "additionalProperties": false,
835           "required": [
836             "results"
837           ]
838         },
839         "IsMasterResult": {
840           "type": "object",
841           "properties": {
842             "master": {
843               "type": "boolean"
844             }
845           },
846           "additionalProperties": false,
847           "required": [
848             "master"
849           ]
850         },
851         "Macaroon": {
852           "type": "object",
853           "additionalProperties": false
854         },
855         "ModelConfigResult": {
856           "type": "object",
857           "properties": {
858             "config": {
859               "type": "object",
860               "patternProperties": {
861                 ".*": {
862                   "type": "object",
863                   "additionalProperties": true
864                 }
865               }
866             }
867           },
868           "additionalProperties": false,
869           "required": [
870             "config"
871           ]
872         },
873         "NotifyWatchResult": {
874           "type": "object",
875           "properties": {
876             "NotifyWatcherId": {
877               "type": "string"
878             },
879             "error": {
880               "$ref": "#/definitions/Error"
881             }
882           },
883           "additionalProperties": false,
884           "required": [
885             "NotifyWatcherId"
886           ]
887         },
888         "StateServingInfo": {
889           "type": "object",
890           "properties": {
891             "api-port": {
892               "type": "integer"
893             },
894             "ca-private-key": {
895               "type": "string"
896             },
897             "cert": {
898               "type": "string"
899             },
900             "private-key": {
901               "type": "string"
902             },
903             "shared-secret": {
904               "type": "string"
905             },
906             "state-port": {
907               "type": "integer"
908             },
909             "system-identity": {
910               "type": "string"
911             }
912           },
913           "additionalProperties": false,
914           "required": [
915             "api-port",
916             "state-port",
917             "cert",
918             "private-key",
919             "ca-private-key",
920             "shared-secret",
921             "system-identity"
922           ]
923         }
924       }
925     }
926   },
927   {
928     "Name": "AgentTools",
929     "Version": 1,
930     "Schema": {
931       "type": "object",
932       "properties": {
933         "UpdateToolsAvailable": {
934           "type": "object"
935         }
936       }
937     }
938   },
939   {
940     "Name": "AllModelWatcher",
941     "Version": 2,
942     "Schema": {
943       "type": "object",
944       "properties": {
945         "Next": {
946           "type": "object",
947           "properties": {
948             "Result": {
949               "$ref": "#/definitions/AllWatcherNextResults"
950             }
951           }
952         },
953         "Stop": {
954           "type": "object"
955         }
956       },
957       "definitions": {
958         "AllWatcherNextResults": {
959           "type": "object",
960           "properties": {
961             "deltas": {
962               "type": "array",
963               "items": {
964                 "$ref": "#/definitions/Delta"
965               }
966             }
967           },
968           "additionalProperties": false,
969           "required": [
970             "deltas"
971           ]
972         },
973         "Delta": {
974           "type": "object",
975           "properties": {
976             "entity": {
977               "type": "object",
978               "additionalProperties": true
979             },
980             "removed": {
981               "type": "boolean"
982             }
983           },
984           "additionalProperties": false,
985           "required": [
986             "removed",
987             "entity"
988           ]
989         }
990       }
991     }
992   },
993   {
994     "Name": "AllWatcher",
995     "Version": 1,
996     "Schema": {
997       "type": "object",
998       "properties": {
999         "Next": {
1000           "type": "object",
1001           "properties": {
1002             "Result": {
1003               "$ref": "#/definitions/AllWatcherNextResults"
1004             }
1005           }
1006         },
1007         "Stop": {
1008           "type": "object"
1009         }
1010       },
1011       "definitions": {
1012         "AllWatcherNextResults": {
1013           "type": "object",
1014           "properties": {
1015             "deltas": {
1016               "type": "array",
1017               "items": {
1018                 "$ref": "#/definitions/Delta"
1019               }
1020             }
1021           },
1022           "additionalProperties": false,
1023           "required": [
1024             "deltas"
1025           ]
1026         },
1027         "Delta": {
1028           "type": "object",
1029           "properties": {
1030             "entity": {
1031               "type": "object",
1032               "additionalProperties": true
1033             },
1034             "removed": {
1035               "type": "boolean"
1036             }
1037           },
1038           "additionalProperties": false,
1039           "required": [
1040             "removed",
1041             "entity"
1042           ]
1043         }
1044       }
1045     }
1046   },
1047   {
1048     "Name": "Annotations",
1049     "Version": 2,
1050     "Schema": {
1051       "type": "object",
1052       "properties": {
1053         "Get": {
1054           "type": "object",
1055           "properties": {
1056             "Params": {
1057               "$ref": "#/definitions/Entities"
1058             },
1059             "Result": {
1060               "$ref": "#/definitions/AnnotationsGetResults"
1061             }
1062           }
1063         },
1064         "Set": {
1065           "type": "object",
1066           "properties": {
1067             "Params": {
1068               "$ref": "#/definitions/AnnotationsSet"
1069             },
1070             "Result": {
1071               "$ref": "#/definitions/ErrorResults"
1072             }
1073           }
1074         }
1075       },
1076       "definitions": {
1077         "AnnotationsGetResult": {
1078           "type": "object",
1079           "properties": {
1080             "annotations": {
1081               "type": "object",
1082               "patternProperties": {
1083                 ".*": {
1084                   "type": "string"
1085                 }
1086               }
1087             },
1088             "entity": {
1089               "type": "string"
1090             },
1091             "error": {
1092               "$ref": "#/definitions/ErrorResult"
1093             }
1094           },
1095           "additionalProperties": false,
1096           "required": [
1097             "entity",
1098             "annotations"
1099           ]
1100         },
1101         "AnnotationsGetResults": {
1102           "type": "object",
1103           "properties": {
1104             "results": {
1105               "type": "array",
1106               "items": {
1107                 "$ref": "#/definitions/AnnotationsGetResult"
1108               }
1109             }
1110           },
1111           "additionalProperties": false,
1112           "required": [
1113             "results"
1114           ]
1115         },
1116         "AnnotationsSet": {
1117           "type": "object",
1118           "properties": {
1119             "annotations": {
1120               "type": "array",
1121               "items": {
1122                 "$ref": "#/definitions/EntityAnnotations"
1123               }
1124             }
1125           },
1126           "additionalProperties": false,
1127           "required": [
1128             "annotations"
1129           ]
1130         },
1131         "Entities": {
1132           "type": "object",
1133           "properties": {
1134             "entities": {
1135               "type": "array",
1136               "items": {
1137                 "$ref": "#/definitions/Entity"
1138               }
1139             }
1140           },
1141           "additionalProperties": false,
1142           "required": [
1143             "entities"
1144           ]
1145         },
1146         "Entity": {
1147           "type": "object",
1148           "properties": {
1149             "tag": {
1150               "type": "string"
1151             }
1152           },
1153           "additionalProperties": false,
1154           "required": [
1155             "tag"
1156           ]
1157         },
1158         "EntityAnnotations": {
1159           "type": "object",
1160           "properties": {
1161             "annotations": {
1162               "type": "object",
1163               "patternProperties": {
1164                 ".*": {
1165                   "type": "string"
1166                 }
1167               }
1168             },
1169             "entity": {
1170               "type": "string"
1171             }
1172           },
1173           "additionalProperties": false,
1174           "required": [
1175             "entity",
1176             "annotations"
1177           ]
1178         },
1179         "Error": {
1180           "type": "object",
1181           "properties": {
1182             "code": {
1183               "type": "string"
1184             },
1185             "info": {
1186               "$ref": "#/definitions/ErrorInfo"
1187             },
1188             "message": {
1189               "type": "string"
1190             }
1191           },
1192           "additionalProperties": false,
1193           "required": [
1194             "message",
1195             "code"
1196           ]
1197         },
1198         "ErrorInfo": {
1199           "type": "object",
1200           "properties": {
1201             "macaroon": {
1202               "$ref": "#/definitions/Macaroon"
1203             },
1204             "macaroon-path": {
1205               "type": "string"
1206             }
1207           },
1208           "additionalProperties": false
1209         },
1210         "ErrorResult": {
1211           "type": "object",
1212           "properties": {
1213             "error": {
1214               "$ref": "#/definitions/Error"
1215             }
1216           },
1217           "additionalProperties": false
1218         },
1219         "ErrorResults": {
1220           "type": "object",
1221           "properties": {
1222             "results": {
1223               "type": "array",
1224               "items": {
1225                 "$ref": "#/definitions/ErrorResult"
1226               }
1227             }
1228           },
1229           "additionalProperties": false,
1230           "required": [
1231             "results"
1232           ]
1233         },
1234         "Macaroon": {
1235           "type": "object",
1236           "additionalProperties": false
1237         }
1238       }
1239     }
1240   },
1241   {
1242     "Name": "Application",
1243     "Version": 1,
1244     "Schema": {
1245       "type": "object",
1246       "properties": {
1247         "AddRelation": {
1248           "type": "object",
1249           "properties": {
1250             "Params": {
1251               "$ref": "#/definitions/AddRelation"
1252             },
1253             "Result": {
1254               "$ref": "#/definitions/AddRelationResults"
1255             }
1256           }
1257         },
1258         "AddUnits": {
1259           "type": "object",
1260           "properties": {
1261             "Params": {
1262               "$ref": "#/definitions/AddApplicationUnits"
1263             },
1264             "Result": {
1265               "$ref": "#/definitions/AddApplicationUnitsResults"
1266             }
1267           }
1268         },
1269         "CharmRelations": {
1270           "type": "object",
1271           "properties": {
1272             "Params": {
1273               "$ref": "#/definitions/ApplicationCharmRelations"
1274             },
1275             "Result": {
1276               "$ref": "#/definitions/ApplicationCharmRelationsResults"
1277             }
1278           }
1279         },
1280         "Deploy": {
1281           "type": "object",
1282           "properties": {
1283             "Params": {
1284               "$ref": "#/definitions/ApplicationsDeploy"
1285             },
1286             "Result": {
1287               "$ref": "#/definitions/ErrorResults"
1288             }
1289           }
1290         },
1291         "Destroy": {
1292           "type": "object",
1293           "properties": {
1294             "Params": {
1295               "$ref": "#/definitions/ApplicationDestroy"
1296             }
1297           }
1298         },
1299         "DestroyRelation": {
1300           "type": "object",
1301           "properties": {
1302             "Params": {
1303               "$ref": "#/definitions/DestroyRelation"
1304             }
1305           }
1306         },
1307         "DestroyUnits": {
1308           "type": "object",
1309           "properties": {
1310             "Params": {
1311               "$ref": "#/definitions/DestroyApplicationUnits"
1312             }
1313           }
1314         },
1315         "Expose": {
1316           "type": "object",
1317           "properties": {
1318             "Params": {
1319               "$ref": "#/definitions/ApplicationExpose"
1320             }
1321           }
1322         },
1323         "Get": {
1324           "type": "object",
1325           "properties": {
1326             "Params": {
1327               "$ref": "#/definitions/ApplicationGet"
1328             },
1329             "Result": {
1330               "$ref": "#/definitions/ApplicationGetResults"
1331             }
1332           }
1333         },
1334         "GetCharmURL": {
1335           "type": "object",
1336           "properties": {
1337             "Params": {
1338               "$ref": "#/definitions/ApplicationGet"
1339             },
1340             "Result": {
1341               "$ref": "#/definitions/StringResult"
1342             }
1343           }
1344         },
1345         "GetConstraints": {
1346           "type": "object",
1347           "properties": {
1348             "Params": {
1349               "$ref": "#/definitions/GetApplicationConstraints"
1350             },
1351             "Result": {
1352               "$ref": "#/definitions/GetConstraintsResults"
1353             }
1354           }
1355         },
1356         "Set": {
1357           "type": "object",
1358           "properties": {
1359             "Params": {
1360               "$ref": "#/definitions/ApplicationSet"
1361             }
1362           }
1363         },
1364         "SetCharm": {
1365           "type": "object",
1366           "properties": {
1367             "Params": {
1368               "$ref": "#/definitions/ApplicationSetCharm"
1369             }
1370           }
1371         },
1372         "SetConstraints": {
1373           "type": "object",
1374           "properties": {
1375             "Params": {
1376               "$ref": "#/definitions/SetConstraints"
1377             }
1378           }
1379         },
1380         "SetMetricCredentials": {
1381           "type": "object",
1382           "properties": {
1383             "Params": {
1384               "$ref": "#/definitions/ApplicationMetricCredentials"
1385             },
1386             "Result": {
1387               "$ref": "#/definitions/ErrorResults"
1388             }
1389           }
1390         },
1391         "Unexpose": {
1392           "type": "object",
1393           "properties": {
1394             "Params": {
1395               "$ref": "#/definitions/ApplicationUnexpose"
1396             }
1397           }
1398         },
1399         "Unset": {
1400           "type": "object",
1401           "properties": {
1402             "Params": {
1403               "$ref": "#/definitions/ApplicationUnset"
1404             }
1405           }
1406         },
1407         "Update": {
1408           "type": "object",
1409           "properties": {
1410             "Params": {
1411               "$ref": "#/definitions/ApplicationUpdate"
1412             }
1413           }
1414         }
1415       },
1416       "definitions": {
1417         "AddApplicationUnits": {
1418           "type": "object",
1419           "properties": {
1420             "application": {
1421               "type": "string"
1422             },
1423             "num-units": {
1424               "type": "integer"
1425             },
1426             "placement": {
1427               "type": "array",
1428               "items": {
1429                 "$ref": "#/definitions/Placement"
1430               }
1431             }
1432           },
1433           "additionalProperties": false,
1434           "required": [
1435             "application",
1436             "num-units",
1437             "placement"
1438           ]
1439         },
1440         "AddApplicationUnitsResults": {
1441           "type": "object",
1442           "properties": {
1443             "units": {
1444               "type": "array",
1445               "items": {
1446                 "type": "string"
1447               }
1448             }
1449           },
1450           "additionalProperties": false,
1451           "required": [
1452             "units"
1453           ]
1454         },
1455         "AddRelation": {
1456           "type": "object",
1457           "properties": {
1458             "endpoints": {
1459               "type": "array",
1460               "items": {
1461                 "type": "string"
1462               }
1463             }
1464           },
1465           "additionalProperties": false,
1466           "required": [
1467             "endpoints"
1468           ]
1469         },
1470         "AddRelationResults": {
1471           "type": "object",
1472           "properties": {
1473             "endpoints": {
1474               "type": "object",
1475               "patternProperties": {
1476                 ".*": {
1477                   "$ref": "#/definitions/CharmRelation"
1478                 }
1479               }
1480             }
1481           },
1482           "additionalProperties": false,
1483           "required": [
1484             "endpoints"
1485           ]
1486         },
1487         "ApplicationCharmRelations": {
1488           "type": "object",
1489           "properties": {
1490             "application": {
1491               "type": "string"
1492             }
1493           },
1494           "additionalProperties": false,
1495           "required": [
1496             "application"
1497           ]
1498         },
1499         "ApplicationCharmRelationsResults": {
1500           "type": "object",
1501           "properties": {
1502             "charm-relations": {
1503               "type": "array",
1504               "items": {
1505                 "type": "string"
1506               }
1507             }
1508           },
1509           "additionalProperties": false,
1510           "required": [
1511             "charm-relations"
1512           ]
1513         },
1514         "ApplicationDeploy": {
1515           "type": "object",
1516           "properties": {
1517             "application": {
1518               "type": "string"
1519             },
1520             "channel": {
1521               "type": "string"
1522             },
1523             "charm-url": {
1524               "type": "string"
1525             },
1526             "config": {
1527               "type": "object",
1528               "patternProperties": {
1529                 ".*": {
1530                   "type": "string"
1531                 }
1532               }
1533             },
1534             "config-yaml": {
1535               "type": "string"
1536             },
1537             "constraints": {
1538               "$ref": "#/definitions/Value"
1539             },
1540             "endpoint-bindings": {
1541               "type": "object",
1542               "patternProperties": {
1543                 ".*": {
1544                   "type": "string"
1545                 }
1546               }
1547             },
1548             "num-units": {
1549               "type": "integer"
1550             },
1551             "placement": {
1552               "type": "array",
1553               "items": {
1554                 "$ref": "#/definitions/Placement"
1555               }
1556             },
1557             "resources": {
1558               "type": "object",
1559               "patternProperties": {
1560                 ".*": {
1561                   "type": "string"
1562                 }
1563               }
1564             },
1565             "series": {
1566               "type": "string"
1567             },
1568             "storage": {
1569               "type": "object",
1570               "patternProperties": {
1571                 ".*": {
1572                   "$ref": "#/definitions/Constraints"
1573                 }
1574               }
1575             }
1576           },
1577           "additionalProperties": false,
1578           "required": [
1579             "application",
1580             "series",
1581             "charm-url",
1582             "channel",
1583             "num-units",
1584             "config-yaml",
1585             "constraints"
1586           ]
1587         },
1588         "ApplicationDestroy": {
1589           "type": "object",
1590           "properties": {
1591             "application": {
1592               "type": "string"
1593             }
1594           },
1595           "additionalProperties": false,
1596           "required": [
1597             "application"
1598           ]
1599         },
1600         "ApplicationExpose": {
1601           "type": "object",
1602           "properties": {
1603             "application": {
1604               "type": "string"
1605             }
1606           },
1607           "additionalProperties": false,
1608           "required": [
1609             "application"
1610           ]
1611         },
1612         "ApplicationGet": {
1613           "type": "object",
1614           "properties": {
1615             "application": {
1616               "type": "string"
1617             }
1618           },
1619           "additionalProperties": false,
1620           "required": [
1621             "application"
1622           ]
1623         },
1624         "ApplicationGetResults": {
1625           "type": "object",
1626           "properties": {
1627             "application": {
1628               "type": "string"
1629             },
1630             "charm": {
1631               "type": "string"
1632             },
1633             "config": {
1634               "type": "object",
1635               "patternProperties": {
1636                 ".*": {
1637                   "type": "object",
1638                   "additionalProperties": true
1639                 }
1640               }
1641             },
1642             "constraints": {
1643               "$ref": "#/definitions/Value"
1644             },
1645             "series": {
1646               "type": "string"
1647             }
1648           },
1649           "additionalProperties": false,
1650           "required": [
1651             "application",
1652             "charm",
1653             "config",
1654             "constraints",
1655             "series"
1656           ]
1657         },
1658         "ApplicationMetricCredential": {
1659           "type": "object",
1660           "properties": {
1661             "application": {
1662               "type": "string"
1663             },
1664             "metrics-credentials": {
1665               "type": "array",
1666               "items": {
1667                 "type": "integer"
1668               }
1669             }
1670           },
1671           "additionalProperties": false,
1672           "required": [
1673             "application",
1674             "metrics-credentials"
1675           ]
1676         },
1677         "ApplicationMetricCredentials": {
1678           "type": "object",
1679           "properties": {
1680             "creds": {
1681               "type": "array",
1682               "items": {
1683                 "$ref": "#/definitions/ApplicationMetricCredential"
1684               }
1685             }
1686           },
1687           "additionalProperties": false,
1688           "required": [
1689             "creds"
1690           ]
1691         },
1692         "ApplicationSet": {
1693           "type": "object",
1694           "properties": {
1695             "application": {
1696               "type": "string"
1697             },
1698             "options": {
1699               "type": "object",
1700               "patternProperties": {
1701                 ".*": {
1702                   "type": "string"
1703                 }
1704               }
1705             }
1706           },
1707           "additionalProperties": false,
1708           "required": [
1709             "application",
1710             "options"
1711           ]
1712         },
1713         "ApplicationSetCharm": {
1714           "type": "object",
1715           "properties": {
1716             "application": {
1717               "type": "string"
1718             },
1719             "channel": {
1720               "type": "string"
1721             },
1722             "charm-url": {
1723               "type": "string"
1724             },
1725             "force-series": {
1726               "type": "boolean"
1727             },
1728             "force-units": {
1729               "type": "boolean"
1730             },
1731             "resource-ids": {
1732               "type": "object",
1733               "patternProperties": {
1734                 ".*": {
1735                   "type": "string"
1736                 }
1737               }
1738             }
1739           },
1740           "additionalProperties": false,
1741           "required": [
1742             "application",
1743             "charm-url",
1744             "channel",
1745             "force-units",
1746             "force-series"
1747           ]
1748         },
1749         "ApplicationUnexpose": {
1750           "type": "object",
1751           "properties": {
1752             "application": {
1753               "type": "string"
1754             }
1755           },
1756           "additionalProperties": false,
1757           "required": [
1758             "application"
1759           ]
1760         },
1761         "ApplicationUnset": {
1762           "type": "object",
1763           "properties": {
1764             "application": {
1765               "type": "string"
1766             },
1767             "options": {
1768               "type": "array",
1769               "items": {
1770                 "type": "string"
1771               }
1772             }
1773           },
1774           "additionalProperties": false,
1775           "required": [
1776             "application",
1777             "options"
1778           ]
1779         },
1780         "ApplicationUpdate": {
1781           "type": "object",
1782           "properties": {
1783             "application": {
1784               "type": "string"
1785             },
1786             "charm-url": {
1787               "type": "string"
1788             },
1789             "constraints": {
1790               "$ref": "#/definitions/Value"
1791             },
1792             "force-charm-url": {
1793               "type": "boolean"
1794             },
1795             "force-series": {
1796               "type": "boolean"
1797             },
1798             "min-units": {
1799               "type": "integer"
1800             },
1801             "settings": {
1802               "type": "object",
1803               "patternProperties": {
1804                 ".*": {
1805                   "type": "string"
1806                 }
1807               }
1808             },
1809             "settings-yaml": {
1810               "type": "string"
1811             }
1812           },
1813           "additionalProperties": false,
1814           "required": [
1815             "application",
1816             "charm-url",
1817             "force-charm-url",
1818             "force-series",
1819             "settings-yaml"
1820           ]
1821         },
1822         "ApplicationsDeploy": {
1823           "type": "object",
1824           "properties": {
1825             "applications": {
1826               "type": "array",
1827               "items": {
1828                 "$ref": "#/definitions/ApplicationDeploy"
1829               }
1830             }
1831           },
1832           "additionalProperties": false,
1833           "required": [
1834             "applications"
1835           ]
1836         },
1837         "CharmRelation": {
1838           "type": "object",
1839           "properties": {
1840             "interface": {
1841               "type": "string"
1842             },
1843             "limit": {
1844               "type": "integer"
1845             },
1846             "name": {
1847               "type": "string"
1848             },
1849             "optional": {
1850               "type": "boolean"
1851             },
1852             "role": {
1853               "type": "string"
1854             },
1855             "scope": {
1856               "type": "string"
1857             }
1858           },
1859           "additionalProperties": false,
1860           "required": [
1861             "name",
1862             "role",
1863             "interface",
1864             "optional",
1865             "limit",
1866             "scope"
1867           ]
1868         },
1869         "Constraints": {
1870           "type": "object",
1871           "properties": {
1872             "Count": {
1873               "type": "integer"
1874             },
1875             "Pool": {
1876               "type": "string"
1877             },
1878             "Size": {
1879               "type": "integer"
1880             }
1881           },
1882           "additionalProperties": false,
1883           "required": [
1884             "Pool",
1885             "Size",
1886             "Count"
1887           ]
1888         },
1889         "DestroyApplicationUnits": {
1890           "type": "object",
1891           "properties": {
1892             "unit-names": {
1893               "type": "array",
1894               "items": {
1895                 "type": "string"
1896               }
1897             }
1898           },
1899           "additionalProperties": false,
1900           "required": [
1901             "unit-names"
1902           ]
1903         },
1904         "DestroyRelation": {
1905           "type": "object",
1906           "properties": {
1907             "endpoints": {
1908               "type": "array",
1909               "items": {
1910                 "type": "string"
1911               }
1912             }
1913           },
1914           "additionalProperties": false,
1915           "required": [
1916             "endpoints"
1917           ]
1918         },
1919         "Error": {
1920           "type": "object",
1921           "properties": {
1922             "code": {
1923               "type": "string"
1924             },
1925             "info": {
1926               "$ref": "#/definitions/ErrorInfo"
1927             },
1928             "message": {
1929               "type": "string"
1930             }
1931           },
1932           "additionalProperties": false,
1933           "required": [
1934             "message",
1935             "code"
1936           ]
1937         },
1938         "ErrorInfo": {
1939           "type": "object",
1940           "properties": {
1941             "macaroon": {
1942               "$ref": "#/definitions/Macaroon"
1943             },
1944             "macaroon-path": {
1945               "type": "string"
1946             }
1947           },
1948           "additionalProperties": false
1949         },
1950         "ErrorResult": {
1951           "type": "object",
1952           "properties": {
1953             "error": {
1954               "$ref": "#/definitions/Error"
1955             }
1956           },
1957           "additionalProperties": false
1958         },
1959         "ErrorResults": {
1960           "type": "object",
1961           "properties": {
1962             "results": {
1963               "type": "array",
1964               "items": {
1965                 "$ref": "#/definitions/ErrorResult"
1966               }
1967             }
1968           },
1969           "additionalProperties": false,
1970           "required": [
1971             "results"
1972           ]
1973         },
1974         "GetApplicationConstraints": {
1975           "type": "object",
1976           "properties": {
1977             "application": {
1978               "type": "string"
1979             }
1980           },
1981           "additionalProperties": false,
1982           "required": [
1983             "application"
1984           ]
1985         },
1986         "GetConstraintsResults": {
1987           "type": "object",
1988           "properties": {
1989             "constraints": {
1990               "$ref": "#/definitions/Value"
1991             }
1992           },
1993           "additionalProperties": false,
1994           "required": [
1995             "constraints"
1996           ]
1997         },
1998         "Macaroon": {
1999           "type": "object",
2000           "additionalProperties": false
2001         },
2002         "Placement": {
2003           "type": "object",
2004           "properties": {
2005             "directive": {
2006               "type": "string"
2007             },
2008             "scope": {
2009               "type": "string"
2010             }
2011           },
2012           "additionalProperties": false,
2013           "required": [
2014             "scope",
2015             "directive"
2016           ]
2017         },
2018         "SetConstraints": {
2019           "type": "object",
2020           "properties": {
2021             "application": {
2022               "type": "string"
2023             },
2024             "constraints": {
2025               "$ref": "#/definitions/Value"
2026             }
2027           },
2028           "additionalProperties": false,
2029           "required": [
2030             "application",
2031             "constraints"
2032           ]
2033         },
2034         "StringResult": {
2035           "type": "object",
2036           "properties": {
2037             "error": {
2038               "$ref": "#/definitions/Error"
2039             },
2040             "result": {
2041               "type": "string"
2042             }
2043           },
2044           "additionalProperties": false,
2045           "required": [
2046             "result"
2047           ]
2048         },
2049         "Value": {
2050           "type": "object",
2051           "properties": {
2052             "arch": {
2053               "type": "string"
2054             },
2055             "container": {
2056               "type": "string"
2057             },
2058             "cpu-cores": {
2059               "type": "integer"
2060             },
2061             "cpu-power": {
2062               "type": "integer"
2063             },
2064             "instance-type": {
2065               "type": "string"
2066             },
2067             "mem": {
2068               "type": "integer"
2069             },
2070             "root-disk": {
2071               "type": "integer"
2072             },
2073             "spaces": {
2074               "type": "array",
2075               "items": {
2076                 "type": "string"
2077               }
2078             },
2079             "tags": {
2080               "type": "array",
2081               "items": {
2082                 "type": "string"
2083               }
2084             },
2085             "virt-type": {
2086               "type": "string"
2087             }
2088           },
2089           "additionalProperties": false
2090         }
2091       }
2092     }
2093   },
2094   {
2095     "Name": "ApplicationScaler",
2096     "Version": 1,
2097     "Schema": {
2098       "type": "object",
2099       "properties": {
2100         "Rescale": {
2101           "type": "object",
2102           "properties": {
2103             "Params": {
2104               "$ref": "#/definitions/Entities"
2105             },
2106             "Result": {
2107               "$ref": "#/definitions/ErrorResults"
2108             }
2109           }
2110         },
2111         "Watch": {
2112           "type": "object",
2113           "properties": {
2114             "Result": {
2115               "$ref": "#/definitions/StringsWatchResult"
2116             }
2117           }
2118         }
2119       },
2120       "definitions": {
2121         "Entities": {
2122           "type": "object",
2123           "properties": {
2124             "entities": {
2125               "type": "array",
2126               "items": {
2127                 "$ref": "#/definitions/Entity"
2128               }
2129             }
2130           },
2131           "additionalProperties": false,
2132           "required": [
2133             "entities"
2134           ]
2135         },
2136         "Entity": {
2137           "type": "object",
2138           "properties": {
2139             "tag": {
2140               "type": "string"
2141             }
2142           },
2143           "additionalProperties": false,
2144           "required": [
2145             "tag"
2146           ]
2147         },
2148         "Error": {
2149           "type": "object",
2150           "properties": {
2151             "code": {
2152               "type": "string"
2153             },
2154             "info": {
2155               "$ref": "#/definitions/ErrorInfo"
2156             },
2157             "message": {
2158               "type": "string"
2159             }
2160           },
2161           "additionalProperties": false,
2162           "required": [
2163             "message",
2164             "code"
2165           ]
2166         },
2167         "ErrorInfo": {
2168           "type": "object",
2169           "properties": {
2170             "macaroon": {
2171               "$ref": "#/definitions/Macaroon"
2172             },
2173             "macaroon-path": {
2174               "type": "string"
2175             }
2176           },
2177           "additionalProperties": false
2178         },
2179         "ErrorResult": {
2180           "type": "object",
2181           "properties": {
2182             "error": {
2183               "$ref": "#/definitions/Error"
2184             }
2185           },
2186           "additionalProperties": false
2187         },
2188         "ErrorResults": {
2189           "type": "object",
2190           "properties": {
2191             "results": {
2192               "type": "array",
2193               "items": {
2194                 "$ref": "#/definitions/ErrorResult"
2195               }
2196             }
2197           },
2198           "additionalProperties": false,
2199           "required": [
2200             "results"
2201           ]
2202         },
2203         "Macaroon": {
2204           "type": "object",
2205           "additionalProperties": false
2206         },
2207         "StringsWatchResult": {
2208           "type": "object",
2209           "properties": {
2210             "changes": {
2211               "type": "array",
2212               "items": {
2213                 "type": "string"
2214               }
2215             },
2216             "error": {
2217               "$ref": "#/definitions/Error"
2218             },
2219             "watcher-id": {
2220               "type": "string"
2221             }
2222           },
2223           "additionalProperties": false,
2224           "required": [
2225             "watcher-id"
2226           ]
2227         }
2228       }
2229     }
2230   },
2231   {
2232     "Name": "Backups",
2233     "Version": 1,
2234     "Schema": {
2235       "type": "object",
2236       "properties": {
2237         "Create": {
2238           "type": "object",
2239           "properties": {
2240             "Params": {
2241               "$ref": "#/definitions/BackupsCreateArgs"
2242             },
2243             "Result": {
2244               "$ref": "#/definitions/BackupsMetadataResult"
2245             }
2246           }
2247         },
2248         "FinishRestore": {
2249           "type": "object"
2250         },
2251         "Info": {
2252           "type": "object",
2253           "properties": {
2254             "Params": {
2255               "$ref": "#/definitions/BackupsInfoArgs"
2256             },
2257             "Result": {
2258               "$ref": "#/definitions/BackupsMetadataResult"
2259             }
2260           }
2261         },
2262         "List": {
2263           "type": "object",
2264           "properties": {
2265             "Params": {
2266               "$ref": "#/definitions/BackupsListArgs"
2267             },
2268             "Result": {
2269               "$ref": "#/definitions/BackupsListResult"
2270             }
2271           }
2272         },
2273         "PrepareRestore": {
2274           "type": "object"
2275         },
2276         "Remove": {
2277           "type": "object",
2278           "properties": {
2279             "Params": {
2280               "$ref": "#/definitions/BackupsRemoveArgs"
2281             }
2282           }
2283         },
2284         "Restore": {
2285           "type": "object",
2286           "properties": {
2287             "Params": {
2288               "$ref": "#/definitions/RestoreArgs"
2289             }
2290           }
2291         }
2292       },
2293       "definitions": {
2294         "BackupsCreateArgs": {
2295           "type": "object",
2296           "properties": {
2297             "notes": {
2298               "type": "string"
2299             }
2300           },
2301           "additionalProperties": false,
2302           "required": [
2303             "notes"
2304           ]
2305         },
2306         "BackupsInfoArgs": {
2307           "type": "object",
2308           "properties": {
2309             "id": {
2310               "type": "string"
2311             }
2312           },
2313           "additionalProperties": false,
2314           "required": [
2315             "id"
2316           ]
2317         },
2318         "BackupsListArgs": {
2319           "type": "object",
2320           "additionalProperties": false
2321         },
2322         "BackupsListResult": {
2323           "type": "object",
2324           "properties": {
2325             "list": {
2326               "type": "array",
2327               "items": {
2328                 "$ref": "#/definitions/BackupsMetadataResult"
2329               }
2330             }
2331           },
2332           "additionalProperties": false,
2333           "required": [
2334             "list"
2335           ]
2336         },
2337         "BackupsMetadataResult": {
2338           "type": "object",
2339           "properties": {
2340             "ca-cert": {
2341               "type": "string"
2342             },
2343             "ca-private-key": {
2344               "type": "string"
2345             },
2346             "checksum": {
2347               "type": "string"
2348             },
2349             "checksum-format": {
2350               "type": "string"
2351             },
2352             "finished": {
2353               "type": "string",
2354               "format": "date-time"
2355             },
2356             "hostname": {
2357               "type": "string"
2358             },
2359             "id": {
2360               "type": "string"
2361             },
2362             "machine": {
2363               "type": "string"
2364             },
2365             "model": {
2366               "type": "string"
2367             },
2368             "notes": {
2369               "type": "string"
2370             },
2371             "series": {
2372               "type": "string"
2373             },
2374             "size": {
2375               "type": "integer"
2376             },
2377             "started": {
2378               "type": "string",
2379               "format": "date-time"
2380             },
2381             "stored": {
2382               "type": "string",
2383               "format": "date-time"
2384             },
2385             "version": {
2386               "$ref": "#/definitions/Number"
2387             }
2388           },
2389           "additionalProperties": false,
2390           "required": [
2391             "id",
2392             "checksum",
2393             "checksum-format",
2394             "size",
2395             "stored",
2396             "started",
2397             "finished",
2398             "notes",
2399             "model",
2400             "machine",
2401             "hostname",
2402             "version",
2403             "series",
2404             "ca-cert",
2405             "ca-private-key"
2406           ]
2407         },
2408         "BackupsRemoveArgs": {
2409           "type": "object",
2410           "properties": {
2411             "id": {
2412               "type": "string"
2413             }
2414           },
2415           "additionalProperties": false,
2416           "required": [
2417             "id"
2418           ]
2419         },
2420         "Number": {
2421           "type": "object",
2422           "properties": {
2423             "Build": {
2424               "type": "integer"
2425             },
2426             "Major": {
2427               "type": "integer"
2428             },
2429             "Minor": {
2430               "type": "integer"
2431             },
2432             "Patch": {
2433               "type": "integer"
2434             },
2435             "Tag": {
2436               "type": "string"
2437             }
2438           },
2439           "additionalProperties": false,
2440           "required": [
2441             "Major",
2442             "Minor",
2443             "Tag",
2444             "Patch",
2445             "Build"
2446           ]
2447         },
2448         "RestoreArgs": {
2449           "type": "object",
2450           "properties": {
2451             "backup-id": {
2452               "type": "string"
2453             }
2454           },
2455           "additionalProperties": false,
2456           "required": [
2457             "backup-id"
2458           ]
2459         }
2460       }
2461     }
2462   },
2463   {
2464     "Name": "Block",
2465     "Version": 2,
2466     "Schema": {
2467       "type": "object",
2468       "properties": {
2469         "List": {
2470           "type": "object",
2471           "properties": {
2472             "Result": {
2473               "$ref": "#/definitions/BlockResults"
2474             }
2475           }
2476         },
2477         "SwitchBlockOff": {
2478           "type": "object",
2479           "properties": {
2480             "Params": {
2481               "$ref": "#/definitions/BlockSwitchParams"
2482             },
2483             "Result": {
2484               "$ref": "#/definitions/ErrorResult"
2485             }
2486           }
2487         },
2488         "SwitchBlockOn": {
2489           "type": "object",
2490           "properties": {
2491             "Params": {
2492               "$ref": "#/definitions/BlockSwitchParams"
2493             },
2494             "Result": {
2495               "$ref": "#/definitions/ErrorResult"
2496             }
2497           }
2498         }
2499       },
2500       "definitions": {
2501         "Block": {
2502           "type": "object",
2503           "properties": {
2504             "id": {
2505               "type": "string"
2506             },
2507             "message": {
2508               "type": "string"
2509             },
2510             "tag": {
2511               "type": "string"
2512             },
2513             "type": {
2514               "type": "string"
2515             }
2516           },
2517           "additionalProperties": false,
2518           "required": [
2519             "id",
2520             "tag",
2521             "type"
2522           ]
2523         },
2524         "BlockResult": {
2525           "type": "object",
2526           "properties": {
2527             "error": {
2528               "$ref": "#/definitions/Error"
2529             },
2530             "result": {
2531               "$ref": "#/definitions/Block"
2532             }
2533           },
2534           "additionalProperties": false,
2535           "required": [
2536             "result"
2537           ]
2538         },
2539         "BlockResults": {
2540           "type": "object",
2541           "properties": {
2542             "results": {
2543               "type": "array",
2544               "items": {
2545                 "$ref": "#/definitions/BlockResult"
2546               }
2547             }
2548           },
2549           "additionalProperties": false
2550         },
2551         "BlockSwitchParams": {
2552           "type": "object",
2553           "properties": {
2554             "message": {
2555               "type": "string"
2556             },
2557             "type": {
2558               "type": "string"
2559             }
2560           },
2561           "additionalProperties": false,
2562           "required": [
2563             "type"
2564           ]
2565         },
2566         "Error": {
2567           "type": "object",
2568           "properties": {
2569             "code": {
2570               "type": "string"
2571             },
2572             "info": {
2573               "$ref": "#/definitions/ErrorInfo"
2574             },
2575             "message": {
2576               "type": "string"
2577             }
2578           },
2579           "additionalProperties": false,
2580           "required": [
2581             "message",
2582             "code"
2583           ]
2584         },
2585         "ErrorInfo": {
2586           "type": "object",
2587           "properties": {
2588             "macaroon": {
2589               "$ref": "#/definitions/Macaroon"
2590             },
2591             "macaroon-path": {
2592               "type": "string"
2593             }
2594           },
2595           "additionalProperties": false
2596         },
2597         "ErrorResult": {
2598           "type": "object",
2599           "properties": {
2600             "error": {
2601               "$ref": "#/definitions/Error"
2602             }
2603           },
2604           "additionalProperties": false
2605         },
2606         "Macaroon": {
2607           "type": "object",
2608           "additionalProperties": false
2609         }
2610       }
2611     }
2612   },
2613   {
2614     "Name": "CharmRevisionUpdater",
2615     "Version": 2,
2616     "Schema": {
2617       "type": "object",
2618       "properties": {
2619         "UpdateLatestRevisions": {
2620           "type": "object",
2621           "properties": {
2622             "Result": {
2623               "$ref": "#/definitions/ErrorResult"
2624             }
2625           }
2626         }
2627       },
2628       "definitions": {
2629         "Error": {
2630           "type": "object",
2631           "properties": {
2632             "code": {
2633               "type": "string"
2634             },
2635             "info": {
2636               "$ref": "#/definitions/ErrorInfo"
2637             },
2638             "message": {
2639               "type": "string"
2640             }
2641           },
2642           "additionalProperties": false,
2643           "required": [
2644             "message",
2645             "code"
2646           ]
2647         },
2648         "ErrorInfo": {
2649           "type": "object",
2650           "properties": {
2651             "macaroon": {
2652               "$ref": "#/definitions/Macaroon"
2653             },
2654             "macaroon-path": {
2655               "type": "string"
2656             }
2657           },
2658           "additionalProperties": false
2659         },
2660         "ErrorResult": {
2661           "type": "object",
2662           "properties": {
2663             "error": {
2664               "$ref": "#/definitions/Error"
2665             }
2666           },
2667           "additionalProperties": false
2668         },
2669         "Macaroon": {
2670           "type": "object",
2671           "additionalProperties": false
2672         }
2673       }
2674     }
2675   },
2676   {
2677     "Name": "Charms",
2678     "Version": 2,
2679     "Schema": {
2680       "type": "object",
2681       "properties": {
2682         "CharmInfo": {
2683           "type": "object",
2684           "properties": {
2685             "Params": {
2686               "$ref": "#/definitions/CharmURL"
2687             },
2688             "Result": {
2689               "$ref": "#/definitions/CharmInfo"
2690             }
2691           }
2692         },
2693         "IsMetered": {
2694           "type": "object",
2695           "properties": {
2696             "Params": {
2697               "$ref": "#/definitions/CharmURL"
2698             },
2699             "Result": {
2700               "$ref": "#/definitions/IsMeteredResult"
2701             }
2702           }
2703         },
2704         "List": {
2705           "type": "object",
2706           "properties": {
2707             "Params": {
2708               "$ref": "#/definitions/CharmsList"
2709             },
2710             "Result": {
2711               "$ref": "#/definitions/CharmsListResult"
2712             }
2713           }
2714         }
2715       },
2716       "definitions": {
2717         "CharmActionSpec": {
2718           "type": "object",
2719           "properties": {
2720             "description": {
2721               "type": "string"
2722             },
2723             "params": {
2724               "type": "object",
2725               "patternProperties": {
2726                 ".*": {
2727                   "type": "object",
2728                   "additionalProperties": true
2729                 }
2730               }
2731             }
2732           },
2733           "additionalProperties": false,
2734           "required": [
2735             "description",
2736             "params"
2737           ]
2738         },
2739         "CharmActions": {
2740           "type": "object",
2741           "properties": {
2742             "specs": {
2743               "type": "object",
2744               "patternProperties": {
2745                 ".*": {
2746                   "$ref": "#/definitions/CharmActionSpec"
2747                 }
2748               }
2749             }
2750           },
2751           "additionalProperties": false
2752         },
2753         "CharmInfo": {
2754           "type": "object",
2755           "properties": {
2756             "actions": {
2757               "$ref": "#/definitions/CharmActions"
2758             },
2759             "config": {
2760               "type": "object",
2761               "patternProperties": {
2762                 ".*": {
2763                   "$ref": "#/definitions/CharmOption"
2764                 }
2765               }
2766             },
2767             "meta": {
2768               "$ref": "#/definitions/CharmMeta"
2769             },
2770             "metrics": {
2771               "$ref": "#/definitions/CharmMetrics"
2772             },
2773             "revision": {
2774               "type": "integer"
2775             },
2776             "url": {
2777               "type": "string"
2778             }
2779           },
2780           "additionalProperties": false,
2781           "required": [
2782             "revision",
2783             "url",
2784             "config"
2785           ]
2786         },
2787         "CharmMeta": {
2788           "type": "object",
2789           "properties": {
2790             "categories": {
2791               "type": "array",
2792               "items": {
2793                 "type": "string"
2794               }
2795             },
2796             "description": {
2797               "type": "string"
2798             },
2799             "extra-bindings": {
2800               "type": "object",
2801               "patternProperties": {
2802                 ".*": {
2803                   "type": "string"
2804                 }
2805               }
2806             },
2807             "min-juju-version": {
2808               "type": "string"
2809             },
2810             "name": {
2811               "type": "string"
2812             },
2813             "payload-classes": {
2814               "type": "object",
2815               "patternProperties": {
2816                 ".*": {
2817                   "$ref": "#/definitions/CharmPayloadClass"
2818                 }
2819               }
2820             },
2821             "peers": {
2822               "type": "object",
2823               "patternProperties": {
2824                 ".*": {
2825                   "$ref": "#/definitions/CharmRelation"
2826                 }
2827               }
2828             },
2829             "provides": {
2830               "type": "object",
2831               "patternProperties": {
2832                 ".*": {
2833                   "$ref": "#/definitions/CharmRelation"
2834                 }
2835               }
2836             },
2837             "requires": {
2838               "type": "object",
2839               "patternProperties": {
2840                 ".*": {
2841                   "$ref": "#/definitions/CharmRelation"
2842                 }
2843               }
2844             },
2845             "resources": {
2846               "type": "object",
2847               "patternProperties": {
2848                 ".*": {
2849                   "$ref": "#/definitions/CharmResourceMeta"
2850                 }
2851               }
2852             },
2853             "series": {
2854               "type": "array",
2855               "items": {
2856                 "type": "string"
2857               }
2858             },
2859             "storage": {
2860               "type": "object",
2861               "patternProperties": {
2862                 ".*": {
2863                   "$ref": "#/definitions/CharmStorage"
2864                 }
2865               }
2866             },
2867             "subordinate": {
2868               "type": "boolean"
2869             },
2870             "summary": {
2871               "type": "string"
2872             },
2873             "tags": {
2874               "type": "array",
2875               "items": {
2876                 "type": "string"
2877               }
2878             },
2879             "terms": {
2880               "type": "array",
2881               "items": {
2882                 "type": "string"
2883               }
2884             }
2885           },
2886           "additionalProperties": false,
2887           "required": [
2888             "name",
2889             "summary",
2890             "description",
2891             "subordinate"
2892           ]
2893         },
2894         "CharmMetric": {
2895           "type": "object",
2896           "properties": {
2897             "description": {
2898               "type": "string"
2899             },
2900             "type": {
2901               "type": "string"
2902             }
2903           },
2904           "additionalProperties": false,
2905           "required": [
2906             "type",
2907             "description"
2908           ]
2909         },
2910         "CharmMetrics": {
2911           "type": "object",
2912           "properties": {
2913             "metrics": {
2914               "type": "object",
2915               "patternProperties": {
2916                 ".*": {
2917                   "$ref": "#/definitions/CharmMetric"
2918                 }
2919               }
2920             }
2921           },
2922           "additionalProperties": false,
2923           "required": [
2924             "metrics"
2925           ]
2926         },
2927         "CharmOption": {
2928           "type": "object",
2929           "properties": {
2930             "default": {
2931               "type": "object",
2932               "additionalProperties": true
2933             },
2934             "description": {
2935               "type": "string"
2936             },
2937             "type": {
2938               "type": "string"
2939             }
2940           },
2941           "additionalProperties": false,
2942           "required": [
2943             "type"
2944           ]
2945         },
2946         "CharmPayloadClass": {
2947           "type": "object",
2948           "properties": {
2949             "name": {
2950               "type": "string"
2951             },
2952             "type": {
2953               "type": "string"
2954             }
2955           },
2956           "additionalProperties": false,
2957           "required": [
2958             "name",
2959             "type"
2960           ]
2961         },
2962         "CharmRelation": {
2963           "type": "object",
2964           "properties": {
2965             "interface": {
2966               "type": "string"
2967             },
2968             "limit": {
2969               "type": "integer"
2970             },
2971             "name": {
2972               "type": "string"
2973             },
2974             "optional": {
2975               "type": "boolean"
2976             },
2977             "role": {
2978               "type": "string"
2979             },
2980             "scope": {
2981               "type": "string"
2982             }
2983           },
2984           "additionalProperties": false,
2985           "required": [
2986             "name",
2987             "role",
2988             "interface",
2989             "optional",
2990             "limit",
2991             "scope"
2992           ]
2993         },
2994         "CharmResourceMeta": {
2995           "type": "object",
2996           "properties": {
2997             "description": {
2998               "type": "string"
2999             },
3000             "name": {
3001               "type": "string"
3002             },
3003             "path": {
3004               "type": "string"
3005             },
3006             "type": {
3007               "type": "string"
3008             }
3009           },
3010           "additionalProperties": false,
3011           "required": [
3012             "name",
3013             "type",
3014             "path",
3015             "description"
3016           ]
3017         },
3018         "CharmStorage": {
3019           "type": "object",
3020           "properties": {
3021             "count-max": {
3022               "type": "integer"
3023             },
3024             "count-min": {
3025               "type": "integer"
3026             },
3027             "description": {
3028               "type": "string"
3029             },
3030             "location": {
3031               "type": "string"
3032             },
3033             "minimum-size": {
3034               "type": "integer"
3035             },
3036             "name": {
3037               "type": "string"
3038             },
3039             "properties": {
3040               "type": "array",
3041               "items": {
3042                 "type": "string"
3043               }
3044             },
3045             "read-only": {
3046               "type": "boolean"
3047             },
3048             "shared": {
3049               "type": "boolean"
3050             },
3051             "type": {
3052               "type": "string"
3053             }
3054           },
3055           "additionalProperties": false,
3056           "required": [
3057             "name",
3058             "description",
3059             "type",
3060             "shared",
3061             "read-only",
3062             "count-min",
3063             "count-max",
3064             "minimum-size"
3065           ]
3066         },
3067         "CharmURL": {
3068           "type": "object",
3069           "properties": {
3070             "url": {
3071               "type": "string"
3072             }
3073           },
3074           "additionalProperties": false,
3075           "required": [
3076             "url"
3077           ]
3078         },
3079         "CharmsList": {
3080           "type": "object",
3081           "properties": {
3082             "names": {
3083               "type": "array",
3084               "items": {
3085                 "type": "string"
3086               }
3087             }
3088           },
3089           "additionalProperties": false,
3090           "required": [
3091             "names"
3092           ]
3093         },
3094         "CharmsListResult": {
3095           "type": "object",
3096           "properties": {
3097             "charm-urls": {
3098               "type": "array",
3099               "items": {
3100                 "type": "string"
3101               }
3102             }
3103           },
3104           "additionalProperties": false,
3105           "required": [
3106             "charm-urls"
3107           ]
3108         },
3109         "IsMeteredResult": {
3110           "type": "object",
3111           "properties": {
3112             "metered": {
3113               "type": "boolean"
3114             }
3115           },
3116           "additionalProperties": false,
3117           "required": [
3118             "metered"
3119           ]
3120         }
3121       }
3122     }
3123   },
3124   {
3125     "Name": "Cleaner",
3126     "Version": 2,
3127     "Schema": {
3128       "type": "object",
3129       "properties": {
3130         "Cleanup": {
3131           "type": "object"
3132         },
3133         "WatchCleanups": {
3134           "type": "object",
3135           "properties": {
3136             "Result": {
3137               "$ref": "#/definitions/NotifyWatchResult"
3138             }
3139           }
3140         }
3141       },
3142       "definitions": {
3143         "Error": {
3144           "type": "object",
3145           "properties": {
3146             "code": {
3147               "type": "string"
3148             },
3149             "info": {
3150               "$ref": "#/definitions/ErrorInfo"
3151             },
3152             "message": {
3153               "type": "string"
3154             }
3155           },
3156           "additionalProperties": false,
3157           "required": [
3158             "message",
3159             "code"
3160           ]
3161         },
3162         "ErrorInfo": {
3163           "type": "object",
3164           "properties": {
3165             "macaroon": {
3166               "$ref": "#/definitions/Macaroon"
3167             },
3168             "macaroon-path": {
3169               "type": "string"
3170             }
3171           },
3172           "additionalProperties": false
3173         },
3174         "Macaroon": {
3175           "type": "object",
3176           "additionalProperties": false
3177         },
3178         "NotifyWatchResult": {
3179           "type": "object",
3180           "properties": {
3181             "NotifyWatcherId": {
3182               "type": "string"
3183             },
3184             "error": {
3185               "$ref": "#/definitions/Error"
3186             }
3187           },
3188           "additionalProperties": false,
3189           "required": [
3190             "NotifyWatcherId"
3191           ]
3192         }
3193       }
3194     }
3195   },
3196   {
3197     "Name": "Client",
3198     "Version": 1,
3199     "Schema": {
3200       "type": "object",
3201       "properties": {
3202         "APIHostPorts": {
3203           "type": "object",
3204           "properties": {
3205             "Result": {
3206               "$ref": "#/definitions/APIHostPortsResult"
3207             }
3208           }
3209         },
3210         "AbortCurrentUpgrade": {
3211           "type": "object"
3212         },
3213         "AddCharm": {
3214           "type": "object",
3215           "properties": {
3216             "Params": {
3217               "$ref": "#/definitions/AddCharm"
3218             }
3219           }
3220         },
3221         "AddCharmWithAuthorization": {
3222           "type": "object",
3223           "properties": {
3224             "Params": {
3225               "$ref": "#/definitions/AddCharmWithAuthorization"
3226             }
3227           }
3228         },
3229         "AddMachines": {
3230           "type": "object",
3231           "properties": {
3232             "Params": {
3233               "$ref": "#/definitions/AddMachines"
3234             },
3235             "Result": {
3236               "$ref": "#/definitions/AddMachinesResults"
3237             }
3238           }
3239         },
3240         "AddMachinesV2": {
3241           "type": "object",
3242           "properties": {
3243             "Params": {
3244               "$ref": "#/definitions/AddMachines"
3245             },
3246             "Result": {
3247               "$ref": "#/definitions/AddMachinesResults"
3248             }
3249           }
3250         },
3251         "AgentVersion": {
3252           "type": "object",
3253           "properties": {
3254             "Result": {
3255               "$ref": "#/definitions/AgentVersionResult"
3256             }
3257           }
3258         },
3259         "DestroyMachines": {
3260           "type": "object",
3261           "properties": {
3262             "Params": {
3263               "$ref": "#/definitions/DestroyMachines"
3264             }
3265           }
3266         },
3267         "FindTools": {
3268           "type": "object",
3269           "properties": {
3270             "Params": {
3271               "$ref": "#/definitions/FindToolsParams"
3272             },
3273             "Result": {
3274               "$ref": "#/definitions/FindToolsResult"
3275             }
3276           }
3277         },
3278         "FullStatus": {
3279           "type": "object",
3280           "properties": {
3281             "Params": {
3282               "$ref": "#/definitions/StatusParams"
3283             },
3284             "Result": {
3285               "$ref": "#/definitions/FullStatus"
3286             }
3287           }
3288         },
3289         "GetBundleChanges": {
3290           "type": "object",
3291           "properties": {
3292             "Params": {
3293               "$ref": "#/definitions/GetBundleChangesParams"
3294             },
3295             "Result": {
3296               "$ref": "#/definitions/GetBundleChangesResults"
3297             }
3298           }
3299         },
3300         "GetModelConstraints": {
3301           "type": "object",
3302           "properties": {
3303             "Result": {
3304               "$ref": "#/definitions/GetConstraintsResults"
3305             }
3306           }
3307         },
3308         "InjectMachines": {
3309           "type": "object",
3310           "properties": {
3311             "Params": {
3312               "$ref": "#/definitions/AddMachines"
3313             },
3314             "Result": {
3315               "$ref": "#/definitions/AddMachinesResults"
3316             }
3317           }
3318         },
3319         "ModelDefaults": {
3320           "type": "object",
3321           "properties": {
3322             "Result": {
3323               "$ref": "#/definitions/ModelDefaultsResult"
3324             }
3325           }
3326         },
3327         "ModelGet": {
3328           "type": "object",
3329           "properties": {
3330             "Result": {
3331               "$ref": "#/definitions/ModelConfigResults"
3332             }
3333           }
3334         },
3335         "ModelInfo": {
3336           "type": "object",
3337           "properties": {
3338             "Result": {
3339               "$ref": "#/definitions/ModelInfo"
3340             }
3341           }
3342         },
3343         "ModelSet": {
3344           "type": "object",
3345           "properties": {
3346             "Params": {
3347               "$ref": "#/definitions/ModelSet"
3348             }
3349           }
3350         },
3351         "ModelUnset": {
3352           "type": "object",
3353           "properties": {
3354             "Params": {
3355               "$ref": "#/definitions/ModelUnset"
3356             }
3357           }
3358         },
3359         "ModelUserInfo": {
3360           "type": "object",
3361           "properties": {
3362             "Result": {
3363               "$ref": "#/definitions/ModelUserInfoResults"
3364             }
3365           }
3366         },
3367         "PrivateAddress": {
3368           "type": "object",
3369           "properties": {
3370             "Params": {
3371               "$ref": "#/definitions/PrivateAddress"
3372             },
3373             "Result": {
3374               "$ref": "#/definitions/PrivateAddressResults"
3375             }
3376           }
3377         },
3378         "ProvisioningScript": {
3379           "type": "object",
3380           "properties": {
3381             "Params": {
3382               "$ref": "#/definitions/ProvisioningScriptParams"
3383             },
3384             "Result": {
3385               "$ref": "#/definitions/ProvisioningScriptResult"
3386             }
3387           }
3388         },
3389         "PublicAddress": {
3390           "type": "object",
3391           "properties": {
3392             "Params": {
3393               "$ref": "#/definitions/PublicAddress"
3394             },
3395             "Result": {
3396               "$ref": "#/definitions/PublicAddressResults"
3397             }
3398           }
3399         },
3400         "ResolveCharms": {
3401           "type": "object",
3402           "properties": {
3403             "Params": {
3404               "$ref": "#/definitions/ResolveCharms"
3405             },
3406             "Result": {
3407               "$ref": "#/definitions/ResolveCharmResults"
3408             }
3409           }
3410         },
3411         "Resolved": {
3412           "type": "object",
3413           "properties": {
3414             "Params": {
3415               "$ref": "#/definitions/Resolved"
3416             }
3417           }
3418         },
3419         "RetryProvisioning": {
3420           "type": "object",
3421           "properties": {
3422             "Params": {
3423               "$ref": "#/definitions/Entities"
3424             },
3425             "Result": {
3426               "$ref": "#/definitions/ErrorResults"
3427             }
3428           }
3429         },
3430         "SetModelAgentVersion": {
3431           "type": "object",
3432           "properties": {
3433             "Params": {
3434               "$ref": "#/definitions/SetModelAgentVersion"
3435             }
3436           }
3437         },
3438         "SetModelConstraints": {
3439           "type": "object",
3440           "properties": {
3441             "Params": {
3442               "$ref": "#/definitions/SetConstraints"
3443             }
3444           }
3445         },
3446         "SetModelDefaults": {
3447           "type": "object",
3448           "properties": {
3449             "Params": {
3450               "$ref": "#/definitions/SetModelDefaults"
3451             },
3452             "Result": {
3453               "$ref": "#/definitions/ErrorResults"
3454             }
3455           }
3456         },
3457         "StatusHistory": {
3458           "type": "object",
3459           "properties": {
3460             "Params": {
3461               "$ref": "#/definitions/StatusHistoryRequests"
3462             },
3463             "Result": {
3464               "$ref": "#/definitions/StatusHistoryResults"
3465             }
3466           }
3467         },
3468         "UnsetModelDefaults": {
3469           "type": "object",
3470           "properties": {
3471             "Params": {
3472               "$ref": "#/definitions/UnsetModelDefaults"
3473             },
3474             "Result": {
3475               "$ref": "#/definitions/ErrorResults"
3476             }
3477           }
3478         },
3479         "WatchAll": {
3480           "type": "object",
3481           "properties": {
3482             "Result": {
3483               "$ref": "#/definitions/AllWatcherId"
3484             }
3485           }
3486         }
3487       },
3488       "definitions": {
3489         "APIHostPortsResult": {
3490           "type": "object",
3491           "properties": {
3492             "servers": {
3493               "type": "array",
3494               "items": {
3495                 "type": "array",
3496                 "items": {
3497                   "$ref": "#/definitions/HostPort"
3498                 }
3499               }
3500             }
3501           },
3502           "additionalProperties": false,
3503           "required": [
3504             "servers"
3505           ]
3506         },
3507         "AddCharm": {
3508           "type": "object",
3509           "properties": {
3510             "channel": {
3511               "type": "string"
3512             },
3513             "url": {
3514               "type": "string"
3515             }
3516           },
3517           "additionalProperties": false,
3518           "required": [
3519             "url",
3520             "channel"
3521           ]
3522         },
3523         "AddCharmWithAuthorization": {
3524           "type": "object",
3525           "properties": {
3526             "channel": {
3527               "type": "string"
3528             },
3529             "macaroon": {
3530               "$ref": "#/definitions/Macaroon"
3531             },
3532             "url": {
3533               "type": "string"
3534             }
3535           },
3536           "additionalProperties": false,
3537           "required": [
3538             "url",
3539             "channel",
3540             "macaroon"
3541           ]
3542         },
3543         "AddMachineParams": {
3544           "type": "object",
3545           "properties": {
3546             "addresses": {
3547               "type": "array",
3548               "items": {
3549                 "$ref": "#/definitions/Address"
3550               }
3551             },
3552             "constraints": {
3553               "$ref": "#/definitions/Value"
3554             },
3555             "container-type": {
3556               "type": "string"
3557             },
3558             "disks": {
3559               "type": "array",
3560               "items": {
3561                 "$ref": "#/definitions/Constraints"
3562               }
3563             },
3564             "hardware-characteristics": {
3565               "$ref": "#/definitions/HardwareCharacteristics"
3566             },
3567             "instance-id": {
3568               "type": "string"
3569             },
3570             "jobs": {
3571               "type": "array",
3572               "items": {
3573                 "type": "string"
3574               }
3575             },
3576             "nonce": {
3577               "type": "string"
3578             },
3579             "parent-id": {
3580               "type": "string"
3581             },
3582             "placement": {
3583               "$ref": "#/definitions/Placement"
3584             },
3585             "series": {
3586               "type": "string"
3587             }
3588           },
3589           "additionalProperties": false,
3590           "required": [
3591             "series",
3592             "constraints",
3593             "jobs",
3594             "parent-id",
3595             "container-type",
3596             "instance-id",
3597             "nonce",
3598             "hardware-characteristics",
3599             "addresses"
3600           ]
3601         },
3602         "AddMachines": {
3603           "type": "object",
3604           "properties": {
3605             "params": {
3606               "type": "array",
3607               "items": {
3608                 "$ref": "#/definitions/AddMachineParams"
3609               }
3610             }
3611           },
3612           "additionalProperties": false,
3613           "required": [
3614             "params"
3615           ]
3616         },
3617         "AddMachinesResult": {
3618           "type": "object",
3619           "properties": {
3620             "error": {
3621               "$ref": "#/definitions/Error"
3622             },
3623             "machine": {
3624               "type": "string"
3625             }
3626           },
3627           "additionalProperties": false,
3628           "required": [
3629             "machine"
3630           ]
3631         },
3632         "AddMachinesResults": {
3633           "type": "object",
3634           "properties": {
3635             "machines": {
3636               "type": "array",
3637               "items": {
3638                 "$ref": "#/definitions/AddMachinesResult"
3639               }
3640             }
3641           },
3642           "additionalProperties": false,
3643           "required": [
3644             "machines"
3645           ]
3646         },
3647         "Address": {
3648           "type": "object",
3649           "properties": {
3650             "scope": {
3651               "type": "string"
3652             },
3653             "space-name": {
3654               "type": "string"
3655             },
3656             "type": {
3657               "type": "string"
3658             },
3659             "value": {
3660               "type": "string"
3661             }
3662           },
3663           "additionalProperties": false,
3664           "required": [
3665             "value",
3666             "type",
3667             "scope"
3668           ]
3669         },
3670         "AgentVersionResult": {
3671           "type": "object",
3672           "properties": {
3673             "version": {
3674               "$ref": "#/definitions/Number"
3675             }
3676           },
3677           "additionalProperties": false,
3678           "required": [
3679             "version"
3680           ]
3681         },
3682         "AllWatcherId": {
3683           "type": "object",
3684           "properties": {
3685             "watcher-id": {
3686               "type": "string"
3687             }
3688           },
3689           "additionalProperties": false,
3690           "required": [
3691             "watcher-id"
3692           ]
3693         },
3694         "ApplicationStatus": {
3695           "type": "object",
3696           "properties": {
3697             "can-upgrade-to": {
3698               "type": "string"
3699             },
3700             "charm": {
3701               "type": "string"
3702             },
3703             "err": {
3704               "type": "object",
3705               "additionalProperties": true
3706             },
3707             "exposed": {
3708               "type": "boolean"
3709             },
3710             "life": {
3711               "type": "string"
3712             },
3713             "meter-statuses": {
3714               "type": "object",
3715               "patternProperties": {
3716                 ".*": {
3717                   "$ref": "#/definitions/MeterStatus"
3718                 }
3719               }
3720             },
3721             "relations": {
3722               "type": "object",
3723               "patternProperties": {
3724                 ".*": {
3725                   "type": "array",
3726                   "items": {
3727                     "type": "string"
3728                   }
3729                 }
3730               }
3731             },
3732             "series": {
3733               "type": "string"
3734             },
3735             "status": {
3736               "$ref": "#/definitions/DetailedStatus"
3737             },
3738             "subordinate-to": {
3739               "type": "array",
3740               "items": {
3741                 "type": "string"
3742               }
3743             },
3744             "units": {
3745               "type": "object",
3746               "patternProperties": {
3747                 ".*": {
3748                   "$ref": "#/definitions/UnitStatus"
3749                 }
3750               }
3751             },
3752             "workload-version": {
3753               "type": "string"
3754             }
3755           },
3756           "additionalProperties": false,
3757           "required": [
3758             "charm",
3759             "series",
3760             "exposed",
3761             "life",
3762             "relations",
3763             "can-upgrade-to",
3764             "subordinate-to",
3765             "units",
3766             "meter-statuses",
3767             "status",
3768             "workload-version"
3769           ]
3770         },
3771         "Binary": {
3772           "type": "object",
3773           "properties": {
3774             "Arch": {
3775               "type": "string"
3776             },
3777             "Number": {
3778               "$ref": "#/definitions/Number"
3779             },
3780             "Series": {
3781               "type": "string"
3782             }
3783           },
3784           "additionalProperties": false,
3785           "required": [
3786             "Number",
3787             "Series",
3788             "Arch"
3789           ]
3790         },
3791         "BundleChangesChange": {
3792           "type": "object",
3793           "properties": {
3794             "args": {
3795               "type": "array",
3796               "items": {
3797                 "type": "object",
3798                 "additionalProperties": true
3799               }
3800             },
3801             "id": {
3802               "type": "string"
3803             },
3804             "method": {
3805               "type": "string"
3806             },
3807             "requires": {
3808               "type": "array",
3809               "items": {
3810                 "type": "string"
3811               }
3812             }
3813           },
3814           "additionalProperties": false,
3815           "required": [
3816             "id",
3817             "method",
3818             "args",
3819             "requires"
3820           ]
3821         },
3822         "ConfigValue": {
3823           "type": "object",
3824           "properties": {
3825             "source": {
3826               "type": "string"
3827             },
3828             "value": {
3829               "type": "object",
3830               "additionalProperties": true
3831             }
3832           },
3833           "additionalProperties": false,
3834           "required": [
3835             "value",
3836             "source"
3837           ]
3838         },
3839         "Constraints": {
3840           "type": "object",
3841           "properties": {
3842             "Count": {
3843               "type": "integer"
3844             },
3845             "Pool": {
3846               "type": "string"
3847             },
3848             "Size": {
3849               "type": "integer"
3850             }
3851           },
3852           "additionalProperties": false,
3853           "required": [
3854             "Pool",
3855             "Size",
3856             "Count"
3857           ]
3858         },
3859         "DestroyMachines": {
3860           "type": "object",
3861           "properties": {
3862             "force": {
3863               "type": "boolean"
3864             },
3865             "machine-names": {
3866               "type": "array",
3867               "items": {
3868                 "type": "string"
3869               }
3870             }
3871           },
3872           "additionalProperties": false,
3873           "required": [
3874             "machine-names",
3875             "force"
3876           ]
3877         },
3878         "DetailedStatus": {
3879           "type": "object",
3880           "properties": {
3881             "data": {
3882               "type": "object",
3883               "patternProperties": {
3884                 ".*": {
3885                   "type": "object",
3886                   "additionalProperties": true
3887                 }
3888               }
3889             },
3890             "err": {
3891               "type": "object",
3892               "additionalProperties": true
3893             },
3894             "info": {
3895               "type": "string"
3896             },
3897             "kind": {
3898               "type": "string"
3899             },
3900             "life": {
3901               "type": "string"
3902             },
3903             "since": {
3904               "type": "string",
3905               "format": "date-time"
3906             },
3907             "status": {
3908               "type": "string"
3909             },
3910             "version": {
3911               "type": "string"
3912             }
3913           },
3914           "additionalProperties": false,
3915           "required": [
3916             "status",
3917             "info",
3918             "data",
3919             "since",
3920             "kind",
3921             "version",
3922             "life"
3923           ]
3924         },
3925         "EndpointStatus": {
3926           "type": "object",
3927           "properties": {
3928             "application": {
3929               "type": "string"
3930             },
3931             "name": {
3932               "type": "string"
3933             },
3934             "role": {
3935               "type": "string"
3936             },
3937             "subordinate": {
3938               "type": "boolean"
3939             }
3940           },
3941           "additionalProperties": false,
3942           "required": [
3943             "application",
3944             "name",
3945             "role",
3946             "subordinate"
3947           ]
3948         },
3949         "Entities": {
3950           "type": "object",
3951           "properties": {
3952             "entities": {
3953               "type": "array",
3954               "items": {
3955                 "$ref": "#/definitions/Entity"
3956               }
3957             }
3958           },
3959           "additionalProperties": false,
3960           "required": [
3961             "entities"
3962           ]
3963         },
3964         "Entity": {
3965           "type": "object",
3966           "properties": {
3967             "tag": {
3968               "type": "string"
3969             }
3970           },
3971           "additionalProperties": false,
3972           "required": [
3973             "tag"
3974           ]
3975         },
3976         "EntityStatus": {
3977           "type": "object",
3978           "properties": {
3979             "data": {
3980               "type": "object",
3981               "patternProperties": {
3982                 ".*": {
3983                   "type": "object",
3984                   "additionalProperties": true
3985                 }
3986               }
3987             },
3988             "info": {
3989               "type": "string"
3990             },
3991             "since": {
3992               "type": "string",
3993               "format": "date-time"
3994             },
3995             "status": {
3996               "type": "string"
3997             }
3998           },
3999           "additionalProperties": false,
4000           "required": [
4001             "status",
4002             "info",
4003             "since"
4004           ]
4005         },
4006         "Error": {
4007           "type": "object",
4008           "properties": {
4009             "code": {
4010               "type": "string"
4011             },
4012             "info": {
4013               "$ref": "#/definitions/ErrorInfo"
4014             },
4015             "message": {
4016               "type": "string"
4017             }
4018           },
4019           "additionalProperties": false,
4020           "required": [
4021             "message",
4022             "code"
4023           ]
4024         },
4025         "ErrorInfo": {
4026           "type": "object",
4027           "properties": {
4028             "macaroon": {
4029               "$ref": "#/definitions/Macaroon"
4030             },
4031             "macaroon-path": {
4032               "type": "string"
4033             }
4034           },
4035           "additionalProperties": false
4036         },
4037         "ErrorResult": {
4038           "type": "object",
4039           "properties": {
4040             "error": {
4041               "$ref": "#/definitions/Error"
4042             }
4043           },
4044           "additionalProperties": false
4045         },
4046         "ErrorResults": {
4047           "type": "object",
4048           "properties": {
4049             "results": {
4050               "type": "array",
4051               "items": {
4052                 "$ref": "#/definitions/ErrorResult"
4053               }
4054             }
4055           },
4056           "additionalProperties": false,
4057           "required": [
4058             "results"
4059           ]
4060         },
4061         "FindToolsParams": {
4062           "type": "object",
4063           "properties": {
4064             "arch": {
4065               "type": "string"
4066             },
4067             "major": {
4068               "type": "integer"
4069             },
4070             "minor": {
4071               "type": "integer"
4072             },
4073             "number": {
4074               "$ref": "#/definitions/Number"
4075             },
4076             "series": {
4077               "type": "string"
4078             }
4079           },
4080           "additionalProperties": false,
4081           "required": [
4082             "number",
4083             "major",
4084             "minor",
4085             "arch",
4086             "series"
4087           ]
4088         },
4089         "FindToolsResult": {
4090           "type": "object",
4091           "properties": {
4092             "error": {
4093               "$ref": "#/definitions/Error"
4094             },
4095             "list": {
4096               "type": "array",
4097               "items": {
4098                 "$ref": "#/definitions/Tools"
4099               }
4100             }
4101           },
4102           "additionalProperties": false,
4103           "required": [
4104             "list"
4105           ]
4106         },
4107         "FullStatus": {
4108           "type": "object",
4109           "properties": {
4110             "applications": {
4111               "type": "object",
4112               "patternProperties": {
4113                 ".*": {
4114                   "$ref": "#/definitions/ApplicationStatus"
4115                 }
4116               }
4117             },
4118             "machines": {
4119               "type": "object",
4120               "patternProperties": {
4121                 ".*": {
4122                   "$ref": "#/definitions/MachineStatus"
4123                 }
4124               }
4125             },
4126             "model": {
4127               "$ref": "#/definitions/ModelStatusInfo"
4128             },
4129             "relations": {
4130               "type": "array",
4131               "items": {
4132                 "$ref": "#/definitions/RelationStatus"
4133               }
4134             }
4135           },
4136           "additionalProperties": false,
4137           "required": [
4138             "model",
4139             "machines",
4140             "applications",
4141             "relations"
4142           ]
4143         },
4144         "GetBundleChangesParams": {
4145           "type": "object",
4146           "properties": {
4147             "yaml": {
4148               "type": "string"
4149             }
4150           },
4151           "additionalProperties": false,
4152           "required": [
4153             "yaml"
4154           ]
4155         },
4156         "GetBundleChangesResults": {
4157           "type": "object",
4158           "properties": {
4159             "changes": {
4160               "type": "array",
4161               "items": {
4162                 "$ref": "#/definitions/BundleChangesChange"
4163               }
4164             },
4165             "errors": {
4166               "type": "array",
4167               "items": {
4168                 "type": "string"
4169               }
4170             }
4171           },
4172           "additionalProperties": false
4173         },
4174         "GetConstraintsResults": {
4175           "type": "object",
4176           "properties": {
4177             "constraints": {
4178               "$ref": "#/definitions/Value"
4179             }
4180           },
4181           "additionalProperties": false,
4182           "required": [
4183             "constraints"
4184           ]
4185         },
4186         "HardwareCharacteristics": {
4187           "type": "object",
4188           "properties": {
4189             "arch": {
4190               "type": "string"
4191             },
4192             "availability-zone": {
4193               "type": "string"
4194             },
4195             "cpu-cores": {
4196               "type": "integer"
4197             },
4198             "cpu-power": {
4199               "type": "integer"
4200             },
4201             "mem": {
4202               "type": "integer"
4203             },
4204             "root-disk": {
4205               "type": "integer"
4206             },
4207             "tags": {
4208               "type": "array",
4209               "items": {
4210                 "type": "string"
4211               }
4212             }
4213           },
4214           "additionalProperties": false
4215         },
4216         "History": {
4217           "type": "object",
4218           "properties": {
4219             "error": {
4220               "$ref": "#/definitions/Error"
4221             },
4222             "statuses": {
4223               "type": "array",
4224               "items": {
4225                 "$ref": "#/definitions/DetailedStatus"
4226               }
4227             }
4228           },
4229           "additionalProperties": false,
4230           "required": [
4231             "statuses"
4232           ]
4233         },
4234         "HostPort": {
4235           "type": "object",
4236           "properties": {
4237             "Address": {
4238               "$ref": "#/definitions/Address"
4239             },
4240             "port": {
4241               "type": "integer"
4242             }
4243           },
4244           "additionalProperties": false,
4245           "required": [
4246             "Address",
4247             "port"
4248           ]
4249         },
4250         "Macaroon": {
4251           "type": "object",
4252           "additionalProperties": false
4253         },
4254         "MachineStatus": {
4255           "type": "object",
4256           "properties": {
4257             "agent-status": {
4258               "$ref": "#/definitions/DetailedStatus"
4259             },
4260             "containers": {
4261               "type": "object",
4262               "patternProperties": {
4263                 ".*": {
4264                   "$ref": "#/definitions/MachineStatus"
4265                 }
4266               }
4267             },
4268             "dns-name": {
4269               "type": "string"
4270             },
4271             "hardware": {
4272               "type": "string"
4273             },
4274             "has-vote": {
4275               "type": "boolean"
4276             },
4277             "id": {
4278               "type": "string"
4279             },
4280             "instance-id": {
4281               "type": "string"
4282             },
4283             "instance-status": {
4284               "$ref": "#/definitions/DetailedStatus"
4285             },
4286             "jobs": {
4287               "type": "array",
4288               "items": {
4289                 "type": "string"
4290               }
4291             },
4292             "series": {
4293               "type": "string"
4294             },
4295             "wants-vote": {
4296               "type": "boolean"
4297             }
4298           },
4299           "additionalProperties": false,
4300           "required": [
4301             "agent-status",
4302             "instance-status",
4303             "dns-name",
4304             "instance-id",
4305             "series",
4306             "id",
4307             "containers",
4308             "hardware",
4309             "jobs",
4310             "has-vote",
4311             "wants-vote"
4312           ]
4313         },
4314         "MeterStatus": {
4315           "type": "object",
4316           "properties": {
4317             "color": {
4318               "type": "string"
4319             },
4320             "message": {
4321               "type": "string"
4322             }
4323           },
4324           "additionalProperties": false,
4325           "required": [
4326             "color",
4327             "message"
4328           ]
4329         },
4330         "ModelConfigResults": {
4331           "type": "object",
4332           "properties": {
4333             "config": {
4334               "type": "object",
4335               "patternProperties": {
4336                 ".*": {
4337                   "$ref": "#/definitions/ConfigValue"
4338                 }
4339               }
4340             }
4341           },
4342           "additionalProperties": false,
4343           "required": [
4344             "config"
4345           ]
4346         },
4347         "ModelDefaultValues": {
4348           "type": "object",
4349           "properties": {
4350             "cloud-region": {
4351               "type": "string"
4352             },
4353             "cloud-tag": {
4354               "type": "string"
4355             },
4356             "config": {
4357               "type": "object",
4358               "patternProperties": {
4359                 ".*": {
4360                   "type": "object",
4361                   "additionalProperties": true
4362                 }
4363               }
4364             }
4365           },
4366           "additionalProperties": false,
4367           "required": [
4368             "config"
4369           ]
4370         },
4371         "ModelDefaults": {
4372           "type": "object",
4373           "properties": {
4374             "controller": {
4375               "type": "object",
4376               "additionalProperties": true
4377             },
4378             "default": {
4379               "type": "object",
4380               "additionalProperties": true
4381             },
4382             "regions": {
4383               "type": "array",
4384               "items": {
4385                 "$ref": "#/definitions/RegionDefaults"
4386               }
4387             }
4388           },
4389           "additionalProperties": false
4390         },
4391         "ModelDefaultsResult": {
4392           "type": "object",
4393           "properties": {
4394             "config": {
4395               "type": "object",
4396               "patternProperties": {
4397                 ".*": {
4398                   "$ref": "#/definitions/ModelDefaults"
4399                 }
4400               }
4401             }
4402           },
4403           "additionalProperties": false,
4404           "required": [
4405             "config"
4406           ]
4407         },
4408         "ModelInfo": {
4409           "type": "object",
4410           "properties": {
4411             "cloud": {
4412               "type": "string"
4413             },
4414             "cloud-credential-tag": {
4415               "type": "string"
4416             },
4417             "cloud-region": {
4418               "type": "string"
4419             },
4420             "controller-uuid": {
4421               "type": "string"
4422             },
4423             "default-series": {
4424               "type": "string"
4425             },
4426             "life": {
4427               "type": "string"
4428             },
4429             "name": {
4430               "type": "string"
4431             },
4432             "owner-tag": {
4433               "type": "string"
4434             },
4435             "provider-type": {
4436               "type": "string"
4437             },
4438             "status": {
4439               "$ref": "#/definitions/EntityStatus"
4440             },
4441             "users": {
4442               "type": "array",
4443               "items": {
4444                 "$ref": "#/definitions/ModelUserInfo"
4445               }
4446             },
4447             "uuid": {
4448               "type": "string"
4449             }
4450           },
4451           "additionalProperties": false,
4452           "required": [
4453             "name",
4454             "uuid",
4455             "controller-uuid",
4456             "provider-type",
4457             "default-series",
4458             "cloud",
4459             "owner-tag",
4460             "life",
4461             "status",
4462             "users"
4463           ]
4464         },
4465         "ModelSet": {
4466           "type": "object",
4467           "properties": {
4468             "config": {
4469               "type": "object",
4470               "patternProperties": {
4471                 ".*": {
4472                   "type": "object",
4473                   "additionalProperties": true
4474                 }
4475               }
4476             }
4477           },
4478           "additionalProperties": false,
4479           "required": [
4480             "config"
4481           ]
4482         },
4483         "ModelStatusInfo": {
4484           "type": "object",
4485           "properties": {
4486             "available-version": {
4487               "type": "string"
4488             },
4489             "cloud": {
4490               "type": "string"
4491             },
4492             "migration": {
4493               "type": "string"
4494             },
4495             "name": {
4496               "type": "string"
4497             },
4498             "region": {
4499               "type": "string"
4500             },
4501             "version": {
4502               "type": "string"
4503             }
4504           },
4505           "additionalProperties": false,
4506           "required": [
4507             "name",
4508             "cloud",
4509             "version",
4510             "available-version"
4511           ]
4512         },
4513         "ModelUnset": {
4514           "type": "object",
4515           "properties": {
4516             "keys": {
4517               "type": "array",
4518               "items": {
4519                 "type": "string"
4520               }
4521             }
4522           },
4523           "additionalProperties": false,
4524           "required": [
4525             "keys"
4526           ]
4527         },
4528         "ModelUnsetKeys": {
4529           "type": "object",
4530           "properties": {
4531             "cloud-region": {
4532               "type": "string"
4533             },
4534             "cloud-tag": {
4535               "type": "string"
4536             },
4537             "keys": {
4538               "type": "array",
4539               "items": {
4540                 "type": "string"
4541               }
4542             }
4543           },
4544           "additionalProperties": false,
4545           "required": [
4546             "keys"
4547           ]
4548         },
4549         "ModelUserInfo": {
4550           "type": "object",
4551           "properties": {
4552             "access": {
4553               "type": "string"
4554             },
4555             "display-name": {
4556               "type": "string"
4557             },
4558             "last-connection": {
4559               "type": "string",
4560               "format": "date-time"
4561             },
4562             "user": {
4563               "type": "string"
4564             }
4565           },
4566           "additionalProperties": false,
4567           "required": [
4568             "user",
4569             "display-name",
4570             "last-connection",
4571             "access"
4572           ]
4573         },
4574         "ModelUserInfoResult": {
4575           "type": "object",
4576           "properties": {
4577             "error": {
4578               "$ref": "#/definitions/Error"
4579             },
4580             "result": {
4581               "$ref": "#/definitions/ModelUserInfo"
4582             }
4583           },
4584           "additionalProperties": false
4585         },
4586         "ModelUserInfoResults": {
4587           "type": "object",
4588           "properties": {
4589             "results": {
4590               "type": "array",
4591               "items": {
4592                 "$ref": "#/definitions/ModelUserInfoResult"
4593               }
4594             }
4595           },
4596           "additionalProperties": false,
4597           "required": [
4598             "results"
4599           ]
4600         },
4601         "Number": {
4602           "type": "object",
4603           "properties": {
4604             "Build": {
4605               "type": "integer"
4606             },
4607             "Major": {
4608               "type": "integer"
4609             },
4610             "Minor": {
4611               "type": "integer"
4612             },
4613             "Patch": {
4614               "type": "integer"
4615             },
4616             "Tag": {
4617               "type": "string"
4618             }
4619           },
4620           "additionalProperties": false,
4621           "required": [
4622             "Major",
4623             "Minor",
4624             "Tag",
4625             "Patch",
4626             "Build"
4627           ]
4628         },
4629         "Placement": {
4630           "type": "object",
4631           "properties": {
4632             "directive": {
4633               "type": "string"
4634             },
4635             "scope": {
4636               "type": "string"
4637             }
4638           },
4639           "additionalProperties": false,
4640           "required": [
4641             "scope",
4642             "directive"
4643           ]
4644         },
4645         "PrivateAddress": {
4646           "type": "object",
4647           "properties": {
4648             "target": {
4649               "type": "string"
4650             }
4651           },
4652           "additionalProperties": false,
4653           "required": [
4654             "target"
4655           ]
4656         },
4657         "PrivateAddressResults": {
4658           "type": "object",
4659           "properties": {
4660             "private-address": {
4661               "type": "string"
4662             }
4663           },
4664           "additionalProperties": false,
4665           "required": [
4666             "private-address"
4667           ]
4668         },
4669         "ProvisioningScriptParams": {
4670           "type": "object",
4671           "properties": {
4672             "data-dir": {
4673               "type": "string"
4674             },
4675             "disable-package-commands": {
4676               "type": "boolean"
4677             },
4678             "machine-id": {
4679               "type": "string"
4680             },
4681             "nonce": {
4682               "type": "string"
4683             }
4684           },
4685           "additionalProperties": false,
4686           "required": [
4687             "machine-id",
4688             "nonce",
4689             "data-dir",
4690             "disable-package-commands"
4691           ]
4692         },
4693         "ProvisioningScriptResult": {
4694           "type": "object",
4695           "properties": {
4696             "script": {
4697               "type": "string"
4698             }
4699           },
4700           "additionalProperties": false,
4701           "required": [
4702             "script"
4703           ]
4704         },
4705         "PublicAddress": {
4706           "type": "object",
4707           "properties": {
4708             "target": {
4709               "type": "string"
4710             }
4711           },
4712           "additionalProperties": false,
4713           "required": [
4714             "target"
4715           ]
4716         },
4717         "PublicAddressResults": {
4718           "type": "object",
4719           "properties": {
4720             "public-address": {
4721               "type": "string"
4722             }
4723           },
4724           "additionalProperties": false,
4725           "required": [
4726             "public-address"
4727           ]
4728         },
4729         "RegionDefaults": {
4730           "type": "object",
4731           "properties": {
4732             "region-name": {
4733               "type": "string"
4734             },
4735             "value": {
4736               "type": "object",
4737               "additionalProperties": true
4738             }
4739           },
4740           "additionalProperties": false,
4741           "required": [
4742             "region-name",
4743             "value"
4744           ]
4745         },
4746         "RelationStatus": {
4747           "type": "object",
4748           "properties": {
4749             "endpoints": {
4750               "type": "array",
4751               "items": {
4752                 "$ref": "#/definitions/EndpointStatus"
4753               }
4754             },
4755             "id": {
4756               "type": "integer"
4757             },
4758             "interface": {
4759               "type": "string"
4760             },
4761             "key": {
4762               "type": "string"
4763             },
4764             "scope": {
4765               "type": "string"
4766             }
4767           },
4768           "additionalProperties": false,
4769           "required": [
4770             "id",
4771             "key",
4772             "interface",
4773             "scope",
4774             "endpoints"
4775           ]
4776         },
4777         "ResolveCharmResult": {
4778           "type": "object",
4779           "properties": {
4780             "error": {
4781               "type": "string"
4782             },
4783             "url": {
4784               "type": "string"
4785             }
4786           },
4787           "additionalProperties": false
4788         },
4789         "ResolveCharmResults": {
4790           "type": "object",
4791           "properties": {
4792             "urls": {
4793               "type": "array",
4794               "items": {
4795                 "$ref": "#/definitions/ResolveCharmResult"
4796               }
4797             }
4798           },
4799           "additionalProperties": false,
4800           "required": [
4801             "urls"
4802           ]
4803         },
4804         "ResolveCharms": {
4805           "type": "object",
4806           "properties": {
4807             "references": {
4808               "type": "array",
4809               "items": {
4810                 "type": "string"
4811               }
4812             }
4813           },
4814           "additionalProperties": false,
4815           "required": [
4816             "references"
4817           ]
4818         },
4819         "Resolved": {
4820           "type": "object",
4821           "properties": {
4822             "retry": {
4823               "type": "boolean"
4824             },
4825             "unit-name": {
4826               "type": "string"
4827             }
4828           },
4829           "additionalProperties": false,
4830           "required": [
4831             "unit-name",
4832             "retry"
4833           ]
4834         },
4835         "SetConstraints": {
4836           "type": "object",
4837           "properties": {
4838             "application": {
4839               "type": "string"
4840             },
4841             "constraints": {
4842               "$ref": "#/definitions/Value"
4843             }
4844           },
4845           "additionalProperties": false,
4846           "required": [
4847             "application",
4848             "constraints"
4849           ]
4850         },
4851         "SetModelAgentVersion": {
4852           "type": "object",
4853           "properties": {
4854             "version": {
4855               "$ref": "#/definitions/Number"
4856             }
4857           },
4858           "additionalProperties": false,
4859           "required": [
4860             "version"
4861           ]
4862         },
4863         "SetModelDefaults": {
4864           "type": "object",
4865           "properties": {
4866             "config": {
4867               "type": "array",
4868               "items": {
4869                 "$ref": "#/definitions/ModelDefaultValues"
4870               }
4871             }
4872           },
4873           "additionalProperties": false,
4874           "required": [
4875             "config"
4876           ]
4877         },
4878         "StatusHistoryFilter": {
4879           "type": "object",
4880           "properties": {
4881             "date": {
4882               "type": "string",
4883               "format": "date-time"
4884             },
4885             "delta": {
4886               "type": "integer"
4887             },
4888             "size": {
4889               "type": "integer"
4890             }
4891           },
4892           "additionalProperties": false,
4893           "required": [
4894             "size",
4895             "date",
4896             "delta"
4897           ]
4898         },
4899         "StatusHistoryRequest": {
4900           "type": "object",
4901           "properties": {
4902             "filter": {
4903               "$ref": "#/definitions/StatusHistoryFilter"
4904             },
4905             "historyKind": {
4906               "type": "string"
4907             },
4908             "size": {
4909               "type": "integer"
4910             },
4911             "tag": {
4912               "type": "string"
4913             }
4914           },
4915           "additionalProperties": false,
4916           "required": [
4917             "historyKind",
4918             "size",
4919             "filter",
4920             "tag"
4921           ]
4922         },
4923         "StatusHistoryRequests": {
4924           "type": "object",
4925           "properties": {
4926             "requests": {
4927               "type": "array",
4928               "items": {
4929                 "$ref": "#/definitions/StatusHistoryRequest"
4930               }
4931             }
4932           },
4933           "additionalProperties": false,
4934           "required": [
4935             "requests"
4936           ]
4937         },
4938         "StatusHistoryResult": {
4939           "type": "object",
4940           "properties": {
4941             "error": {
4942               "$ref": "#/definitions/Error"
4943             },
4944             "history": {
4945               "$ref": "#/definitions/History"
4946             }
4947           },
4948           "additionalProperties": false,
4949           "required": [
4950             "history"
4951           ]
4952         },
4953         "StatusHistoryResults": {
4954           "type": "object",
4955           "properties": {
4956             "results": {
4957               "type": "array",
4958               "items": {
4959                 "$ref": "#/definitions/StatusHistoryResult"
4960               }
4961             }
4962           },
4963           "additionalProperties": false,
4964           "required": [
4965             "results"
4966           ]
4967         },
4968         "StatusParams": {
4969           "type": "object",
4970           "properties": {
4971             "patterns": {
4972               "type": "array",
4973               "items": {
4974                 "type": "string"
4975               }
4976             }
4977           },
4978           "additionalProperties": false,
4979           "required": [
4980             "patterns"
4981           ]
4982         },
4983         "Tools": {
4984           "type": "object",
4985           "properties": {
4986             "sha256": {
4987               "type": "string"
4988             },
4989             "size": {
4990               "type": "integer"
4991             },
4992             "url": {
4993               "type": "string"
4994             },
4995             "version": {
4996               "$ref": "#/definitions/Binary"
4997             }
4998           },
4999           "additionalProperties": false,
5000           "required": [
5001             "version",
5002             "url",
5003             "size"
5004           ]
5005         },
5006         "UnitStatus": {
5007           "type": "object",
5008           "properties": {
5009             "agent-status": {
5010               "$ref": "#/definitions/DetailedStatus"
5011             },
5012             "charm": {
5013               "type": "string"
5014             },
5015             "machine": {
5016               "type": "string"
5017             },
5018             "opened-ports": {
5019               "type": "array",
5020               "items": {
5021                 "type": "string"
5022               }
5023             },
5024             "public-address": {
5025               "type": "string"
5026             },
5027             "subordinates": {
5028               "type": "object",
5029               "patternProperties": {
5030                 ".*": {
5031                   "$ref": "#/definitions/UnitStatus"
5032                 }
5033               }
5034             },
5035             "workload-status": {
5036               "$ref": "#/definitions/DetailedStatus"
5037             },
5038             "workload-version": {
5039               "type": "string"
5040             }
5041           },
5042           "additionalProperties": false,
5043           "required": [
5044             "agent-status",
5045             "workload-status",
5046             "workload-version",
5047             "machine",
5048             "opened-ports",
5049             "public-address",
5050             "charm",
5051             "subordinates"
5052           ]
5053         },
5054         "UnsetModelDefaults": {
5055           "type": "object",
5056           "properties": {
5057             "keys": {
5058               "type": "array",
5059               "items": {
5060                 "$ref": "#/definitions/ModelUnsetKeys"
5061               }
5062             }
5063           },
5064           "additionalProperties": false,
5065           "required": [
5066             "keys"
5067           ]
5068         },
5069         "Value": {
5070           "type": "object",
5071           "properties": {
5072             "arch": {
5073               "type": "string"
5074             },
5075             "container": {
5076               "type": "string"
5077             },
5078             "cpu-cores": {
5079               "type": "integer"
5080             },
5081             "cpu-power": {
5082               "type": "integer"
5083             },
5084             "instance-type": {
5085               "type": "string"
5086             },
5087             "mem": {
5088               "type": "integer"
5089             },
5090             "root-disk": {
5091               "type": "integer"
5092             },
5093             "spaces": {
5094               "type": "array",
5095               "items": {
5096                 "type": "string"
5097               }
5098             },
5099             "tags": {
5100               "type": "array",
5101               "items": {
5102                 "type": "string"
5103               }
5104             },
5105             "virt-type": {
5106               "type": "string"
5107             }
5108           },
5109           "additionalProperties": false
5110         }
5111       }
5112     }
5113   },
5114   {
5115     "Name": "Cloud",
5116     "Version": 1,
5117     "Schema": {
5118       "type": "object",
5119       "properties": {
5120         "Cloud": {
5121           "type": "object",
5122           "properties": {
5123             "Params": {
5124               "$ref": "#/definitions/Entities"
5125             },
5126             "Result": {
5127               "$ref": "#/definitions/CloudResults"
5128             }
5129           }
5130         },
5131         "Clouds": {
5132           "type": "object",
5133           "properties": {
5134             "Result": {
5135               "$ref": "#/definitions/CloudsResult"
5136             }
5137           }
5138         },
5139         "Credential": {
5140           "type": "object",
5141           "properties": {
5142             "Params": {
5143               "$ref": "#/definitions/Entities"
5144             },
5145             "Result": {
5146               "$ref": "#/definitions/CloudCredentialResults"
5147             }
5148           }
5149         },
5150         "DefaultCloud": {
5151           "type": "object",
5152           "properties": {
5153             "Result": {
5154               "$ref": "#/definitions/StringResult"
5155             }
5156           }
5157         },
5158         "RevokeCredentials": {
5159           "type": "object",
5160           "properties": {
5161             "Params": {
5162               "$ref": "#/definitions/Entities"
5163             },
5164             "Result": {
5165               "$ref": "#/definitions/ErrorResults"
5166             }
5167           }
5168         },
5169         "UpdateCredentials": {
5170           "type": "object",
5171           "properties": {
5172             "Params": {
5173               "$ref": "#/definitions/UpdateCloudCredentials"
5174             },
5175             "Result": {
5176               "$ref": "#/definitions/ErrorResults"
5177             }
5178           }
5179         },
5180         "UserCredentials": {
5181           "type": "object",
5182           "properties": {
5183             "Params": {
5184               "$ref": "#/definitions/UserClouds"
5185             },
5186             "Result": {
5187               "$ref": "#/definitions/StringsResults"
5188             }
5189           }
5190         }
5191       },
5192       "definitions": {
5193         "Cloud": {
5194           "type": "object",
5195           "properties": {
5196             "auth-types": {
5197               "type": "array",
5198               "items": {
5199                 "type": "string"
5200               }
5201             },
5202             "endpoint": {
5203               "type": "string"
5204             },
5205             "identity-endpoint": {
5206               "type": "string"
5207             },
5208             "regions": {
5209               "type": "array",
5210               "items": {
5211                 "$ref": "#/definitions/CloudRegion"
5212               }
5213             },
5214             "storage-endpoint": {
5215               "type": "string"
5216             },
5217             "type": {
5218               "type": "string"
5219             }
5220           },
5221           "additionalProperties": false,
5222           "required": [
5223             "type"
5224           ]
5225         },
5226         "CloudCredential": {
5227           "type": "object",
5228           "properties": {
5229             "attrs": {
5230               "type": "object",
5231               "patternProperties": {
5232                 ".*": {
5233                   "type": "string"
5234                 }
5235               }
5236             },
5237             "auth-type": {
5238               "type": "string"
5239             },
5240             "redacted": {
5241               "type": "array",
5242               "items": {
5243                 "type": "string"
5244               }
5245             }
5246           },
5247           "additionalProperties": false,
5248           "required": [
5249             "auth-type"
5250           ]
5251         },
5252         "CloudCredentialResult": {
5253           "type": "object",
5254           "properties": {
5255             "error": {
5256               "$ref": "#/definitions/Error"
5257             },
5258             "result": {
5259               "$ref": "#/definitions/CloudCredential"
5260             }
5261           },
5262           "additionalProperties": false
5263         },
5264         "CloudCredentialResults": {
5265           "type": "object",
5266           "properties": {
5267             "results": {
5268               "type": "array",
5269               "items": {
5270                 "$ref": "#/definitions/CloudCredentialResult"
5271               }
5272             }
5273           },
5274           "additionalProperties": false
5275         },
5276         "CloudRegion": {
5277           "type": "object",
5278           "properties": {
5279             "endpoint": {
5280               "type": "string"
5281             },
5282             "identity-endpoint": {
5283               "type": "string"
5284             },
5285             "name": {
5286               "type": "string"
5287             },
5288             "storage-endpoint": {
5289               "type": "string"
5290             }
5291           },
5292           "additionalProperties": false,
5293           "required": [
5294             "name"
5295           ]
5296         },
5297         "CloudResult": {
5298           "type": "object",
5299           "properties": {
5300             "cloud": {
5301               "$ref": "#/definitions/Cloud"
5302             },
5303             "error": {
5304               "$ref": "#/definitions/Error"
5305             }
5306           },
5307           "additionalProperties": false
5308         },
5309         "CloudResults": {
5310           "type": "object",
5311           "properties": {
5312             "results": {
5313               "type": "array",
5314               "items": {
5315                 "$ref": "#/definitions/CloudResult"
5316               }
5317             }
5318           },
5319           "additionalProperties": false
5320         },
5321         "CloudsResult": {
5322           "type": "object",
5323           "properties": {
5324             "clouds": {
5325               "type": "object",
5326               "patternProperties": {
5327                 ".*": {
5328                   "$ref": "#/definitions/Cloud"
5329                 }
5330               }
5331             }
5332           },
5333           "additionalProperties": false
5334         },
5335         "Entities": {
5336           "type": "object",
5337           "properties": {
5338             "entities": {
5339               "type": "array",
5340               "items": {
5341                 "$ref": "#/definitions/Entity"
5342               }
5343             }
5344           },
5345           "additionalProperties": false,
5346           "required": [
5347             "entities"
5348           ]
5349         },
5350         "Entity": {
5351           "type": "object",
5352           "properties": {
5353             "tag": {
5354               "type": "string"
5355             }
5356           },
5357           "additionalProperties": false,
5358           "required": [
5359             "tag"
5360           ]
5361         },
5362         "Error": {
5363           "type": "object",
5364           "properties": {
5365             "code": {
5366               "type": "string"
5367             },
5368             "info": {
5369               "$ref": "#/definitions/ErrorInfo"
5370             },
5371             "message": {
5372               "type": "string"
5373             }
5374           },
5375           "additionalProperties": false,
5376           "required": [
5377             "message",
5378             "code"
5379           ]
5380         },
5381         "ErrorInfo": {
5382           "type": "object",
5383           "properties": {
5384             "macaroon": {
5385               "$ref": "#/definitions/Macaroon"
5386             },
5387             "macaroon-path": {
5388               "type": "string"
5389             }
5390           },
5391           "additionalProperties": false
5392         },
5393         "ErrorResult": {
5394           "type": "object",
5395           "properties": {
5396             "error": {
5397               "$ref": "#/definitions/Error"
5398             }
5399           },
5400           "additionalProperties": false
5401         },
5402         "ErrorResults": {
5403           "type": "object",
5404           "properties": {
5405             "results": {
5406               "type": "array",
5407               "items": {
5408                 "$ref": "#/definitions/ErrorResult"
5409               }
5410             }
5411           },
5412           "additionalProperties": false,
5413           "required": [
5414             "results"
5415           ]
5416         },
5417         "Macaroon": {
5418           "type": "object",
5419           "additionalProperties": false
5420         },
5421         "StringResult": {
5422           "type": "object",
5423           "properties": {
5424             "error": {
5425               "$ref": "#/definitions/Error"
5426             },
5427             "result": {
5428               "type": "string"
5429             }
5430           },
5431           "additionalProperties": false,
5432           "required": [
5433             "result"
5434           ]
5435         },
5436         "StringsResult": {
5437           "type": "object",
5438           "properties": {
5439             "error": {
5440               "$ref": "#/definitions/Error"
5441             },
5442             "result": {
5443               "type": "array",
5444               "items": {
5445                 "type": "string"
5446               }
5447             }
5448           },
5449           "additionalProperties": false
5450         },
5451         "StringsResults": {
5452           "type": "object",
5453           "properties": {
5454             "results": {
5455               "type": "array",
5456               "items": {
5457                 "$ref": "#/definitions/StringsResult"
5458               }
5459             }
5460           },
5461           "additionalProperties": false,
5462           "required": [
5463             "results"
5464           ]
5465         },
5466         "UpdateCloudCredential": {
5467           "type": "object",
5468           "properties": {
5469             "credential": {
5470               "$ref": "#/definitions/CloudCredential"
5471             },
5472             "tag": {
5473               "type": "string"
5474             }
5475           },
5476           "additionalProperties": false,
5477           "required": [
5478             "tag",
5479             "credential"
5480           ]
5481         },
5482         "UpdateCloudCredentials": {
5483           "type": "object",
5484           "properties": {
5485             "credentials": {
5486               "type": "array",
5487               "items": {
5488                 "$ref": "#/definitions/UpdateCloudCredential"
5489               }
5490             }
5491           },
5492           "additionalProperties": false
5493         },
5494         "UserCloud": {
5495           "type": "object",
5496           "properties": {
5497             "cloud-tag": {
5498               "type": "string"
5499             },
5500             "user-tag": {
5501               "type": "string"
5502             }
5503           },
5504           "additionalProperties": false,
5505           "required": [
5506             "user-tag",
5507             "cloud-tag"
5508           ]
5509         },
5510         "UserClouds": {
5511           "type": "object",
5512           "properties": {
5513             "user-clouds": {
5514               "type": "array",
5515               "items": {
5516                 "$ref": "#/definitions/UserCloud"
5517               }
5518             }
5519           },
5520           "additionalProperties": false
5521         }
5522       }
5523     }
5524   },
5525   {
5526     "Name": "Controller",
5527     "Version": 3,
5528     "Schema": {
5529       "type": "object",
5530       "properties": {
5531         "AllModels": {
5532           "type": "object",
5533           "properties": {
5534             "Result": {
5535               "$ref": "#/definitions/UserModelList"
5536             }
5537           }
5538         },
5539         "CloudSpec": {
5540           "type": "object",
5541           "properties": {
5542             "Params": {
5543               "$ref": "#/definitions/Entities"
5544             },
5545             "Result": {
5546               "$ref": "#/definitions/CloudSpecResults"
5547             }
5548           }
5549         },
5550         "ControllerConfig": {
5551           "type": "object",
5552           "properties": {
5553             "Result": {
5554               "$ref": "#/definitions/ControllerConfigResult"
5555             }
5556           }
5557         },
5558         "DestroyController": {
5559           "type": "object",
5560           "properties": {
5561             "Params": {
5562               "$ref": "#/definitions/DestroyControllerArgs"
5563             }
5564           }
5565         },
5566         "GetControllerAccess": {
5567           "type": "object",
5568           "properties": {
5569             "Params": {
5570               "$ref": "#/definitions/Entities"
5571             },
5572             "Result": {
5573               "$ref": "#/definitions/UserAccessResults"
5574             }
5575           }
5576         },
5577         "InitiateMigration": {
5578           "type": "object",
5579           "properties": {
5580             "Params": {
5581               "$ref": "#/definitions/InitiateMigrationArgs"
5582             },
5583             "Result": {
5584               "$ref": "#/definitions/InitiateMigrationResults"
5585             }
5586           }
5587         },
5588         "ListBlockedModels": {
5589           "type": "object",
5590           "properties": {
5591             "Result": {
5592               "$ref": "#/definitions/ModelBlockInfoList"
5593             }
5594           }
5595         },
5596         "ModelConfig": {
5597           "type": "object",
5598           "properties": {
5599             "Result": {
5600               "$ref": "#/definitions/ModelConfigResults"
5601             }
5602           }
5603         },
5604         "ModelStatus": {
5605           "type": "object",
5606           "properties": {
5607             "Params": {
5608               "$ref": "#/definitions/Entities"
5609             },
5610             "Result": {
5611               "$ref": "#/definitions/ModelStatusResults"
5612             }
5613           }
5614         },
5615         "ModifyControllerAccess": {
5616           "type": "object",
5617           "properties": {
5618             "Params": {
5619               "$ref": "#/definitions/ModifyControllerAccessRequest"
5620             },
5621             "Result": {
5622               "$ref": "#/definitions/ErrorResults"
5623             }
5624           }
5625         },
5626         "RemoveBlocks": {
5627           "type": "object",
5628           "properties": {
5629             "Params": {
5630               "$ref": "#/definitions/RemoveBlocksArgs"
5631             }
5632           }
5633         },
5634         "WatchAllModels": {
5635           "type": "object",
5636           "properties": {
5637             "Result": {
5638               "$ref": "#/definitions/AllWatcherId"
5639             }
5640           }
5641         }
5642       },
5643       "definitions": {
5644         "AllWatcherId": {
5645           "type": "object",
5646           "properties": {
5647             "watcher-id": {
5648               "type": "string"
5649             }
5650           },
5651           "additionalProperties": false,
5652           "required": [
5653             "watcher-id"
5654           ]
5655         },
5656         "CloudCredential": {
5657           "type": "object",
5658           "properties": {
5659             "attrs": {
5660               "type": "object",
5661               "patternProperties": {
5662                 ".*": {
5663                   "type": "string"
5664                 }
5665               }
5666             },
5667             "auth-type": {
5668               "type": "string"
5669             },
5670             "redacted": {
5671               "type": "array",
5672               "items": {
5673                 "type": "string"
5674               }
5675             }
5676           },
5677           "additionalProperties": false,
5678           "required": [
5679             "auth-type"
5680           ]
5681         },
5682         "CloudSpec": {
5683           "type": "object",
5684           "properties": {
5685             "credential": {
5686               "$ref": "#/definitions/CloudCredential"
5687             },
5688             "endpoint": {
5689               "type": "string"
5690             },
5691             "identity-endpoint": {
5692               "type": "string"
5693             },
5694             "name": {
5695               "type": "string"
5696             },
5697             "region": {
5698               "type": "string"
5699             },
5700             "storage-endpoint": {
5701               "type": "string"
5702             },
5703             "type": {
5704               "type": "string"
5705             }
5706           },
5707           "additionalProperties": false,
5708           "required": [
5709             "type",
5710             "name"
5711           ]
5712         },
5713         "CloudSpecResult": {
5714           "type": "object",
5715           "properties": {
5716             "error": {
5717               "$ref": "#/definitions/Error"
5718             },
5719             "result": {
5720               "$ref": "#/definitions/CloudSpec"
5721             }
5722           },
5723           "additionalProperties": false
5724         },
5725         "CloudSpecResults": {
5726           "type": "object",
5727           "properties": {
5728             "results": {
5729               "type": "array",
5730               "items": {
5731                 "$ref": "#/definitions/CloudSpecResult"
5732               }
5733             }
5734           },
5735           "additionalProperties": false
5736         },
5737         "ConfigValue": {
5738           "type": "object",
5739           "properties": {
5740             "source": {
5741               "type": "string"
5742             },
5743             "value": {
5744               "type": "object",
5745               "additionalProperties": true
5746             }
5747           },
5748           "additionalProperties": false,
5749           "required": [
5750             "value",
5751             "source"
5752           ]
5753         },
5754         "ControllerConfigResult": {
5755           "type": "object",
5756           "properties": {
5757             "config": {
5758               "type": "object",
5759               "patternProperties": {
5760                 ".*": {
5761                   "type": "object",
5762                   "additionalProperties": true
5763                 }
5764               }
5765             }
5766           },
5767           "additionalProperties": false,
5768           "required": [
5769             "config"
5770           ]
5771         },
5772         "DestroyControllerArgs": {
5773           "type": "object",
5774           "properties": {
5775             "destroy-models": {
5776               "type": "boolean"
5777             }
5778           },
5779           "additionalProperties": false,
5780           "required": [
5781             "destroy-models"
5782           ]
5783         },
5784         "Entities": {
5785           "type": "object",
5786           "properties": {
5787             "entities": {
5788               "type": "array",
5789               "items": {
5790                 "$ref": "#/definitions/Entity"
5791               }
5792             }
5793           },
5794           "additionalProperties": false,
5795           "required": [
5796             "entities"
5797           ]
5798         },
5799         "Entity": {
5800           "type": "object",
5801           "properties": {
5802             "tag": {
5803               "type": "string"
5804             }
5805           },
5806           "additionalProperties": false,
5807           "required": [
5808             "tag"
5809           ]
5810         },
5811         "Error": {
5812           "type": "object",
5813           "properties": {
5814             "code": {
5815               "type": "string"
5816             },
5817             "info": {
5818               "$ref": "#/definitions/ErrorInfo"
5819             },
5820             "message": {
5821               "type": "string"
5822             }
5823           },
5824           "additionalProperties": false,
5825           "required": [
5826             "message",
5827             "code"
5828           ]
5829         },
5830         "ErrorInfo": {
5831           "type": "object",
5832           "properties": {
5833             "macaroon": {
5834               "$ref": "#/definitions/Macaroon"
5835             },
5836             "macaroon-path": {
5837               "type": "string"
5838             }
5839           },
5840           "additionalProperties": false
5841         },
5842         "ErrorResult": {
5843           "type": "object",
5844           "properties": {
5845             "error": {
5846               "$ref": "#/definitions/Error"
5847             }
5848           },
5849           "additionalProperties": false
5850         },
5851         "ErrorResults": {
5852           "type": "object",
5853           "properties": {
5854             "results": {
5855               "type": "array",
5856               "items": {
5857                 "$ref": "#/definitions/ErrorResult"
5858               }
5859             }
5860           },
5861           "additionalProperties": false,
5862           "required": [
5863             "results"
5864           ]
5865         },
5866         "InitiateMigrationArgs": {
5867           "type": "object",
5868           "properties": {
5869             "specs": {
5870               "type": "array",
5871               "items": {
5872                 "$ref": "#/definitions/MigrationSpec"
5873               }
5874             }
5875           },
5876           "additionalProperties": false,
5877           "required": [
5878             "specs"
5879           ]
5880         },
5881         "InitiateMigrationResult": {
5882           "type": "object",
5883           "properties": {
5884             "error": {
5885               "$ref": "#/definitions/Error"
5886             },
5887             "migration-id": {
5888               "type": "string"
5889             },
5890             "model-tag": {
5891               "type": "string"
5892             }
5893           },
5894           "additionalProperties": false,
5895           "required": [
5896             "model-tag",
5897             "migration-id"
5898           ]
5899         },
5900         "InitiateMigrationResults": {
5901           "type": "object",
5902           "properties": {
5903             "results": {
5904               "type": "array",
5905               "items": {
5906                 "$ref": "#/definitions/InitiateMigrationResult"
5907               }
5908             }
5909           },
5910           "additionalProperties": false,
5911           "required": [
5912             "results"
5913           ]
5914         },
5915         "Macaroon": {
5916           "type": "object",
5917           "additionalProperties": false
5918         },
5919         "MigrationSpec": {
5920           "type": "object",
5921           "properties": {
5922             "model-tag": {
5923               "type": "string"
5924             },
5925             "target-info": {
5926               "$ref": "#/definitions/MigrationTargetInfo"
5927             }
5928           },
5929           "additionalProperties": false,
5930           "required": [
5931             "model-tag",
5932             "target-info"
5933           ]
5934         },
5935         "MigrationTargetInfo": {
5936           "type": "object",
5937           "properties": {
5938             "addrs": {
5939               "type": "array",
5940               "items": {
5941                 "type": "string"
5942               }
5943             },
5944             "auth-tag": {
5945               "type": "string"
5946             },
5947             "ca-cert": {
5948               "type": "string"
5949             },
5950             "controller-tag": {
5951               "type": "string"
5952             },
5953             "macaroon": {
5954               "type": "string"
5955             },
5956             "password": {
5957               "type": "string"
5958             }
5959           },
5960           "additionalProperties": false,
5961           "required": [
5962             "controller-tag",
5963             "addrs",
5964             "ca-cert",
5965             "auth-tag"
5966           ]
5967         },
5968         "Model": {
5969           "type": "object",
5970           "properties": {
5971             "name": {
5972               "type": "string"
5973             },
5974             "owner-tag": {
5975               "type": "string"
5976             },
5977             "uuid": {
5978               "type": "string"
5979             }
5980           },
5981           "additionalProperties": false,
5982           "required": [
5983             "name",
5984             "uuid",
5985             "owner-tag"
5986           ]
5987         },
5988         "ModelBlockInfo": {
5989           "type": "object",
5990           "properties": {
5991             "blocks": {
5992               "type": "array",
5993               "items": {
5994                 "type": "string"
5995               }
5996             },
5997             "model-uuid": {
5998               "type": "string"
5999             },
6000             "name": {
6001               "type": "string"
6002             },
6003             "owner-tag": {
6004               "type": "string"
6005             }
6006           },
6007           "additionalProperties": false,
6008           "required": [
6009             "name",
6010             "model-uuid",
6011             "owner-tag",
6012             "blocks"
6013           ]
6014         },
6015         "ModelBlockInfoList": {
6016           "type": "object",
6017           "properties": {
6018             "models": {
6019               "type": "array",
6020               "items": {
6021                 "$ref": "#/definitions/ModelBlockInfo"
6022               }
6023             }
6024           },
6025           "additionalProperties": false
6026         },
6027         "ModelConfigResults": {
6028           "type": "object",
6029           "properties": {
6030             "config": {
6031               "type": "object",
6032               "patternProperties": {
6033                 ".*": {
6034                   "$ref": "#/definitions/ConfigValue"
6035                 }
6036               }
6037             }
6038           },
6039           "additionalProperties": false,
6040           "required": [
6041             "config"
6042           ]
6043         },
6044         "ModelStatus": {
6045           "type": "object",
6046           "properties": {
6047             "application-count": {
6048               "type": "integer"
6049             },
6050             "hosted-machine-count": {
6051               "type": "integer"
6052             },
6053             "life": {
6054               "type": "string"
6055             },
6056             "model-tag": {
6057               "type": "string"
6058             },
6059             "owner-tag": {
6060               "type": "string"
6061             }
6062           },
6063           "additionalProperties": false,
6064           "required": [
6065             "model-tag",
6066             "life",
6067             "hosted-machine-count",
6068             "application-count",
6069             "owner-tag"
6070           ]
6071         },
6072         "ModelStatusResults": {
6073           "type": "object",
6074           "properties": {
6075             "models": {
6076               "type": "array",
6077               "items": {
6078                 "$ref": "#/definitions/ModelStatus"
6079               }
6080             }
6081           },
6082           "additionalProperties": false,
6083           "required": [
6084             "models"
6085           ]
6086         },
6087         "ModifyControllerAccess": {
6088           "type": "object",
6089           "properties": {
6090             "access": {
6091               "type": "string"
6092             },
6093             "action": {
6094               "type": "string"
6095             },
6096             "user-tag": {
6097               "type": "string"
6098             }
6099           },
6100           "additionalProperties": false,
6101           "required": [
6102             "user-tag",
6103             "action",
6104             "access"
6105           ]
6106         },
6107         "ModifyControllerAccessRequest": {
6108           "type": "object",
6109           "properties": {
6110             "changes": {
6111               "type": "array",
6112               "items": {
6113                 "$ref": "#/definitions/ModifyControllerAccess"
6114               }
6115             }
6116           },
6117           "additionalProperties": false,
6118           "required": [
6119             "changes"
6120           ]
6121         },
6122         "RemoveBlocksArgs": {
6123           "type": "object",
6124           "properties": {
6125             "all": {
6126               "type": "boolean"
6127             }
6128           },
6129           "additionalProperties": false,
6130           "required": [
6131             "all"
6132           ]
6133         },
6134         "UserAccess": {
6135           "type": "object",
6136           "properties": {
6137             "access": {
6138               "type": "string"
6139             },
6140             "user-tag": {
6141               "type": "string"
6142             }
6143           },
6144           "additionalProperties": false,
6145           "required": [
6146             "user-tag",
6147             "access"
6148           ]
6149         },
6150         "UserAccessResult": {
6151           "type": "object",
6152           "properties": {
6153             "error": {
6154               "$ref": "#/definitions/Error"
6155             },
6156             "result": {
6157               "$ref": "#/definitions/UserAccess"
6158             }
6159           },
6160           "additionalProperties": false
6161         },
6162         "UserAccessResults": {
6163           "type": "object",
6164           "properties": {
6165             "results": {
6166               "type": "array",
6167               "items": {
6168                 "$ref": "#/definitions/UserAccessResult"
6169               }
6170             }
6171           },
6172           "additionalProperties": false
6173         },
6174         "UserModel": {
6175           "type": "object",
6176           "properties": {
6177             "last-connection": {
6178               "type": "string",
6179               "format": "date-time"
6180             },
6181             "model": {
6182               "$ref": "#/definitions/Model"
6183             }
6184           },
6185           "additionalProperties": false,
6186           "required": [
6187             "model",
6188             "last-connection"
6189           ]
6190         },
6191         "UserModelList": {
6192           "type": "object",
6193           "properties": {
6194             "user-models": {
6195               "type": "array",
6196               "items": {
6197                 "$ref": "#/definitions/UserModel"
6198               }
6199             }
6200           },
6201           "additionalProperties": false,
6202           "required": [
6203             "user-models"
6204           ]
6205         }
6206       }
6207     }
6208   },
6209   {
6210     "Name": "Deployer",
6211     "Version": 1,
6212     "Schema": {
6213       "type": "object",
6214       "properties": {
6215         "APIAddresses": {
6216           "type": "object",
6217           "properties": {
6218             "Result": {
6219               "$ref": "#/definitions/StringsResult"
6220             }
6221           }
6222         },
6223         "APIHostPorts": {
6224           "type": "object",
6225           "properties": {
6226             "Result": {
6227               "$ref": "#/definitions/APIHostPortsResult"
6228             }
6229           }
6230         },
6231         "CACert": {
6232           "type": "object",
6233           "properties": {
6234             "Result": {
6235               "$ref": "#/definitions/BytesResult"
6236             }
6237           }
6238         },
6239         "ConnectionInfo": {
6240           "type": "object",
6241           "properties": {
6242             "Result": {
6243               "$ref": "#/definitions/DeployerConnectionValues"
6244             }
6245           }
6246         },
6247         "Life": {
6248           "type": "object",
6249           "properties": {
6250             "Params": {
6251               "$ref": "#/definitions/Entities"
6252             },
6253             "Result": {
6254               "$ref": "#/definitions/LifeResults"
6255             }
6256           }
6257         },
6258         "ModelUUID": {
6259           "type": "object",
6260           "properties": {
6261             "Result": {
6262               "$ref": "#/definitions/StringResult"
6263             }
6264           }
6265         },
6266         "Remove": {
6267           "type": "object",
6268           "properties": {
6269             "Params": {
6270               "$ref": "#/definitions/Entities"
6271             },
6272             "Result": {
6273               "$ref": "#/definitions/ErrorResults"
6274             }
6275           }
6276         },
6277         "SetPasswords": {
6278           "type": "object",
6279           "properties": {
6280             "Params": {
6281               "$ref": "#/definitions/EntityPasswords"
6282             },
6283             "Result": {
6284               "$ref": "#/definitions/ErrorResults"
6285             }
6286           }
6287         },
6288         "StateAddresses": {
6289           "type": "object",
6290           "properties": {
6291             "Result": {
6292               "$ref": "#/definitions/StringsResult"
6293             }
6294           }
6295         },
6296         "WatchAPIHostPorts": {
6297           "type": "object",
6298           "properties": {
6299             "Result": {
6300               "$ref": "#/definitions/NotifyWatchResult"
6301             }
6302           }
6303         },
6304         "WatchUnits": {
6305           "type": "object",
6306           "properties": {
6307             "Params": {
6308               "$ref": "#/definitions/Entities"
6309             },
6310             "Result": {
6311               "$ref": "#/definitions/StringsWatchResults"
6312             }
6313           }
6314         }
6315       },
6316       "definitions": {
6317         "APIHostPortsResult": {
6318           "type": "object",
6319           "properties": {
6320             "servers": {
6321               "type": "array",
6322               "items": {
6323                 "type": "array",
6324                 "items": {
6325                   "$ref": "#/definitions/HostPort"
6326                 }
6327               }
6328             }
6329           },
6330           "additionalProperties": false,
6331           "required": [
6332             "servers"
6333           ]
6334         },
6335         "Address": {
6336           "type": "object",
6337           "properties": {
6338             "scope": {
6339               "type": "string"
6340             },
6341             "space-name": {
6342               "type": "string"
6343             },
6344             "type": {
6345               "type": "string"
6346             },
6347             "value": {
6348               "type": "string"
6349             }
6350           },
6351           "additionalProperties": false,
6352           "required": [
6353             "value",
6354             "type",
6355             "scope"
6356           ]
6357         },
6358         "BytesResult": {
6359           "type": "object",
6360           "properties": {
6361             "result": {
6362               "type": "array",
6363               "items": {
6364                 "type": "integer"
6365               }
6366             }
6367           },
6368           "additionalProperties": false,
6369           "required": [
6370             "result"
6371           ]
6372         },
6373         "DeployerConnectionValues": {
6374           "type": "object",
6375           "properties": {
6376             "api-addresses": {
6377               "type": "array",
6378               "items": {
6379                 "type": "string"
6380               }
6381             },
6382             "state-addresses": {
6383               "type": "array",
6384               "items": {
6385                 "type": "string"
6386               }
6387             }
6388           },
6389           "additionalProperties": false,
6390           "required": [
6391             "state-addresses",
6392             "api-addresses"
6393           ]
6394         },
6395         "Entities": {
6396           "type": "object",
6397           "properties": {
6398             "entities": {
6399               "type": "array",
6400               "items": {
6401                 "$ref": "#/definitions/Entity"
6402               }
6403             }
6404           },
6405           "additionalProperties": false,
6406           "required": [
6407             "entities"
6408           ]
6409         },
6410         "Entity": {
6411           "type": "object",
6412           "properties": {
6413             "tag": {
6414               "type": "string"
6415             }
6416           },
6417           "additionalProperties": false,
6418           "required": [
6419             "tag"
6420           ]
6421         },
6422         "EntityPassword": {
6423           "type": "object",
6424           "properties": {
6425             "password": {
6426               "type": "string"
6427             },
6428             "tag": {
6429               "type": "string"
6430             }
6431           },
6432           "additionalProperties": false,
6433           "required": [
6434             "tag",
6435             "password"
6436           ]
6437         },
6438         "EntityPasswords": {
6439           "type": "object",
6440           "properties": {
6441             "changes": {
6442               "type": "array",
6443               "items": {
6444                 "$ref": "#/definitions/EntityPassword"
6445               }
6446             }
6447           },
6448           "additionalProperties": false,
6449           "required": [
6450             "changes"
6451           ]
6452         },
6453         "Error": {
6454           "type": "object",
6455           "properties": {
6456             "code": {
6457               "type": "string"
6458             },
6459             "info": {
6460               "$ref": "#/definitions/ErrorInfo"
6461             },
6462             "message": {
6463               "type": "string"
6464             }
6465           },
6466           "additionalProperties": false,
6467           "required": [
6468             "message",
6469             "code"
6470           ]
6471         },
6472         "ErrorInfo": {
6473           "type": "object",
6474           "properties": {
6475             "macaroon": {
6476               "$ref": "#/definitions/Macaroon"
6477             },
6478             "macaroon-path": {
6479               "type": "string"
6480             }
6481           },
6482           "additionalProperties": false
6483         },
6484         "ErrorResult": {
6485           "type": "object",
6486           "properties": {
6487             "error": {
6488               "$ref": "#/definitions/Error"
6489             }
6490           },
6491           "additionalProperties": false
6492         },
6493         "ErrorResults": {
6494           "type": "object",
6495           "properties": {
6496             "results": {
6497               "type": "array",
6498               "items": {
6499                 "$ref": "#/definitions/ErrorResult"
6500               }
6501             }
6502           },
6503           "additionalProperties": false,
6504           "required": [
6505             "results"
6506           ]
6507         },
6508         "HostPort": {
6509           "type": "object",
6510           "properties": {
6511             "Address": {
6512               "$ref": "#/definitions/Address"
6513             },
6514             "port": {
6515               "type": "integer"
6516             }
6517           },
6518           "additionalProperties": false,
6519           "required": [
6520             "Address",
6521             "port"
6522           ]
6523         },
6524         "LifeResult": {
6525           "type": "object",
6526           "properties": {
6527             "error": {
6528               "$ref": "#/definitions/Error"
6529             },
6530             "life": {
6531               "type": "string"
6532             }
6533           },
6534           "additionalProperties": false,
6535           "required": [
6536             "life"
6537           ]
6538         },
6539         "LifeResults": {
6540           "type": "object",
6541           "properties": {
6542             "results": {
6543               "type": "array",
6544               "items": {
6545                 "$ref": "#/definitions/LifeResult"
6546               }
6547             }
6548           },
6549           "additionalProperties": false,
6550           "required": [
6551             "results"
6552           ]
6553         },
6554         "Macaroon": {
6555           "type": "object",
6556           "additionalProperties": false
6557         },
6558         "NotifyWatchResult": {
6559           "type": "object",
6560           "properties": {
6561             "NotifyWatcherId": {
6562               "type": "string"
6563             },
6564             "error": {
6565               "$ref": "#/definitions/Error"
6566             }
6567           },
6568           "additionalProperties": false,
6569           "required": [
6570             "NotifyWatcherId"
6571           ]
6572         },
6573         "StringResult": {
6574           "type": "object",
6575           "properties": {
6576             "error": {
6577               "$ref": "#/definitions/Error"
6578             },
6579             "result": {
6580               "type": "string"
6581             }
6582           },
6583           "additionalProperties": false,
6584           "required": [
6585             "result"
6586           ]
6587         },
6588         "StringsResult": {
6589           "type": "object",
6590           "properties": {
6591             "error": {
6592               "$ref": "#/definitions/Error"
6593             },
6594             "result": {
6595               "type": "array",
6596               "items": {
6597                 "type": "string"
6598               }
6599             }
6600           },
6601           "additionalProperties": false
6602         },
6603         "StringsWatchResult": {
6604           "type": "object",
6605           "properties": {
6606             "changes": {
6607               "type": "array",
6608               "items": {
6609                 "type": "string"
6610               }
6611             },
6612             "error": {
6613               "$ref": "#/definitions/Error"
6614             },
6615             "watcher-id": {
6616               "type": "string"
6617             }
6618           },
6619           "additionalProperties": false,
6620           "required": [
6621             "watcher-id"
6622           ]
6623         },
6624         "StringsWatchResults": {
6625           "type": "object",
6626           "properties": {
6627             "results": {
6628               "type": "array",
6629               "items": {
6630                 "$ref": "#/definitions/StringsWatchResult"
6631               }
6632             }
6633           },
6634           "additionalProperties": false,
6635           "required": [
6636             "results"
6637           ]
6638         }
6639       }
6640     }
6641   },
6642   {
6643     "Name": "DiscoverSpaces",
6644     "Version": 2,
6645     "Schema": {
6646       "type": "object",
6647       "properties": {
6648         "AddSubnets": {
6649           "type": "object",
6650           "properties": {
6651             "Params": {
6652               "$ref": "#/definitions/AddSubnetsParams"
6653             },
6654             "Result": {
6655               "$ref": "#/definitions/ErrorResults"
6656             }
6657           }
6658         },
6659         "CreateSpaces": {
6660           "type": "object",
6661           "properties": {
6662             "Params": {
6663               "$ref": "#/definitions/CreateSpacesParams"
6664             },
6665             "Result": {
6666               "$ref": "#/definitions/ErrorResults"
6667             }
6668           }
6669         },
6670         "ListSpaces": {
6671           "type": "object",
6672           "properties": {
6673             "Result": {
6674               "$ref": "#/definitions/DiscoverSpacesResults"
6675             }
6676           }
6677         },
6678         "ListSubnets": {
6679           "type": "object",
6680           "properties": {
6681             "Params": {
6682               "$ref": "#/definitions/SubnetsFilters"
6683             },
6684             "Result": {
6685               "$ref": "#/definitions/ListSubnetsResults"
6686             }
6687           }
6688         },
6689         "ModelConfig": {
6690           "type": "object",
6691           "properties": {
6692             "Result": {
6693               "$ref": "#/definitions/ModelConfigResult"
6694             }
6695           }
6696         }
6697       },
6698       "definitions": {
6699         "AddSubnetParams": {
6700           "type": "object",
6701           "properties": {
6702             "space-tag": {
6703               "type": "string"
6704             },
6705             "subnet-provider-id": {
6706               "type": "string"
6707             },
6708             "subnet-tag": {
6709               "type": "string"
6710             },
6711             "zones": {
6712               "type": "array",
6713               "items": {
6714                 "type": "string"
6715               }
6716             }
6717           },
6718           "additionalProperties": false,
6719           "required": [
6720             "space-tag"
6721           ]
6722         },
6723         "AddSubnetsParams": {
6724           "type": "object",
6725           "properties": {
6726             "subnets": {
6727               "type": "array",
6728               "items": {
6729                 "$ref": "#/definitions/AddSubnetParams"
6730               }
6731             }
6732           },
6733           "additionalProperties": false,
6734           "required": [
6735             "subnets"
6736           ]
6737         },
6738         "CreateSpaceParams": {
6739           "type": "object",
6740           "properties": {
6741             "provider-id": {
6742               "type": "string"
6743             },
6744             "public": {
6745               "type": "boolean"
6746             },
6747             "space-tag": {
6748               "type": "string"
6749             },
6750             "subnet-tags": {
6751               "type": "array",
6752               "items": {
6753                 "type": "string"
6754               }
6755             }
6756           },
6757           "additionalProperties": false,
6758           "required": [
6759             "subnet-tags",
6760             "space-tag",
6761             "public"
6762           ]
6763         },
6764         "CreateSpacesParams": {
6765           "type": "object",
6766           "properties": {
6767             "spaces": {
6768               "type": "array",
6769               "items": {
6770                 "$ref": "#/definitions/CreateSpaceParams"
6771               }
6772             }
6773           },
6774           "additionalProperties": false,
6775           "required": [
6776             "spaces"
6777           ]
6778         },
6779         "DiscoverSpacesResults": {
6780           "type": "object",
6781           "properties": {
6782             "results": {
6783               "type": "array",
6784               "items": {
6785                 "$ref": "#/definitions/ProviderSpace"
6786               }
6787             }
6788           },
6789           "additionalProperties": false,
6790           "required": [
6791             "results"
6792           ]
6793         },
6794         "Error": {
6795           "type": "object",
6796           "properties": {
6797             "code": {
6798               "type": "string"
6799             },
6800             "info": {
6801               "$ref": "#/definitions/ErrorInfo"
6802             },
6803             "message": {
6804               "type": "string"
6805             }
6806           },
6807           "additionalProperties": false,
6808           "required": [
6809             "message",
6810             "code"
6811           ]
6812         },
6813         "ErrorInfo": {
6814           "type": "object",
6815           "properties": {
6816             "macaroon": {
6817               "$ref": "#/definitions/Macaroon"
6818             },
6819             "macaroon-path": {
6820               "type": "string"
6821             }
6822           },
6823           "additionalProperties": false
6824         },
6825         "ErrorResult": {
6826           "type": "object",
6827           "properties": {
6828             "error": {
6829               "$ref": "#/definitions/Error"
6830             }
6831           },
6832           "additionalProperties": false
6833         },
6834         "ErrorResults": {
6835           "type": "object",
6836           "properties": {
6837             "results": {
6838               "type": "array",
6839               "items": {
6840                 "$ref": "#/definitions/ErrorResult"
6841               }
6842             }
6843           },
6844           "additionalProperties": false,
6845           "required": [
6846             "results"
6847           ]
6848         },
6849         "ListSubnetsResults": {
6850           "type": "object",
6851           "properties": {
6852             "results": {
6853               "type": "array",
6854               "items": {
6855                 "$ref": "#/definitions/Subnet"
6856               }
6857             }
6858           },
6859           "additionalProperties": false,
6860           "required": [
6861             "results"
6862           ]
6863         },
6864         "Macaroon": {
6865           "type": "object",
6866           "additionalProperties": false
6867         },
6868         "ModelConfigResult": {
6869           "type": "object",
6870           "properties": {
6871             "config": {
6872               "type": "object",
6873               "patternProperties": {
6874                 ".*": {
6875                   "type": "object",
6876                   "additionalProperties": true
6877                 }
6878               }
6879             }
6880           },
6881           "additionalProperties": false,
6882           "required": [
6883             "config"
6884           ]
6885         },
6886         "ProviderSpace": {
6887           "type": "object",
6888           "properties": {
6889             "error": {
6890               "$ref": "#/definitions/Error"
6891             },
6892             "name": {
6893               "type": "string"
6894             },
6895             "provider-id": {
6896               "type": "string"
6897             },
6898             "subnets": {
6899               "type": "array",
6900               "items": {
6901                 "$ref": "#/definitions/Subnet"
6902               }
6903             }
6904           },
6905           "additionalProperties": false,
6906           "required": [
6907             "name",
6908             "provider-id",
6909             "subnets"
6910           ]
6911         },
6912         "Subnet": {
6913           "type": "object",
6914           "properties": {
6915             "cidr": {
6916               "type": "string"
6917             },
6918             "life": {
6919               "type": "string"
6920             },
6921             "provider-id": {
6922               "type": "string"
6923             },
6924             "space-tag": {
6925               "type": "string"
6926             },
6927             "status": {
6928               "type": "string"
6929             },
6930             "vlan-tag": {
6931               "type": "integer"
6932             },
6933             "zones": {
6934               "type": "array",
6935               "items": {
6936                 "type": "string"
6937               }
6938             }
6939           },
6940           "additionalProperties": false,
6941           "required": [
6942             "cidr",
6943             "vlan-tag",
6944             "life",
6945             "space-tag",
6946             "zones"
6947           ]
6948         },
6949         "SubnetsFilters": {
6950           "type": "object",
6951           "properties": {
6952             "space-tag": {
6953               "type": "string"
6954             },
6955             "zone": {
6956               "type": "string"
6957             }
6958           },
6959           "additionalProperties": false
6960         }
6961       }
6962     }
6963   },
6964   {
6965     "Name": "DiskManager",
6966     "Version": 2,
6967     "Schema": {
6968       "type": "object",
6969       "properties": {
6970         "SetMachineBlockDevices": {
6971           "type": "object",
6972           "properties": {
6973             "Params": {
6974               "$ref": "#/definitions/SetMachineBlockDevices"
6975             },
6976             "Result": {
6977               "$ref": "#/definitions/ErrorResults"
6978             }
6979           }
6980         }
6981       },
6982       "definitions": {
6983         "BlockDevice": {
6984           "type": "object",
6985           "properties": {
6986             "BusAddress": {
6987               "type": "string"
6988             },
6989             "DeviceLinks": {
6990               "type": "array",
6991               "items": {
6992                 "type": "string"
6993               }
6994             },
6995             "DeviceName": {
6996               "type": "string"
6997             },
6998             "FilesystemType": {
6999               "type": "string"
7000             },
7001             "HardwareId": {
7002               "type": "string"
7003             },
7004             "InUse": {
7005               "type": "boolean"
7006             },
7007             "Label": {
7008               "type": "string"
7009             },
7010             "MountPoint": {
7011               "type": "string"
7012             },
7013             "Size": {
7014               "type": "integer"
7015             },
7016             "UUID": {
7017               "type": "string"
7018             }
7019           },
7020           "additionalProperties": false,
7021           "required": [
7022             "DeviceName",
7023             "DeviceLinks",
7024             "Label",
7025             "UUID",
7026             "HardwareId",
7027             "BusAddress",
7028             "Size",
7029             "FilesystemType",
7030             "InUse",
7031             "MountPoint"
7032           ]
7033         },
7034         "Error": {
7035           "type": "object",
7036           "properties": {
7037             "code": {
7038               "type": "string"
7039             },
7040             "info": {
7041               "$ref": "#/definitions/ErrorInfo"
7042             },
7043             "message": {
7044               "type": "string"
7045             }
7046           },
7047           "additionalProperties": false,
7048           "required": [
7049             "message",
7050             "code"
7051           ]
7052         },
7053         "ErrorInfo": {
7054           "type": "object",
7055           "properties": {
7056             "macaroon": {
7057               "$ref": "#/definitions/Macaroon"
7058             },
7059             "macaroon-path": {
7060               "type": "string"
7061             }
7062           },
7063           "additionalProperties": false
7064         },
7065         "ErrorResult": {
7066           "type": "object",
7067           "properties": {
7068             "error": {
7069               "$ref": "#/definitions/Error"
7070             }
7071           },
7072           "additionalProperties": false
7073         },
7074         "ErrorResults": {
7075           "type": "object",
7076           "properties": {
7077             "results": {
7078               "type": "array",
7079               "items": {
7080                 "$ref": "#/definitions/ErrorResult"
7081               }
7082             }
7083           },
7084           "additionalProperties": false,
7085           "required": [
7086             "results"
7087           ]
7088         },
7089         "Macaroon": {
7090           "type": "object",
7091           "additionalProperties": false
7092         },
7093         "MachineBlockDevices": {
7094           "type": "object",
7095           "properties": {
7096             "block-devices": {
7097               "type": "array",
7098               "items": {
7099                 "$ref": "#/definitions/BlockDevice"
7100               }
7101             },
7102             "machine": {
7103               "type": "string"
7104             }
7105           },
7106           "additionalProperties": false,
7107           "required": [
7108             "machine"
7109           ]
7110         },
7111         "SetMachineBlockDevices": {
7112           "type": "object",
7113           "properties": {
7114             "machine-block-devices": {
7115               "type": "array",
7116               "items": {
7117                 "$ref": "#/definitions/MachineBlockDevices"
7118               }
7119             }
7120           },
7121           "additionalProperties": false,
7122           "required": [
7123             "machine-block-devices"
7124           ]
7125         }
7126       }
7127     }
7128   },
7129   {
7130     "Name": "EntityWatcher",
7131     "Version": 2,
7132     "Schema": {
7133       "type": "object",
7134       "properties": {
7135         "Next": {
7136           "type": "object",
7137           "properties": {
7138             "Result": {
7139               "$ref": "#/definitions/EntitiesWatchResult"
7140             }
7141           }
7142         },
7143         "Stop": {
7144           "type": "object"
7145         }
7146       },
7147       "definitions": {
7148         "EntitiesWatchResult": {
7149           "type": "object",
7150           "properties": {
7151             "changes": {
7152               "type": "array",
7153               "items": {
7154                 "type": "string"
7155               }
7156             },
7157             "error": {
7158               "$ref": "#/definitions/Error"
7159             },
7160             "watcher-id": {
7161               "type": "string"
7162             }
7163           },
7164           "additionalProperties": false,
7165           "required": [
7166             "watcher-id"
7167           ]
7168         },
7169         "Error": {
7170           "type": "object",
7171           "properties": {
7172             "code": {
7173               "type": "string"
7174             },
7175             "info": {
7176               "$ref": "#/definitions/ErrorInfo"
7177             },
7178             "message": {
7179               "type": "string"
7180             }
7181           },
7182           "additionalProperties": false,
7183           "required": [
7184             "message",
7185             "code"
7186           ]
7187         },
7188         "ErrorInfo": {
7189           "type": "object",
7190           "properties": {
7191             "macaroon": {
7192               "$ref": "#/definitions/Macaroon"
7193             },
7194             "macaroon-path": {
7195               "type": "string"
7196             }
7197           },
7198           "additionalProperties": false
7199         },
7200         "Macaroon": {
7201           "type": "object",
7202           "additionalProperties": false
7203         }
7204       }
7205     }
7206   },
7207   {
7208     "Name": "FilesystemAttachmentsWatcher",
7209     "Version": 2,
7210     "Schema": {
7211       "type": "object",
7212       "properties": {
7213         "Next": {
7214           "type": "object",
7215           "properties": {
7216             "Result": {
7217               "$ref": "#/definitions/MachineStorageIdsWatchResult"
7218             }
7219           }
7220         },
7221         "Stop": {
7222           "type": "object"
7223         }
7224       },
7225       "definitions": {
7226         "Error": {
7227           "type": "object",
7228           "properties": {
7229             "code": {
7230               "type": "string"
7231             },
7232             "info": {
7233               "$ref": "#/definitions/ErrorInfo"
7234             },
7235             "message": {
7236               "type": "string"
7237             }
7238           },
7239           "additionalProperties": false,
7240           "required": [
7241             "message",
7242             "code"
7243           ]
7244         },
7245         "ErrorInfo": {
7246           "type": "object",
7247           "properties": {
7248             "macaroon": {
7249               "$ref": "#/definitions/Macaroon"
7250             },
7251             "macaroon-path": {
7252               "type": "string"
7253             }
7254           },
7255           "additionalProperties": false
7256         },
7257         "Macaroon": {
7258           "type": "object",
7259           "additionalProperties": false
7260         },
7261         "MachineStorageId": {
7262           "type": "object",
7263           "properties": {
7264             "attachment-tag": {
7265               "type": "string"
7266             },
7267             "machine-tag": {
7268               "type": "string"
7269             }
7270           },
7271           "additionalProperties": false,
7272           "required": [
7273             "machine-tag",
7274             "attachment-tag"
7275           ]
7276         },
7277         "MachineStorageIdsWatchResult": {
7278           "type": "object",
7279           "properties": {
7280             "changes": {
7281               "type": "array",
7282               "items": {
7283                 "$ref": "#/definitions/MachineStorageId"
7284               }
7285             },
7286             "error": {
7287               "$ref": "#/definitions/Error"
7288             },
7289             "watcher-id": {
7290               "type": "string"
7291             }
7292           },
7293           "additionalProperties": false,
7294           "required": [
7295             "watcher-id",
7296             "changes"
7297           ]
7298         }
7299       }
7300     }
7301   },
7302   {
7303     "Name": "Firewaller",
7304     "Version": 3,
7305     "Schema": {
7306       "type": "object",
7307       "properties": {
7308         "CloudSpec": {
7309           "type": "object",
7310           "properties": {
7311             "Params": {
7312               "$ref": "#/definitions/Entities"
7313             },
7314             "Result": {
7315               "$ref": "#/definitions/CloudSpecResults"
7316             }
7317           }
7318         },
7319         "GetAssignedMachine": {
7320           "type": "object",
7321           "properties": {
7322             "Params": {
7323               "$ref": "#/definitions/Entities"
7324             },
7325             "Result": {
7326               "$ref": "#/definitions/StringResults"
7327             }
7328           }
7329         },
7330         "GetExposed": {
7331           "type": "object",
7332           "properties": {
7333             "Params": {
7334               "$ref": "#/definitions/Entities"
7335             },
7336             "Result": {
7337               "$ref": "#/definitions/BoolResults"
7338             }
7339           }
7340         },
7341         "GetMachineActiveSubnets": {
7342           "type": "object",
7343           "properties": {
7344             "Params": {
7345               "$ref": "#/definitions/Entities"
7346             },
7347             "Result": {
7348               "$ref": "#/definitions/StringsResults"
7349             }
7350           }
7351         },
7352         "GetMachinePorts": {
7353           "type": "object",
7354           "properties": {
7355             "Params": {
7356               "$ref": "#/definitions/MachinePortsParams"
7357             },
7358             "Result": {
7359               "$ref": "#/definitions/MachinePortsResults"
7360             }
7361           }
7362         },
7363         "InstanceId": {
7364           "type": "object",
7365           "properties": {
7366             "Params": {
7367               "$ref": "#/definitions/Entities"
7368             },
7369             "Result": {
7370               "$ref": "#/definitions/StringResults"
7371             }
7372           }
7373         },
7374         "Life": {
7375           "type": "object",
7376           "properties": {
7377             "Params": {
7378               "$ref": "#/definitions/Entities"
7379             },
7380             "Result": {
7381               "$ref": "#/definitions/LifeResults"
7382             }
7383           }
7384         },
7385         "ModelConfig": {
7386           "type": "object",
7387           "properties": {
7388             "Result": {
7389               "$ref": "#/definitions/ModelConfigResult"
7390             }
7391           }
7392         },
7393         "Watch": {
7394           "type": "object",
7395           "properties": {
7396             "Params": {
7397               "$ref": "#/definitions/Entities"
7398             },
7399             "Result": {
7400               "$ref": "#/definitions/NotifyWatchResults"
7401             }
7402           }
7403         },
7404         "WatchForModelConfigChanges": {
7405           "type": "object",
7406           "properties": {
7407             "Result": {
7408               "$ref": "#/definitions/NotifyWatchResult"
7409             }
7410           }
7411         },
7412         "WatchModelMachines": {
7413           "type": "object",
7414           "properties": {
7415             "Result": {
7416               "$ref": "#/definitions/StringsWatchResult"
7417             }
7418           }
7419         },
7420         "WatchOpenedPorts": {
7421           "type": "object",
7422           "properties": {
7423             "Params": {
7424               "$ref": "#/definitions/Entities"
7425             },
7426             "Result": {
7427               "$ref": "#/definitions/StringsWatchResults"
7428             }
7429           }
7430         },
7431         "WatchUnits": {
7432           "type": "object",
7433           "properties": {
7434             "Params": {
7435               "$ref": "#/definitions/Entities"
7436             },
7437             "Result": {
7438               "$ref": "#/definitions/StringsWatchResults"
7439             }
7440           }
7441         }
7442       },
7443       "definitions": {
7444         "BoolResult": {
7445           "type": "object",
7446           "properties": {
7447             "error": {
7448               "$ref": "#/definitions/Error"
7449             },
7450             "result": {
7451               "type": "boolean"
7452             }
7453           },
7454           "additionalProperties": false,
7455           "required": [
7456             "result"
7457           ]
7458         },
7459         "BoolResults": {
7460           "type": "object",
7461           "properties": {
7462             "results": {
7463               "type": "array",
7464               "items": {
7465                 "$ref": "#/definitions/BoolResult"
7466               }
7467             }
7468           },
7469           "additionalProperties": false,
7470           "required": [
7471             "results"
7472           ]
7473         },
7474         "CloudCredential": {
7475           "type": "object",
7476           "properties": {
7477             "attrs": {
7478               "type": "object",
7479               "patternProperties": {
7480                 ".*": {
7481                   "type": "string"
7482                 }
7483               }
7484             },
7485             "auth-type": {
7486               "type": "string"
7487             },
7488             "redacted": {
7489               "type": "array",
7490               "items": {
7491                 "type": "string"
7492               }
7493             }
7494           },
7495           "additionalProperties": false,
7496           "required": [
7497             "auth-type"
7498           ]
7499         },
7500         "CloudSpec": {
7501           "type": "object",
7502           "properties": {
7503             "credential": {
7504               "$ref": "#/definitions/CloudCredential"
7505             },
7506             "endpoint": {
7507               "type": "string"
7508             },
7509             "identity-endpoint": {
7510               "type": "string"
7511             },
7512             "name": {
7513               "type": "string"
7514             },
7515             "region": {
7516               "type": "string"
7517             },
7518             "storage-endpoint": {
7519               "type": "string"
7520             },
7521             "type": {
7522               "type": "string"
7523             }
7524           },
7525           "additionalProperties": false,
7526           "required": [
7527             "type",
7528             "name"
7529           ]
7530         },
7531         "CloudSpecResult": {
7532           "type": "object",
7533           "properties": {
7534             "error": {
7535               "$ref": "#/definitions/Error"
7536             },
7537             "result": {
7538               "$ref": "#/definitions/CloudSpec"
7539             }
7540           },
7541           "additionalProperties": false
7542         },
7543         "CloudSpecResults": {
7544           "type": "object",
7545           "properties": {
7546             "results": {
7547               "type": "array",
7548               "items": {
7549                 "$ref": "#/definitions/CloudSpecResult"
7550               }
7551             }
7552           },
7553           "additionalProperties": false
7554         },
7555         "Entities": {
7556           "type": "object",
7557           "properties": {
7558             "entities": {
7559               "type": "array",
7560               "items": {
7561                 "$ref": "#/definitions/Entity"
7562               }
7563             }
7564           },
7565           "additionalProperties": false,
7566           "required": [
7567             "entities"
7568           ]
7569         },
7570         "Entity": {
7571           "type": "object",
7572           "properties": {
7573             "tag": {
7574               "type": "string"
7575             }
7576           },
7577           "additionalProperties": false,
7578           "required": [
7579             "tag"
7580           ]
7581         },
7582         "Error": {
7583           "type": "object",
7584           "properties": {
7585             "code": {
7586               "type": "string"
7587             },
7588             "info": {
7589               "$ref": "#/definitions/ErrorInfo"
7590             },
7591             "message": {
7592               "type": "string"
7593             }
7594           },
7595           "additionalProperties": false,
7596           "required": [
7597             "message",
7598             "code"
7599           ]
7600         },
7601         "ErrorInfo": {
7602           "type": "object",
7603           "properties": {
7604             "macaroon": {
7605               "$ref": "#/definitions/Macaroon"
7606             },
7607             "macaroon-path": {
7608               "type": "string"
7609             }
7610           },
7611           "additionalProperties": false
7612         },
7613         "LifeResult": {
7614           "type": "object",
7615           "properties": {
7616             "error": {
7617               "$ref": "#/definitions/Error"
7618             },
7619             "life": {
7620               "type": "string"
7621             }
7622           },
7623           "additionalProperties": false,
7624           "required": [
7625             "life"
7626           ]
7627         },
7628         "LifeResults": {
7629           "type": "object",
7630           "properties": {
7631             "results": {
7632               "type": "array",
7633               "items": {
7634                 "$ref": "#/definitions/LifeResult"
7635               }
7636             }
7637           },
7638           "additionalProperties": false,
7639           "required": [
7640             "results"
7641           ]
7642         },
7643         "Macaroon": {
7644           "type": "object",
7645           "additionalProperties": false
7646         },
7647         "MachinePortRange": {
7648           "type": "object",
7649           "properties": {
7650             "port-range": {
7651               "$ref": "#/definitions/PortRange"
7652             },
7653             "relation-tag": {
7654               "type": "string"
7655             },
7656             "unit-tag": {
7657               "type": "string"
7658             }
7659           },
7660           "additionalProperties": false,
7661           "required": [
7662             "unit-tag",
7663             "relation-tag",
7664             "port-range"
7665           ]
7666         },
7667         "MachinePorts": {
7668           "type": "object",
7669           "properties": {
7670             "machine-tag": {
7671               "type": "string"
7672             },
7673             "subnet-tag": {
7674               "type": "string"
7675             }
7676           },
7677           "additionalProperties": false,
7678           "required": [
7679             "machine-tag",
7680             "subnet-tag"
7681           ]
7682         },
7683         "MachinePortsParams": {
7684           "type": "object",
7685           "properties": {
7686             "params": {
7687               "type": "array",
7688               "items": {
7689                 "$ref": "#/definitions/MachinePorts"
7690               }
7691             }
7692           },
7693           "additionalProperties": false,
7694           "required": [
7695             "params"
7696           ]
7697         },
7698         "MachinePortsResult": {
7699           "type": "object",
7700           "properties": {
7701             "error": {
7702               "$ref": "#/definitions/Error"
7703             },
7704             "ports": {
7705               "type": "array",
7706               "items": {
7707                 "$ref": "#/definitions/MachinePortRange"
7708               }
7709             }
7710           },
7711           "additionalProperties": false,
7712           "required": [
7713             "ports"
7714           ]
7715         },
7716         "MachinePortsResults": {
7717           "type": "object",
7718           "properties": {
7719             "results": {
7720               "type": "array",
7721               "items": {
7722                 "$ref": "#/definitions/MachinePortsResult"
7723               }
7724             }
7725           },
7726           "additionalProperties": false,
7727           "required": [
7728             "results"
7729           ]
7730         },
7731         "ModelConfigResult": {
7732           "type": "object",
7733           "properties": {
7734             "config": {
7735               "type": "object",
7736               "patternProperties": {
7737                 ".*": {
7738                   "type": "object",
7739                   "additionalProperties": true
7740                 }
7741               }
7742             }
7743           },
7744           "additionalProperties": false,
7745           "required": [
7746             "config"
7747           ]
7748         },
7749         "NotifyWatchResult": {
7750           "type": "object",
7751           "properties": {
7752             "NotifyWatcherId": {
7753               "type": "string"
7754             },
7755             "error": {
7756               "$ref": "#/definitions/Error"
7757             }
7758           },
7759           "additionalProperties": false,
7760           "required": [
7761             "NotifyWatcherId"
7762           ]
7763         },
7764         "NotifyWatchResults": {
7765           "type": "object",
7766           "properties": {
7767             "results": {
7768               "type": "array",
7769               "items": {
7770                 "$ref": "#/definitions/NotifyWatchResult"
7771               }
7772             }
7773           },
7774           "additionalProperties": false,
7775           "required": [
7776             "results"
7777           ]
7778         },
7779         "PortRange": {
7780           "type": "object",
7781           "properties": {
7782             "from-port": {
7783               "type": "integer"
7784             },
7785             "protocol": {
7786               "type": "string"
7787             },
7788             "to-port": {
7789               "type": "integer"
7790             }
7791           },
7792           "additionalProperties": false,
7793           "required": [
7794             "from-port",
7795             "to-port",
7796             "protocol"
7797           ]
7798         },
7799         "StringResult": {
7800           "type": "object",
7801           "properties": {
7802             "error": {
7803               "$ref": "#/definitions/Error"
7804             },
7805             "result": {
7806               "type": "string"
7807             }
7808           },
7809           "additionalProperties": false,
7810           "required": [
7811             "result"
7812           ]
7813         },
7814         "StringResults": {
7815           "type": "object",
7816           "properties": {
7817             "results": {
7818               "type": "array",
7819               "items": {
7820                 "$ref": "#/definitions/StringResult"
7821               }
7822             }
7823           },
7824           "additionalProperties": false,
7825           "required": [
7826             "results"
7827           ]
7828         },
7829         "StringsResult": {
7830           "type": "object",
7831           "properties": {
7832             "error": {
7833               "$ref": "#/definitions/Error"
7834             },
7835             "result": {
7836               "type": "array",
7837               "items": {
7838                 "type": "string"
7839               }
7840             }
7841           },
7842           "additionalProperties": false
7843         },
7844         "StringsResults": {
7845           "type": "object",
7846           "properties": {
7847             "results": {
7848               "type": "array",
7849               "items": {
7850                 "$ref": "#/definitions/StringsResult"
7851               }
7852             }
7853           },
7854           "additionalProperties": false,
7855           "required": [
7856             "results"
7857           ]
7858         },
7859         "StringsWatchResult": {
7860           "type": "object",
7861           "properties": {
7862             "changes": {
7863               "type": "array",
7864               "items": {
7865                 "type": "string"
7866               }
7867             },
7868             "error": {
7869               "$ref": "#/definitions/Error"
7870             },
7871             "watcher-id": {
7872               "type": "string"
7873             }
7874           },
7875           "additionalProperties": false,
7876           "required": [
7877             "watcher-id"
7878           ]
7879         },
7880         "StringsWatchResults": {
7881           "type": "object",
7882           "properties": {
7883             "results": {
7884               "type": "array",
7885               "items": {
7886                 "$ref": "#/definitions/StringsWatchResult"
7887               }
7888             }
7889           },
7890           "additionalProperties": false,
7891           "required": [
7892             "results"
7893           ]
7894         }
7895       }
7896     }
7897   },
7898   {
7899     "Name": "HighAvailability",
7900     "Version": 2,
7901     "Schema": {
7902       "type": "object",
7903       "properties": {
7904         "EnableHA": {
7905           "type": "object",
7906           "properties": {
7907             "Params": {
7908               "$ref": "#/definitions/ControllersSpecs"
7909             },
7910             "Result": {
7911               "$ref": "#/definitions/ControllersChangeResults"
7912             }
7913           }
7914         },
7915         "ResumeHAReplicationAfterUpgrade": {
7916           "type": "object",
7917           "properties": {
7918             "Params": {
7919               "$ref": "#/definitions/ResumeReplicationParams"
7920             }
7921           }
7922         },
7923         "StopHAReplicationForUpgrade": {
7924           "type": "object",
7925           "properties": {
7926             "Params": {
7927               "$ref": "#/definitions/UpgradeMongoParams"
7928             },
7929             "Result": {
7930               "$ref": "#/definitions/MongoUpgradeResults"
7931             }
7932           }
7933         }
7934       },
7935       "definitions": {
7936         "Address": {
7937           "type": "object",
7938           "properties": {
7939             "Scope": {
7940               "type": "string"
7941             },
7942             "SpaceName": {
7943               "type": "string"
7944             },
7945             "SpaceProviderId": {
7946               "type": "string"
7947             },
7948             "Type": {
7949               "type": "string"
7950             },
7951             "Value": {
7952               "type": "string"
7953             }
7954           },
7955           "additionalProperties": false,
7956           "required": [
7957             "Value",
7958             "Type",
7959             "Scope",
7960             "SpaceName",
7961             "SpaceProviderId"
7962           ]
7963         },
7964         "ControllersChangeResult": {
7965           "type": "object",
7966           "properties": {
7967             "error": {
7968               "$ref": "#/definitions/Error"
7969             },
7970             "result": {
7971               "$ref": "#/definitions/ControllersChanges"
7972             }
7973           },
7974           "additionalProperties": false,
7975           "required": [
7976             "result"
7977           ]
7978         },
7979         "ControllersChangeResults": {
7980           "type": "object",
7981           "properties": {
7982             "results": {
7983               "type": "array",
7984               "items": {
7985                 "$ref": "#/definitions/ControllersChangeResult"
7986               }
7987             }
7988           },
7989           "additionalProperties": false,
7990           "required": [
7991             "results"
7992           ]
7993         },
7994         "ControllersChanges": {
7995           "type": "object",
7996           "properties": {
7997             "added": {
7998               "type": "array",
7999               "items": {
8000                 "type": "string"
8001               }
8002             },
8003             "converted": {
8004               "type": "array",
8005               "items": {
8006                 "type": "string"
8007               }
8008             },
8009             "demoted": {
8010               "type": "array",
8011               "items": {
8012                 "type": "string"
8013               }
8014             },
8015             "maintained": {
8016               "type": "array",
8017               "items": {
8018                 "type": "string"
8019               }
8020             },
8021             "promoted": {
8022               "type": "array",
8023               "items": {
8024                 "type": "string"
8025               }
8026             },
8027             "removed": {
8028               "type": "array",
8029               "items": {
8030                 "type": "string"
8031               }
8032             }
8033           },
8034           "additionalProperties": false
8035         },
8036         "ControllersSpec": {
8037           "type": "object",
8038           "properties": {
8039             "constraints": {
8040               "$ref": "#/definitions/Value"
8041             },
8042             "model-tag": {
8043               "type": "string"
8044             },
8045             "num-controllers": {
8046               "type": "integer"
8047             },
8048             "placement": {
8049               "type": "array",
8050               "items": {
8051                 "type": "string"
8052               }
8053             },
8054             "series": {
8055               "type": "string"
8056             }
8057           },
8058           "additionalProperties": false,
8059           "required": [
8060             "model-tag",
8061             "num-controllers"
8062           ]
8063         },
8064         "ControllersSpecs": {
8065           "type": "object",
8066           "properties": {
8067             "specs": {
8068               "type": "array",
8069               "items": {
8070                 "$ref": "#/definitions/ControllersSpec"
8071               }
8072             }
8073           },
8074           "additionalProperties": false,
8075           "required": [
8076             "specs"
8077           ]
8078         },
8079         "Error": {
8080           "type": "object",
8081           "properties": {
8082             "code": {
8083               "type": "string"
8084             },
8085             "info": {
8086               "$ref": "#/definitions/ErrorInfo"
8087             },
8088             "message": {
8089               "type": "string"
8090             }
8091           },
8092           "additionalProperties": false,
8093           "required": [
8094             "message",
8095             "code"
8096           ]
8097         },
8098         "ErrorInfo": {
8099           "type": "object",
8100           "properties": {
8101             "macaroon": {
8102               "$ref": "#/definitions/Macaroon"
8103             },
8104             "macaroon-path": {
8105               "type": "string"
8106             }
8107           },
8108           "additionalProperties": false
8109         },
8110         "HAMember": {
8111           "type": "object",
8112           "properties": {
8113             "public-address": {
8114               "$ref": "#/definitions/Address"
8115             },
8116             "series": {
8117               "type": "string"
8118             },
8119             "tag": {
8120               "type": "string"
8121             }
8122           },
8123           "additionalProperties": false,
8124           "required": [
8125             "tag",
8126             "public-address",
8127             "series"
8128           ]
8129         },
8130         "Macaroon": {
8131           "type": "object",
8132           "additionalProperties": false
8133         },
8134         "Member": {
8135           "type": "object",
8136           "properties": {
8137             "Address": {
8138               "type": "string"
8139             },
8140             "Arbiter": {
8141               "type": "boolean"
8142             },
8143             "BuildIndexes": {
8144               "type": "boolean"
8145             },
8146             "Hidden": {
8147               "type": "boolean"
8148             },
8149             "Id": {
8150               "type": "integer"
8151             },
8152             "Priority": {
8153               "type": "number"
8154             },
8155             "SlaveDelay": {
8156               "type": "integer"
8157             },
8158             "Tags": {
8159               "type": "object",
8160               "patternProperties": {
8161                 ".*": {
8162                   "type": "string"
8163                 }
8164               }
8165             },
8166             "Votes": {
8167               "type": "integer"
8168             }
8169           },
8170           "additionalProperties": false,
8171           "required": [
8172             "Id",
8173             "Address",
8174             "Arbiter",
8175             "BuildIndexes",
8176             "Hidden",
8177             "Priority",
8178             "Tags",
8179             "SlaveDelay",
8180             "Votes"
8181           ]
8182         },
8183         "MongoUpgradeResults": {
8184           "type": "object",
8185           "properties": {
8186             "ha-members": {
8187               "type": "array",
8188               "items": {
8189                 "$ref": "#/definitions/HAMember"
8190               }
8191             },
8192             "master": {
8193               "$ref": "#/definitions/HAMember"
8194             },
8195             "rs-members": {
8196               "type": "array",
8197               "items": {
8198                 "$ref": "#/definitions/Member"
8199               }
8200             }
8201           },
8202           "additionalProperties": false,
8203           "required": [
8204             "rs-members",
8205             "master",
8206             "ha-members"
8207           ]
8208         },
8209         "ResumeReplicationParams": {
8210           "type": "object",
8211           "properties": {
8212             "members": {
8213               "type": "array",
8214               "items": {
8215                 "$ref": "#/definitions/Member"
8216               }
8217             }
8218           },
8219           "additionalProperties": false,
8220           "required": [
8221             "members"
8222           ]
8223         },
8224         "UpgradeMongoParams": {
8225           "type": "object",
8226           "properties": {
8227             "target": {
8228               "$ref": "#/definitions/Version"
8229             }
8230           },
8231           "additionalProperties": false,
8232           "required": [
8233             "target"
8234           ]
8235         },
8236         "Value": {
8237           "type": "object",
8238           "properties": {
8239             "arch": {
8240               "type": "string"
8241             },
8242             "container": {
8243               "type": "string"
8244             },
8245             "cpu-cores": {
8246               "type": "integer"
8247             },
8248             "cpu-power": {
8249               "type": "integer"
8250             },
8251             "instance-type": {
8252               "type": "string"
8253             },
8254             "mem": {
8255               "type": "integer"
8256             },
8257             "root-disk": {
8258               "type": "integer"
8259             },
8260             "spaces": {
8261               "type": "array",
8262               "items": {
8263                 "type": "string"
8264               }
8265             },
8266             "tags": {
8267               "type": "array",
8268               "items": {
8269                 "type": "string"
8270               }
8271             },
8272             "virt-type": {
8273               "type": "string"
8274             }
8275           },
8276           "additionalProperties": false
8277         },
8278         "Version": {
8279           "type": "object",
8280           "properties": {
8281             "Major": {
8282               "type": "integer"
8283             },
8284             "Minor": {
8285               "type": "integer"
8286             },
8287             "Patch": {
8288               "type": "string"
8289             },
8290             "StorageEngine": {
8291               "type": "string"
8292             }
8293           },
8294           "additionalProperties": false,
8295           "required": [
8296             "Major",
8297             "Minor",
8298             "Patch",
8299             "StorageEngine"
8300           ]
8301         }
8302       }
8303     }
8304   },
8305   {
8306     "Name": "HostKeyReporter",
8307     "Version": 1,
8308     "Schema": {
8309       "type": "object",
8310       "properties": {
8311         "ReportKeys": {
8312           "type": "object",
8313           "properties": {
8314             "Params": {
8315               "$ref": "#/definitions/SSHHostKeySet"
8316             },
8317             "Result": {
8318               "$ref": "#/definitions/ErrorResults"
8319             }
8320           }
8321         }
8322       },
8323       "definitions": {
8324         "Error": {
8325           "type": "object",
8326           "properties": {
8327             "code": {
8328               "type": "string"
8329             },
8330             "info": {
8331               "$ref": "#/definitions/ErrorInfo"
8332             },
8333             "message": {
8334               "type": "string"
8335             }
8336           },
8337           "additionalProperties": false,
8338           "required": [
8339             "message",
8340             "code"
8341           ]
8342         },
8343         "ErrorInfo": {
8344           "type": "object",
8345           "properties": {
8346             "macaroon": {
8347               "$ref": "#/definitions/Macaroon"
8348             },
8349             "macaroon-path": {
8350               "type": "string"
8351             }
8352           },
8353           "additionalProperties": false
8354         },
8355         "ErrorResult": {
8356           "type": "object",
8357           "properties": {
8358             "error": {
8359               "$ref": "#/definitions/Error"
8360             }
8361           },
8362           "additionalProperties": false
8363         },
8364         "ErrorResults": {
8365           "type": "object",
8366           "properties": {
8367             "results": {
8368               "type": "array",
8369               "items": {
8370                 "$ref": "#/definitions/ErrorResult"
8371               }
8372             }
8373           },
8374           "additionalProperties": false,
8375           "required": [
8376             "results"
8377           ]
8378         },
8379         "Macaroon": {
8380           "type": "object",
8381           "additionalProperties": false
8382         },
8383         "SSHHostKeySet": {
8384           "type": "object",
8385           "properties": {
8386             "entity-keys": {
8387               "type": "array",
8388               "items": {
8389                 "$ref": "#/definitions/SSHHostKeys"
8390               }
8391             }
8392           },
8393           "additionalProperties": false,
8394           "required": [
8395             "entity-keys"
8396           ]
8397         },
8398         "SSHHostKeys": {
8399           "type": "object",
8400           "properties": {
8401             "public-keys": {
8402               "type": "array",
8403               "items": {
8404                 "type": "string"
8405               }
8406             },
8407             "tag": {
8408               "type": "string"
8409             }
8410           },
8411           "additionalProperties": false,
8412           "required": [
8413             "tag",
8414             "public-keys"
8415           ]
8416         }
8417       }
8418     }
8419   },
8420   {
8421     "Name": "ImageManager",
8422     "Version": 2,
8423     "Schema": {
8424       "type": "object",
8425       "properties": {
8426         "DeleteImages": {
8427           "type": "object",
8428           "properties": {
8429             "Params": {
8430               "$ref": "#/definitions/ImageFilterParams"
8431             },
8432             "Result": {
8433               "$ref": "#/definitions/ErrorResults"
8434             }
8435           }
8436         },
8437         "ListImages": {
8438           "type": "object",
8439           "properties": {
8440             "Params": {
8441               "$ref": "#/definitions/ImageFilterParams"
8442             },
8443             "Result": {
8444               "$ref": "#/definitions/ListImageResult"
8445             }
8446           }
8447         }
8448       },
8449       "definitions": {
8450         "Error": {
8451           "type": "object",
8452           "properties": {
8453             "code": {
8454               "type": "string"
8455             },
8456             "info": {
8457               "$ref": "#/definitions/ErrorInfo"
8458             },
8459             "message": {
8460               "type": "string"
8461             }
8462           },
8463           "additionalProperties": false,
8464           "required": [
8465             "message",
8466             "code"
8467           ]
8468         },
8469         "ErrorInfo": {
8470           "type": "object",
8471           "properties": {
8472             "macaroon": {
8473               "$ref": "#/definitions/Macaroon"
8474             },
8475             "macaroon-path": {
8476               "type": "string"
8477             }
8478           },
8479           "additionalProperties": false
8480         },
8481         "ErrorResult": {
8482           "type": "object",
8483           "properties": {
8484             "error": {
8485               "$ref": "#/definitions/Error"
8486             }
8487           },
8488           "additionalProperties": false
8489         },
8490         "ErrorResults": {
8491           "type": "object",
8492           "properties": {
8493             "results": {
8494               "type": "array",
8495               "items": {
8496                 "$ref": "#/definitions/ErrorResult"
8497               }
8498             }
8499           },
8500           "additionalProperties": false,
8501           "required": [
8502             "results"
8503           ]
8504         },
8505         "ImageFilterParams": {
8506           "type": "object",
8507           "properties": {
8508             "images": {
8509               "type": "array",
8510               "items": {
8511                 "$ref": "#/definitions/ImageSpec"
8512               }
8513             }
8514           },
8515           "additionalProperties": false,
8516           "required": [
8517             "images"
8518           ]
8519         },
8520         "ImageMetadata": {
8521           "type": "object",
8522           "properties": {
8523             "arch": {
8524               "type": "string"
8525             },
8526             "created": {
8527               "type": "string",
8528               "format": "date-time"
8529             },
8530             "kind": {
8531               "type": "string"
8532             },
8533             "series": {
8534               "type": "string"
8535             },
8536             "url": {
8537               "type": "string"
8538             }
8539           },
8540           "additionalProperties": false,
8541           "required": [
8542             "kind",
8543             "arch",
8544             "series",
8545             "url",
8546             "created"
8547           ]
8548         },
8549         "ImageSpec": {
8550           "type": "object",
8551           "properties": {
8552             "arch": {
8553               "type": "string"
8554             },
8555             "kind": {
8556               "type": "string"
8557             },
8558             "series": {
8559               "type": "string"
8560             }
8561           },
8562           "additionalProperties": false,
8563           "required": [
8564             "kind",
8565             "arch",
8566             "series"
8567           ]
8568         },
8569         "ListImageResult": {
8570           "type": "object",
8571           "properties": {
8572             "result": {
8573               "type": "array",
8574               "items": {
8575                 "$ref": "#/definitions/ImageMetadata"
8576               }
8577             }
8578           },
8579           "additionalProperties": false,
8580           "required": [
8581             "result"
8582           ]
8583         },
8584         "Macaroon": {
8585           "type": "object",
8586           "additionalProperties": false
8587         }
8588       }
8589     }
8590   },
8591   {
8592     "Name": "ImageMetadata",
8593     "Version": 2,
8594     "Schema": {
8595       "type": "object",
8596       "properties": {
8597         "Delete": {
8598           "type": "object",
8599           "properties": {
8600             "Params": {
8601               "$ref": "#/definitions/MetadataImageIds"
8602             },
8603             "Result": {
8604               "$ref": "#/definitions/ErrorResults"
8605             }
8606           }
8607         },
8608         "List": {
8609           "type": "object",
8610           "properties": {
8611             "Params": {
8612               "$ref": "#/definitions/ImageMetadataFilter"
8613             },
8614             "Result": {
8615               "$ref": "#/definitions/ListCloudImageMetadataResult"
8616             }
8617           }
8618         },
8619         "Save": {
8620           "type": "object",
8621           "properties": {
8622             "Params": {
8623               "$ref": "#/definitions/MetadataSaveParams"
8624             },
8625             "Result": {
8626               "$ref": "#/definitions/ErrorResults"
8627             }
8628           }
8629         },
8630         "UpdateFromPublishedImages": {
8631           "type": "object"
8632         }
8633       },
8634       "definitions": {
8635         "CloudImageMetadata": {
8636           "type": "object",
8637           "properties": {
8638             "arch": {
8639               "type": "string"
8640             },
8641             "image-id": {
8642               "type": "string"
8643             },
8644             "priority": {
8645               "type": "integer"
8646             },
8647             "region": {
8648               "type": "string"
8649             },
8650             "root-storage-size": {
8651               "type": "integer"
8652             },
8653             "root-storage-type": {
8654               "type": "string"
8655             },
8656             "series": {
8657               "type": "string"
8658             },
8659             "source": {
8660               "type": "string"
8661             },
8662             "stream": {
8663               "type": "string"
8664             },
8665             "version": {
8666               "type": "string"
8667             },
8668             "virt-type": {
8669               "type": "string"
8670             }
8671           },
8672           "additionalProperties": false,
8673           "required": [
8674             "image-id",
8675             "region",
8676             "version",
8677             "series",
8678             "arch",
8679             "source",
8680             "priority"
8681           ]
8682         },
8683         "CloudImageMetadataList": {
8684           "type": "object",
8685           "properties": {
8686             "metadata": {
8687               "type": "array",
8688               "items": {
8689                 "$ref": "#/definitions/CloudImageMetadata"
8690               }
8691             }
8692           },
8693           "additionalProperties": false
8694         },
8695         "Error": {
8696           "type": "object",
8697           "properties": {
8698             "code": {
8699               "type": "string"
8700             },
8701             "info": {
8702               "$ref": "#/definitions/ErrorInfo"
8703             },
8704             "message": {
8705               "type": "string"
8706             }
8707           },
8708           "additionalProperties": false,
8709           "required": [
8710             "message",
8711             "code"
8712           ]
8713         },
8714         "ErrorInfo": {
8715           "type": "object",
8716           "properties": {
8717             "macaroon": {
8718               "$ref": "#/definitions/Macaroon"
8719             },
8720             "macaroon-path": {
8721               "type": "string"
8722             }
8723           },
8724           "additionalProperties": false
8725         },
8726         "ErrorResult": {
8727           "type": "object",
8728           "properties": {
8729             "error": {
8730               "$ref": "#/definitions/Error"
8731             }
8732           },
8733           "additionalProperties": false
8734         },
8735         "ErrorResults": {
8736           "type": "object",
8737           "properties": {
8738             "results": {
8739               "type": "array",
8740               "items": {
8741                 "$ref": "#/definitions/ErrorResult"
8742               }
8743             }
8744           },
8745           "additionalProperties": false,
8746           "required": [
8747             "results"
8748           ]
8749         },
8750         "ImageMetadataFilter": {
8751           "type": "object",
8752           "properties": {
8753             "arches": {
8754               "type": "array",
8755               "items": {
8756                 "type": "string"
8757               }
8758             },
8759             "region": {
8760               "type": "string"
8761             },
8762             "root-storage-type": {
8763               "type": "string"
8764             },
8765             "series": {
8766               "type": "array",
8767               "items": {
8768                 "type": "string"
8769               }
8770             },
8771             "stream": {
8772               "type": "string"
8773             },
8774             "virt-type": {
8775               "type": "string"
8776             }
8777           },
8778           "additionalProperties": false
8779         },
8780         "ListCloudImageMetadataResult": {
8781           "type": "object",
8782           "properties": {
8783             "result": {
8784               "type": "array",
8785               "items": {
8786                 "$ref": "#/definitions/CloudImageMetadata"
8787               }
8788             }
8789           },
8790           "additionalProperties": false,
8791           "required": [
8792             "result"
8793           ]
8794         },
8795         "Macaroon": {
8796           "type": "object",
8797           "additionalProperties": false
8798         },
8799         "MetadataImageIds": {
8800           "type": "object",
8801           "properties": {
8802             "image-ids": {
8803               "type": "array",
8804               "items": {
8805                 "type": "string"
8806               }
8807             }
8808           },
8809           "additionalProperties": false,
8810           "required": [
8811             "image-ids"
8812           ]
8813         },
8814         "MetadataSaveParams": {
8815           "type": "object",
8816           "properties": {
8817             "metadata": {
8818               "type": "array",
8819               "items": {
8820                 "$ref": "#/definitions/CloudImageMetadataList"
8821               }
8822             }
8823           },
8824           "additionalProperties": false
8825         }
8826       }
8827     }
8828   },
8829   {
8830     "Name": "InstancePoller",
8831     "Version": 3,
8832     "Schema": {
8833       "type": "object",
8834       "properties": {
8835         "AreManuallyProvisioned": {
8836           "type": "object",
8837           "properties": {
8838             "Params": {
8839               "$ref": "#/definitions/Entities"
8840             },
8841             "Result": {
8842               "$ref": "#/definitions/BoolResults"
8843             }
8844           }
8845         },
8846         "InstanceId": {
8847           "type": "object",
8848           "properties": {
8849             "Params": {
8850               "$ref": "#/definitions/Entities"
8851             },
8852             "Result": {
8853               "$ref": "#/definitions/StringResults"
8854             }
8855           }
8856         },
8857         "InstanceStatus": {
8858           "type": "object",
8859           "properties": {
8860             "Params": {
8861               "$ref": "#/definitions/Entities"
8862             },
8863             "Result": {
8864               "$ref": "#/definitions/StatusResults"
8865             }
8866           }
8867         },
8868         "Life": {
8869           "type": "object",
8870           "properties": {
8871             "Params": {
8872               "$ref": "#/definitions/Entities"
8873             },
8874             "Result": {
8875               "$ref": "#/definitions/LifeResults"
8876             }
8877           }
8878         },
8879         "ModelConfig": {
8880           "type": "object",
8881           "properties": {
8882             "Result": {
8883               "$ref": "#/definitions/ModelConfigResult"
8884             }
8885           }
8886         },
8887         "ProviderAddresses": {
8888           "type": "object",
8889           "properties": {
8890             "Params": {
8891               "$ref": "#/definitions/Entities"
8892             },
8893             "Result": {
8894               "$ref": "#/definitions/MachineAddressesResults"
8895             }
8896           }
8897         },
8898         "SetInstanceStatus": {
8899           "type": "object",
8900           "properties": {
8901             "Params": {
8902               "$ref": "#/definitions/SetStatus"
8903             },
8904             "Result": {
8905               "$ref": "#/definitions/ErrorResults"
8906             }
8907           }
8908         },
8909         "SetProviderAddresses": {
8910           "type": "object",
8911           "properties": {
8912             "Params": {
8913               "$ref": "#/definitions/SetMachinesAddresses"
8914             },
8915             "Result": {
8916               "$ref": "#/definitions/ErrorResults"
8917             }
8918           }
8919         },
8920         "Status": {
8921           "type": "object",
8922           "properties": {
8923             "Params": {
8924               "$ref": "#/definitions/Entities"
8925             },
8926             "Result": {
8927               "$ref": "#/definitions/StatusResults"
8928             }
8929           }
8930         },
8931         "WatchForModelConfigChanges": {
8932           "type": "object",
8933           "properties": {
8934             "Result": {
8935               "$ref": "#/definitions/NotifyWatchResult"
8936             }
8937           }
8938         },
8939         "WatchModelMachines": {
8940           "type": "object",
8941           "properties": {
8942             "Result": {
8943               "$ref": "#/definitions/StringsWatchResult"
8944             }
8945           }
8946         }
8947       },
8948       "definitions": {
8949         "Address": {
8950           "type": "object",
8951           "properties": {
8952             "scope": {
8953               "type": "string"
8954             },
8955             "space-name": {
8956               "type": "string"
8957             },
8958             "type": {
8959               "type": "string"
8960             },
8961             "value": {
8962               "type": "string"
8963             }
8964           },
8965           "additionalProperties": false,
8966           "required": [
8967             "value",
8968             "type",
8969             "scope"
8970           ]
8971         },
8972         "BoolResult": {
8973           "type": "object",
8974           "properties": {
8975             "error": {
8976               "$ref": "#/definitions/Error"
8977             },
8978             "result": {
8979               "type": "boolean"
8980             }
8981           },
8982           "additionalProperties": false,
8983           "required": [
8984             "result"
8985           ]
8986         },
8987         "BoolResults": {
8988           "type": "object",
8989           "properties": {
8990             "results": {
8991               "type": "array",
8992               "items": {
8993                 "$ref": "#/definitions/BoolResult"
8994               }
8995             }
8996           },
8997           "additionalProperties": false,
8998           "required": [
8999             "results"
9000           ]
9001         },
9002         "Entities": {
9003           "type": "object",
9004           "properties": {
9005             "entities": {
9006               "type": "array",
9007               "items": {
9008                 "$ref": "#/definitions/Entity"
9009               }
9010             }
9011           },
9012           "additionalProperties": false,
9013           "required": [
9014             "entities"
9015           ]
9016         },
9017         "Entity": {
9018           "type": "object",
9019           "properties": {
9020             "tag": {
9021               "type": "string"
9022             }
9023           },
9024           "additionalProperties": false,
9025           "required": [
9026             "tag"
9027           ]
9028         },
9029         "EntityStatusArgs": {
9030           "type": "object",
9031           "properties": {
9032             "data": {
9033               "type": "object",
9034               "patternProperties": {
9035                 ".*": {
9036                   "type": "object",
9037                   "additionalProperties": true
9038                 }
9039               }
9040             },
9041             "info": {
9042               "type": "string"
9043             },
9044             "status": {
9045               "type": "string"
9046             },
9047             "tag": {
9048               "type": "string"
9049             }
9050           },
9051           "additionalProperties": false,
9052           "required": [
9053             "tag",
9054             "status",
9055             "info",
9056             "data"
9057           ]
9058         },
9059         "Error": {
9060           "type": "object",
9061           "properties": {
9062             "code": {
9063               "type": "string"
9064             },
9065             "info": {
9066               "$ref": "#/definitions/ErrorInfo"
9067             },
9068             "message": {
9069               "type": "string"
9070             }
9071           },
9072           "additionalProperties": false,
9073           "required": [
9074             "message",
9075             "code"
9076           ]
9077         },
9078         "ErrorInfo": {
9079           "type": "object",
9080           "properties": {
9081             "macaroon": {
9082               "$ref": "#/definitions/Macaroon"
9083             },
9084             "macaroon-path": {
9085               "type": "string"
9086             }
9087           },
9088           "additionalProperties": false
9089         },
9090         "ErrorResult": {
9091           "type": "object",
9092           "properties": {
9093             "error": {
9094               "$ref": "#/definitions/Error"
9095             }
9096           },
9097           "additionalProperties": false
9098         },
9099         "ErrorResults": {
9100           "type": "object",
9101           "properties": {
9102             "results": {
9103               "type": "array",
9104               "items": {
9105                 "$ref": "#/definitions/ErrorResult"
9106               }
9107             }
9108           },
9109           "additionalProperties": false,
9110           "required": [
9111             "results"
9112           ]
9113         },
9114         "LifeResult": {
9115           "type": "object",
9116           "properties": {
9117             "error": {
9118               "$ref": "#/definitions/Error"
9119             },
9120             "life": {
9121               "type": "string"
9122             }
9123           },
9124           "additionalProperties": false,
9125           "required": [
9126             "life"
9127           ]
9128         },
9129         "LifeResults": {
9130           "type": "object",
9131           "properties": {
9132             "results": {
9133               "type": "array",
9134               "items": {
9135                 "$ref": "#/definitions/LifeResult"
9136               }
9137             }
9138           },
9139           "additionalProperties": false,
9140           "required": [
9141             "results"
9142           ]
9143         },
9144         "Macaroon": {
9145           "type": "object",
9146           "additionalProperties": false
9147         },
9148         "MachineAddresses": {
9149           "type": "object",
9150           "properties": {
9151             "addresses": {
9152               "type": "array",
9153               "items": {
9154                 "$ref": "#/definitions/Address"
9155               }
9156             },
9157             "tag": {
9158               "type": "string"
9159             }
9160           },
9161           "additionalProperties": false,
9162           "required": [
9163             "tag",
9164             "addresses"
9165           ]
9166         },
9167         "MachineAddressesResult": {
9168           "type": "object",
9169           "properties": {
9170             "addresses": {
9171               "type": "array",
9172               "items": {
9173                 "$ref": "#/definitions/Address"
9174               }
9175             },
9176             "error": {
9177               "$ref": "#/definitions/Error"
9178             }
9179           },
9180           "additionalProperties": false,
9181           "required": [
9182             "addresses"
9183           ]
9184         },
9185         "MachineAddressesResults": {
9186           "type": "object",
9187           "properties": {
9188             "results": {
9189               "type": "array",
9190               "items": {
9191                 "$ref": "#/definitions/MachineAddressesResult"
9192               }
9193             }
9194           },
9195           "additionalProperties": false,
9196           "required": [
9197             "results"
9198           ]
9199         },
9200         "ModelConfigResult": {
9201           "type": "object",
9202           "properties": {
9203             "config": {
9204               "type": "object",
9205               "patternProperties": {
9206                 ".*": {
9207                   "type": "object",
9208                   "additionalProperties": true
9209                 }
9210               }
9211             }
9212           },
9213           "additionalProperties": false,
9214           "required": [
9215             "config"
9216           ]
9217         },
9218         "NotifyWatchResult": {
9219           "type": "object",
9220           "properties": {
9221             "NotifyWatcherId": {
9222               "type": "string"
9223             },
9224             "error": {
9225               "$ref": "#/definitions/Error"
9226             }
9227           },
9228           "additionalProperties": false,
9229           "required": [
9230             "NotifyWatcherId"
9231           ]
9232         },
9233         "SetMachinesAddresses": {
9234           "type": "object",
9235           "properties": {
9236             "machine-addresses": {
9237               "type": "array",
9238               "items": {
9239                 "$ref": "#/definitions/MachineAddresses"
9240               }
9241             }
9242           },
9243           "additionalProperties": false,
9244           "required": [
9245             "machine-addresses"
9246           ]
9247         },
9248         "SetStatus": {
9249           "type": "object",
9250           "properties": {
9251             "entities": {
9252               "type": "array",
9253               "items": {
9254                 "$ref": "#/definitions/EntityStatusArgs"
9255               }
9256             }
9257           },
9258           "additionalProperties": false,
9259           "required": [
9260             "entities"
9261           ]
9262         },
9263         "StatusResult": {
9264           "type": "object",
9265           "properties": {
9266             "data": {
9267               "type": "object",
9268               "patternProperties": {
9269                 ".*": {
9270                   "type": "object",
9271                   "additionalProperties": true
9272                 }
9273               }
9274             },
9275             "error": {
9276               "$ref": "#/definitions/Error"
9277             },
9278             "id": {
9279               "type": "string"
9280             },
9281             "info": {
9282               "type": "string"
9283             },
9284             "life": {
9285               "type": "string"
9286             },
9287             "since": {
9288               "type": "string",
9289               "format": "date-time"
9290             },
9291             "status": {
9292               "type": "string"
9293             }
9294           },
9295           "additionalProperties": false,
9296           "required": [
9297             "id",
9298             "life",
9299             "status",
9300             "info",
9301             "data",
9302             "since"
9303           ]
9304         },
9305         "StatusResults": {
9306           "type": "object",
9307           "properties": {
9308             "results": {
9309               "type": "array",
9310               "items": {
9311                 "$ref": "#/definitions/StatusResult"
9312               }
9313             }
9314           },
9315           "additionalProperties": false,
9316           "required": [
9317             "results"
9318           ]
9319         },
9320         "StringResult": {
9321           "type": "object",
9322           "properties": {
9323             "error": {
9324               "$ref": "#/definitions/Error"
9325             },
9326             "result": {
9327               "type": "string"
9328             }
9329           },
9330           "additionalProperties": false,
9331           "required": [
9332             "result"
9333           ]
9334         },
9335         "StringResults": {
9336           "type": "object",
9337           "properties": {
9338             "results": {
9339               "type": "array",
9340               "items": {
9341                 "$ref": "#/definitions/StringResult"
9342               }
9343             }
9344           },
9345           "additionalProperties": false,
9346           "required": [
9347             "results"
9348           ]
9349         },
9350         "StringsWatchResult": {
9351           "type": "object",
9352           "properties": {
9353             "changes": {
9354               "type": "array",
9355               "items": {
9356                 "type": "string"
9357               }
9358             },
9359             "error": {
9360               "$ref": "#/definitions/Error"
9361             },
9362             "watcher-id": {
9363               "type": "string"
9364             }
9365           },
9366           "additionalProperties": false,
9367           "required": [
9368             "watcher-id"
9369           ]
9370         }
9371       }
9372     }
9373   },
9374   {
9375     "Name": "KeyManager",
9376     "Version": 1,
9377     "Schema": {
9378       "type": "object",
9379       "properties": {
9380         "AddKeys": {
9381           "type": "object",
9382           "properties": {
9383             "Params": {
9384               "$ref": "#/definitions/ModifyUserSSHKeys"
9385             },
9386             "Result": {
9387               "$ref": "#/definitions/ErrorResults"
9388             }
9389           }
9390         },
9391         "DeleteKeys": {
9392           "type": "object",
9393           "properties": {
9394             "Params": {
9395               "$ref": "#/definitions/ModifyUserSSHKeys"
9396             },
9397             "Result": {
9398               "$ref": "#/definitions/ErrorResults"
9399             }
9400           }
9401         },
9402         "ImportKeys": {
9403           "type": "object",
9404           "properties": {
9405             "Params": {
9406               "$ref": "#/definitions/ModifyUserSSHKeys"
9407             },
9408             "Result": {
9409               "$ref": "#/definitions/ErrorResults"
9410             }
9411           }
9412         },
9413         "ListKeys": {
9414           "type": "object",
9415           "properties": {
9416             "Params": {
9417               "$ref": "#/definitions/ListSSHKeys"
9418             },
9419             "Result": {
9420               "$ref": "#/definitions/StringsResults"
9421             }
9422           }
9423         }
9424       },
9425       "definitions": {
9426         "Entities": {
9427           "type": "object",
9428           "properties": {
9429             "entities": {
9430               "type": "array",
9431               "items": {
9432                 "$ref": "#/definitions/Entity"
9433               }
9434             }
9435           },
9436           "additionalProperties": false,
9437           "required": [
9438             "entities"
9439           ]
9440         },
9441         "Entity": {
9442           "type": "object",
9443           "properties": {
9444             "tag": {
9445               "type": "string"
9446             }
9447           },
9448           "additionalProperties": false,
9449           "required": [
9450             "tag"
9451           ]
9452         },
9453         "Error": {
9454           "type": "object",
9455           "properties": {
9456             "code": {
9457               "type": "string"
9458             },
9459             "info": {
9460               "$ref": "#/definitions/ErrorInfo"
9461             },
9462             "message": {
9463               "type": "string"
9464             }
9465           },
9466           "additionalProperties": false,
9467           "required": [
9468             "message",
9469             "code"
9470           ]
9471         },
9472         "ErrorInfo": {
9473           "type": "object",
9474           "properties": {
9475             "macaroon": {
9476               "$ref": "#/definitions/Macaroon"
9477             },
9478             "macaroon-path": {
9479               "type": "string"
9480             }
9481           },
9482           "additionalProperties": false
9483         },
9484         "ErrorResult": {
9485           "type": "object",
9486           "properties": {
9487             "error": {
9488               "$ref": "#/definitions/Error"
9489             }
9490           },
9491           "additionalProperties": false
9492         },
9493         "ErrorResults": {
9494           "type": "object",
9495           "properties": {
9496             "results": {
9497               "type": "array",
9498               "items": {
9499                 "$ref": "#/definitions/ErrorResult"
9500               }
9501             }
9502           },
9503           "additionalProperties": false,
9504           "required": [
9505             "results"
9506           ]
9507         },
9508         "ListSSHKeys": {
9509           "type": "object",
9510           "properties": {
9511             "entities": {
9512               "$ref": "#/definitions/Entities"
9513             },
9514             "mode": {
9515               "type": "boolean"
9516             }
9517           },
9518           "additionalProperties": false,
9519           "required": [
9520             "entities",
9521             "mode"
9522           ]
9523         },
9524         "Macaroon": {
9525           "type": "object",
9526           "additionalProperties": false
9527         },
9528         "ModifyUserSSHKeys": {
9529           "type": "object",
9530           "properties": {
9531             "ssh-keys": {
9532               "type": "array",
9533               "items": {
9534                 "type": "string"
9535               }
9536             },
9537             "user": {
9538               "type": "string"
9539             }
9540           },
9541           "additionalProperties": false,
9542           "required": [
9543             "user",
9544             "ssh-keys"
9545           ]
9546         },
9547         "StringsResult": {
9548           "type": "object",
9549           "properties": {
9550             "error": {
9551               "$ref": "#/definitions/Error"
9552             },
9553             "result": {
9554               "type": "array",
9555               "items": {
9556                 "type": "string"
9557               }
9558             }
9559           },
9560           "additionalProperties": false
9561         },
9562         "StringsResults": {
9563           "type": "object",
9564           "properties": {
9565             "results": {
9566               "type": "array",
9567               "items": {
9568                 "$ref": "#/definitions/StringsResult"
9569               }
9570             }
9571           },
9572           "additionalProperties": false,
9573           "required": [
9574             "results"
9575           ]
9576         }
9577       }
9578     }
9579   },
9580   {
9581     "Name": "KeyUpdater",
9582     "Version": 1,
9583     "Schema": {
9584       "type": "object",
9585       "properties": {
9586         "AuthorisedKeys": {
9587           "type": "object",
9588           "properties": {
9589             "Params": {
9590               "$ref": "#/definitions/Entities"
9591             },
9592             "Result": {
9593               "$ref": "#/definitions/StringsResults"
9594             }
9595           }
9596         },
9597         "WatchAuthorisedKeys": {
9598           "type": "object",
9599           "properties": {
9600             "Params": {
9601               "$ref": "#/definitions/Entities"
9602             },
9603             "Result": {
9604               "$ref": "#/definitions/NotifyWatchResults"
9605             }
9606           }
9607         }
9608       },
9609       "definitions": {
9610         "Entities": {
9611           "type": "object",
9612           "properties": {
9613             "entities": {
9614               "type": "array",
9615               "items": {
9616                 "$ref": "#/definitions/Entity"
9617               }
9618             }
9619           },
9620           "additionalProperties": false,
9621           "required": [
9622             "entities"
9623           ]
9624         },
9625         "Entity": {
9626           "type": "object",
9627           "properties": {
9628             "tag": {
9629               "type": "string"
9630             }
9631           },
9632           "additionalProperties": false,
9633           "required": [
9634             "tag"
9635           ]
9636         },
9637         "Error": {
9638           "type": "object",
9639           "properties": {
9640             "code": {
9641               "type": "string"
9642             },
9643             "info": {
9644               "$ref": "#/definitions/ErrorInfo"
9645             },
9646             "message": {
9647               "type": "string"
9648             }
9649           },
9650           "additionalProperties": false,
9651           "required": [
9652             "message",
9653             "code"
9654           ]
9655         },
9656         "ErrorInfo": {
9657           "type": "object",
9658           "properties": {
9659             "macaroon": {
9660               "$ref": "#/definitions/Macaroon"
9661             },
9662             "macaroon-path": {
9663               "type": "string"
9664             }
9665           },
9666           "additionalProperties": false
9667         },
9668         "Macaroon": {
9669           "type": "object",
9670           "additionalProperties": false
9671         },
9672         "NotifyWatchResult": {
9673           "type": "object",
9674           "properties": {
9675             "NotifyWatcherId": {
9676               "type": "string"
9677             },
9678             "error": {
9679               "$ref": "#/definitions/Error"
9680             }
9681           },
9682           "additionalProperties": false,
9683           "required": [
9684             "NotifyWatcherId"
9685           ]
9686         },
9687         "NotifyWatchResults": {
9688           "type": "object",
9689           "properties": {
9690             "results": {
9691               "type": "array",
9692               "items": {
9693                 "$ref": "#/definitions/NotifyWatchResult"
9694               }
9695             }
9696           },
9697           "additionalProperties": false,
9698           "required": [
9699             "results"
9700           ]
9701         },
9702         "StringsResult": {
9703           "type": "object",
9704           "properties": {
9705             "error": {
9706               "$ref": "#/definitions/Error"
9707             },
9708             "result": {
9709               "type": "array",
9710               "items": {
9711                 "type": "string"
9712               }
9713             }
9714           },
9715           "additionalProperties": false
9716         },
9717         "StringsResults": {
9718           "type": "object",
9719           "properties": {
9720             "results": {
9721               "type": "array",
9722               "items": {
9723                 "$ref": "#/definitions/StringsResult"
9724               }
9725             }
9726           },
9727           "additionalProperties": false,
9728           "required": [
9729             "results"
9730           ]
9731         }
9732       }
9733     }
9734   },
9735   {
9736     "Name": "LeadershipService",
9737     "Version": 2,
9738     "Schema": {
9739       "type": "object",
9740       "properties": {
9741         "BlockUntilLeadershipReleased": {
9742           "type": "object",
9743           "properties": {
9744             "Params": {
9745               "$ref": "#/definitions/ApplicationTag"
9746             },
9747             "Result": {
9748               "$ref": "#/definitions/ErrorResult"
9749             }
9750           }
9751         },
9752         "ClaimLeadership": {
9753           "type": "object",
9754           "properties": {
9755             "Params": {
9756               "$ref": "#/definitions/ClaimLeadershipBulkParams"
9757             },
9758             "Result": {
9759               "$ref": "#/definitions/ClaimLeadershipBulkResults"
9760             }
9761           }
9762         }
9763       },
9764       "definitions": {
9765         "ApplicationTag": {
9766           "type": "object",
9767           "properties": {
9768             "Name": {
9769               "type": "string"
9770             }
9771           },
9772           "additionalProperties": false,
9773           "required": [
9774             "Name"
9775           ]
9776         },
9777         "ClaimLeadershipBulkParams": {
9778           "type": "object",
9779           "properties": {
9780             "params": {
9781               "type": "array",
9782               "items": {
9783                 "$ref": "#/definitions/ClaimLeadershipParams"
9784               }
9785             }
9786           },
9787           "additionalProperties": false,
9788           "required": [
9789             "params"
9790           ]
9791         },
9792         "ClaimLeadershipBulkResults": {
9793           "type": "object",
9794           "properties": {
9795             "results": {
9796               "type": "array",
9797               "items": {
9798                 "$ref": "#/definitions/ErrorResult"
9799               }
9800             }
9801           },
9802           "additionalProperties": false,
9803           "required": [
9804             "results"
9805           ]
9806         },
9807         "ClaimLeadershipParams": {
9808           "type": "object",
9809           "properties": {
9810             "application-tag": {
9811               "type": "string"
9812             },
9813             "duration": {
9814               "type": "number"
9815             },
9816             "unit-tag": {
9817               "type": "string"
9818             }
9819           },
9820           "additionalProperties": false,
9821           "required": [
9822             "application-tag",
9823             "unit-tag",
9824             "duration"
9825           ]
9826         },
9827         "Error": {
9828           "type": "object",
9829           "properties": {
9830             "code": {
9831               "type": "string"
9832             },
9833             "info": {
9834               "$ref": "#/definitions/ErrorInfo"
9835             },
9836             "message": {
9837               "type": "string"
9838             }
9839           },
9840           "additionalProperties": false,
9841           "required": [
9842             "message",
9843             "code"
9844           ]
9845         },
9846         "ErrorInfo": {
9847           "type": "object",
9848           "properties": {
9849             "macaroon": {
9850               "$ref": "#/definitions/Macaroon"
9851             },
9852             "macaroon-path": {
9853               "type": "string"
9854             }
9855           },
9856           "additionalProperties": false
9857         },
9858         "ErrorResult": {
9859           "type": "object",
9860           "properties": {
9861             "error": {
9862               "$ref": "#/definitions/Error"
9863             }
9864           },
9865           "additionalProperties": false
9866         },
9867         "Macaroon": {
9868           "type": "object",
9869           "additionalProperties": false
9870         }
9871       }
9872     }
9873   },
9874   {
9875     "Name": "LifeFlag",
9876     "Version": 1,
9877     "Schema": {
9878       "type": "object",
9879       "properties": {
9880         "Life": {
9881           "type": "object",
9882           "properties": {
9883             "Params": {
9884               "$ref": "#/definitions/Entities"
9885             },
9886             "Result": {
9887               "$ref": "#/definitions/LifeResults"
9888             }
9889           }
9890         },
9891         "Watch": {
9892           "type": "object",
9893           "properties": {
9894             "Params": {
9895               "$ref": "#/definitions/Entities"
9896             },
9897             "Result": {
9898               "$ref": "#/definitions/NotifyWatchResults"
9899             }
9900           }
9901         }
9902       },
9903       "definitions": {
9904         "Entities": {
9905           "type": "object",
9906           "properties": {
9907             "entities": {
9908               "type": "array",
9909               "items": {
9910                 "$ref": "#/definitions/Entity"
9911               }
9912             }
9913           },
9914           "additionalProperties": false,
9915           "required": [
9916             "entities"
9917           ]
9918         },
9919         "Entity": {
9920           "type": "object",
9921           "properties": {
9922             "tag": {
9923               "type": "string"
9924             }
9925           },
9926           "additionalProperties": false,
9927           "required": [
9928             "tag"
9929           ]
9930         },
9931         "Error": {
9932           "type": "object",
9933           "properties": {
9934             "code": {
9935               "type": "string"
9936             },
9937             "info": {
9938               "$ref": "#/definitions/ErrorInfo"
9939             },
9940             "message": {
9941               "type": "string"
9942             }
9943           },
9944           "additionalProperties": false,
9945           "required": [
9946             "message",
9947             "code"
9948           ]
9949         },
9950         "ErrorInfo": {
9951           "type": "object",
9952           "properties": {
9953             "macaroon": {
9954               "$ref": "#/definitions/Macaroon"
9955             },
9956             "macaroon-path": {
9957               "type": "string"
9958             }
9959           },
9960           "additionalProperties": false
9961         },
9962         "LifeResult": {
9963           "type": "object",
9964           "properties": {
9965             "error": {
9966               "$ref": "#/definitions/Error"
9967             },
9968             "life": {
9969               "type": "string"
9970             }
9971           },
9972           "additionalProperties": false,
9973           "required": [
9974             "life"
9975           ]
9976         },
9977         "LifeResults": {
9978           "type": "object",
9979           "properties": {
9980             "results": {
9981               "type": "array",
9982               "items": {
9983                 "$ref": "#/definitions/LifeResult"
9984               }
9985             }
9986           },
9987           "additionalProperties": false,
9988           "required": [
9989             "results"
9990           ]
9991         },
9992         "Macaroon": {
9993           "type": "object",
9994           "additionalProperties": false
9995         },
9996         "NotifyWatchResult": {
9997           "type": "object",
9998           "properties": {
9999             "NotifyWatcherId": {
10000               "type": "string"
10001             },
10002             "error": {
10003               "$ref": "#/definitions/Error"
10004             }
10005           },
10006           "additionalProperties": false,
10007           "required": [
10008             "NotifyWatcherId"
10009           ]
10010         },
10011         "NotifyWatchResults": {
10012           "type": "object",
10013           "properties": {
10014             "results": {
10015               "type": "array",
10016               "items": {
10017                 "$ref": "#/definitions/NotifyWatchResult"
10018               }
10019             }
10020           },
10021           "additionalProperties": false,
10022           "required": [
10023             "results"
10024           ]
10025         }
10026       }
10027     }
10028   },
10029   {
10030     "Name": "LogForwarding",
10031     "Version": 1,
10032     "Schema": {
10033       "type": "object",
10034       "properties": {
10035         "GetLastSent": {
10036           "type": "object",
10037           "properties": {
10038             "Params": {
10039               "$ref": "#/definitions/LogForwardingGetLastSentParams"
10040             },
10041             "Result": {
10042               "$ref": "#/definitions/LogForwardingGetLastSentResults"
10043             }
10044           }
10045         },
10046         "SetLastSent": {
10047           "type": "object",
10048           "properties": {
10049             "Params": {
10050               "$ref": "#/definitions/LogForwardingSetLastSentParams"
10051             },
10052             "Result": {
10053               "$ref": "#/definitions/ErrorResults"
10054             }
10055           }
10056         }
10057       },
10058       "definitions": {
10059         "Error": {
10060           "type": "object",
10061           "properties": {
10062             "code": {
10063               "type": "string"
10064             },
10065             "info": {
10066               "$ref": "#/definitions/ErrorInfo"
10067             },
10068             "message": {
10069               "type": "string"
10070             }
10071           },
10072           "additionalProperties": false,
10073           "required": [
10074             "message",
10075             "code"
10076           ]
10077         },
10078         "ErrorInfo": {
10079           "type": "object",
10080           "properties": {
10081             "macaroon": {
10082               "$ref": "#/definitions/Macaroon"
10083             },
10084             "macaroon-path": {
10085               "type": "string"
10086             }
10087           },
10088           "additionalProperties": false
10089         },
10090         "ErrorResult": {
10091           "type": "object",
10092           "properties": {
10093             "error": {
10094               "$ref": "#/definitions/Error"
10095             }
10096           },
10097           "additionalProperties": false
10098         },
10099         "ErrorResults": {
10100           "type": "object",
10101           "properties": {
10102             "results": {
10103               "type": "array",
10104               "items": {
10105                 "$ref": "#/definitions/ErrorResult"
10106               }
10107             }
10108           },
10109           "additionalProperties": false,
10110           "required": [
10111             "results"
10112           ]
10113         },
10114         "LogForwardingGetLastSentParams": {
10115           "type": "object",
10116           "properties": {
10117             "ids": {
10118               "type": "array",
10119               "items": {
10120                 "$ref": "#/definitions/LogForwardingID"
10121               }
10122             }
10123           },
10124           "additionalProperties": false,
10125           "required": [
10126             "ids"
10127           ]
10128         },
10129         "LogForwardingGetLastSentResult": {
10130           "type": "object",
10131           "properties": {
10132             "err": {
10133               "$ref": "#/definitions/Error"
10134             },
10135             "record-id": {
10136               "type": "integer"
10137             },
10138             "record-timestamp": {
10139               "type": "integer"
10140             }
10141           },
10142           "additionalProperties": false,
10143           "required": [
10144             "record-id",
10145             "record-timestamp",
10146             "err"
10147           ]
10148         },
10149         "LogForwardingGetLastSentResults": {
10150           "type": "object",
10151           "properties": {
10152             "results": {
10153               "type": "array",
10154               "items": {
10155                 "$ref": "#/definitions/LogForwardingGetLastSentResult"
10156               }
10157             }
10158           },
10159           "additionalProperties": false,
10160           "required": [
10161             "results"
10162           ]
10163         },
10164         "LogForwardingID": {
10165           "type": "object",
10166           "properties": {
10167             "model": {
10168               "type": "string"
10169             },
10170             "sink": {
10171               "type": "string"
10172             }
10173           },
10174           "additionalProperties": false,
10175           "required": [
10176             "model",
10177             "sink"
10178           ]
10179         },
10180         "LogForwardingSetLastSentParam": {
10181           "type": "object",
10182           "properties": {
10183             "LogForwardingID": {
10184               "$ref": "#/definitions/LogForwardingID"
10185             },
10186             "record-id": {
10187               "type": "integer"
10188             },
10189             "record-timestamp": {
10190               "type": "integer"
10191             }
10192           },
10193           "additionalProperties": false,
10194           "required": [
10195             "LogForwardingID",
10196             "record-id",
10197             "record-timestamp"
10198           ]
10199         },
10200         "LogForwardingSetLastSentParams": {
10201           "type": "object",
10202           "properties": {
10203             "params": {
10204               "type": "array",
10205               "items": {
10206                 "$ref": "#/definitions/LogForwardingSetLastSentParam"
10207               }
10208             }
10209           },
10210           "additionalProperties": false,
10211           "required": [
10212             "params"
10213           ]
10214         },
10215         "Macaroon": {
10216           "type": "object",
10217           "additionalProperties": false
10218         }
10219       }
10220     }
10221   },
10222   {
10223     "Name": "Logger",
10224     "Version": 1,
10225     "Schema": {
10226       "type": "object",
10227       "properties": {
10228         "LoggingConfig": {
10229           "type": "object",
10230           "properties": {
10231             "Params": {
10232               "$ref": "#/definitions/Entities"
10233             },
10234             "Result": {
10235               "$ref": "#/definitions/StringResults"
10236             }
10237           }
10238         },
10239         "WatchLoggingConfig": {
10240           "type": "object",
10241           "properties": {
10242             "Params": {
10243               "$ref": "#/definitions/Entities"
10244             },
10245             "Result": {
10246               "$ref": "#/definitions/NotifyWatchResults"
10247             }
10248           }
10249         }
10250       },
10251       "definitions": {
10252         "Entities": {
10253           "type": "object",
10254           "properties": {
10255             "entities": {
10256               "type": "array",
10257               "items": {
10258                 "$ref": "#/definitions/Entity"
10259               }
10260             }
10261           },
10262           "additionalProperties": false,
10263           "required": [
10264             "entities"
10265           ]
10266         },
10267         "Entity": {
10268           "type": "object",
10269           "properties": {
10270             "tag": {
10271               "type": "string"
10272             }
10273           },
10274           "additionalProperties": false,
10275           "required": [
10276             "tag"
10277           ]
10278         },
10279         "Error": {
10280           "type": "object",
10281           "properties": {
10282             "code": {
10283               "type": "string"
10284             },
10285             "info": {
10286               "$ref": "#/definitions/ErrorInfo"
10287             },
10288             "message": {
10289               "type": "string"
10290             }
10291           },
10292           "additionalProperties": false,
10293           "required": [
10294             "message",
10295             "code"
10296           ]
10297         },
10298         "ErrorInfo": {
10299           "type": "object",
10300           "properties": {
10301             "macaroon": {
10302               "$ref": "#/definitions/Macaroon"
10303             },
10304             "macaroon-path": {
10305               "type": "string"
10306             }
10307           },
10308           "additionalProperties": false
10309         },
10310         "Macaroon": {
10311           "type": "object",
10312           "additionalProperties": false
10313         },
10314         "NotifyWatchResult": {
10315           "type": "object",
10316           "properties": {
10317             "NotifyWatcherId": {
10318               "type": "string"
10319             },
10320             "error": {
10321               "$ref": "#/definitions/Error"
10322             }
10323           },
10324           "additionalProperties": false,
10325           "required": [
10326             "NotifyWatcherId"
10327           ]
10328         },
10329         "NotifyWatchResults": {
10330           "type": "object",
10331           "properties": {
10332             "results": {
10333               "type": "array",
10334               "items": {
10335                 "$ref": "#/definitions/NotifyWatchResult"
10336               }
10337             }
10338           },
10339           "additionalProperties": false,
10340           "required": [
10341             "results"
10342           ]
10343         },
10344         "StringResult": {
10345           "type": "object",
10346           "properties": {
10347             "error": {
10348               "$ref": "#/definitions/Error"
10349             },
10350             "result": {
10351               "type": "string"
10352             }
10353           },
10354           "additionalProperties": false,
10355           "required": [
10356             "result"
10357           ]
10358         },
10359         "StringResults": {
10360           "type": "object",
10361           "properties": {
10362             "results": {
10363               "type": "array",
10364               "items": {
10365                 "$ref": "#/definitions/StringResult"
10366               }
10367             }
10368           },
10369           "additionalProperties": false,
10370           "required": [
10371             "results"
10372           ]
10373         }
10374       }
10375     }
10376   },
10377   {
10378     "Name": "MachineActions",
10379     "Version": 1,
10380     "Schema": {
10381       "type": "object",
10382       "properties": {
10383         "Actions": {
10384           "type": "object",
10385           "properties": {
10386             "Params": {
10387               "$ref": "#/definitions/Entities"
10388             },
10389             "Result": {
10390               "$ref": "#/definitions/ActionResults"
10391             }
10392           }
10393         },
10394         "BeginActions": {
10395           "type": "object",
10396           "properties": {
10397             "Params": {
10398               "$ref": "#/definitions/Entities"
10399             },
10400             "Result": {
10401               "$ref": "#/definitions/ErrorResults"
10402             }
10403           }
10404         },
10405         "FinishActions": {
10406           "type": "object",
10407           "properties": {
10408             "Params": {
10409               "$ref": "#/definitions/ActionExecutionResults"
10410             },
10411             "Result": {
10412               "$ref": "#/definitions/ErrorResults"
10413             }
10414           }
10415         },
10416         "RunningActions": {
10417           "type": "object",
10418           "properties": {
10419             "Params": {
10420               "$ref": "#/definitions/Entities"
10421             },
10422             "Result": {
10423               "$ref": "#/definitions/ActionsByReceivers"
10424             }
10425           }
10426         },
10427         "WatchActionNotifications": {
10428           "type": "object",
10429           "properties": {
10430             "Params": {
10431               "$ref": "#/definitions/Entities"
10432             },
10433             "Result": {
10434               "$ref": "#/definitions/StringsWatchResults"
10435             }
10436           }
10437         }
10438       },
10439       "definitions": {
10440         "Action": {
10441           "type": "object",
10442           "properties": {
10443             "name": {
10444               "type": "string"
10445             },
10446             "parameters": {
10447               "type": "object",
10448               "patternProperties": {
10449                 ".*": {
10450                   "type": "object",
10451                   "additionalProperties": true
10452                 }
10453               }
10454             },
10455             "receiver": {
10456               "type": "string"
10457             },
10458             "tag": {
10459               "type": "string"
10460             }
10461           },
10462           "additionalProperties": false,
10463           "required": [
10464             "tag",
10465             "receiver",
10466             "name"
10467           ]
10468         },
10469         "ActionExecutionResult": {
10470           "type": "object",
10471           "properties": {
10472             "action-tag": {
10473               "type": "string"
10474             },
10475             "message": {
10476               "type": "string"
10477             },
10478             "results": {
10479               "type": "object",
10480               "patternProperties": {
10481                 ".*": {
10482                   "type": "object",
10483                   "additionalProperties": true
10484                 }
10485               }
10486             },
10487             "status": {
10488               "type": "string"
10489             }
10490           },
10491           "additionalProperties": false,
10492           "required": [
10493             "action-tag",
10494             "status"
10495           ]
10496         },
10497         "ActionExecutionResults": {
10498           "type": "object",
10499           "properties": {
10500             "results": {
10501               "type": "array",
10502               "items": {
10503                 "$ref": "#/definitions/ActionExecutionResult"
10504               }
10505             }
10506           },
10507           "additionalProperties": false
10508         },
10509         "ActionResult": {
10510           "type": "object",
10511           "properties": {
10512             "action": {
10513               "$ref": "#/definitions/Action"
10514             },
10515             "completed": {
10516               "type": "string",
10517               "format": "date-time"
10518             },
10519             "enqueued": {
10520               "type": "string",
10521               "format": "date-time"
10522             },
10523             "error": {
10524               "$ref": "#/definitions/Error"
10525             },
10526             "message": {
10527               "type": "string"
10528             },
10529             "output": {
10530               "type": "object",
10531               "patternProperties": {
10532                 ".*": {
10533                   "type": "object",
10534                   "additionalProperties": true
10535                 }
10536               }
10537             },
10538             "started": {
10539               "type": "string",
10540               "format": "date-time"
10541             },
10542             "status": {
10543               "type": "string"
10544             }
10545           },
10546           "additionalProperties": false
10547         },
10548         "ActionResults": {
10549           "type": "object",
10550           "properties": {
10551             "results": {
10552               "type": "array",
10553               "items": {
10554                 "$ref": "#/definitions/ActionResult"
10555               }
10556             }
10557           },
10558           "additionalProperties": false
10559         },
10560         "ActionsByReceiver": {
10561           "type": "object",
10562           "properties": {
10563             "actions": {
10564               "type": "array",
10565               "items": {
10566                 "$ref": "#/definitions/ActionResult"
10567               }
10568             },
10569             "error": {
10570               "$ref": "#/definitions/Error"
10571             },
10572             "receiver": {
10573               "type": "string"
10574             }
10575           },
10576           "additionalProperties": false
10577         },
10578         "ActionsByReceivers": {
10579           "type": "object",
10580           "properties": {
10581             "actions": {
10582               "type": "array",
10583               "items": {
10584                 "$ref": "#/definitions/ActionsByReceiver"
10585               }
10586             }
10587           },
10588           "additionalProperties": false
10589         },
10590         "Entities": {
10591           "type": "object",
10592           "properties": {
10593             "entities": {
10594               "type": "array",
10595               "items": {
10596                 "$ref": "#/definitions/Entity"
10597               }
10598             }
10599           },
10600           "additionalProperties": false,
10601           "required": [
10602             "entities"
10603           ]
10604         },
10605         "Entity": {
10606           "type": "object",
10607           "properties": {
10608             "tag": {
10609               "type": "string"
10610             }
10611           },
10612           "additionalProperties": false,
10613           "required": [
10614             "tag"
10615           ]
10616         },
10617         "Error": {
10618           "type": "object",
10619           "properties": {
10620             "code": {
10621               "type": "string"
10622             },
10623             "info": {
10624               "$ref": "#/definitions/ErrorInfo"
10625             },
10626             "message": {
10627               "type": "string"
10628             }
10629           },
10630           "additionalProperties": false,
10631           "required": [
10632             "message",
10633             "code"
10634           ]
10635         },
10636         "ErrorInfo": {
10637           "type": "object",
10638           "properties": {
10639             "macaroon": {
10640               "$ref": "#/definitions/Macaroon"
10641             },
10642             "macaroon-path": {
10643               "type": "string"
10644             }
10645           },
10646           "additionalProperties": false
10647         },
10648         "ErrorResult": {
10649           "type": "object",
10650           "properties": {
10651             "error": {
10652               "$ref": "#/definitions/Error"
10653             }
10654           },
10655           "additionalProperties": false
10656         },
10657         "ErrorResults": {
10658           "type": "object",
10659           "properties": {
10660             "results": {
10661               "type": "array",
10662               "items": {
10663                 "$ref": "#/definitions/ErrorResult"
10664               }
10665             }
10666           },
10667           "additionalProperties": false,
10668           "required": [
10669             "results"
10670           ]
10671         },
10672         "Macaroon": {
10673           "type": "object",
10674           "additionalProperties": false
10675         },
10676         "StringsWatchResult": {
10677           "type": "object",
10678           "properties": {
10679             "changes": {
10680               "type": "array",
10681               "items": {
10682                 "type": "string"
10683               }
10684             },
10685             "error": {
10686               "$ref": "#/definitions/Error"
10687             },
10688             "watcher-id": {
10689               "type": "string"
10690             }
10691           },
10692           "additionalProperties": false,
10693           "required": [
10694             "watcher-id"
10695           ]
10696         },
10697         "StringsWatchResults": {
10698           "type": "object",
10699           "properties": {
10700             "results": {
10701               "type": "array",
10702               "items": {
10703                 "$ref": "#/definitions/StringsWatchResult"
10704               }
10705             }
10706           },
10707           "additionalProperties": false,
10708           "required": [
10709             "results"
10710           ]
10711         }
10712       }
10713     }
10714   },
10715   {
10716     "Name": "MachineManager",
10717     "Version": 2,
10718     "Schema": {
10719       "type": "object",
10720       "properties": {
10721         "AddMachines": {
10722           "type": "object",
10723           "properties": {
10724             "Params": {
10725               "$ref": "#/definitions/AddMachines"
10726             },
10727             "Result": {
10728               "$ref": "#/definitions/AddMachinesResults"
10729             }
10730           }
10731         }
10732       },
10733       "definitions": {
10734         "AddMachineParams": {
10735           "type": "object",
10736           "properties": {
10737             "addresses": {
10738               "type": "array",
10739               "items": {
10740                 "$ref": "#/definitions/Address"
10741               }
10742             },
10743             "constraints": {
10744               "$ref": "#/definitions/Value"
10745             },
10746             "container-type": {
10747               "type": "string"
10748             },
10749             "disks": {
10750               "type": "array",
10751               "items": {
10752                 "$ref": "#/definitions/Constraints"
10753               }
10754             },
10755             "hardware-characteristics": {
10756               "$ref": "#/definitions/HardwareCharacteristics"
10757             },
10758             "instance-id": {
10759               "type": "string"
10760             },
10761             "jobs": {
10762               "type": "array",
10763               "items": {
10764                 "type": "string"
10765               }
10766             },
10767             "nonce": {
10768               "type": "string"
10769             },
10770             "parent-id": {
10771               "type": "string"
10772             },
10773             "placement": {
10774               "$ref": "#/definitions/Placement"
10775             },
10776             "series": {
10777               "type": "string"
10778             }
10779           },
10780           "additionalProperties": false,
10781           "required": [
10782             "series",
10783             "constraints",
10784             "jobs",
10785             "parent-id",
10786             "container-type",
10787             "instance-id",
10788             "nonce",
10789             "hardware-characteristics",
10790             "addresses"
10791           ]
10792         },
10793         "AddMachines": {
10794           "type": "object",
10795           "properties": {
10796             "params": {
10797               "type": "array",
10798               "items": {
10799                 "$ref": "#/definitions/AddMachineParams"
10800               }
10801             }
10802           },
10803           "additionalProperties": false,
10804           "required": [
10805             "params"
10806           ]
10807         },
10808         "AddMachinesResult": {
10809           "type": "object",
10810           "properties": {
10811             "error": {
10812               "$ref": "#/definitions/Error"
10813             },
10814             "machine": {
10815               "type": "string"
10816             }
10817           },
10818           "additionalProperties": false,
10819           "required": [
10820             "machine"
10821           ]
10822         },
10823         "AddMachinesResults": {
10824           "type": "object",
10825           "properties": {
10826             "machines": {
10827               "type": "array",
10828               "items": {
10829                 "$ref": "#/definitions/AddMachinesResult"
10830               }
10831             }
10832           },
10833           "additionalProperties": false,
10834           "required": [
10835             "machines"
10836           ]
10837         },
10838         "Address": {
10839           "type": "object",
10840           "properties": {
10841             "scope": {
10842               "type": "string"
10843             },
10844             "space-name": {
10845               "type": "string"
10846             },
10847             "type": {
10848               "type": "string"
10849             },
10850             "value": {
10851               "type": "string"
10852             }
10853           },
10854           "additionalProperties": false,
10855           "required": [
10856             "value",
10857             "type",
10858             "scope"
10859           ]
10860         },
10861         "Constraints": {
10862           "type": "object",
10863           "properties": {
10864             "Count": {
10865               "type": "integer"
10866             },
10867             "Pool": {
10868               "type": "string"
10869             },
10870             "Size": {
10871               "type": "integer"
10872             }
10873           },
10874           "additionalProperties": false,
10875           "required": [
10876             "Pool",
10877             "Size",
10878             "Count"
10879           ]
10880         },
10881         "Error": {
10882           "type": "object",
10883           "properties": {
10884             "code": {
10885               "type": "string"
10886             },
10887             "info": {
10888               "$ref": "#/definitions/ErrorInfo"
10889             },
10890             "message": {
10891               "type": "string"
10892             }
10893           },
10894           "additionalProperties": false,
10895           "required": [
10896             "message",
10897             "code"
10898           ]
10899         },
10900         "ErrorInfo": {
10901           "type": "object",
10902           "properties": {
10903             "macaroon": {
10904               "$ref": "#/definitions/Macaroon"
10905             },
10906             "macaroon-path": {
10907               "type": "string"
10908             }
10909           },
10910           "additionalProperties": false
10911         },
10912         "HardwareCharacteristics": {
10913           "type": "object",
10914           "properties": {
10915             "arch": {
10916               "type": "string"
10917             },
10918             "availability-zone": {
10919               "type": "string"
10920             },
10921             "cpu-cores": {
10922               "type": "integer"
10923             },
10924             "cpu-power": {
10925               "type": "integer"
10926             },
10927             "mem": {
10928               "type": "integer"
10929             },
10930             "root-disk": {
10931               "type": "integer"
10932             },
10933             "tags": {
10934               "type": "array",
10935               "items": {
10936                 "type": "string"
10937               }
10938             }
10939           },
10940           "additionalProperties": false
10941         },
10942         "Macaroon": {
10943           "type": "object",
10944           "additionalProperties": false
10945         },
10946         "Placement": {
10947           "type": "object",
10948           "properties": {
10949             "directive": {
10950               "type": "string"
10951             },
10952             "scope": {
10953               "type": "string"
10954             }
10955           },
10956           "additionalProperties": false,
10957           "required": [
10958             "scope",
10959             "directive"
10960           ]
10961         },
10962         "Value": {
10963           "type": "object",
10964           "properties": {
10965             "arch": {
10966               "type": "string"
10967             },
10968             "container": {
10969               "type": "string"
10970             },
10971             "cpu-cores": {
10972               "type": "integer"
10973             },
10974             "cpu-power": {
10975               "type": "integer"
10976             },
10977             "instance-type": {
10978               "type": "string"
10979             },
10980             "mem": {
10981               "type": "integer"
10982             },
10983             "root-disk": {
10984               "type": "integer"
10985             },
10986             "spaces": {
10987               "type": "array",
10988               "items": {
10989                 "type": "string"
10990               }
10991             },
10992             "tags": {
10993               "type": "array",
10994               "items": {
10995                 "type": "string"
10996               }
10997             },
10998             "virt-type": {
10999               "type": "string"
11000             }
11001           },
11002           "additionalProperties": false
11003         }
11004       }
11005     }
11006   },
11007   {
11008     "Name": "MachineUndertaker",
11009     "Version": 1,
11010     "Schema": {
11011       "type": "object",
11012       "properties": {
11013         "AllMachineRemovals": {
11014           "type": "object",
11015           "properties": {
11016             "Params": {
11017               "$ref": "#/definitions/Entities"
11018             },
11019             "Result": {
11020               "$ref": "#/definitions/EntitiesResults"
11021             }
11022           }
11023         },
11024         "CompleteMachineRemovals": {
11025           "type": "object",
11026           "properties": {
11027             "Params": {
11028               "$ref": "#/definitions/Entities"
11029             }
11030           }
11031         },
11032         "GetMachineProviderInterfaceInfo": {
11033           "type": "object",
11034           "properties": {
11035             "Params": {
11036               "$ref": "#/definitions/Entities"
11037             },
11038             "Result": {
11039               "$ref": "#/definitions/ProviderInterfaceInfoResults"
11040             }
11041           }
11042         },
11043         "WatchMachineRemovals": {
11044           "type": "object",
11045           "properties": {
11046             "Params": {
11047               "$ref": "#/definitions/Entities"
11048             },
11049             "Result": {
11050               "$ref": "#/definitions/NotifyWatchResults"
11051             }
11052           }
11053         }
11054       },
11055       "definitions": {
11056         "Entities": {
11057           "type": "object",
11058           "properties": {
11059             "entities": {
11060               "type": "array",
11061               "items": {
11062                 "$ref": "#/definitions/Entity"
11063               }
11064             }
11065           },
11066           "additionalProperties": false,
11067           "required": [
11068             "entities"
11069           ]
11070         },
11071         "EntitiesResult": {
11072           "type": "object",
11073           "properties": {
11074             "entities": {
11075               "type": "array",
11076               "items": {
11077                 "$ref": "#/definitions/Entity"
11078               }
11079             },
11080             "error": {
11081               "$ref": "#/definitions/Error"
11082             }
11083           },
11084           "additionalProperties": false,
11085           "required": [
11086             "entities"
11087           ]
11088         },
11089         "EntitiesResults": {
11090           "type": "object",
11091           "properties": {
11092             "results": {
11093               "type": "array",
11094               "items": {
11095                 "$ref": "#/definitions/EntitiesResult"
11096               }
11097             }
11098           },
11099           "additionalProperties": false,
11100           "required": [
11101             "results"
11102           ]
11103         },
11104         "Entity": {
11105           "type": "object",
11106           "properties": {
11107             "tag": {
11108               "type": "string"
11109             }
11110           },
11111           "additionalProperties": false,
11112           "required": [
11113             "tag"
11114           ]
11115         },
11116         "Error": {
11117           "type": "object",
11118           "properties": {
11119             "code": {
11120               "type": "string"
11121             },
11122             "info": {
11123               "$ref": "#/definitions/ErrorInfo"
11124             },
11125             "message": {
11126               "type": "string"
11127             }
11128           },
11129           "additionalProperties": false,
11130           "required": [
11131             "message",
11132             "code"
11133           ]
11134         },
11135         "ErrorInfo": {
11136           "type": "object",
11137           "properties": {
11138             "macaroon": {
11139               "$ref": "#/definitions/Macaroon"
11140             },
11141             "macaroon-path": {
11142               "type": "string"
11143             }
11144           },
11145           "additionalProperties": false
11146         },
11147         "Macaroon": {
11148           "type": "object",
11149           "additionalProperties": false
11150         },
11151         "NotifyWatchResult": {
11152           "type": "object",
11153           "properties": {
11154             "NotifyWatcherId": {
11155               "type": "string"
11156             },
11157             "error": {
11158               "$ref": "#/definitions/Error"
11159             }
11160           },
11161           "additionalProperties": false,
11162           "required": [
11163             "NotifyWatcherId"
11164           ]
11165         },
11166         "NotifyWatchResults": {
11167           "type": "object",
11168           "properties": {
11169             "results": {
11170               "type": "array",
11171               "items": {
11172                 "$ref": "#/definitions/NotifyWatchResult"
11173               }
11174             }
11175           },
11176           "additionalProperties": false,
11177           "required": [
11178             "results"
11179           ]
11180         },
11181         "ProviderInterfaceInfo": {
11182           "type": "object",
11183           "properties": {
11184             "interface-name": {
11185               "type": "string"
11186             },
11187             "mac-address": {
11188               "type": "string"
11189             },
11190             "provider-id": {
11191               "type": "string"
11192             }
11193           },
11194           "additionalProperties": false,
11195           "required": [
11196             "interface-name",
11197             "mac-address",
11198             "provider-id"
11199           ]
11200         },
11201         "ProviderInterfaceInfoResult": {
11202           "type": "object",
11203           "properties": {
11204             "error": {
11205               "$ref": "#/definitions/Error"
11206             },
11207             "interfaces": {
11208               "type": "array",
11209               "items": {
11210                 "$ref": "#/definitions/ProviderInterfaceInfo"
11211               }
11212             },
11213             "machine-tag": {
11214               "type": "string"
11215             }
11216           },
11217           "additionalProperties": false,
11218           "required": [
11219             "machine-tag",
11220             "interfaces"
11221           ]
11222         },
11223         "ProviderInterfaceInfoResults": {
11224           "type": "object",
11225           "properties": {
11226             "results": {
11227               "type": "array",
11228               "items": {
11229                 "$ref": "#/definitions/ProviderInterfaceInfoResult"
11230               }
11231             }
11232           },
11233           "additionalProperties": false,
11234           "required": [
11235             "results"
11236           ]
11237         }
11238       }
11239     }
11240   },
11241   {
11242     "Name": "Machiner",
11243     "Version": 1,
11244     "Schema": {
11245       "type": "object",
11246       "properties": {
11247         "APIAddresses": {
11248           "type": "object",
11249           "properties": {
11250             "Result": {
11251               "$ref": "#/definitions/StringsResult"
11252             }
11253           }
11254         },
11255         "APIHostPorts": {
11256           "type": "object",
11257           "properties": {
11258             "Result": {
11259               "$ref": "#/definitions/APIHostPortsResult"
11260             }
11261           }
11262         },
11263         "CACert": {
11264           "type": "object",
11265           "properties": {
11266             "Result": {
11267               "$ref": "#/definitions/BytesResult"
11268             }
11269           }
11270         },
11271         "EnsureDead": {
11272           "type": "object",
11273           "properties": {
11274             "Params": {
11275               "$ref": "#/definitions/Entities"
11276             },
11277             "Result": {
11278               "$ref": "#/definitions/ErrorResults"
11279             }
11280           }
11281         },
11282         "Jobs": {
11283           "type": "object",
11284           "properties": {
11285             "Params": {
11286               "$ref": "#/definitions/Entities"
11287             },
11288             "Result": {
11289               "$ref": "#/definitions/JobsResults"
11290             }
11291           }
11292         },
11293         "Life": {
11294           "type": "object",
11295           "properties": {
11296             "Params": {
11297               "$ref": "#/definitions/Entities"
11298             },
11299             "Result": {
11300               "$ref": "#/definitions/LifeResults"
11301             }
11302           }
11303         },
11304         "ModelUUID": {
11305           "type": "object",
11306           "properties": {
11307             "Result": {
11308               "$ref": "#/definitions/StringResult"
11309             }
11310           }
11311         },
11312         "SetMachineAddresses": {
11313           "type": "object",
11314           "properties": {
11315             "Params": {
11316               "$ref": "#/definitions/SetMachinesAddresses"
11317             },
11318             "Result": {
11319               "$ref": "#/definitions/ErrorResults"
11320             }
11321           }
11322         },
11323         "SetObservedNetworkConfig": {
11324           "type": "object",
11325           "properties": {
11326             "Params": {
11327               "$ref": "#/definitions/SetMachineNetworkConfig"
11328             }
11329           }
11330         },
11331         "SetProviderNetworkConfig": {
11332           "type": "object",
11333           "properties": {
11334             "Params": {
11335               "$ref": "#/definitions/Entities"
11336             },
11337             "Result": {
11338               "$ref": "#/definitions/ErrorResults"
11339             }
11340           }
11341         },
11342         "SetStatus": {
11343           "type": "object",
11344           "properties": {
11345             "Params": {
11346               "$ref": "#/definitions/SetStatus"
11347             },
11348             "Result": {
11349               "$ref": "#/definitions/ErrorResults"
11350             }
11351           }
11352         },
11353         "UpdateStatus": {
11354           "type": "object",
11355           "properties": {
11356             "Params": {
11357               "$ref": "#/definitions/SetStatus"
11358             },
11359             "Result": {
11360               "$ref": "#/definitions/ErrorResults"
11361             }
11362           }
11363         },
11364         "Watch": {
11365           "type": "object",
11366           "properties": {
11367             "Params": {
11368               "$ref": "#/definitions/Entities"
11369             },
11370             "Result": {
11371               "$ref": "#/definitions/NotifyWatchResults"
11372             }
11373           }
11374         },
11375         "WatchAPIHostPorts": {
11376           "type": "object",
11377           "properties": {
11378             "Result": {
11379               "$ref": "#/definitions/NotifyWatchResult"
11380             }
11381           }
11382         }
11383       },
11384       "definitions": {
11385         "APIHostPortsResult": {
11386           "type": "object",
11387           "properties": {
11388             "servers": {
11389               "type": "array",
11390               "items": {
11391                 "type": "array",
11392                 "items": {
11393                   "$ref": "#/definitions/HostPort"
11394                 }
11395               }
11396             }
11397           },
11398           "additionalProperties": false,
11399           "required": [
11400             "servers"
11401           ]
11402         },
11403         "Address": {
11404           "type": "object",
11405           "properties": {
11406             "scope": {
11407               "type": "string"
11408             },
11409             "space-name": {
11410               "type": "string"
11411             },
11412             "type": {
11413               "type": "string"
11414             },
11415             "value": {
11416               "type": "string"
11417             }
11418           },
11419           "additionalProperties": false,
11420           "required": [
11421             "value",
11422             "type",
11423             "scope"
11424           ]
11425         },
11426         "BytesResult": {
11427           "type": "object",
11428           "properties": {
11429             "result": {
11430               "type": "array",
11431               "items": {
11432                 "type": "integer"
11433               }
11434             }
11435           },
11436           "additionalProperties": false,
11437           "required": [
11438             "result"
11439           ]
11440         },
11441         "Entities": {
11442           "type": "object",
11443           "properties": {
11444             "entities": {
11445               "type": "array",
11446               "items": {
11447                 "$ref": "#/definitions/Entity"
11448               }
11449             }
11450           },
11451           "additionalProperties": false,
11452           "required": [
11453             "entities"
11454           ]
11455         },
11456         "Entity": {
11457           "type": "object",
11458           "properties": {
11459             "tag": {
11460               "type": "string"
11461             }
11462           },
11463           "additionalProperties": false,
11464           "required": [
11465             "tag"
11466           ]
11467         },
11468         "EntityStatusArgs": {
11469           "type": "object",
11470           "properties": {
11471             "data": {
11472               "type": "object",
11473               "patternProperties": {
11474                 ".*": {
11475                   "type": "object",
11476                   "additionalProperties": true
11477                 }
11478               }
11479             },
11480             "info": {
11481               "type": "string"
11482             },
11483             "status": {
11484               "type": "string"
11485             },
11486             "tag": {
11487               "type": "string"
11488             }
11489           },
11490           "additionalProperties": false,
11491           "required": [
11492             "tag",
11493             "status",
11494             "info",
11495             "data"
11496           ]
11497         },
11498         "Error": {
11499           "type": "object",
11500           "properties": {
11501             "code": {
11502               "type": "string"
11503             },
11504             "info": {
11505               "$ref": "#/definitions/ErrorInfo"
11506             },
11507             "message": {
11508               "type": "string"
11509             }
11510           },
11511           "additionalProperties": false,
11512           "required": [
11513             "message",
11514             "code"
11515           ]
11516         },
11517         "ErrorInfo": {
11518           "type": "object",
11519           "properties": {
11520             "macaroon": {
11521               "$ref": "#/definitions/Macaroon"
11522             },
11523             "macaroon-path": {
11524               "type": "string"
11525             }
11526           },
11527           "additionalProperties": false
11528         },
11529         "ErrorResult": {
11530           "type": "object",
11531           "properties": {
11532             "error": {
11533               "$ref": "#/definitions/Error"
11534             }
11535           },
11536           "additionalProperties": false
11537         },
11538         "ErrorResults": {
11539           "type": "object",
11540           "properties": {
11541             "results": {
11542               "type": "array",
11543               "items": {
11544                 "$ref": "#/definitions/ErrorResult"
11545               }
11546             }
11547           },
11548           "additionalProperties": false,
11549           "required": [
11550             "results"
11551           ]
11552         },
11553         "HostPort": {
11554           "type": "object",
11555           "properties": {
11556             "Address": {
11557               "$ref": "#/definitions/Address"
11558             },
11559             "port": {
11560               "type": "integer"
11561             }
11562           },
11563           "additionalProperties": false,
11564           "required": [
11565             "Address",
11566             "port"
11567           ]
11568         },
11569         "JobsResult": {
11570           "type": "object",
11571           "properties": {
11572             "error": {
11573               "$ref": "#/definitions/Error"
11574             },
11575             "jobs": {
11576               "type": "array",
11577               "items": {
11578                 "type": "string"
11579               }
11580             }
11581           },
11582           "additionalProperties": false,
11583           "required": [
11584             "jobs"
11585           ]
11586         },
11587         "JobsResults": {
11588           "type": "object",
11589           "properties": {
11590             "results": {
11591               "type": "array",
11592               "items": {
11593                 "$ref": "#/definitions/JobsResult"
11594               }
11595             }
11596           },
11597           "additionalProperties": false,
11598           "required": [
11599             "results"
11600           ]
11601         },
11602         "LifeResult": {
11603           "type": "object",
11604           "properties": {
11605             "error": {
11606               "$ref": "#/definitions/Error"
11607             },
11608             "life": {
11609               "type": "string"
11610             }
11611           },
11612           "additionalProperties": false,
11613           "required": [
11614             "life"
11615           ]
11616         },
11617         "LifeResults": {
11618           "type": "object",
11619           "properties": {
11620             "results": {
11621               "type": "array",
11622               "items": {
11623                 "$ref": "#/definitions/LifeResult"
11624               }
11625             }
11626           },
11627           "additionalProperties": false,
11628           "required": [
11629             "results"
11630           ]
11631         },
11632         "Macaroon": {
11633           "type": "object",
11634           "additionalProperties": false
11635         },
11636         "MachineAddresses": {
11637           "type": "object",
11638           "properties": {
11639             "addresses": {
11640               "type": "array",
11641               "items": {
11642                 "$ref": "#/definitions/Address"
11643               }
11644             },
11645             "tag": {
11646               "type": "string"
11647             }
11648           },
11649           "additionalProperties": false,
11650           "required": [
11651             "tag",
11652             "addresses"
11653           ]
11654         },
11655         "NetworkConfig": {
11656           "type": "object",
11657           "properties": {
11658             "address": {
11659               "type": "string"
11660             },
11661             "cidr": {
11662               "type": "string"
11663             },
11664             "config-type": {
11665               "type": "string"
11666             },
11667             "device-index": {
11668               "type": "integer"
11669             },
11670             "disabled": {
11671               "type": "boolean"
11672             },
11673             "dns-search-domains": {
11674               "type": "array",
11675               "items": {
11676                 "type": "string"
11677               }
11678             },
11679             "dns-servers": {
11680               "type": "array",
11681               "items": {
11682                 "type": "string"
11683               }
11684             },
11685             "gateway-address": {
11686               "type": "string"
11687             },
11688             "interface-name": {
11689               "type": "string"
11690             },
11691             "interface-type": {
11692               "type": "string"
11693             },
11694             "mac-address": {
11695               "type": "string"
11696             },
11697             "mtu": {
11698               "type": "integer"
11699             },
11700             "no-auto-start": {
11701               "type": "boolean"
11702             },
11703             "parent-interface-name": {
11704               "type": "string"
11705             },
11706             "provider-address-id": {
11707               "type": "string"
11708             },
11709             "provider-id": {
11710               "type": "string"
11711             },
11712             "provider-space-id": {
11713               "type": "string"
11714             },
11715             "provider-subnet-id": {
11716               "type": "string"
11717             },
11718             "provider-vlan-id": {
11719               "type": "string"
11720             },
11721             "vlan-tag": {
11722               "type": "integer"
11723             }
11724           },
11725           "additionalProperties": false,
11726           "required": [
11727             "device-index",
11728             "mac-address",
11729             "cidr",
11730             "mtu",
11731             "provider-id",
11732             "provider-subnet-id",
11733             "provider-space-id",
11734             "provider-address-id",
11735             "provider-vlan-id",
11736             "vlan-tag",
11737             "interface-name",
11738             "parent-interface-name",
11739             "interface-type",
11740             "disabled"
11741           ]
11742         },
11743         "NotifyWatchResult": {
11744           "type": "object",
11745           "properties": {
11746             "NotifyWatcherId": {
11747               "type": "string"
11748             },
11749             "error": {
11750               "$ref": "#/definitions/Error"
11751             }
11752           },
11753           "additionalProperties": false,
11754           "required": [
11755             "NotifyWatcherId"
11756           ]
11757         },
11758         "NotifyWatchResults": {
11759           "type": "object",
11760           "properties": {
11761             "results": {
11762               "type": "array",
11763               "items": {
11764                 "$ref": "#/definitions/NotifyWatchResult"
11765               }
11766             }
11767           },
11768           "additionalProperties": false,
11769           "required": [
11770             "results"
11771           ]
11772         },
11773         "SetMachineNetworkConfig": {
11774           "type": "object",
11775           "properties": {
11776             "config": {
11777               "type": "array",
11778               "items": {
11779                 "$ref": "#/definitions/NetworkConfig"
11780               }
11781             },
11782             "tag": {
11783               "type": "string"
11784             }
11785           },
11786           "additionalProperties": false,
11787           "required": [
11788             "tag",
11789             "config"
11790           ]
11791         },
11792         "SetMachinesAddresses": {
11793           "type": "object",
11794           "properties": {
11795             "machine-addresses": {
11796               "type": "array",
11797               "items": {
11798                 "$ref": "#/definitions/MachineAddresses"
11799               }
11800             }
11801           },
11802           "additionalProperties": false,
11803           "required": [
11804             "machine-addresses"
11805           ]
11806         },
11807         "SetStatus": {
11808           "type": "object",
11809           "properties": {
11810             "entities": {
11811               "type": "array",
11812               "items": {
11813                 "$ref": "#/definitions/EntityStatusArgs"
11814               }
11815             }
11816           },
11817           "additionalProperties": false,
11818           "required": [
11819             "entities"
11820           ]
11821         },
11822         "StringResult": {
11823           "type": "object",
11824           "properties": {
11825             "error": {
11826               "$ref": "#/definitions/Error"
11827             },
11828             "result": {
11829               "type": "string"
11830             }
11831           },
11832           "additionalProperties": false,
11833           "required": [
11834             "result"
11835           ]
11836         },
11837         "StringsResult": {
11838           "type": "object",
11839           "properties": {
11840             "error": {
11841               "$ref": "#/definitions/Error"
11842             },
11843             "result": {
11844               "type": "array",
11845               "items": {
11846                 "type": "string"
11847               }
11848             }
11849           },
11850           "additionalProperties": false
11851         }
11852       }
11853     }
11854   },
11855   {
11856     "Name": "MeterStatus",
11857     "Version": 1,
11858     "Schema": {
11859       "type": "object",
11860       "properties": {
11861         "GetMeterStatus": {
11862           "type": "object",
11863           "properties": {
11864             "Params": {
11865               "$ref": "#/definitions/Entities"
11866             },
11867             "Result": {
11868               "$ref": "#/definitions/MeterStatusResults"
11869             }
11870           }
11871         },
11872         "WatchMeterStatus": {
11873           "type": "object",
11874           "properties": {
11875             "Params": {
11876               "$ref": "#/definitions/Entities"
11877             },
11878             "Result": {
11879               "$ref": "#/definitions/NotifyWatchResults"
11880             }
11881           }
11882         }
11883       },
11884       "definitions": {
11885         "Entities": {
11886           "type": "object",
11887           "properties": {
11888             "entities": {
11889               "type": "array",
11890               "items": {
11891                 "$ref": "#/definitions/Entity"
11892               }
11893             }
11894           },
11895           "additionalProperties": false,
11896           "required": [
11897             "entities"
11898           ]
11899         },
11900         "Entity": {
11901           "type": "object",
11902           "properties": {
11903             "tag": {
11904               "type": "string"
11905             }
11906           },
11907           "additionalProperties": false,
11908           "required": [
11909             "tag"
11910           ]
11911         },
11912         "Error": {
11913           "type": "object",
11914           "properties": {
11915             "code": {
11916               "type": "string"
11917             },
11918             "info": {
11919               "$ref": "#/definitions/ErrorInfo"
11920             },
11921             "message": {
11922               "type": "string"
11923             }
11924           },
11925           "additionalProperties": false,
11926           "required": [
11927             "message",
11928             "code"
11929           ]
11930         },
11931         "ErrorInfo": {
11932           "type": "object",
11933           "properties": {
11934             "macaroon": {
11935               "$ref": "#/definitions/Macaroon"
11936             },
11937             "macaroon-path": {
11938               "type": "string"
11939             }
11940           },
11941           "additionalProperties": false
11942         },
11943         "Macaroon": {
11944           "type": "object",
11945           "additionalProperties": false
11946         },
11947         "MeterStatusResult": {
11948           "type": "object",
11949           "properties": {
11950             "code": {
11951               "type": "string"
11952             },
11953             "error": {
11954               "$ref": "#/definitions/Error"
11955             },
11956             "info": {
11957               "type": "string"
11958             }
11959           },
11960           "additionalProperties": false,
11961           "required": [
11962             "code",
11963             "info"
11964           ]
11965         },
11966         "MeterStatusResults": {
11967           "type": "object",
11968           "properties": {
11969             "results": {
11970               "type": "array",
11971               "items": {
11972                 "$ref": "#/definitions/MeterStatusResult"
11973               }
11974             }
11975           },
11976           "additionalProperties": false,
11977           "required": [
11978             "results"
11979           ]
11980         },
11981         "NotifyWatchResult": {
11982           "type": "object",
11983           "properties": {
11984             "NotifyWatcherId": {
11985               "type": "string"
11986             },
11987             "error": {
11988               "$ref": "#/definitions/Error"
11989             }
11990           },
11991           "additionalProperties": false,
11992           "required": [
11993             "NotifyWatcherId"
11994           ]
11995         },
11996         "NotifyWatchResults": {
11997           "type": "object",
11998           "properties": {
11999             "results": {
12000               "type": "array",
12001               "items": {
12002                 "$ref": "#/definitions/NotifyWatchResult"
12003               }
12004             }
12005           },
12006           "additionalProperties": false,
12007           "required": [
12008             "results"
12009           ]
12010         }
12011       }
12012     }
12013   },
12014   {
12015     "Name": "MetricsAdder",
12016     "Version": 2,
12017     "Schema": {
12018       "type": "object",
12019       "properties": {
12020         "AddMetricBatches": {
12021           "type": "object",
12022           "properties": {
12023             "Params": {
12024               "$ref": "#/definitions/MetricBatchParams"
12025             },
12026             "Result": {
12027               "$ref": "#/definitions/ErrorResults"
12028             }
12029           }
12030         }
12031       },
12032       "definitions": {
12033         "Error": {
12034           "type": "object",
12035           "properties": {
12036             "code": {
12037               "type": "string"
12038             },
12039             "info": {
12040               "$ref": "#/definitions/ErrorInfo"
12041             },
12042             "message": {
12043               "type": "string"
12044             }
12045           },
12046           "additionalProperties": false,
12047           "required": [
12048             "message",
12049             "code"
12050           ]
12051         },
12052         "ErrorInfo": {
12053           "type": "object",
12054           "properties": {
12055             "macaroon": {
12056               "$ref": "#/definitions/Macaroon"
12057             },
12058             "macaroon-path": {
12059               "type": "string"
12060             }
12061           },
12062           "additionalProperties": false
12063         },
12064         "ErrorResult": {
12065           "type": "object",
12066           "properties": {
12067             "error": {
12068               "$ref": "#/definitions/Error"
12069             }
12070           },
12071           "additionalProperties": false
12072         },
12073         "ErrorResults": {
12074           "type": "object",
12075           "properties": {
12076             "results": {
12077               "type": "array",
12078               "items": {
12079                 "$ref": "#/definitions/ErrorResult"
12080               }
12081             }
12082           },
12083           "additionalProperties": false,
12084           "required": [
12085             "results"
12086           ]
12087         },
12088         "Macaroon": {
12089           "type": "object",
12090           "additionalProperties": false
12091         },
12092         "Metric": {
12093           "type": "object",
12094           "properties": {
12095             "key": {
12096               "type": "string"
12097             },
12098             "time": {
12099               "type": "string",
12100               "format": "date-time"
12101             },
12102             "value": {
12103               "type": "string"
12104             }
12105           },
12106           "additionalProperties": false,
12107           "required": [
12108             "key",
12109             "value",
12110             "time"
12111           ]
12112         },
12113         "MetricBatch": {
12114           "type": "object",
12115           "properties": {
12116             "charm-url": {
12117               "type": "string"
12118             },
12119             "created": {
12120               "type": "string",
12121               "format": "date-time"
12122             },
12123             "metrics": {
12124               "type": "array",
12125               "items": {
12126                 "$ref": "#/definitions/Metric"
12127               }
12128             },
12129             "uuid": {
12130               "type": "string"
12131             }
12132           },
12133           "additionalProperties": false,
12134           "required": [
12135             "uuid",
12136             "charm-url",
12137             "created",
12138             "metrics"
12139           ]
12140         },
12141         "MetricBatchParam": {
12142           "type": "object",
12143           "properties": {
12144             "batch": {
12145               "$ref": "#/definitions/MetricBatch"
12146             },
12147             "tag": {
12148               "type": "string"
12149             }
12150           },
12151           "additionalProperties": false,
12152           "required": [
12153             "tag",
12154             "batch"
12155           ]
12156         },
12157         "MetricBatchParams": {
12158           "type": "object",
12159           "properties": {
12160             "batches": {
12161               "type": "array",
12162               "items": {
12163                 "$ref": "#/definitions/MetricBatchParam"
12164               }
12165             }
12166           },
12167           "additionalProperties": false,
12168           "required": [
12169             "batches"
12170           ]
12171         }
12172       }
12173     }
12174   },
12175   {
12176     "Name": "MetricsDebug",
12177     "Version": 2,
12178     "Schema": {
12179       "type": "object",
12180       "properties": {
12181         "GetMetrics": {
12182           "type": "object",
12183           "properties": {
12184             "Params": {
12185               "$ref": "#/definitions/Entities"
12186             },
12187             "Result": {
12188               "$ref": "#/definitions/MetricResults"
12189             }
12190           }
12191         },
12192         "SetMeterStatus": {
12193           "type": "object",
12194           "properties": {
12195             "Params": {
12196               "$ref": "#/definitions/MeterStatusParams"
12197             },
12198             "Result": {
12199               "$ref": "#/definitions/ErrorResults"
12200             }
12201           }
12202         }
12203       },
12204       "definitions": {
12205         "Entities": {
12206           "type": "object",
12207           "properties": {
12208             "entities": {
12209               "type": "array",
12210               "items": {
12211                 "$ref": "#/definitions/Entity"
12212               }
12213             }
12214           },
12215           "additionalProperties": false,
12216           "required": [
12217             "entities"
12218           ]
12219         },
12220         "Entity": {
12221           "type": "object",
12222           "properties": {
12223             "tag": {
12224               "type": "string"
12225             }
12226           },
12227           "additionalProperties": false,
12228           "required": [
12229             "tag"
12230           ]
12231         },
12232         "EntityMetrics": {
12233           "type": "object",
12234           "properties": {
12235             "error": {
12236               "$ref": "#/definitions/Error"
12237             },
12238             "metrics": {
12239               "type": "array",
12240               "items": {
12241                 "$ref": "#/definitions/MetricResult"
12242               }
12243             }
12244           },
12245           "additionalProperties": false
12246         },
12247         "Error": {
12248           "type": "object",
12249           "properties": {
12250             "code": {
12251               "type": "string"
12252             },
12253             "info": {
12254               "$ref": "#/definitions/ErrorInfo"
12255             },
12256             "message": {
12257               "type": "string"
12258             }
12259           },
12260           "additionalProperties": false,
12261           "required": [
12262             "message",
12263             "code"
12264           ]
12265         },
12266         "ErrorInfo": {
12267           "type": "object",
12268           "properties": {
12269             "macaroon": {
12270               "$ref": "#/definitions/Macaroon"
12271             },
12272             "macaroon-path": {
12273               "type": "string"
12274             }
12275           },
12276           "additionalProperties": false
12277         },
12278         "ErrorResult": {
12279           "type": "object",
12280           "properties": {
12281             "error": {
12282               "$ref": "#/definitions/Error"
12283             }
12284           },
12285           "additionalProperties": false
12286         },
12287         "ErrorResults": {
12288           "type": "object",
12289           "properties": {
12290             "results": {
12291               "type": "array",
12292               "items": {
12293                 "$ref": "#/definitions/ErrorResult"
12294               }
12295             }
12296           },
12297           "additionalProperties": false,
12298           "required": [
12299             "results"
12300           ]
12301         },
12302         "Macaroon": {
12303           "type": "object",
12304           "additionalProperties": false
12305         },
12306         "MeterStatusParam": {
12307           "type": "object",
12308           "properties": {
12309             "code": {
12310               "type": "string"
12311             },
12312             "info": {
12313               "type": "string"
12314             },
12315             "tag": {
12316               "type": "string"
12317             }
12318           },
12319           "additionalProperties": false,
12320           "required": [
12321             "tag",
12322             "code",
12323             "info"
12324           ]
12325         },
12326         "MeterStatusParams": {
12327           "type": "object",
12328           "properties": {
12329             "statues": {
12330               "type": "array",
12331               "items": {
12332                 "$ref": "#/definitions/MeterStatusParam"
12333               }
12334             }
12335           },
12336           "additionalProperties": false,
12337           "required": [
12338             "statues"
12339           ]
12340         },
12341         "MetricResult": {
12342           "type": "object",
12343           "properties": {
12344             "key": {
12345               "type": "string"
12346             },
12347             "time": {
12348               "type": "string",
12349               "format": "date-time"
12350             },
12351             "value": {
12352               "type": "string"
12353             }
12354           },
12355           "additionalProperties": false,
12356           "required": [
12357             "time",
12358             "key",
12359             "value"
12360           ]
12361         },
12362         "MetricResults": {
12363           "type": "object",
12364           "properties": {
12365             "results": {
12366               "type": "array",
12367               "items": {
12368                 "$ref": "#/definitions/EntityMetrics"
12369               }
12370             }
12371           },
12372           "additionalProperties": false,
12373           "required": [
12374             "results"
12375           ]
12376         }
12377       }
12378     }
12379   },
12380   {
12381     "Name": "MetricsManager",
12382     "Version": 1,
12383     "Schema": {
12384       "type": "object",
12385       "properties": {
12386         "CleanupOldMetrics": {
12387           "type": "object",
12388           "properties": {
12389             "Params": {
12390               "$ref": "#/definitions/Entities"
12391             },
12392             "Result": {
12393               "$ref": "#/definitions/ErrorResults"
12394             }
12395           }
12396         },
12397         "SendMetrics": {
12398           "type": "object",
12399           "properties": {
12400             "Params": {
12401               "$ref": "#/definitions/Entities"
12402             },
12403             "Result": {
12404               "$ref": "#/definitions/ErrorResults"
12405             }
12406           }
12407         }
12408       },
12409       "definitions": {
12410         "Entities": {
12411           "type": "object",
12412           "properties": {
12413             "entities": {
12414               "type": "array",
12415               "items": {
12416                 "$ref": "#/definitions/Entity"
12417               }
12418             }
12419           },
12420           "additionalProperties": false,
12421           "required": [
12422             "entities"
12423           ]
12424         },
12425         "Entity": {
12426           "type": "object",
12427           "properties": {
12428             "tag": {
12429               "type": "string"
12430             }
12431           },
12432           "additionalProperties": false,
12433           "required": [
12434             "tag"
12435           ]
12436         },
12437         "Error": {
12438           "type": "object",
12439           "properties": {
12440             "code": {
12441               "type": "string"
12442             },
12443             "info": {
12444               "$ref": "#/definitions/ErrorInfo"
12445             },
12446             "message": {
12447               "type": "string"
12448             }
12449           },
12450           "additionalProperties": false,
12451           "required": [
12452             "message",
12453             "code"
12454           ]
12455         },
12456         "ErrorInfo": {
12457           "type": "object",
12458           "properties": {
12459             "macaroon": {
12460               "$ref": "#/definitions/Macaroon"
12461             },
12462             "macaroon-path": {
12463               "type": "string"
12464             }
12465           },
12466           "additionalProperties": false
12467         },
12468         "ErrorResult": {
12469           "type": "object",
12470           "properties": {
12471             "error": {
12472               "$ref": "#/definitions/Error"
12473             }
12474           },
12475           "additionalProperties": false
12476         },
12477         "ErrorResults": {
12478           "type": "object",
12479           "properties": {
12480             "results": {
12481               "type": "array",
12482               "items": {
12483                 "$ref": "#/definitions/ErrorResult"
12484               }
12485             }
12486           },
12487           "additionalProperties": false,
12488           "required": [
12489             "results"
12490           ]
12491         },
12492         "Macaroon": {
12493           "type": "object",
12494           "additionalProperties": false
12495         }
12496       }
12497     }
12498   },
12499   {
12500     "Name": "MigrationFlag",
12501     "Version": 1,
12502     "Schema": {
12503       "type": "object",
12504       "properties": {
12505         "Phase": {
12506           "type": "object",
12507           "properties": {
12508             "Params": {
12509               "$ref": "#/definitions/Entities"
12510             },
12511             "Result": {
12512               "$ref": "#/definitions/PhaseResults"
12513             }
12514           }
12515         },
12516         "Watch": {
12517           "type": "object",
12518           "properties": {
12519             "Params": {
12520               "$ref": "#/definitions/Entities"
12521             },
12522             "Result": {
12523               "$ref": "#/definitions/NotifyWatchResults"
12524             }
12525           }
12526         }
12527       },
12528       "definitions": {
12529         "Entities": {
12530           "type": "object",
12531           "properties": {
12532             "entities": {
12533               "type": "array",
12534               "items": {
12535                 "$ref": "#/definitions/Entity"
12536               }
12537             }
12538           },
12539           "additionalProperties": false,
12540           "required": [
12541             "entities"
12542           ]
12543         },
12544         "Entity": {
12545           "type": "object",
12546           "properties": {
12547             "tag": {
12548               "type": "string"
12549             }
12550           },
12551           "additionalProperties": false,
12552           "required": [
12553             "tag"
12554           ]
12555         },
12556         "Error": {
12557           "type": "object",
12558           "properties": {
12559             "code": {
12560               "type": "string"
12561             },
12562             "info": {
12563               "$ref": "#/definitions/ErrorInfo"
12564             },
12565             "message": {
12566               "type": "string"
12567             }
12568           },
12569           "additionalProperties": false,
12570           "required": [
12571             "message",
12572             "code"
12573           ]
12574         },
12575         "ErrorInfo": {
12576           "type": "object",
12577           "properties": {
12578             "macaroon": {
12579               "$ref": "#/definitions/Macaroon"
12580             },
12581             "macaroon-path": {
12582               "type": "string"
12583             }
12584           },
12585           "additionalProperties": false
12586         },
12587         "Macaroon": {
12588           "type": "object",
12589           "additionalProperties": false
12590         },
12591         "NotifyWatchResult": {
12592           "type": "object",
12593           "properties": {
12594             "NotifyWatcherId": {
12595               "type": "string"
12596             },
12597             "error": {
12598               "$ref": "#/definitions/Error"
12599             }
12600           },
12601           "additionalProperties": false,
12602           "required": [
12603             "NotifyWatcherId"
12604           ]
12605         },
12606         "NotifyWatchResults": {
12607           "type": "object",
12608           "properties": {
12609             "results": {
12610               "type": "array",
12611               "items": {
12612                 "$ref": "#/definitions/NotifyWatchResult"
12613               }
12614             }
12615           },
12616           "additionalProperties": false,
12617           "required": [
12618             "results"
12619           ]
12620         },
12621         "PhaseResult": {
12622           "type": "object",
12623           "properties": {
12624             "error": {
12625               "$ref": "#/definitions/Error"
12626             },
12627             "phase": {
12628               "type": "string"
12629             }
12630           },
12631           "additionalProperties": false
12632         },
12633         "PhaseResults": {
12634           "type": "object",
12635           "properties": {
12636             "results": {
12637               "type": "array",
12638               "items": {
12639                 "$ref": "#/definitions/PhaseResult"
12640               }
12641             }
12642           },
12643           "additionalProperties": false,
12644           "required": [
12645             "results"
12646           ]
12647         }
12648       }
12649     }
12650   },
12651   {
12652     "Name": "MigrationMaster",
12653     "Version": 1,
12654     "Schema": {
12655       "type": "object",
12656       "properties": {
12657         "Export": {
12658           "type": "object",
12659           "properties": {
12660             "Result": {
12661               "$ref": "#/definitions/SerializedModel"
12662             }
12663           }
12664         },
12665         "MigrationStatus": {
12666           "type": "object",
12667           "properties": {
12668             "Result": {
12669               "$ref": "#/definitions/MasterMigrationStatus"
12670             }
12671           }
12672         },
12673         "MinionReports": {
12674           "type": "object",
12675           "properties": {
12676             "Result": {
12677               "$ref": "#/definitions/MinionReports"
12678             }
12679           }
12680         },
12681         "ModelInfo": {
12682           "type": "object",
12683           "properties": {
12684             "Result": {
12685               "$ref": "#/definitions/MigrationModelInfo"
12686             }
12687           }
12688         },
12689         "Prechecks": {
12690           "type": "object"
12691         },
12692         "Reap": {
12693           "type": "object"
12694         },
12695         "SetPhase": {
12696           "type": "object",
12697           "properties": {
12698             "Params": {
12699               "$ref": "#/definitions/SetMigrationPhaseArgs"
12700             }
12701           }
12702         },
12703         "SetStatusMessage": {
12704           "type": "object",
12705           "properties": {
12706             "Params": {
12707               "$ref": "#/definitions/SetMigrationStatusMessageArgs"
12708             }
12709           }
12710         },
12711         "Watch": {
12712           "type": "object",
12713           "properties": {
12714             "Result": {
12715               "$ref": "#/definitions/NotifyWatchResult"
12716             }
12717           }
12718         },
12719         "WatchMinionReports": {
12720           "type": "object",
12721           "properties": {
12722             "Result": {
12723               "$ref": "#/definitions/NotifyWatchResult"
12724             }
12725           }
12726         }
12727       },
12728       "definitions": {
12729         "Error": {
12730           "type": "object",
12731           "properties": {
12732             "code": {
12733               "type": "string"
12734             },
12735             "info": {
12736               "$ref": "#/definitions/ErrorInfo"
12737             },
12738             "message": {
12739               "type": "string"
12740             }
12741           },
12742           "additionalProperties": false,
12743           "required": [
12744             "message",
12745             "code"
12746           ]
12747         },
12748         "ErrorInfo": {
12749           "type": "object",
12750           "properties": {
12751             "macaroon": {
12752               "$ref": "#/definitions/Macaroon"
12753             },
12754             "macaroon-path": {
12755               "type": "string"
12756             }
12757           },
12758           "additionalProperties": false
12759         },
12760         "Macaroon": {
12761           "type": "object",
12762           "additionalProperties": false
12763         },
12764         "MasterMigrationStatus": {
12765           "type": "object",
12766           "properties": {
12767             "migration-id": {
12768               "type": "string"
12769             },
12770             "phase": {
12771               "type": "string"
12772             },
12773             "phase-changed-time": {
12774               "type": "string",
12775               "format": "date-time"
12776             },
12777             "spec": {
12778               "$ref": "#/definitions/MigrationSpec"
12779             }
12780           },
12781           "additionalProperties": false,
12782           "required": [
12783             "spec",
12784             "migration-id",
12785             "phase",
12786             "phase-changed-time"
12787           ]
12788         },
12789         "MigrationModelInfo": {
12790           "type": "object",
12791           "properties": {
12792             "agent-version": {
12793               "$ref": "#/definitions/Number"
12794             },
12795             "name": {
12796               "type": "string"
12797             },
12798             "uuid": {
12799               "type": "string"
12800             }
12801           },
12802           "additionalProperties": false,
12803           "required": [
12804             "uuid",
12805             "name",
12806             "agent-version"
12807           ]
12808         },
12809         "MigrationSpec": {
12810           "type": "object",
12811           "properties": {
12812             "model-tag": {
12813               "type": "string"
12814             },
12815             "target-info": {
12816               "$ref": "#/definitions/MigrationTargetInfo"
12817             }
12818           },
12819           "additionalProperties": false,
12820           "required": [
12821             "model-tag",
12822             "target-info"
12823           ]
12824         },
12825         "MigrationTargetInfo": {
12826           "type": "object",
12827           "properties": {
12828             "addrs": {
12829               "type": "array",
12830               "items": {
12831                 "type": "string"
12832               }
12833             },
12834             "auth-tag": {
12835               "type": "string"
12836             },
12837             "ca-cert": {
12838               "type": "string"
12839             },
12840             "controller-tag": {
12841               "type": "string"
12842             },
12843             "macaroon": {
12844               "type": "string"
12845             },
12846             "password": {
12847               "type": "string"
12848             }
12849           },
12850           "additionalProperties": false,
12851           "required": [
12852             "controller-tag",
12853             "addrs",
12854             "ca-cert",
12855             "auth-tag"
12856           ]
12857         },
12858         "MinionReports": {
12859           "type": "object",
12860           "properties": {
12861             "failed": {
12862               "type": "array",
12863               "items": {
12864                 "type": "string"
12865               }
12866             },
12867             "migration-id": {
12868               "type": "string"
12869             },
12870             "phase": {
12871               "type": "string"
12872             },
12873             "success-count": {
12874               "type": "integer"
12875             },
12876             "unknown-count": {
12877               "type": "integer"
12878             },
12879             "unknown-sample": {
12880               "type": "array",
12881               "items": {
12882                 "type": "string"
12883               }
12884             }
12885           },
12886           "additionalProperties": false,
12887           "required": [
12888             "migration-id",
12889             "phase",
12890             "success-count",
12891             "unknown-count",
12892             "unknown-sample",
12893             "failed"
12894           ]
12895         },
12896         "NotifyWatchResult": {
12897           "type": "object",
12898           "properties": {
12899             "NotifyWatcherId": {
12900               "type": "string"
12901             },
12902             "error": {
12903               "$ref": "#/definitions/Error"
12904             }
12905           },
12906           "additionalProperties": false,
12907           "required": [
12908             "NotifyWatcherId"
12909           ]
12910         },
12911         "Number": {
12912           "type": "object",
12913           "properties": {
12914             "Build": {
12915               "type": "integer"
12916             },
12917             "Major": {
12918               "type": "integer"
12919             },
12920             "Minor": {
12921               "type": "integer"
12922             },
12923             "Patch": {
12924               "type": "integer"
12925             },
12926             "Tag": {
12927               "type": "string"
12928             }
12929           },
12930           "additionalProperties": false,
12931           "required": [
12932             "Major",
12933             "Minor",
12934             "Tag",
12935             "Patch",
12936             "Build"
12937           ]
12938         },
12939         "SerializedModel": {
12940           "type": "object",
12941           "properties": {
12942             "bytes": {
12943               "type": "array",
12944               "items": {
12945                 "type": "integer"
12946               }
12947             },
12948             "charms": {
12949               "type": "array",
12950               "items": {
12951                 "type": "string"
12952               }
12953             },
12954             "tools": {
12955               "type": "array",
12956               "items": {
12957                 "$ref": "#/definitions/SerializedModelTools"
12958               }
12959             }
12960           },
12961           "additionalProperties": false,
12962           "required": [
12963             "bytes",
12964             "charms",
12965             "tools"
12966           ]
12967         },
12968         "SerializedModelTools": {
12969           "type": "object",
12970           "properties": {
12971             "uri": {
12972               "type": "string"
12973             },
12974             "version": {
12975               "type": "string"
12976             }
12977           },
12978           "additionalProperties": false,
12979           "required": [
12980             "version",
12981             "uri"
12982           ]
12983         },
12984         "SetMigrationPhaseArgs": {
12985           "type": "object",
12986           "properties": {
12987             "phase": {
12988               "type": "string"
12989             }
12990           },
12991           "additionalProperties": false,
12992           "required": [
12993             "phase"
12994           ]
12995         },
12996         "SetMigrationStatusMessageArgs": {
12997           "type": "object",
12998           "properties": {
12999             "message": {
13000               "type": "string"
13001             }
13002           },
13003           "additionalProperties": false,
13004           "required": [
13005             "message"
13006           ]
13007         }
13008       }
13009     }
13010   },
13011   {
13012     "Name": "MigrationMinion",
13013     "Version": 1,
13014     "Schema": {
13015       "type": "object",
13016       "properties": {
13017         "Report": {
13018           "type": "object",
13019           "properties": {
13020             "Params": {
13021               "$ref": "#/definitions/MinionReport"
13022             }
13023           }
13024         },
13025         "Watch": {
13026           "type": "object",
13027           "properties": {
13028             "Result": {
13029               "$ref": "#/definitions/NotifyWatchResult"
13030             }
13031           }
13032         }
13033       },
13034       "definitions": {
13035         "Error": {
13036           "type": "object",
13037           "properties": {
13038             "code": {
13039               "type": "string"
13040             },
13041             "info": {
13042               "$ref": "#/definitions/ErrorInfo"
13043             },
13044             "message": {
13045               "type": "string"
13046             }
13047           },
13048           "additionalProperties": false,
13049           "required": [
13050             "message",
13051             "code"
13052           ]
13053         },
13054         "ErrorInfo": {
13055           "type": "object",
13056           "properties": {
13057             "macaroon": {
13058               "$ref": "#/definitions/Macaroon"
13059             },
13060             "macaroon-path": {
13061               "type": "string"
13062             }
13063           },
13064           "additionalProperties": false
13065         },
13066         "Macaroon": {
13067           "type": "object",
13068           "additionalProperties": false
13069         },
13070         "MinionReport": {
13071           "type": "object",
13072           "properties": {
13073             "migration-id": {
13074               "type": "string"
13075             },
13076             "phase": {
13077               "type": "string"
13078             },
13079             "success": {
13080               "type": "boolean"
13081             }
13082           },
13083           "additionalProperties": false,
13084           "required": [
13085             "migration-id",
13086             "phase",
13087             "success"
13088           ]
13089         },
13090         "NotifyWatchResult": {
13091           "type": "object",
13092           "properties": {
13093             "NotifyWatcherId": {
13094               "type": "string"
13095             },
13096             "error": {
13097               "$ref": "#/definitions/Error"
13098             }
13099           },
13100           "additionalProperties": false,
13101           "required": [
13102             "NotifyWatcherId"
13103           ]
13104         }
13105       }
13106     }
13107   },
13108   {
13109     "Name": "MigrationStatusWatcher",
13110     "Version": 1,
13111     "Schema": {
13112       "type": "object",
13113       "properties": {
13114         "Next": {
13115           "type": "object",
13116           "properties": {
13117             "Result": {
13118               "$ref": "#/definitions/MigrationStatus"
13119             }
13120           }
13121         },
13122         "Stop": {
13123           "type": "object"
13124         }
13125       },
13126       "definitions": {
13127         "MigrationStatus": {
13128           "type": "object",
13129           "properties": {
13130             "attempt": {
13131               "type": "integer"
13132             },
13133             "migration-id": {
13134               "type": "string"
13135             },
13136             "phase": {
13137               "type": "string"
13138             },
13139             "source-api-addrs": {
13140               "type": "array",
13141               "items": {
13142                 "type": "string"
13143               }
13144             },
13145             "source-ca-cert": {
13146               "type": "string"
13147             },
13148             "target-api-addrs": {
13149               "type": "array",
13150               "items": {
13151                 "type": "string"
13152               }
13153             },
13154             "target-ca-cert": {
13155               "type": "string"
13156             }
13157           },
13158           "additionalProperties": false,
13159           "required": [
13160             "migration-id",
13161             "attempt",
13162             "phase",
13163             "source-api-addrs",
13164             "source-ca-cert",
13165             "target-api-addrs",
13166             "target-ca-cert"
13167           ]
13168         }
13169       }
13170     }
13171   },
13172   {
13173     "Name": "MigrationTarget",
13174     "Version": 1,
13175     "Schema": {
13176       "type": "object",
13177       "properties": {
13178         "Abort": {
13179           "type": "object",
13180           "properties": {
13181             "Params": {
13182               "$ref": "#/definitions/ModelArgs"
13183             }
13184           }
13185         },
13186         "Activate": {
13187           "type": "object",
13188           "properties": {
13189             "Params": {
13190               "$ref": "#/definitions/ModelArgs"
13191             }
13192           }
13193         },
13194         "Import": {
13195           "type": "object",
13196           "properties": {
13197             "Params": {
13198               "$ref": "#/definitions/SerializedModel"
13199             }
13200           }
13201         },
13202         "Prechecks": {
13203           "type": "object",
13204           "properties": {
13205             "Params": {
13206               "$ref": "#/definitions/TargetPrechecksArgs"
13207             }
13208           }
13209         }
13210       },
13211       "definitions": {
13212         "ModelArgs": {
13213           "type": "object",
13214           "properties": {
13215             "model-tag": {
13216               "type": "string"
13217             }
13218           },
13219           "additionalProperties": false,
13220           "required": [
13221             "model-tag"
13222           ]
13223         },
13224         "Number": {
13225           "type": "object",
13226           "properties": {
13227             "Build": {
13228               "type": "integer"
13229             },
13230             "Major": {
13231               "type": "integer"
13232             },
13233             "Minor": {
13234               "type": "integer"
13235             },
13236             "Patch": {
13237               "type": "integer"
13238             },
13239             "Tag": {
13240               "type": "string"
13241             }
13242           },
13243           "additionalProperties": false,
13244           "required": [
13245             "Major",
13246             "Minor",
13247             "Tag",
13248             "Patch",
13249             "Build"
13250           ]
13251         },
13252         "SerializedModel": {
13253           "type": "object",
13254           "properties": {
13255             "bytes": {
13256               "type": "array",
13257               "items": {
13258                 "type": "integer"
13259               }
13260             },
13261             "charms": {
13262               "type": "array",
13263               "items": {
13264                 "type": "string"
13265               }
13266             },
13267             "tools": {
13268               "type": "array",
13269               "items": {
13270                 "$ref": "#/definitions/SerializedModelTools"
13271               }
13272             }
13273           },
13274           "additionalProperties": false,
13275           "required": [
13276             "bytes",
13277             "charms",
13278             "tools"
13279           ]
13280         },
13281         "SerializedModelTools": {
13282           "type": "object",
13283           "properties": {
13284             "uri": {
13285               "type": "string"
13286             },
13287             "version": {
13288               "type": "string"
13289             }
13290           },
13291           "additionalProperties": false,
13292           "required": [
13293             "version",
13294             "uri"
13295           ]
13296         },
13297         "TargetPrechecksArgs": {
13298           "type": "object",
13299           "properties": {
13300             "agent-version": {
13301               "$ref": "#/definitions/Number"
13302             }
13303           },
13304           "additionalProperties": false,
13305           "required": [
13306             "agent-version"
13307           ]
13308         }
13309       }
13310     }
13311   },
13312   {
13313     "Name": "ModelConfig",
13314     "Version": 1,
13315     "Schema": {
13316       "type": "object",
13317       "properties": {
13318         "ModelDefaults": {
13319           "type": "object",
13320           "properties": {
13321             "Result": {
13322               "$ref": "#/definitions/ModelDefaultsResult"
13323             }
13324           }
13325         },
13326         "ModelGet": {
13327           "type": "object",
13328           "properties": {
13329             "Result": {
13330               "$ref": "#/definitions/ModelConfigResults"
13331             }
13332           }
13333         },
13334         "ModelSet": {
13335           "type": "object",
13336           "properties": {
13337             "Params": {
13338               "$ref": "#/definitions/ModelSet"
13339             }
13340           }
13341         },
13342         "ModelUnset": {
13343           "type": "object",
13344           "properties": {
13345             "Params": {
13346               "$ref": "#/definitions/ModelUnset"
13347             }
13348           }
13349         },
13350         "SetModelDefaults": {
13351           "type": "object",
13352           "properties": {
13353             "Params": {
13354               "$ref": "#/definitions/SetModelDefaults"
13355             },
13356             "Result": {
13357               "$ref": "#/definitions/ErrorResults"
13358             }
13359           }
13360         },
13361         "UnsetModelDefaults": {
13362           "type": "object",
13363           "properties": {
13364             "Params": {
13365               "$ref": "#/definitions/UnsetModelDefaults"
13366             },
13367             "Result": {
13368               "$ref": "#/definitions/ErrorResults"
13369             }
13370           }
13371         }
13372       },
13373       "definitions": {
13374         "ConfigValue": {
13375           "type": "object",
13376           "properties": {
13377             "source": {
13378               "type": "string"
13379             },
13380             "value": {
13381               "type": "object",
13382               "additionalProperties": true
13383             }
13384           },
13385           "additionalProperties": false,
13386           "required": [
13387             "value",
13388             "source"
13389           ]
13390         },
13391         "Error": {
13392           "type": "object",
13393           "properties": {
13394             "code": {
13395               "type": "string"
13396             },
13397             "info": {
13398               "$ref": "#/definitions/ErrorInfo"
13399             },
13400             "message": {
13401               "type": "string"
13402             }
13403           },
13404           "additionalProperties": false,
13405           "required": [
13406             "message",
13407             "code"
13408           ]
13409         },
13410         "ErrorInfo": {
13411           "type": "object",
13412           "properties": {
13413             "macaroon": {
13414               "$ref": "#/definitions/Macaroon"
13415             },
13416             "macaroon-path": {
13417               "type": "string"
13418             }
13419           },
13420           "additionalProperties": false
13421         },
13422         "ErrorResult": {
13423           "type": "object",
13424           "properties": {
13425             "error": {
13426               "$ref": "#/definitions/Error"
13427             }
13428           },
13429           "additionalProperties": false
13430         },
13431         "ErrorResults": {
13432           "type": "object",
13433           "properties": {
13434             "results": {
13435               "type": "array",
13436               "items": {
13437                 "$ref": "#/definitions/ErrorResult"
13438               }
13439             }
13440           },
13441           "additionalProperties": false,
13442           "required": [
13443             "results"
13444           ]
13445         },
13446         "Macaroon": {
13447           "type": "object",
13448           "additionalProperties": false
13449         },
13450         "ModelConfigResults": {
13451           "type": "object",
13452           "properties": {
13453             "config": {
13454               "type": "object",
13455               "patternProperties": {
13456                 ".*": {
13457                   "$ref": "#/definitions/ConfigValue"
13458                 }
13459               }
13460             }
13461           },
13462           "additionalProperties": false,
13463           "required": [
13464             "config"
13465           ]
13466         },
13467         "ModelDefaultValues": {
13468           "type": "object",
13469           "properties": {
13470             "cloud-region": {
13471               "type": "string"
13472             },
13473             "cloud-tag": {
13474               "type": "string"
13475             },
13476             "config": {
13477               "type": "object",
13478               "patternProperties": {
13479                 ".*": {
13480                   "type": "object",
13481                   "additionalProperties": true
13482                 }
13483               }
13484             }
13485           },
13486           "additionalProperties": false,
13487           "required": [
13488             "config"
13489           ]
13490         },
13491         "ModelDefaults": {
13492           "type": "object",
13493           "properties": {
13494             "controller": {
13495               "type": "object",
13496               "additionalProperties": true
13497             },
13498             "default": {
13499               "type": "object",
13500               "additionalProperties": true
13501             },
13502             "regions": {
13503               "type": "array",
13504               "items": {
13505                 "$ref": "#/definitions/RegionDefaults"
13506               }
13507             }
13508           },
13509           "additionalProperties": false
13510         },
13511         "ModelDefaultsResult": {
13512           "type": "object",
13513           "properties": {
13514             "config": {
13515               "type": "object",
13516               "patternProperties": {
13517                 ".*": {
13518                   "$ref": "#/definitions/ModelDefaults"
13519                 }
13520               }
13521             }
13522           },
13523           "additionalProperties": false,
13524           "required": [
13525             "config"
13526           ]
13527         },
13528         "ModelSet": {
13529           "type": "object",
13530           "properties": {
13531             "config": {
13532               "type": "object",
13533               "patternProperties": {
13534                 ".*": {
13535                   "type": "object",
13536                   "additionalProperties": true
13537                 }
13538               }
13539             }
13540           },
13541           "additionalProperties": false,
13542           "required": [
13543             "config"
13544           ]
13545         },
13546         "ModelUnset": {
13547           "type": "object",
13548           "properties": {
13549             "keys": {
13550               "type": "array",
13551               "items": {
13552                 "type": "string"
13553               }
13554             }
13555           },
13556           "additionalProperties": false,
13557           "required": [
13558             "keys"
13559           ]
13560         },
13561         "ModelUnsetKeys": {
13562           "type": "object",
13563           "properties": {
13564             "cloud-region": {
13565               "type": "string"
13566             },
13567             "cloud-tag": {
13568               "type": "string"
13569             },
13570             "keys": {
13571               "type": "array",
13572               "items": {
13573                 "type": "string"
13574               }
13575             }
13576           },
13577           "additionalProperties": false,
13578           "required": [
13579             "keys"
13580           ]
13581         },
13582         "RegionDefaults": {
13583           "type": "object",
13584           "properties": {
13585             "region-name": {
13586               "type": "string"
13587             },
13588             "value": {
13589               "type": "object",
13590               "additionalProperties": true
13591             }
13592           },
13593           "additionalProperties": false,
13594           "required": [
13595             "region-name",
13596             "value"
13597           ]
13598         },
13599         "SetModelDefaults": {
13600           "type": "object",
13601           "properties": {
13602             "config": {
13603               "type": "array",
13604               "items": {
13605                 "$ref": "#/definitions/ModelDefaultValues"
13606               }
13607             }
13608           },
13609           "additionalProperties": false,
13610           "required": [
13611             "config"
13612           ]
13613         },
13614         "UnsetModelDefaults": {
13615           "type": "object",
13616           "properties": {
13617             "keys": {
13618               "type": "array",
13619               "items": {
13620                 "$ref": "#/definitions/ModelUnsetKeys"
13621               }
13622             }
13623           },
13624           "additionalProperties": false,
13625           "required": [
13626             "keys"
13627           ]
13628         }
13629       }
13630     }
13631   },
13632   {
13633     "Name": "ModelManager",
13634     "Version": 2,
13635     "Schema": {
13636       "type": "object",
13637       "properties": {
13638         "CreateModel": {
13639           "type": "object",
13640           "properties": {
13641             "Params": {
13642               "$ref": "#/definitions/ModelCreateArgs"
13643             },
13644             "Result": {
13645               "$ref": "#/definitions/ModelInfo"
13646             }
13647           }
13648         },
13649         "DestroyModel": {
13650           "type": "object"
13651         },
13652         "DestroyModels": {
13653           "type": "object",
13654           "properties": {
13655             "Params": {
13656               "$ref": "#/definitions/Entities"
13657             },
13658             "Result": {
13659               "$ref": "#/definitions/ErrorResults"
13660             }
13661           }
13662         },
13663         "DumpModels": {
13664           "type": "object",
13665           "properties": {
13666             "Params": {
13667               "$ref": "#/definitions/Entities"
13668             },
13669             "Result": {
13670               "$ref": "#/definitions/MapResults"
13671             }
13672           }
13673         },
13674         "DumpModelsDB": {
13675           "type": "object",
13676           "properties": {
13677             "Params": {
13678               "$ref": "#/definitions/Entities"
13679             },
13680             "Result": {
13681               "$ref": "#/definitions/MapResults"
13682             }
13683           }
13684         },
13685         "ListModels": {
13686           "type": "object",
13687           "properties": {
13688             "Params": {
13689               "$ref": "#/definitions/Entity"
13690             },
13691             "Result": {
13692               "$ref": "#/definitions/UserModelList"
13693             }
13694           }
13695         },
13696         "ModelInfo": {
13697           "type": "object",
13698           "properties": {
13699             "Params": {
13700               "$ref": "#/definitions/Entities"
13701             },
13702             "Result": {
13703               "$ref": "#/definitions/ModelInfoResults"
13704             }
13705           }
13706         },
13707         "ModifyModelAccess": {
13708           "type": "object",
13709           "properties": {
13710             "Params": {
13711               "$ref": "#/definitions/ModifyModelAccessRequest"
13712             },
13713             "Result": {
13714               "$ref": "#/definitions/ErrorResults"
13715             }
13716           }
13717         }
13718       },
13719       "definitions": {
13720         "Entities": {
13721           "type": "object",
13722           "properties": {
13723             "entities": {
13724               "type": "array",
13725               "items": {
13726                 "$ref": "#/definitions/Entity"
13727               }
13728             }
13729           },
13730           "additionalProperties": false,
13731           "required": [
13732             "entities"
13733           ]
13734         },
13735         "Entity": {
13736           "type": "object",
13737           "properties": {
13738             "tag": {
13739               "type": "string"
13740             }
13741           },
13742           "additionalProperties": false,
13743           "required": [
13744             "tag"
13745           ]
13746         },
13747         "EntityStatus": {
13748           "type": "object",
13749           "properties": {
13750             "data": {
13751               "type": "object",
13752               "patternProperties": {
13753                 ".*": {
13754                   "type": "object",
13755                   "additionalProperties": true
13756                 }
13757               }
13758             },
13759             "info": {
13760               "type": "string"
13761             },
13762             "since": {
13763               "type": "string",
13764               "format": "date-time"
13765             },
13766             "status": {
13767               "type": "string"
13768             }
13769           },
13770           "additionalProperties": false,
13771           "required": [
13772             "status",
13773             "info",
13774             "since"
13775           ]
13776         },
13777         "Error": {
13778           "type": "object",
13779           "properties": {
13780             "code": {
13781               "type": "string"
13782             },
13783             "info": {
13784               "$ref": "#/definitions/ErrorInfo"
13785             },
13786             "message": {
13787               "type": "string"
13788             }
13789           },
13790           "additionalProperties": false,
13791           "required": [
13792             "message",
13793             "code"
13794           ]
13795         },
13796         "ErrorInfo": {
13797           "type": "object",
13798           "properties": {
13799             "macaroon": {
13800               "$ref": "#/definitions/Macaroon"
13801             },
13802             "macaroon-path": {
13803               "type": "string"
13804             }
13805           },
13806           "additionalProperties": false
13807         },
13808         "ErrorResult": {
13809           "type": "object",
13810           "properties": {
13811             "error": {
13812               "$ref": "#/definitions/Error"
13813             }
13814           },
13815           "additionalProperties": false
13816         },
13817         "ErrorResults": {
13818           "type": "object",
13819           "properties": {
13820             "results": {
13821               "type": "array",
13822               "items": {
13823                 "$ref": "#/definitions/ErrorResult"
13824               }
13825             }
13826           },
13827           "additionalProperties": false,
13828           "required": [
13829             "results"
13830           ]
13831         },
13832         "Macaroon": {
13833           "type": "object",
13834           "additionalProperties": false
13835         },
13836         "MapResult": {
13837           "type": "object",
13838           "properties": {
13839             "error": {
13840               "$ref": "#/definitions/Error"
13841             },
13842             "result": {
13843               "type": "object",
13844               "patternProperties": {
13845                 ".*": {
13846                   "type": "object",
13847                   "additionalProperties": true
13848                 }
13849               }
13850             }
13851           },
13852           "additionalProperties": false,
13853           "required": [
13854             "result"
13855           ]
13856         },
13857         "MapResults": {
13858           "type": "object",
13859           "properties": {
13860             "results": {
13861               "type": "array",
13862               "items": {
13863                 "$ref": "#/definitions/MapResult"
13864               }
13865             }
13866           },
13867           "additionalProperties": false,
13868           "required": [
13869             "results"
13870           ]
13871         },
13872         "Model": {
13873           "type": "object",
13874           "properties": {
13875             "name": {
13876               "type": "string"
13877             },
13878             "owner-tag": {
13879               "type": "string"
13880             },
13881             "uuid": {
13882               "type": "string"
13883             }
13884           },
13885           "additionalProperties": false,
13886           "required": [
13887             "name",
13888             "uuid",
13889             "owner-tag"
13890           ]
13891         },
13892         "ModelCreateArgs": {
13893           "type": "object",
13894           "properties": {
13895             "cloud-tag": {
13896               "type": "string"
13897             },
13898             "config": {
13899               "type": "object",
13900               "patternProperties": {
13901                 ".*": {
13902                   "type": "object",
13903                   "additionalProperties": true
13904                 }
13905               }
13906             },
13907             "credential": {
13908               "type": "string"
13909             },
13910             "name": {
13911               "type": "string"
13912             },
13913             "owner-tag": {
13914               "type": "string"
13915             },
13916             "region": {
13917               "type": "string"
13918             }
13919           },
13920           "additionalProperties": false,
13921           "required": [
13922             "name",
13923             "owner-tag"
13924           ]
13925         },
13926         "ModelInfo": {
13927           "type": "object",
13928           "properties": {
13929             "cloud": {
13930               "type": "string"
13931             },
13932             "cloud-credential-tag": {
13933               "type": "string"
13934             },
13935             "cloud-region": {
13936               "type": "string"
13937             },
13938             "controller-uuid": {
13939               "type": "string"
13940             },
13941             "default-series": {
13942               "type": "string"
13943             },
13944             "life": {
13945               "type": "string"
13946             },
13947             "name": {
13948               "type": "string"
13949             },
13950             "owner-tag": {
13951               "type": "string"
13952             },
13953             "provider-type": {
13954               "type": "string"
13955             },
13956             "status": {
13957               "$ref": "#/definitions/EntityStatus"
13958             },
13959             "users": {
13960               "type": "array",
13961               "items": {
13962                 "$ref": "#/definitions/ModelUserInfo"
13963               }
13964             },
13965             "uuid": {
13966               "type": "string"
13967             }
13968           },
13969           "additionalProperties": false,
13970           "required": [
13971             "name",
13972             "uuid",
13973             "controller-uuid",
13974             "provider-type",
13975             "default-series",
13976             "cloud",
13977             "owner-tag",
13978             "life",
13979             "status",
13980             "users"
13981           ]
13982         },
13983         "ModelInfoResult": {
13984           "type": "object",
13985           "properties": {
13986             "error": {
13987               "$ref": "#/definitions/Error"
13988             },
13989             "result": {
13990               "$ref": "#/definitions/ModelInfo"
13991             }
13992           },
13993           "additionalProperties": false
13994         },
13995         "ModelInfoResults": {
13996           "type": "object",
13997           "properties": {
13998             "results": {
13999               "type": "array",
14000               "items": {
14001                 "$ref": "#/definitions/ModelInfoResult"
14002               }
14003             }
14004           },
14005           "additionalProperties": false,
14006           "required": [
14007             "results"
14008           ]
14009         },
14010         "ModelUserInfo": {
14011           "type": "object",
14012           "properties": {
14013             "access": {
14014               "type": "string"
14015             },
14016             "display-name": {
14017               "type": "string"
14018             },
14019             "last-connection": {
14020               "type": "string",
14021               "format": "date-time"
14022             },
14023             "user": {
14024               "type": "string"
14025             }
14026           },
14027           "additionalProperties": false,
14028           "required": [
14029             "user",
14030             "display-name",
14031             "last-connection",
14032             "access"
14033           ]
14034         },
14035         "ModifyModelAccess": {
14036           "type": "object",
14037           "properties": {
14038             "access": {
14039               "type": "string"
14040             },
14041             "action": {
14042               "type": "string"
14043             },
14044             "model-tag": {
14045               "type": "string"
14046             },
14047             "user-tag": {
14048               "type": "string"
14049             }
14050           },
14051           "additionalProperties": false,
14052           "required": [
14053             "user-tag",
14054             "action",
14055             "access",
14056             "model-tag"
14057           ]
14058         },
14059         "ModifyModelAccessRequest": {
14060           "type": "object",
14061           "properties": {
14062             "changes": {
14063               "type": "array",
14064               "items": {
14065                 "$ref": "#/definitions/ModifyModelAccess"
14066               }
14067             }
14068           },
14069           "additionalProperties": false,
14070           "required": [
14071             "changes"
14072           ]
14073         },
14074         "UserModel": {
14075           "type": "object",
14076           "properties": {
14077             "last-connection": {
14078               "type": "string",
14079               "format": "date-time"
14080             },
14081             "model": {
14082               "$ref": "#/definitions/Model"
14083             }
14084           },
14085           "additionalProperties": false,
14086           "required": [
14087             "model",
14088             "last-connection"
14089           ]
14090         },
14091         "UserModelList": {
14092           "type": "object",
14093           "properties": {
14094             "user-models": {
14095               "type": "array",
14096               "items": {
14097                 "$ref": "#/definitions/UserModel"
14098               }
14099             }
14100           },
14101           "additionalProperties": false,
14102           "required": [
14103             "user-models"
14104           ]
14105         }
14106       }
14107     }
14108   },
14109   {
14110     "Name": "NotifyWatcher",
14111     "Version": 1,
14112     "Schema": {
14113       "type": "object",
14114       "properties": {
14115         "Next": {
14116           "type": "object"
14117         },
14118         "Stop": {
14119           "type": "object"
14120         }
14121       }
14122     }
14123   },
14124   {
14125     "Name": "Pinger",
14126     "Version": 1,
14127     "Schema": {
14128       "type": "object",
14129       "properties": {
14130         "Ping": {
14131           "type": "object"
14132         },
14133         "Stop": {
14134           "type": "object"
14135         }
14136       }
14137     }
14138   },
14139   {
14140     "Name": "Provisioner",
14141     "Version": 3,
14142     "Schema": {
14143       "type": "object",
14144       "properties": {
14145         "APIAddresses": {
14146           "type": "object",
14147           "properties": {
14148             "Result": {
14149               "$ref": "#/definitions/StringsResult"
14150             }
14151           }
14152         },
14153         "APIHostPorts": {
14154           "type": "object",
14155           "properties": {
14156             "Result": {
14157               "$ref": "#/definitions/APIHostPortsResult"
14158             }
14159           }
14160         },
14161         "CACert": {
14162           "type": "object",
14163           "properties": {
14164             "Result": {
14165               "$ref": "#/definitions/BytesResult"
14166             }
14167           }
14168         },
14169         "Constraints": {
14170           "type": "object",
14171           "properties": {
14172             "Params": {
14173               "$ref": "#/definitions/Entities"
14174             },
14175             "Result": {
14176               "$ref": "#/definitions/ConstraintsResults"
14177             }
14178           }
14179         },
14180         "ContainerConfig": {
14181           "type": "object",
14182           "properties": {
14183             "Result": {
14184               "$ref": "#/definitions/ContainerConfig"
14185             }
14186           }
14187         },
14188         "ContainerManagerConfig": {
14189           "type": "object",
14190           "properties": {
14191             "Params": {
14192               "$ref": "#/definitions/ContainerManagerConfigParams"
14193             },
14194             "Result": {
14195               "$ref": "#/definitions/ContainerManagerConfig"
14196             }
14197           }
14198         },
14199         "ControllerConfig": {
14200           "type": "object",
14201           "properties": {
14202             "Result": {
14203               "$ref": "#/definitions/ControllerConfigResult"
14204             }
14205           }
14206         },
14207         "DistributionGroup": {
14208           "type": "object",
14209           "properties": {
14210             "Params": {
14211               "$ref": "#/definitions/Entities"
14212             },
14213             "Result": {
14214               "$ref": "#/definitions/DistributionGroupResults"
14215             }
14216           }
14217         },
14218         "EnsureDead": {
14219           "type": "object",
14220           "properties": {
14221             "Params": {
14222               "$ref": "#/definitions/Entities"
14223             },
14224             "Result": {
14225               "$ref": "#/definitions/ErrorResults"
14226             }
14227           }
14228         },
14229         "FindTools": {
14230           "type": "object",
14231           "properties": {
14232             "Params": {
14233               "$ref": "#/definitions/FindToolsParams"
14234             },
14235             "Result": {
14236               "$ref": "#/definitions/FindToolsResult"
14237             }
14238           }
14239         },
14240         "GetContainerInterfaceInfo": {
14241           "type": "object",
14242           "properties": {
14243             "Params": {
14244               "$ref": "#/definitions/Entities"
14245             },
14246             "Result": {
14247               "$ref": "#/definitions/MachineNetworkConfigResults"
14248             }
14249           }
14250         },
14251         "InstanceId": {
14252           "type": "object",
14253           "properties": {
14254             "Params": {
14255               "$ref": "#/definitions/Entities"
14256             },
14257             "Result": {
14258               "$ref": "#/definitions/StringResults"
14259             }
14260           }
14261         },
14262         "InstanceStatus": {
14263           "type": "object",
14264           "properties": {
14265             "Params": {
14266               "$ref": "#/definitions/Entities"
14267             },
14268             "Result": {
14269               "$ref": "#/definitions/StatusResults"
14270             }
14271           }
14272         },
14273         "Life": {
14274           "type": "object",
14275           "properties": {
14276             "Params": {
14277               "$ref": "#/definitions/Entities"
14278             },
14279             "Result": {
14280               "$ref": "#/definitions/LifeResults"
14281             }
14282           }
14283         },
14284         "MachinesWithTransientErrors": {
14285           "type": "object",
14286           "properties": {
14287             "Result": {
14288               "$ref": "#/definitions/StatusResults"
14289             }
14290           }
14291         },
14292         "MarkMachinesForRemoval": {
14293           "type": "object",
14294           "properties": {
14295             "Params": {
14296               "$ref": "#/definitions/Entities"
14297             },
14298             "Result": {
14299               "$ref": "#/definitions/ErrorResults"
14300             }
14301           }
14302         },
14303         "ModelConfig": {
14304           "type": "object",
14305           "properties": {
14306             "Result": {
14307               "$ref": "#/definitions/ModelConfigResult"
14308             }
14309           }
14310         },
14311         "ModelUUID": {
14312           "type": "object",
14313           "properties": {
14314             "Result": {
14315               "$ref": "#/definitions/StringResult"
14316             }
14317           }
14318         },
14319         "PrepareContainerInterfaceInfo": {
14320           "type": "object",
14321           "properties": {
14322             "Params": {
14323               "$ref": "#/definitions/Entities"
14324             },
14325             "Result": {
14326               "$ref": "#/definitions/MachineNetworkConfigResults"
14327             }
14328           }
14329         },
14330         "ProvisioningInfo": {
14331           "type": "object",
14332           "properties": {
14333             "Params": {
14334               "$ref": "#/definitions/Entities"
14335             },
14336             "Result": {
14337               "$ref": "#/definitions/ProvisioningInfoResults"
14338             }
14339           }
14340         },
14341         "ReleaseContainerAddresses": {
14342           "type": "object",
14343           "properties": {
14344             "Params": {
14345               "$ref": "#/definitions/Entities"
14346             },
14347             "Result": {
14348               "$ref": "#/definitions/ErrorResults"
14349             }
14350           }
14351         },
14352         "Remove": {
14353           "type": "object",
14354           "properties": {
14355             "Params": {
14356               "$ref": "#/definitions/Entities"
14357             },
14358             "Result": {
14359               "$ref": "#/definitions/ErrorResults"
14360             }
14361           }
14362         },
14363         "Series": {
14364           "type": "object",
14365           "properties": {
14366             "Params": {
14367               "$ref": "#/definitions/Entities"
14368             },
14369             "Result": {
14370               "$ref": "#/definitions/StringResults"
14371             }
14372           }
14373         },
14374         "SetInstanceInfo": {
14375           "type": "object",
14376           "properties": {
14377             "Params": {
14378               "$ref": "#/definitions/InstancesInfo"
14379             },
14380             "Result": {
14381               "$ref": "#/definitions/ErrorResults"
14382             }
14383           }
14384         },
14385         "SetInstanceStatus": {
14386           "type": "object",
14387           "properties": {
14388             "Params": {
14389               "$ref": "#/definitions/SetStatus"
14390             },
14391             "Result": {
14392               "$ref": "#/definitions/ErrorResults"
14393             }
14394           }
14395         },
14396         "SetPasswords": {
14397           "type": "object",
14398           "properties": {
14399             "Params": {
14400               "$ref": "#/definitions/EntityPasswords"
14401             },
14402             "Result": {
14403               "$ref": "#/definitions/ErrorResults"
14404             }
14405           }
14406         },
14407         "SetStatus": {
14408           "type": "object",
14409           "properties": {
14410             "Params": {
14411               "$ref": "#/definitions/SetStatus"
14412             },
14413             "Result": {
14414               "$ref": "#/definitions/ErrorResults"
14415             }
14416           }
14417         },
14418         "SetSupportedContainers": {
14419           "type": "object",
14420           "properties": {
14421             "Params": {
14422               "$ref": "#/definitions/MachineContainersParams"
14423             },
14424             "Result": {
14425               "$ref": "#/definitions/ErrorResults"
14426             }
14427           }
14428         },
14429         "StateAddresses": {
14430           "type": "object",
14431           "properties": {
14432             "Result": {
14433               "$ref": "#/definitions/StringsResult"
14434             }
14435           }
14436         },
14437         "Status": {
14438           "type": "object",
14439           "properties": {
14440             "Params": {
14441               "$ref": "#/definitions/Entities"
14442             },
14443             "Result": {
14444               "$ref": "#/definitions/StatusResults"
14445             }
14446           }
14447         },
14448         "Tools": {
14449           "type": "object",
14450           "properties": {
14451             "Params": {
14452               "$ref": "#/definitions/Entities"
14453             },
14454             "Result": {
14455               "$ref": "#/definitions/ToolsResults"
14456             }
14457           }
14458         },
14459         "UpdateStatus": {
14460           "type": "object",
14461           "properties": {
14462             "Params": {
14463               "$ref": "#/definitions/SetStatus"
14464             },
14465             "Result": {
14466               "$ref": "#/definitions/ErrorResults"
14467             }
14468           }
14469         },
14470         "WatchAPIHostPorts": {
14471           "type": "object",
14472           "properties": {
14473             "Result": {
14474               "$ref": "#/definitions/NotifyWatchResult"
14475             }
14476           }
14477         },
14478         "WatchAllContainers": {
14479           "type": "object",
14480           "properties": {
14481             "Params": {
14482               "$ref": "#/definitions/WatchContainers"
14483             },
14484             "Result": {
14485               "$ref": "#/definitions/StringsWatchResults"
14486             }
14487           }
14488         },
14489         "WatchContainers": {
14490           "type": "object",
14491           "properties": {
14492             "Params": {
14493               "$ref": "#/definitions/WatchContainers"
14494             },
14495             "Result": {
14496               "$ref": "#/definitions/StringsWatchResults"
14497             }
14498           }
14499         },
14500         "WatchForModelConfigChanges": {
14501           "type": "object",
14502           "properties": {
14503             "Result": {
14504               "$ref": "#/definitions/NotifyWatchResult"
14505             }
14506           }
14507         },
14508         "WatchMachineErrorRetry": {
14509           "type": "object",
14510           "properties": {
14511             "Result": {
14512               "$ref": "#/definitions/NotifyWatchResult"
14513             }
14514           }
14515         },
14516         "WatchModelMachines": {
14517           "type": "object",
14518           "properties": {
14519             "Result": {
14520               "$ref": "#/definitions/StringsWatchResult"
14521             }
14522           }
14523         }
14524       },
14525       "definitions": {
14526         "APIHostPortsResult": {
14527           "type": "object",
14528           "properties": {
14529             "servers": {
14530               "type": "array",
14531               "items": {
14532                 "type": "array",
14533                 "items": {
14534                   "$ref": "#/definitions/HostPort"
14535                 }
14536               }
14537             }
14538           },
14539           "additionalProperties": false,
14540           "required": [
14541             "servers"
14542           ]
14543         },
14544         "Address": {
14545           "type": "object",
14546           "properties": {
14547             "scope": {
14548               "type": "string"
14549             },
14550             "space-name": {
14551               "type": "string"
14552             },
14553             "type": {
14554               "type": "string"
14555             },
14556             "value": {
14557               "type": "string"
14558             }
14559           },
14560           "additionalProperties": false,
14561           "required": [
14562             "value",
14563             "type",
14564             "scope"
14565           ]
14566         },
14567         "Binary": {
14568           "type": "object",
14569           "properties": {
14570             "Arch": {
14571               "type": "string"
14572             },
14573             "Number": {
14574               "$ref": "#/definitions/Number"
14575             },
14576             "Series": {
14577               "type": "string"
14578             }
14579           },
14580           "additionalProperties": false,
14581           "required": [
14582             "Number",
14583             "Series",
14584             "Arch"
14585           ]
14586         },
14587         "BytesResult": {
14588           "type": "object",
14589           "properties": {
14590             "result": {
14591               "type": "array",
14592               "items": {
14593                 "type": "integer"
14594               }
14595             }
14596           },
14597           "additionalProperties": false,
14598           "required": [
14599             "result"
14600           ]
14601         },
14602         "CloudImageMetadata": {
14603           "type": "object",
14604           "properties": {
14605             "arch": {
14606               "type": "string"
14607             },
14608             "image-id": {
14609               "type": "string"
14610             },
14611             "priority": {
14612               "type": "integer"
14613             },
14614             "region": {
14615               "type": "string"
14616             },
14617             "root-storage-size": {
14618               "type": "integer"
14619             },
14620             "root-storage-type": {
14621               "type": "string"
14622             },
14623             "series": {
14624               "type": "string"
14625             },
14626             "source": {
14627               "type": "string"
14628             },
14629             "stream": {
14630               "type": "string"
14631             },
14632             "version": {
14633               "type": "string"
14634             },
14635             "virt-type": {
14636               "type": "string"
14637             }
14638           },
14639           "additionalProperties": false,
14640           "required": [
14641             "image-id",
14642             "region",
14643             "version",
14644             "series",
14645             "arch",
14646             "source",
14647             "priority"
14648           ]
14649         },
14650         "ConstraintsResult": {
14651           "type": "object",
14652           "properties": {
14653             "constraints": {
14654               "$ref": "#/definitions/Value"
14655             },
14656             "error": {
14657               "$ref": "#/definitions/Error"
14658             }
14659           },
14660           "additionalProperties": false,
14661           "required": [
14662             "constraints"
14663           ]
14664         },
14665         "ConstraintsResults": {
14666           "type": "object",
14667           "properties": {
14668             "results": {
14669               "type": "array",
14670               "items": {
14671                 "$ref": "#/definitions/ConstraintsResult"
14672               }
14673             }
14674           },
14675           "additionalProperties": false,
14676           "required": [
14677             "results"
14678           ]
14679         },
14680         "ContainerConfig": {
14681           "type": "object",
14682           "properties": {
14683             "UpdateBehavior": {
14684               "$ref": "#/definitions/UpdateBehavior"
14685             },
14686             "apt-mirror": {
14687               "type": "string"
14688             },
14689             "apt-proxy": {
14690               "$ref": "#/definitions/Settings"
14691             },
14692             "authorized-keys": {
14693               "type": "string"
14694             },
14695             "provider-type": {
14696               "type": "string"
14697             },
14698             "proxy": {
14699               "$ref": "#/definitions/Settings"
14700             },
14701             "ssl-hostname-verification": {
14702               "type": "boolean"
14703             }
14704           },
14705           "additionalProperties": false,
14706           "required": [
14707             "provider-type",
14708             "authorized-keys",
14709             "ssl-hostname-verification",
14710             "proxy",
14711             "apt-proxy",
14712             "apt-mirror",
14713             "UpdateBehavior"
14714           ]
14715         },
14716         "ContainerManagerConfig": {
14717           "type": "object",
14718           "properties": {
14719             "config": {
14720               "type": "object",
14721               "patternProperties": {
14722                 ".*": {
14723                   "type": "string"
14724                 }
14725               }
14726             }
14727           },
14728           "additionalProperties": false,
14729           "required": [
14730             "config"
14731           ]
14732         },
14733         "ContainerManagerConfigParams": {
14734           "type": "object",
14735           "properties": {
14736             "type": {
14737               "type": "string"
14738             }
14739           },
14740           "additionalProperties": false,
14741           "required": [
14742             "type"
14743           ]
14744         },
14745         "ControllerConfigResult": {
14746           "type": "object",
14747           "properties": {
14748             "config": {
14749               "type": "object",
14750               "patternProperties": {
14751                 ".*": {
14752                   "type": "object",
14753                   "additionalProperties": true
14754                 }
14755               }
14756             }
14757           },
14758           "additionalProperties": false,
14759           "required": [
14760             "config"
14761           ]
14762         },
14763         "DistributionGroupResult": {
14764           "type": "object",
14765           "properties": {
14766             "error": {
14767               "$ref": "#/definitions/Error"
14768             },
14769             "result": {
14770               "type": "array",
14771               "items": {
14772                 "type": "string"
14773               }
14774             }
14775           },
14776           "additionalProperties": false,
14777           "required": [
14778             "result"
14779           ]
14780         },
14781         "DistributionGroupResults": {
14782           "type": "object",
14783           "properties": {
14784             "results": {
14785               "type": "array",
14786               "items": {
14787                 "$ref": "#/definitions/DistributionGroupResult"
14788               }
14789             }
14790           },
14791           "additionalProperties": false,
14792           "required": [
14793             "results"
14794           ]
14795         },
14796         "Entities": {
14797           "type": "object",
14798           "properties": {
14799             "entities": {
14800               "type": "array",
14801               "items": {
14802                 "$ref": "#/definitions/Entity"
14803               }
14804             }
14805           },
14806           "additionalProperties": false,
14807           "required": [
14808             "entities"
14809           ]
14810         },
14811         "Entity": {
14812           "type": "object",
14813           "properties": {
14814             "tag": {
14815               "type": "string"
14816             }
14817           },
14818           "additionalProperties": false,
14819           "required": [
14820             "tag"
14821           ]
14822         },
14823         "EntityPassword": {
14824           "type": "object",
14825           "properties": {
14826             "password": {
14827               "type": "string"
14828             },
14829             "tag": {
14830               "type": "string"
14831             }
14832           },
14833           "additionalProperties": false,
14834           "required": [
14835             "tag",
14836             "password"
14837           ]
14838         },
14839         "EntityPasswords": {
14840           "type": "object",
14841           "properties": {
14842             "changes": {
14843               "type": "array",
14844               "items": {
14845                 "$ref": "#/definitions/EntityPassword"
14846               }
14847             }
14848           },
14849           "additionalProperties": false,
14850           "required": [
14851             "changes"
14852           ]
14853         },
14854         "EntityStatusArgs": {
14855           "type": "object",
14856           "properties": {
14857             "data": {
14858               "type": "object",
14859               "patternProperties": {
14860                 ".*": {
14861                   "type": "object",
14862                   "additionalProperties": true
14863                 }
14864               }
14865             },
14866             "info": {
14867               "type": "string"
14868             },
14869             "status": {
14870               "type": "string"
14871             },
14872             "tag": {
14873               "type": "string"
14874             }
14875           },
14876           "additionalProperties": false,
14877           "required": [
14878             "tag",
14879             "status",
14880             "info",
14881             "data"
14882           ]
14883         },
14884         "Error": {
14885           "type": "object",
14886           "properties": {
14887             "code": {
14888               "type": "string"
14889             },
14890             "info": {
14891               "$ref": "#/definitions/ErrorInfo"
14892             },
14893             "message": {
14894               "type": "string"
14895             }
14896           },
14897           "additionalProperties": false,
14898           "required": [
14899             "message",
14900             "code"
14901           ]
14902         },
14903         "ErrorInfo": {
14904           "type": "object",
14905           "properties": {
14906             "macaroon": {
14907               "$ref": "#/definitions/Macaroon"
14908             },
14909             "macaroon-path": {
14910               "type": "string"
14911             }
14912           },
14913           "additionalProperties": false
14914         },
14915         "ErrorResult": {
14916           "type": "object",
14917           "properties": {
14918             "error": {
14919               "$ref": "#/definitions/Error"
14920             }
14921           },
14922           "additionalProperties": false
14923         },
14924         "ErrorResults": {
14925           "type": "object",
14926           "properties": {
14927             "results": {
14928               "type": "array",
14929               "items": {
14930                 "$ref": "#/definitions/ErrorResult"
14931               }
14932             }
14933           },
14934           "additionalProperties": false,
14935           "required": [
14936             "results"
14937           ]
14938         },
14939         "FindToolsParams": {
14940           "type": "object",
14941           "properties": {
14942             "arch": {
14943               "type": "string"
14944             },
14945             "major": {
14946               "type": "integer"
14947             },
14948             "minor": {
14949               "type": "integer"
14950             },
14951             "number": {
14952               "$ref": "#/definitions/Number"
14953             },
14954             "series": {
14955               "type": "string"
14956             }
14957           },
14958           "additionalProperties": false,
14959           "required": [
14960             "number",
14961             "major",
14962             "minor",
14963             "arch",
14964             "series"
14965           ]
14966         },
14967         "FindToolsResult": {
14968           "type": "object",
14969           "properties": {
14970             "error": {
14971               "$ref": "#/definitions/Error"
14972             },
14973             "list": {
14974               "type": "array",
14975               "items": {
14976                 "$ref": "#/definitions/Tools"
14977               }
14978             }
14979           },
14980           "additionalProperties": false,
14981           "required": [
14982             "list"
14983           ]
14984         },
14985         "HardwareCharacteristics": {
14986           "type": "object",
14987           "properties": {
14988             "arch": {
14989               "type": "string"
14990             },
14991             "availability-zone": {
14992               "type": "string"
14993             },
14994             "cpu-cores": {
14995               "type": "integer"
14996             },
14997             "cpu-power": {
14998               "type": "integer"
14999             },
15000             "mem": {
15001               "type": "integer"
15002             },
15003             "root-disk": {
15004               "type": "integer"
15005             },
15006             "tags": {
15007               "type": "array",
15008               "items": {
15009                 "type": "string"
15010               }
15011             }
15012           },
15013           "additionalProperties": false
15014         },
15015         "HostPort": {
15016           "type": "object",
15017           "properties": {
15018             "Address": {
15019               "$ref": "#/definitions/Address"
15020             },
15021             "port": {
15022               "type": "integer"
15023             }
15024           },
15025           "additionalProperties": false,
15026           "required": [
15027             "Address",
15028             "port"
15029           ]
15030         },
15031         "InstanceInfo": {
15032           "type": "object",
15033           "properties": {
15034             "characteristics": {
15035               "$ref": "#/definitions/HardwareCharacteristics"
15036             },
15037             "instance-id": {
15038               "type": "string"
15039             },
15040             "network-config": {
15041               "type": "array",
15042               "items": {
15043                 "$ref": "#/definitions/NetworkConfig"
15044               }
15045             },
15046             "nonce": {
15047               "type": "string"
15048             },
15049             "tag": {
15050               "type": "string"
15051             },
15052             "volume-attachments": {
15053               "type": "object",
15054               "patternProperties": {
15055                 ".*": {
15056                   "$ref": "#/definitions/VolumeAttachmentInfo"
15057                 }
15058               }
15059             },
15060             "volumes": {
15061               "type": "array",
15062               "items": {
15063                 "$ref": "#/definitions/Volume"
15064               }
15065             }
15066           },
15067           "additionalProperties": false,
15068           "required": [
15069             "tag",
15070             "instance-id",
15071             "nonce",
15072             "characteristics",
15073             "volumes",
15074             "volume-attachments",
15075             "network-config"
15076           ]
15077         },
15078         "InstancesInfo": {
15079           "type": "object",
15080           "properties": {
15081             "machines": {
15082               "type": "array",
15083               "items": {
15084                 "$ref": "#/definitions/InstanceInfo"
15085               }
15086             }
15087           },
15088           "additionalProperties": false,
15089           "required": [
15090             "machines"
15091           ]
15092         },
15093         "LifeResult": {
15094           "type": "object",
15095           "properties": {
15096             "error": {
15097               "$ref": "#/definitions/Error"
15098             },
15099             "life": {
15100               "type": "string"
15101             }
15102           },
15103           "additionalProperties": false,
15104           "required": [
15105             "life"
15106           ]
15107         },
15108         "LifeResults": {
15109           "type": "object",
15110           "properties": {
15111             "results": {
15112               "type": "array",
15113               "items": {
15114                 "$ref": "#/definitions/LifeResult"
15115               }
15116             }
15117           },
15118           "additionalProperties": false,
15119           "required": [
15120             "results"
15121           ]
15122         },
15123         "Macaroon": {
15124           "type": "object",
15125           "additionalProperties": false
15126         },
15127         "MachineContainers": {
15128           "type": "object",
15129           "properties": {
15130             "container-types": {
15131               "type": "array",
15132               "items": {
15133                 "type": "string"
15134               }
15135             },
15136             "machine-tag": {
15137               "type": "string"
15138             }
15139           },
15140           "additionalProperties": false,
15141           "required": [
15142             "machine-tag",
15143             "container-types"
15144           ]
15145         },
15146         "MachineContainersParams": {
15147           "type": "object",
15148           "properties": {
15149             "params": {
15150               "type": "array",
15151               "items": {
15152                 "$ref": "#/definitions/MachineContainers"
15153               }
15154             }
15155           },
15156           "additionalProperties": false,
15157           "required": [
15158             "params"
15159           ]
15160         },
15161         "MachineNetworkConfigResult": {
15162           "type": "object",
15163           "properties": {
15164             "error": {
15165               "$ref": "#/definitions/Error"
15166             },
15167             "info": {
15168               "type": "array",
15169               "items": {
15170                 "$ref": "#/definitions/NetworkConfig"
15171               }
15172             }
15173           },
15174           "additionalProperties": false,
15175           "required": [
15176             "info"
15177           ]
15178         },
15179         "MachineNetworkConfigResults": {
15180           "type": "object",
15181           "properties": {
15182             "results": {
15183               "type": "array",
15184               "items": {
15185                 "$ref": "#/definitions/MachineNetworkConfigResult"
15186               }
15187             }
15188           },
15189           "additionalProperties": false,
15190           "required": [
15191             "results"
15192           ]
15193         },
15194         "ModelConfigResult": {
15195           "type": "object",
15196           "properties": {
15197             "config": {
15198               "type": "object",
15199               "patternProperties": {
15200                 ".*": {
15201                   "type": "object",
15202                   "additionalProperties": true
15203                 }
15204               }
15205             }
15206           },
15207           "additionalProperties": false,
15208           "required": [
15209             "config"
15210           ]
15211         },
15212         "NetworkConfig": {
15213           "type": "object",
15214           "properties": {
15215             "address": {
15216               "type": "string"
15217             },
15218             "cidr": {
15219               "type": "string"
15220             },
15221             "config-type": {
15222               "type": "string"
15223             },
15224             "device-index": {
15225               "type": "integer"
15226             },
15227             "disabled": {
15228               "type": "boolean"
15229             },
15230             "dns-search-domains": {
15231               "type": "array",
15232               "items": {
15233                 "type": "string"
15234               }
15235             },
15236             "dns-servers": {
15237               "type": "array",
15238               "items": {
15239                 "type": "string"
15240               }
15241             },
15242             "gateway-address": {
15243               "type": "string"
15244             },
15245             "interface-name": {
15246               "type": "string"
15247             },
15248             "interface-type": {
15249               "type": "string"
15250             },
15251             "mac-address": {
15252               "type": "string"
15253             },
15254             "mtu": {
15255               "type": "integer"
15256             },
15257             "no-auto-start": {
15258               "type": "boolean"
15259             },
15260             "parent-interface-name": {
15261               "type": "string"
15262             },
15263             "provider-address-id": {
15264               "type": "string"
15265             },
15266             "provider-id": {
15267               "type": "string"
15268             },
15269             "provider-space-id": {
15270               "type": "string"
15271             },
15272             "provider-subnet-id": {
15273               "type": "string"
15274             },
15275             "provider-vlan-id": {
15276               "type": "string"
15277             },
15278             "vlan-tag": {
15279               "type": "integer"
15280             }
15281           },
15282           "additionalProperties": false,
15283           "required": [
15284             "device-index",
15285             "mac-address",
15286             "cidr",
15287             "mtu",
15288             "provider-id",
15289             "provider-subnet-id",
15290             "provider-space-id",
15291             "provider-address-id",
15292             "provider-vlan-id",
15293             "vlan-tag",
15294             "interface-name",
15295             "parent-interface-name",
15296             "interface-type",
15297             "disabled"
15298           ]
15299         },
15300         "NotifyWatchResult": {
15301           "type": "object",
15302           "properties": {
15303             "NotifyWatcherId": {
15304               "type": "string"
15305             },
15306             "error": {
15307               "$ref": "#/definitions/Error"
15308             }
15309           },
15310           "additionalProperties": false,
15311           "required": [
15312             "NotifyWatcherId"
15313           ]
15314         },
15315         "Number": {
15316           "type": "object",
15317           "properties": {
15318             "Build": {
15319               "type": "integer"
15320             },
15321             "Major": {
15322               "type": "integer"
15323             },
15324             "Minor": {
15325               "type": "integer"
15326             },
15327             "Patch": {
15328               "type": "integer"
15329             },
15330             "Tag": {
15331               "type": "string"
15332             }
15333           },
15334           "additionalProperties": false,
15335           "required": [
15336             "Major",
15337             "Minor",
15338             "Tag",
15339             "Patch",
15340             "Build"
15341           ]
15342         },
15343         "ProvisioningInfo": {
15344           "type": "object",
15345           "properties": {
15346             "constraints": {
15347               "$ref": "#/definitions/Value"
15348             },
15349             "controller-config": {
15350               "type": "object",
15351               "patternProperties": {
15352                 ".*": {
15353                   "type": "object",
15354                   "additionalProperties": true
15355                 }
15356               }
15357             },
15358             "endpoint-bindings": {
15359               "type": "object",
15360               "patternProperties": {
15361                 ".*": {
15362                   "type": "string"
15363                 }
15364               }
15365             },
15366             "image-metadata": {
15367               "type": "array",
15368               "items": {
15369                 "$ref": "#/definitions/CloudImageMetadata"
15370               }
15371             },
15372             "jobs": {
15373               "type": "array",
15374               "items": {
15375                 "type": "string"
15376               }
15377             },
15378             "placement": {
15379               "type": "string"
15380             },
15381             "series": {
15382               "type": "string"
15383             },
15384             "subnets-to-zones": {
15385               "type": "object",
15386               "patternProperties": {
15387                 ".*": {
15388                   "type": "array",
15389                   "items": {
15390                     "type": "string"
15391                   }
15392                 }
15393               }
15394             },
15395             "tags": {
15396               "type": "object",
15397               "patternProperties": {
15398                 ".*": {
15399                   "type": "string"
15400                 }
15401               }
15402             },
15403             "volumes": {
15404               "type": "array",
15405               "items": {
15406                 "$ref": "#/definitions/VolumeParams"
15407               }
15408             }
15409           },
15410           "additionalProperties": false,
15411           "required": [
15412             "constraints",
15413             "series",
15414             "placement",
15415             "jobs"
15416           ]
15417         },
15418         "ProvisioningInfoResult": {
15419           "type": "object",
15420           "properties": {
15421             "error": {
15422               "$ref": "#/definitions/Error"
15423             },
15424             "result": {
15425               "$ref": "#/definitions/ProvisioningInfo"
15426             }
15427           },
15428           "additionalProperties": false,
15429           "required": [
15430             "result"
15431           ]
15432         },
15433         "ProvisioningInfoResults": {
15434           "type": "object",
15435           "properties": {
15436             "results": {
15437               "type": "array",
15438               "items": {
15439                 "$ref": "#/definitions/ProvisioningInfoResult"
15440               }
15441             }
15442           },
15443           "additionalProperties": false,
15444           "required": [
15445             "results"
15446           ]
15447         },
15448         "SetStatus": {
15449           "type": "object",
15450           "properties": {
15451             "entities": {
15452               "type": "array",
15453               "items": {
15454                 "$ref": "#/definitions/EntityStatusArgs"
15455               }
15456             }
15457           },
15458           "additionalProperties": false,
15459           "required": [
15460             "entities"
15461           ]
15462         },
15463         "Settings": {
15464           "type": "object",
15465           "properties": {
15466             "Ftp": {
15467               "type": "string"
15468             },
15469             "Http": {
15470               "type": "string"
15471             },
15472             "Https": {
15473               "type": "string"
15474             },
15475             "NoProxy": {
15476               "type": "string"
15477             }
15478           },
15479           "additionalProperties": false,
15480           "required": [
15481             "Http",
15482             "Https",
15483             "Ftp",
15484             "NoProxy"
15485           ]
15486         },
15487         "StatusResult": {
15488           "type": "object",
15489           "properties": {
15490             "data": {
15491               "type": "object",
15492               "patternProperties": {
15493                 ".*": {
15494                   "type": "object",
15495                   "additionalProperties": true
15496                 }
15497               }
15498             },
15499             "error": {
15500               "$ref": "#/definitions/Error"
15501             },
15502             "id": {
15503               "type": "string"
15504             },
15505             "info": {
15506               "type": "string"
15507             },
15508             "life": {
15509               "type": "string"
15510             },
15511             "since": {
15512               "type": "string",
15513               "format": "date-time"
15514             },
15515             "status": {
15516               "type": "string"
15517             }
15518           },
15519           "additionalProperties": false,
15520           "required": [
15521             "id",
15522             "life",
15523             "status",
15524             "info",
15525             "data",
15526             "since"
15527           ]
15528         },
15529         "StatusResults": {
15530           "type": "object",
15531           "properties": {
15532             "results": {
15533               "type": "array",
15534               "items": {
15535                 "$ref": "#/definitions/StatusResult"
15536               }
15537             }
15538           },
15539           "additionalProperties": false,
15540           "required": [
15541             "results"
15542           ]
15543         },
15544         "StringResult": {
15545           "type": "object",
15546           "properties": {
15547             "error": {
15548               "$ref": "#/definitions/Error"
15549             },
15550             "result": {
15551               "type": "string"
15552             }
15553           },
15554           "additionalProperties": false,
15555           "required": [
15556             "result"
15557           ]
15558         },
15559         "StringResults": {
15560           "type": "object",
15561           "properties": {
15562             "results": {
15563               "type": "array",
15564               "items": {
15565                 "$ref": "#/definitions/StringResult"
15566               }
15567             }
15568           },
15569           "additionalProperties": false,
15570           "required": [
15571             "results"
15572           ]
15573         },
15574         "StringsResult": {
15575           "type": "object",
15576           "properties": {
15577             "error": {
15578               "$ref": "#/definitions/Error"
15579             },
15580             "result": {
15581               "type": "array",
15582               "items": {
15583                 "type": "string"
15584               }
15585             }
15586           },
15587           "additionalProperties": false
15588         },
15589         "StringsWatchResult": {
15590           "type": "object",
15591           "properties": {
15592             "changes": {
15593               "type": "array",
15594               "items": {
15595                 "type": "string"
15596               }
15597             },
15598             "error": {
15599               "$ref": "#/definitions/Error"
15600             },
15601             "watcher-id": {
15602               "type": "string"
15603             }
15604           },
15605           "additionalProperties": false,
15606           "required": [
15607             "watcher-id"
15608           ]
15609         },
15610         "StringsWatchResults": {
15611           "type": "object",
15612           "properties": {
15613             "results": {
15614               "type": "array",
15615               "items": {
15616                 "$ref": "#/definitions/StringsWatchResult"
15617               }
15618             }
15619           },
15620           "additionalProperties": false,
15621           "required": [
15622             "results"
15623           ]
15624         },
15625         "Tools": {
15626           "type": "object",
15627           "properties": {
15628             "sha256": {
15629               "type": "string"
15630             },
15631             "size": {
15632               "type": "integer"
15633             },
15634             "url": {
15635               "type": "string"
15636             },
15637             "version": {
15638               "$ref": "#/definitions/Binary"
15639             }
15640           },
15641           "additionalProperties": false,
15642           "required": [
15643             "version",
15644             "url",
15645             "size"
15646           ]
15647         },
15648         "ToolsResult": {
15649           "type": "object",
15650           "properties": {
15651             "disable-ssl-hostname-verification": {
15652               "type": "boolean"
15653             },
15654             "error": {
15655               "$ref": "#/definitions/Error"
15656             },
15657             "tools": {
15658               "type": "array",
15659               "items": {
15660                 "$ref": "#/definitions/Tools"
15661               }
15662             }
15663           },
15664           "additionalProperties": false,
15665           "required": [
15666             "tools",
15667             "disable-ssl-hostname-verification"
15668           ]
15669         },
15670         "ToolsResults": {
15671           "type": "object",
15672           "properties": {
15673             "results": {
15674               "type": "array",
15675               "items": {
15676                 "$ref": "#/definitions/ToolsResult"
15677               }
15678             }
15679           },
15680           "additionalProperties": false,
15681           "required": [
15682             "results"
15683           ]
15684         },
15685         "UpdateBehavior": {
15686           "type": "object",
15687           "properties": {
15688             "enable-os-refresh-update": {
15689               "type": "boolean"
15690             },
15691             "enable-os-upgrade": {
15692               "type": "boolean"
15693             }
15694           },
15695           "additionalProperties": false,
15696           "required": [
15697             "enable-os-refresh-update",
15698             "enable-os-upgrade"
15699           ]
15700         },
15701         "Value": {
15702           "type": "object",
15703           "properties": {
15704             "arch": {
15705               "type": "string"
15706             },
15707             "container": {
15708               "type": "string"
15709             },
15710             "cpu-cores": {
15711               "type": "integer"
15712             },
15713             "cpu-power": {
15714               "type": "integer"
15715             },
15716             "instance-type": {
15717               "type": "string"
15718             },
15719             "mem": {
15720               "type": "integer"
15721             },
15722             "root-disk": {
15723               "type": "integer"
15724             },
15725             "spaces": {
15726               "type": "array",
15727               "items": {
15728                 "type": "string"
15729               }
15730             },
15731             "tags": {
15732               "type": "array",
15733               "items": {
15734                 "type": "string"
15735               }
15736             },
15737             "virt-type": {
15738               "type": "string"
15739             }
15740           },
15741           "additionalProperties": false
15742         },
15743         "Volume": {
15744           "type": "object",
15745           "properties": {
15746             "info": {
15747               "$ref": "#/definitions/VolumeInfo"
15748             },
15749             "volume-tag": {
15750               "type": "string"
15751             }
15752           },
15753           "additionalProperties": false,
15754           "required": [
15755             "volume-tag",
15756             "info"
15757           ]
15758         },
15759         "VolumeAttachmentInfo": {
15760           "type": "object",
15761           "properties": {
15762             "bus-address": {
15763               "type": "string"
15764             },
15765             "device-link": {
15766               "type": "string"
15767             },
15768             "device-name": {
15769               "type": "string"
15770             },
15771             "read-only": {
15772               "type": "boolean"
15773             }
15774           },
15775           "additionalProperties": false
15776         },
15777         "VolumeAttachmentParams": {
15778           "type": "object",
15779           "properties": {
15780             "instance-id": {
15781               "type": "string"
15782             },
15783             "machine-tag": {
15784               "type": "string"
15785             },
15786             "provider": {
15787               "type": "string"
15788             },
15789             "read-only": {
15790               "type": "boolean"
15791             },
15792             "volume-id": {
15793               "type": "string"
15794             },
15795             "volume-tag": {
15796               "type": "string"
15797             }
15798           },
15799           "additionalProperties": false,
15800           "required": [
15801             "volume-tag",
15802             "machine-tag",
15803             "provider"
15804           ]
15805         },
15806         "VolumeInfo": {
15807           "type": "object",
15808           "properties": {
15809             "hardware-id": {
15810               "type": "string"
15811             },
15812             "persistent": {
15813               "type": "boolean"
15814             },
15815             "size": {
15816               "type": "integer"
15817             },
15818             "volume-id": {
15819               "type": "string"
15820             }
15821           },
15822           "additionalProperties": false,
15823           "required": [
15824             "volume-id",
15825             "size",
15826             "persistent"
15827           ]
15828         },
15829         "VolumeParams": {
15830           "type": "object",
15831           "properties": {
15832             "attachment": {
15833               "$ref": "#/definitions/VolumeAttachmentParams"
15834             },
15835             "attributes": {
15836               "type": "object",
15837               "patternProperties": {
15838                 ".*": {
15839                   "type": "object",
15840                   "additionalProperties": true
15841                 }
15842               }
15843             },
15844             "provider": {
15845               "type": "string"
15846             },
15847             "size": {
15848               "type": "integer"
15849             },
15850             "tags": {
15851               "type": "object",
15852               "patternProperties": {
15853                 ".*": {
15854                   "type": "string"
15855                 }
15856               }
15857             },
15858             "volume-tag": {
15859               "type": "string"
15860             }
15861           },
15862           "additionalProperties": false,
15863           "required": [
15864             "volume-tag",
15865             "size",
15866             "provider"
15867           ]
15868         },
15869         "WatchContainer": {
15870           "type": "object",
15871           "properties": {
15872             "container-type": {
15873               "type": "string"
15874             },
15875             "machine-tag": {
15876               "type": "string"
15877             }
15878           },
15879           "additionalProperties": false,
15880           "required": [
15881             "machine-tag",
15882             "container-type"
15883           ]
15884         },
15885         "WatchContainers": {
15886           "type": "object",
15887           "properties": {
15888             "params": {
15889               "type": "array",
15890               "items": {
15891                 "$ref": "#/definitions/WatchContainer"
15892               }
15893             }
15894           },
15895           "additionalProperties": false,
15896           "required": [
15897             "params"
15898           ]
15899         }
15900       }
15901     }
15902   },
15903   {
15904     "Name": "ProxyUpdater",
15905     "Version": 1,
15906     "Schema": {
15907       "type": "object",
15908       "properties": {
15909         "ProxyConfig": {
15910           "type": "object",
15911           "properties": {
15912             "Params": {
15913               "$ref": "#/definitions/Entities"
15914             },
15915             "Result": {
15916               "$ref": "#/definitions/ProxyConfigResults"
15917             }
15918           }
15919         },
15920         "WatchForProxyConfigAndAPIHostPortChanges": {
15921           "type": "object",
15922           "properties": {
15923             "Params": {
15924               "$ref": "#/definitions/Entities"
15925             },
15926             "Result": {
15927               "$ref": "#/definitions/NotifyWatchResults"
15928             }
15929           }
15930         }
15931       },
15932       "definitions": {
15933         "Entities": {
15934           "type": "object",
15935           "properties": {
15936             "entities": {
15937               "type": "array",
15938               "items": {
15939                 "$ref": "#/definitions/Entity"
15940               }
15941             }
15942           },
15943           "additionalProperties": false,
15944           "required": [
15945             "entities"
15946           ]
15947         },
15948         "Entity": {
15949           "type": "object",
15950           "properties": {
15951             "tag": {
15952               "type": "string"
15953             }
15954           },
15955           "additionalProperties": false,
15956           "required": [
15957             "tag"
15958           ]
15959         },
15960         "Error": {
15961           "type": "object",
15962           "properties": {
15963             "code": {
15964               "type": "string"
15965             },
15966             "info": {
15967               "$ref": "#/definitions/ErrorInfo"
15968             },
15969             "message": {
15970               "type": "string"
15971             }
15972           },
15973           "additionalProperties": false,
15974           "required": [
15975             "message",
15976             "code"
15977           ]
15978         },
15979         "ErrorInfo": {
15980           "type": "object",
15981           "properties": {
15982             "macaroon": {
15983               "$ref": "#/definitions/Macaroon"
15984             },
15985             "macaroon-path": {
15986               "type": "string"
15987             }
15988           },
15989           "additionalProperties": false
15990         },
15991         "Macaroon": {
15992           "type": "object",
15993           "additionalProperties": false
15994         },
15995         "NotifyWatchResult": {
15996           "type": "object",
15997           "properties": {
15998             "NotifyWatcherId": {
15999               "type": "string"
16000             },
16001             "error": {
16002               "$ref": "#/definitions/Error"
16003             }
16004           },
16005           "additionalProperties": false,
16006           "required": [
16007             "NotifyWatcherId"
16008           ]
16009         },
16010         "NotifyWatchResults": {
16011           "type": "object",
16012           "properties": {
16013             "results": {
16014               "type": "array",
16015               "items": {
16016                 "$ref": "#/definitions/NotifyWatchResult"
16017               }
16018             }
16019           },
16020           "additionalProperties": false,
16021           "required": [
16022             "results"
16023           ]
16024         },
16025         "ProxyConfig": {
16026           "type": "object",
16027           "properties": {
16028             "ftp": {
16029               "type": "string"
16030             },
16031             "http": {
16032               "type": "string"
16033             },
16034             "https": {
16035               "type": "string"
16036             },
16037             "no-proxy": {
16038               "type": "string"
16039             }
16040           },
16041           "additionalProperties": false,
16042           "required": [
16043             "http",
16044             "https",
16045             "ftp",
16046             "no-proxy"
16047           ]
16048         },
16049         "ProxyConfigResult": {
16050           "type": "object",
16051           "properties": {
16052             "apt-proxy-settings": {
16053               "$ref": "#/definitions/ProxyConfig"
16054             },
16055             "error": {
16056               "$ref": "#/definitions/Error"
16057             },
16058             "proxy-settings": {
16059               "$ref": "#/definitions/ProxyConfig"
16060             }
16061           },
16062           "additionalProperties": false,
16063           "required": [
16064             "proxy-settings",
16065             "apt-proxy-settings"
16066           ]
16067         },
16068         "ProxyConfigResults": {
16069           "type": "object",
16070           "properties": {
16071             "results": {
16072               "type": "array",
16073               "items": {
16074                 "$ref": "#/definitions/ProxyConfigResult"
16075               }
16076             }
16077           },
16078           "additionalProperties": false,
16079           "required": [
16080             "results"
16081           ]
16082         }
16083       }
16084     }
16085   },
16086   {
16087     "Name": "Reboot",
16088     "Version": 2,
16089     "Schema": {
16090       "type": "object",
16091       "properties": {
16092         "ClearReboot": {
16093           "type": "object",
16094           "properties": {
16095             "Params": {
16096               "$ref": "#/definitions/Entities"
16097             },
16098             "Result": {
16099               "$ref": "#/definitions/ErrorResults"
16100             }
16101           }
16102         },
16103         "GetRebootAction": {
16104           "type": "object",
16105           "properties": {
16106             "Params": {
16107               "$ref": "#/definitions/Entities"
16108             },
16109             "Result": {
16110               "$ref": "#/definitions/RebootActionResults"
16111             }
16112           }
16113         },
16114         "RequestReboot": {
16115           "type": "object",
16116           "properties": {
16117             "Params": {
16118               "$ref": "#/definitions/Entities"
16119             },
16120             "Result": {
16121               "$ref": "#/definitions/ErrorResults"
16122             }
16123           }
16124         },
16125         "WatchForRebootEvent": {
16126           "type": "object",
16127           "properties": {
16128             "Result": {
16129               "$ref": "#/definitions/NotifyWatchResult"
16130             }
16131           }
16132         }
16133       },
16134       "definitions": {
16135         "Entities": {
16136           "type": "object",
16137           "properties": {
16138             "entities": {
16139               "type": "array",
16140               "items": {
16141                 "$ref": "#/definitions/Entity"
16142               }
16143             }
16144           },
16145           "additionalProperties": false,
16146           "required": [
16147             "entities"
16148           ]
16149         },
16150         "Entity": {
16151           "type": "object",
16152           "properties": {
16153             "tag": {
16154               "type": "string"
16155             }
16156           },
16157           "additionalProperties": false,
16158           "required": [
16159             "tag"
16160           ]
16161         },
16162         "Error": {
16163           "type": "object",
16164           "properties": {
16165             "code": {
16166               "type": "string"
16167             },
16168             "info": {
16169               "$ref": "#/definitions/ErrorInfo"
16170             },
16171             "message": {
16172               "type": "string"
16173             }
16174           },
16175           "additionalProperties": false,
16176           "required": [
16177             "message",
16178             "code"
16179           ]
16180         },
16181         "ErrorInfo": {
16182           "type": "object",
16183           "properties": {
16184             "macaroon": {
16185               "$ref": "#/definitions/Macaroon"
16186             },
16187             "macaroon-path": {
16188               "type": "string"
16189             }
16190           },
16191           "additionalProperties": false
16192         },
16193         "ErrorResult": {
16194           "type": "object",
16195           "properties": {
16196             "error": {
16197               "$ref": "#/definitions/Error"
16198             }
16199           },
16200           "additionalProperties": false
16201         },
16202         "ErrorResults": {
16203           "type": "object",
16204           "properties": {
16205             "results": {
16206               "type": "array",
16207               "items": {
16208                 "$ref": "#/definitions/ErrorResult"
16209               }
16210             }
16211           },
16212           "additionalProperties": false,
16213           "required": [
16214             "results"
16215           ]
16216         },
16217         "Macaroon": {
16218           "type": "object",
16219           "additionalProperties": false
16220         },
16221         "NotifyWatchResult": {
16222           "type": "object",
16223           "properties": {
16224             "NotifyWatcherId": {
16225               "type": "string"
16226             },
16227             "error": {
16228               "$ref": "#/definitions/Error"
16229             }
16230           },
16231           "additionalProperties": false,
16232           "required": [
16233             "NotifyWatcherId"
16234           ]
16235         },
16236         "RebootActionResult": {
16237           "type": "object",
16238           "properties": {
16239             "error": {
16240               "$ref": "#/definitions/Error"
16241             },
16242             "result": {
16243               "type": "string"
16244             }
16245           },
16246           "additionalProperties": false
16247         },
16248         "RebootActionResults": {
16249           "type": "object",
16250           "properties": {
16251             "results": {
16252               "type": "array",
16253               "items": {
16254                 "$ref": "#/definitions/RebootActionResult"
16255               }
16256             }
16257           },
16258           "additionalProperties": false
16259         }
16260       }
16261     }
16262   },
16263   {
16264     "Name": "RelationUnitsWatcher",
16265     "Version": 1,
16266     "Schema": {
16267       "type": "object",
16268       "properties": {
16269         "Next": {
16270           "type": "object",
16271           "properties": {
16272             "Result": {
16273               "$ref": "#/definitions/RelationUnitsWatchResult"
16274             }
16275           }
16276         },
16277         "Stop": {
16278           "type": "object"
16279         }
16280       },
16281       "definitions": {
16282         "Error": {
16283           "type": "object",
16284           "properties": {
16285             "code": {
16286               "type": "string"
16287             },
16288             "info": {
16289               "$ref": "#/definitions/ErrorInfo"
16290             },
16291             "message": {
16292               "type": "string"
16293             }
16294           },
16295           "additionalProperties": false,
16296           "required": [
16297             "message",
16298             "code"
16299           ]
16300         },
16301         "ErrorInfo": {
16302           "type": "object",
16303           "properties": {
16304             "macaroon": {
16305               "$ref": "#/definitions/Macaroon"
16306             },
16307             "macaroon-path": {
16308               "type": "string"
16309             }
16310           },
16311           "additionalProperties": false
16312         },
16313         "Macaroon": {
16314           "type": "object",
16315           "additionalProperties": false
16316         },
16317         "RelationUnitsChange": {
16318           "type": "object",
16319           "properties": {
16320             "changed": {
16321               "type": "object",
16322               "patternProperties": {
16323                 ".*": {
16324                   "$ref": "#/definitions/UnitSettings"
16325                 }
16326               }
16327             },
16328             "departed": {
16329               "type": "array",
16330               "items": {
16331                 "type": "string"
16332               }
16333             }
16334           },
16335           "additionalProperties": false,
16336           "required": [
16337             "changed"
16338           ]
16339         },
16340         "RelationUnitsWatchResult": {
16341           "type": "object",
16342           "properties": {
16343             "changes": {
16344               "$ref": "#/definitions/RelationUnitsChange"
16345             },
16346             "error": {
16347               "$ref": "#/definitions/Error"
16348             },
16349             "watcher-id": {
16350               "type": "string"
16351             }
16352           },
16353           "additionalProperties": false,
16354           "required": [
16355             "watcher-id",
16356             "changes"
16357           ]
16358         },
16359         "UnitSettings": {
16360           "type": "object",
16361           "properties": {
16362             "version": {
16363               "type": "integer"
16364             }
16365           },
16366           "additionalProperties": false,
16367           "required": [
16368             "version"
16369           ]
16370         }
16371       }
16372     }
16373   },
16374   {
16375     "Name": "Resumer",
16376     "Version": 2,
16377     "Schema": {
16378       "type": "object",
16379       "properties": {
16380         "ResumeTransactions": {
16381           "type": "object"
16382         }
16383       }
16384     }
16385   },
16386   {
16387     "Name": "RetryStrategy",
16388     "Version": 1,
16389     "Schema": {
16390       "type": "object",
16391       "properties": {
16392         "RetryStrategy": {
16393           "type": "object",
16394           "properties": {
16395             "Params": {
16396               "$ref": "#/definitions/Entities"
16397             },
16398             "Result": {
16399               "$ref": "#/definitions/RetryStrategyResults"
16400             }
16401           }
16402         },
16403         "WatchRetryStrategy": {
16404           "type": "object",
16405           "properties": {
16406             "Params": {
16407               "$ref": "#/definitions/Entities"
16408             },
16409             "Result": {
16410               "$ref": "#/definitions/NotifyWatchResults"
16411             }
16412           }
16413         }
16414       },
16415       "definitions": {
16416         "Entities": {
16417           "type": "object",
16418           "properties": {
16419             "entities": {
16420               "type": "array",
16421               "items": {
16422                 "$ref": "#/definitions/Entity"
16423               }
16424             }
16425           },
16426           "additionalProperties": false,
16427           "required": [
16428             "entities"
16429           ]
16430         },
16431         "Entity": {
16432           "type": "object",
16433           "properties": {
16434             "tag": {
16435               "type": "string"
16436             }
16437           },
16438           "additionalProperties": false,
16439           "required": [
16440             "tag"
16441           ]
16442         },
16443         "Error": {
16444           "type": "object",
16445           "properties": {
16446             "code": {
16447               "type": "string"
16448             },
16449             "info": {
16450               "$ref": "#/definitions/ErrorInfo"
16451             },
16452             "message": {
16453               "type": "string"
16454             }
16455           },
16456           "additionalProperties": false,
16457           "required": [
16458             "message",
16459             "code"
16460           ]
16461         },
16462         "ErrorInfo": {
16463           "type": "object",
16464           "properties": {
16465             "macaroon": {
16466               "$ref": "#/definitions/Macaroon"
16467             },
16468             "macaroon-path": {
16469               "type": "string"
16470             }
16471           },
16472           "additionalProperties": false
16473         },
16474         "Macaroon": {
16475           "type": "object",
16476           "additionalProperties": false
16477         },
16478         "NotifyWatchResult": {
16479           "type": "object",
16480           "properties": {
16481             "NotifyWatcherId": {
16482               "type": "string"
16483             },
16484             "error": {
16485               "$ref": "#/definitions/Error"
16486             }
16487           },
16488           "additionalProperties": false,
16489           "required": [
16490             "NotifyWatcherId"
16491           ]
16492         },
16493         "NotifyWatchResults": {
16494           "type": "object",
16495           "properties": {
16496             "results": {
16497               "type": "array",
16498               "items": {
16499                 "$ref": "#/definitions/NotifyWatchResult"
16500               }
16501             }
16502           },
16503           "additionalProperties": false,
16504           "required": [
16505             "results"
16506           ]
16507         },
16508         "RetryStrategy": {
16509           "type": "object",
16510           "properties": {
16511             "jitter-retry-time": {
16512               "type": "boolean"
16513             },
16514             "max-retry-time": {
16515               "type": "integer"
16516             },
16517             "min-retry-time": {
16518               "type": "integer"
16519             },
16520             "retry-time-factor": {
16521               "type": "integer"
16522             },
16523             "should-retry": {
16524               "type": "boolean"
16525             }
16526           },
16527           "additionalProperties": false,
16528           "required": [
16529             "should-retry",
16530             "min-retry-time",
16531             "max-retry-time",
16532             "jitter-retry-time",
16533             "retry-time-factor"
16534           ]
16535         },
16536         "RetryStrategyResult": {
16537           "type": "object",
16538           "properties": {
16539             "error": {
16540               "$ref": "#/definitions/Error"
16541             },
16542             "result": {
16543               "$ref": "#/definitions/RetryStrategy"
16544             }
16545           },
16546           "additionalProperties": false
16547         },
16548         "RetryStrategyResults": {
16549           "type": "object",
16550           "properties": {
16551             "results": {
16552               "type": "array",
16553               "items": {
16554                 "$ref": "#/definitions/RetryStrategyResult"
16555               }
16556             }
16557           },
16558           "additionalProperties": false,
16559           "required": [
16560             "results"
16561           ]
16562         }
16563       }
16564     }
16565   },
16566   {
16567     "Name": "SSHClient",
16568     "Version": 1,
16569     "Schema": {
16570       "type": "object",
16571       "properties": {
16572         "PrivateAddress": {
16573           "type": "object",
16574           "properties": {
16575             "Params": {
16576               "$ref": "#/definitions/Entities"
16577             },
16578             "Result": {
16579               "$ref": "#/definitions/SSHAddressResults"
16580             }
16581           }
16582         },
16583         "Proxy": {
16584           "type": "object",
16585           "properties": {
16586             "Result": {
16587               "$ref": "#/definitions/SSHProxyResult"
16588             }
16589           }
16590         },
16591         "PublicAddress": {
16592           "type": "object",
16593           "properties": {
16594             "Params": {
16595               "$ref": "#/definitions/Entities"
16596             },
16597             "Result": {
16598               "$ref": "#/definitions/SSHAddressResults"
16599             }
16600           }
16601         },
16602         "PublicKeys": {
16603           "type": "object",
16604           "properties": {
16605             "Params": {
16606               "$ref": "#/definitions/Entities"
16607             },
16608             "Result": {
16609               "$ref": "#/definitions/SSHPublicKeysResults"
16610             }
16611           }
16612         }
16613       },
16614       "definitions": {
16615         "Entities": {
16616           "type": "object",
16617           "properties": {
16618             "entities": {
16619               "type": "array",
16620               "items": {
16621                 "$ref": "#/definitions/Entity"
16622               }
16623             }
16624           },
16625           "additionalProperties": false,
16626           "required": [
16627             "entities"
16628           ]
16629         },
16630         "Entity": {
16631           "type": "object",
16632           "properties": {
16633             "tag": {
16634               "type": "string"
16635             }
16636           },
16637           "additionalProperties": false,
16638           "required": [
16639             "tag"
16640           ]
16641         },
16642         "Error": {
16643           "type": "object",
16644           "properties": {
16645             "code": {
16646               "type": "string"
16647             },
16648             "info": {
16649               "$ref": "#/definitions/ErrorInfo"
16650             },
16651             "message": {
16652               "type": "string"
16653             }
16654           },
16655           "additionalProperties": false,
16656           "required": [
16657             "message",
16658             "code"
16659           ]
16660         },
16661         "ErrorInfo": {
16662           "type": "object",
16663           "properties": {
16664             "macaroon": {
16665               "$ref": "#/definitions/Macaroon"
16666             },
16667             "macaroon-path": {
16668               "type": "string"
16669             }
16670           },
16671           "additionalProperties": false
16672         },
16673         "Macaroon": {
16674           "type": "object",
16675           "additionalProperties": false
16676         },
16677         "SSHAddressResult": {
16678           "type": "object",
16679           "properties": {
16680             "address": {
16681               "type": "string"
16682             },
16683             "error": {
16684               "$ref": "#/definitions/Error"
16685             }
16686           },
16687           "additionalProperties": false
16688         },
16689         "SSHAddressResults": {
16690           "type": "object",
16691           "properties": {
16692             "results": {
16693               "type": "array",
16694               "items": {
16695                 "$ref": "#/definitions/SSHAddressResult"
16696               }
16697             }
16698           },
16699           "additionalProperties": false,
16700           "required": [
16701             "results"
16702           ]
16703         },
16704         "SSHProxyResult": {
16705           "type": "object",
16706           "properties": {
16707             "use-proxy": {
16708               "type": "boolean"
16709             }
16710           },
16711           "additionalProperties": false,
16712           "required": [
16713             "use-proxy"
16714           ]
16715         },
16716         "SSHPublicKeysResult": {
16717           "type": "object",
16718           "properties": {
16719             "error": {
16720               "$ref": "#/definitions/Error"
16721             },
16722             "public-keys": {
16723               "type": "array",
16724               "items": {
16725                 "type": "string"
16726               }
16727             }
16728           },
16729           "additionalProperties": false
16730         },
16731         "SSHPublicKeysResults": {
16732           "type": "object",
16733           "properties": {
16734             "results": {
16735               "type": "array",
16736               "items": {
16737                 "$ref": "#/definitions/SSHPublicKeysResult"
16738               }
16739             }
16740           },
16741           "additionalProperties": false,
16742           "required": [
16743             "results"
16744           ]
16745         }
16746       }
16747     }
16748   },
16749   {
16750     "Name": "Singular",
16751     "Version": 1,
16752     "Schema": {
16753       "type": "object",
16754       "properties": {
16755         "Claim": {
16756           "type": "object",
16757           "properties": {
16758             "Params": {
16759               "$ref": "#/definitions/SingularClaims"
16760             },
16761             "Result": {
16762               "$ref": "#/definitions/ErrorResults"
16763             }
16764           }
16765         },
16766         "Wait": {
16767           "type": "object",
16768           "properties": {
16769             "Params": {
16770               "$ref": "#/definitions/Entities"
16771             },
16772             "Result": {
16773               "$ref": "#/definitions/ErrorResults"
16774             }
16775           }
16776         }
16777       },
16778       "definitions": {
16779         "Entities": {
16780           "type": "object",
16781           "properties": {
16782             "entities": {
16783               "type": "array",
16784               "items": {
16785                 "$ref": "#/definitions/Entity"
16786               }
16787             }
16788           },
16789           "additionalProperties": false,
16790           "required": [
16791             "entities"
16792           ]
16793         },
16794         "Entity": {
16795           "type": "object",
16796           "properties": {
16797             "tag": {
16798               "type": "string"
16799             }
16800           },
16801           "additionalProperties": false,
16802           "required": [
16803             "tag"
16804           ]
16805         },
16806         "Error": {
16807           "type": "object",
16808           "properties": {
16809             "code": {
16810               "type": "string"
16811             },
16812             "info": {
16813               "$ref": "#/definitions/ErrorInfo"
16814             },
16815             "message": {
16816               "type": "string"
16817             }
16818           },
16819           "additionalProperties": false,
16820           "required": [
16821             "message",
16822             "code"
16823           ]
16824         },
16825         "ErrorInfo": {
16826           "type": "object",
16827           "properties": {
16828             "macaroon": {
16829               "$ref": "#/definitions/Macaroon"
16830             },
16831             "macaroon-path": {
16832               "type": "string"
16833             }
16834           },
16835           "additionalProperties": false
16836         },
16837         "ErrorResult": {
16838           "type": "object",
16839           "properties": {
16840             "error": {
16841               "$ref": "#/definitions/Error"
16842             }
16843           },
16844           "additionalProperties": false
16845         },
16846         "ErrorResults": {
16847           "type": "object",
16848           "properties": {
16849             "results": {
16850               "type": "array",
16851               "items": {
16852                 "$ref": "#/definitions/ErrorResult"
16853               }
16854             }
16855           },
16856           "additionalProperties": false,
16857           "required": [
16858             "results"
16859           ]
16860         },
16861         "Macaroon": {
16862           "type": "object",
16863           "additionalProperties": false
16864         },
16865         "SingularClaim": {
16866           "type": "object",
16867           "properties": {
16868             "controller-tag": {
16869               "type": "string"
16870             },
16871             "duration": {
16872               "type": "integer"
16873             },
16874             "model-tag": {
16875               "type": "string"
16876             }
16877           },
16878           "additionalProperties": false,
16879           "required": [
16880             "model-tag",
16881             "controller-tag",
16882             "duration"
16883           ]
16884         },
16885         "SingularClaims": {
16886           "type": "object",
16887           "properties": {
16888             "claims": {
16889               "type": "array",
16890               "items": {
16891                 "$ref": "#/definitions/SingularClaim"
16892               }
16893             }
16894           },
16895           "additionalProperties": false,
16896           "required": [
16897             "claims"
16898           ]
16899         }
16900       }
16901     }
16902   },
16903   {
16904     "Name": "Spaces",
16905     "Version": 2,
16906     "Schema": {
16907       "type": "object",
16908       "properties": {
16909         "CreateSpaces": {
16910           "type": "object",
16911           "properties": {
16912             "Params": {
16913               "$ref": "#/definitions/CreateSpacesParams"
16914             },
16915             "Result": {
16916               "$ref": "#/definitions/ErrorResults"
16917             }
16918           }
16919         },
16920         "ListSpaces": {
16921           "type": "object",
16922           "properties": {
16923             "Result": {
16924               "$ref": "#/definitions/ListSpacesResults"
16925             }
16926           }
16927         }
16928       },
16929       "definitions": {
16930         "CreateSpaceParams": {
16931           "type": "object",
16932           "properties": {
16933             "provider-id": {
16934               "type": "string"
16935             },
16936             "public": {
16937               "type": "boolean"
16938             },
16939             "space-tag": {
16940               "type": "string"
16941             },
16942             "subnet-tags": {
16943               "type": "array",
16944               "items": {
16945                 "type": "string"
16946               }
16947             }
16948           },
16949           "additionalProperties": false,
16950           "required": [
16951             "subnet-tags",
16952             "space-tag",
16953             "public"
16954           ]
16955         },
16956         "CreateSpacesParams": {
16957           "type": "object",
16958           "properties": {
16959             "spaces": {
16960               "type": "array",
16961               "items": {
16962                 "$ref": "#/definitions/CreateSpaceParams"
16963               }
16964             }
16965           },
16966           "additionalProperties": false,
16967           "required": [
16968             "spaces"
16969           ]
16970         },
16971         "Error": {
16972           "type": "object",
16973           "properties": {
16974             "code": {
16975               "type": "string"
16976             },
16977             "info": {
16978               "$ref": "#/definitions/ErrorInfo"
16979             },
16980             "message": {
16981               "type": "string"
16982             }
16983           },
16984           "additionalProperties": false,
16985           "required": [
16986             "message",
16987             "code"
16988           ]
16989         },
16990         "ErrorInfo": {
16991           "type": "object",
16992           "properties": {
16993             "macaroon": {
16994               "$ref": "#/definitions/Macaroon"
16995             },
16996             "macaroon-path": {
16997               "type": "string"
16998             }
16999           },
17000           "additionalProperties": false
17001         },
17002         "ErrorResult": {
17003           "type": "object",
17004           "properties": {
17005             "error": {
17006               "$ref": "#/definitions/Error"
17007             }
17008           },
17009           "additionalProperties": false
17010         },
17011         "ErrorResults": {
17012           "type": "object",
17013           "properties": {
17014             "results": {
17015               "type": "array",
17016               "items": {
17017                 "$ref": "#/definitions/ErrorResult"
17018               }
17019             }
17020           },
17021           "additionalProperties": false,
17022           "required": [
17023             "results"
17024           ]
17025         },
17026         "ListSpacesResults": {
17027           "type": "object",
17028           "properties": {
17029             "results": {
17030               "type": "array",
17031               "items": {
17032                 "$ref": "#/definitions/Space"
17033               }
17034             }
17035           },
17036           "additionalProperties": false,
17037           "required": [
17038             "results"
17039           ]
17040         },
17041         "Macaroon": {
17042           "type": "object",
17043           "additionalProperties": false
17044         },
17045         "Space": {
17046           "type": "object",
17047           "properties": {
17048             "error": {
17049               "$ref": "#/definitions/Error"
17050             },
17051             "name": {
17052               "type": "string"
17053             },
17054             "subnets": {
17055               "type": "array",
17056               "items": {
17057                 "$ref": "#/definitions/Subnet"
17058               }
17059             }
17060           },
17061           "additionalProperties": false,
17062           "required": [
17063             "name",
17064             "subnets"
17065           ]
17066         },
17067         "Subnet": {
17068           "type": "object",
17069           "properties": {
17070             "cidr": {
17071               "type": "string"
17072             },
17073             "life": {
17074               "type": "string"
17075             },
17076             "provider-id": {
17077               "type": "string"
17078             },
17079             "space-tag": {
17080               "type": "string"
17081             },
17082             "status": {
17083               "type": "string"
17084             },
17085             "vlan-tag": {
17086               "type": "integer"
17087             },
17088             "zones": {
17089               "type": "array",
17090               "items": {
17091                 "type": "string"
17092               }
17093             }
17094           },
17095           "additionalProperties": false,
17096           "required": [
17097             "cidr",
17098             "vlan-tag",
17099             "life",
17100             "space-tag",
17101             "zones"
17102           ]
17103         }
17104       }
17105     }
17106   },
17107   {
17108     "Name": "StatusHistory",
17109     "Version": 2,
17110     "Schema": {
17111       "type": "object",
17112       "properties": {
17113         "Prune": {
17114           "type": "object",
17115           "properties": {
17116             "Params": {
17117               "$ref": "#/definitions/StatusHistoryPruneArgs"
17118             }
17119           }
17120         }
17121       },
17122       "definitions": {
17123         "StatusHistoryPruneArgs": {
17124           "type": "object",
17125           "properties": {
17126             "max-history-mb": {
17127               "type": "integer"
17128             },
17129             "max-history-time": {
17130               "type": "integer"
17131             }
17132           },
17133           "additionalProperties": false,
17134           "required": [
17135             "max-history-time",
17136             "max-history-mb"
17137           ]
17138         }
17139       }
17140     }
17141   },
17142   {
17143     "Name": "Storage",
17144     "Version": 3,
17145     "Schema": {
17146       "type": "object",
17147       "properties": {
17148         "AddToUnit": {
17149           "type": "object",
17150           "properties": {
17151             "Params": {
17152               "$ref": "#/definitions/StoragesAddParams"
17153             },
17154             "Result": {
17155               "$ref": "#/definitions/ErrorResults"
17156             }
17157           }
17158         },
17159         "CreatePool": {
17160           "type": "object",
17161           "properties": {
17162             "Params": {
17163               "$ref": "#/definitions/StoragePool"
17164             }
17165           }
17166         },
17167         "ListFilesystems": {
17168           "type": "object",
17169           "properties": {
17170             "Params": {
17171               "$ref": "#/definitions/FilesystemFilters"
17172             },
17173             "Result": {
17174               "$ref": "#/definitions/FilesystemDetailsListResults"
17175             }
17176           }
17177         },
17178         "ListPools": {
17179           "type": "object",
17180           "properties": {
17181             "Params": {
17182               "$ref": "#/definitions/StoragePoolFilters"
17183             },
17184             "Result": {
17185               "$ref": "#/definitions/StoragePoolsResults"
17186             }
17187           }
17188         },
17189         "ListStorageDetails": {
17190           "type": "object",
17191           "properties": {
17192             "Params": {
17193               "$ref": "#/definitions/StorageFilters"
17194             },
17195             "Result": {
17196               "$ref": "#/definitions/StorageDetailsListResults"
17197             }
17198           }
17199         },
17200         "ListVolumes": {
17201           "type": "object",
17202           "properties": {
17203             "Params": {
17204               "$ref": "#/definitions/VolumeFilters"
17205             },
17206             "Result": {
17207               "$ref": "#/definitions/VolumeDetailsListResults"
17208             }
17209           }
17210         },
17211         "StorageDetails": {
17212           "type": "object",
17213           "properties": {
17214             "Params": {
17215               "$ref": "#/definitions/Entities"
17216             },
17217             "Result": {
17218               "$ref": "#/definitions/StorageDetailsResults"
17219             }
17220           }
17221         }
17222       },
17223       "definitions": {
17224         "Entities": {
17225           "type": "object",
17226           "properties": {
17227             "entities": {
17228               "type": "array",
17229               "items": {
17230                 "$ref": "#/definitions/Entity"
17231               }
17232             }
17233           },
17234           "additionalProperties": false,
17235           "required": [
17236             "entities"
17237           ]
17238         },
17239         "Entity": {
17240           "type": "object",
17241           "properties": {
17242             "tag": {
17243               "type": "string"
17244             }
17245           },
17246           "additionalProperties": false,
17247           "required": [
17248             "tag"
17249           ]
17250         },
17251         "EntityStatus": {
17252           "type": "object",
17253           "properties": {
17254             "data": {
17255               "type": "object",
17256               "patternProperties": {
17257                 ".*": {
17258                   "type": "object",
17259                   "additionalProperties": true
17260                 }
17261               }
17262             },
17263             "info": {
17264               "type": "string"
17265             },
17266             "since": {
17267               "type": "string",
17268               "format": "date-time"
17269             },
17270             "status": {
17271               "type": "string"
17272             }
17273           },
17274           "additionalProperties": false,
17275           "required": [
17276             "status",
17277             "info",
17278             "since"
17279           ]
17280         },
17281         "Error": {
17282           "type": "object",
17283           "properties": {
17284             "code": {
17285               "type": "string"
17286             },
17287             "info": {
17288               "$ref": "#/definitions/ErrorInfo"
17289             },
17290             "message": {
17291               "type": "string"
17292             }
17293           },
17294           "additionalProperties": false,
17295           "required": [
17296             "message",
17297             "code"
17298           ]
17299         },
17300         "ErrorInfo": {
17301           "type": "object",
17302           "properties": {
17303             "macaroon": {
17304               "$ref": "#/definitions/Macaroon"
17305             },
17306             "macaroon-path": {
17307               "type": "string"
17308             }
17309           },
17310           "additionalProperties": false
17311         },
17312         "ErrorResult": {
17313           "type": "object",
17314           "properties": {
17315             "error": {
17316               "$ref": "#/definitions/Error"
17317             }
17318           },
17319           "additionalProperties": false
17320         },
17321         "ErrorResults": {
17322           "type": "object",
17323           "properties": {
17324             "results": {
17325               "type": "array",
17326               "items": {
17327                 "$ref": "#/definitions/ErrorResult"
17328               }
17329             }
17330           },
17331           "additionalProperties": false,
17332           "required": [
17333             "results"
17334           ]
17335         },
17336         "FilesystemAttachmentInfo": {
17337           "type": "object",
17338           "properties": {
17339             "mount-point": {
17340               "type": "string"
17341             },
17342             "read-only": {
17343               "type": "boolean"
17344             }
17345           },
17346           "additionalProperties": false
17347         },
17348         "FilesystemDetails": {
17349           "type": "object",
17350           "properties": {
17351             "filesystem-tag": {
17352               "type": "string"
17353             },
17354             "info": {
17355               "$ref": "#/definitions/FilesystemInfo"
17356             },
17357             "machine-attachments": {
17358               "type": "object",
17359               "patternProperties": {
17360                 ".*": {
17361                   "$ref": "#/definitions/FilesystemAttachmentInfo"
17362                 }
17363               }
17364             },
17365             "status": {
17366               "$ref": "#/definitions/EntityStatus"
17367             },
17368             "storage": {
17369               "$ref": "#/definitions/StorageDetails"
17370             },
17371             "volume-tag": {
17372               "type": "string"
17373             }
17374           },
17375           "additionalProperties": false,
17376           "required": [
17377             "filesystem-tag",
17378             "info",
17379             "status"
17380           ]
17381         },
17382         "FilesystemDetailsListResult": {
17383           "type": "object",
17384           "properties": {
17385             "error": {
17386               "$ref": "#/definitions/Error"
17387             },
17388             "result": {
17389               "type": "array",
17390               "items": {
17391                 "$ref": "#/definitions/FilesystemDetails"
17392               }
17393             }
17394           },
17395           "additionalProperties": false
17396         },
17397         "FilesystemDetailsListResults": {
17398           "type": "object",
17399           "properties": {
17400             "results": {
17401               "type": "array",
17402               "items": {
17403                 "$ref": "#/definitions/FilesystemDetailsListResult"
17404               }
17405             }
17406           },
17407           "additionalProperties": false
17408         },
17409         "FilesystemFilter": {
17410           "type": "object",
17411           "properties": {
17412             "machines": {
17413               "type": "array",
17414               "items": {
17415                 "type": "string"
17416               }
17417             }
17418           },
17419           "additionalProperties": false
17420         },
17421         "FilesystemFilters": {
17422           "type": "object",
17423           "properties": {
17424             "filters": {
17425               "type": "array",
17426               "items": {
17427                 "$ref": "#/definitions/FilesystemFilter"
17428               }
17429             }
17430           },
17431           "additionalProperties": false
17432         },
17433         "FilesystemInfo": {
17434           "type": "object",
17435           "properties": {
17436             "filesystem-id": {
17437               "type": "string"
17438             },
17439             "size": {
17440               "type": "integer"
17441             }
17442           },
17443           "additionalProperties": false,
17444           "required": [
17445             "filesystem-id",
17446             "size"
17447           ]
17448         },
17449         "Macaroon": {
17450           "type": "object",
17451           "additionalProperties": false
17452         },
17453         "StorageAddParams": {
17454           "type": "object",
17455           "properties": {
17456             "name": {
17457               "type": "string"
17458             },
17459             "storage": {
17460               "$ref": "#/definitions/StorageConstraints"
17461             },
17462             "unit": {
17463               "type": "string"
17464             }
17465           },
17466           "additionalProperties": false,
17467           "required": [
17468             "unit",
17469             "name",
17470             "storage"
17471           ]
17472         },
17473         "StorageAttachmentDetails": {
17474           "type": "object",
17475           "properties": {
17476             "location": {
17477               "type": "string"
17478             },
17479             "machine-tag": {
17480               "type": "string"
17481             },
17482             "storage-tag": {
17483               "type": "string"
17484             },
17485             "unit-tag": {
17486               "type": "string"
17487             }
17488           },
17489           "additionalProperties": false,
17490           "required": [
17491             "storage-tag",
17492             "unit-tag",
17493             "machine-tag"
17494           ]
17495         },
17496         "StorageConstraints": {
17497           "type": "object",
17498           "properties": {
17499             "count": {
17500               "type": "integer"
17501             },
17502             "pool": {
17503               "type": "string"
17504             },
17505             "size": {
17506               "type": "integer"
17507             }
17508           },
17509           "additionalProperties": false
17510         },
17511         "StorageDetails": {
17512           "type": "object",
17513           "properties": {
17514             "attachments": {
17515               "type": "object",
17516               "patternProperties": {
17517                 ".*": {
17518                   "$ref": "#/definitions/StorageAttachmentDetails"
17519                 }
17520               }
17521             },
17522             "kind": {
17523               "type": "integer"
17524             },
17525             "owner-tag": {
17526               "type": "string"
17527             },
17528             "persistent": {
17529               "type": "boolean"
17530             },
17531             "status": {
17532               "$ref": "#/definitions/EntityStatus"
17533             },
17534             "storage-tag": {
17535               "type": "string"
17536             }
17537           },
17538           "additionalProperties": false,
17539           "required": [
17540             "storage-tag",
17541             "owner-tag",
17542             "kind",
17543             "status",
17544             "persistent"
17545           ]
17546         },
17547         "StorageDetailsListResult": {
17548           "type": "object",
17549           "properties": {
17550             "error": {
17551               "$ref": "#/definitions/Error"
17552             },
17553             "result": {
17554               "type": "array",
17555               "items": {
17556                 "$ref": "#/definitions/StorageDetails"
17557               }
17558             }
17559           },
17560           "additionalProperties": false
17561         },
17562         "StorageDetailsListResults": {
17563           "type": "object",
17564           "properties": {
17565             "results": {
17566               "type": "array",
17567               "items": {
17568                 "$ref": "#/definitions/StorageDetailsListResult"
17569               }
17570             }
17571           },
17572           "additionalProperties": false
17573         },
17574         "StorageDetailsResult": {
17575           "type": "object",
17576           "properties": {
17577             "error": {
17578               "$ref": "#/definitions/Error"
17579             },
17580             "result": {
17581               "$ref": "#/definitions/StorageDetails"
17582             }
17583           },
17584           "additionalProperties": false
17585         },
17586         "StorageDetailsResults": {
17587           "type": "object",
17588           "properties": {
17589             "results": {
17590               "type": "array",
17591               "items": {
17592                 "$ref": "#/definitions/StorageDetailsResult"
17593               }
17594             }
17595           },
17596           "additionalProperties": false
17597         },
17598         "StorageFilter": {
17599           "type": "object",
17600           "additionalProperties": false
17601         },
17602         "StorageFilters": {
17603           "type": "object",
17604           "properties": {
17605             "filters": {
17606               "type": "array",
17607               "items": {
17608                 "$ref": "#/definitions/StorageFilter"
17609               }
17610             }
17611           },
17612           "additionalProperties": false
17613         },
17614         "StoragePool": {
17615           "type": "object",
17616           "properties": {
17617             "attrs": {
17618               "type": "object",
17619               "patternProperties": {
17620                 ".*": {
17621                   "type": "object",
17622                   "additionalProperties": true
17623                 }
17624               }
17625             },
17626             "name": {
17627               "type": "string"
17628             },
17629             "provider": {
17630               "type": "string"
17631             }
17632           },
17633           "additionalProperties": false,
17634           "required": [
17635             "name",
17636             "provider",
17637             "attrs"
17638           ]
17639         },
17640         "StoragePoolFilter": {
17641           "type": "object",
17642           "properties": {
17643             "names": {
17644               "type": "array",
17645               "items": {
17646                 "type": "string"
17647               }
17648             },
17649             "providers": {
17650               "type": "array",
17651               "items": {
17652                 "type": "string"
17653               }
17654             }
17655           },
17656           "additionalProperties": false
17657         },
17658         "StoragePoolFilters": {
17659           "type": "object",
17660           "properties": {
17661             "filters": {
17662               "type": "array",
17663               "items": {
17664                 "$ref": "#/definitions/StoragePoolFilter"
17665               }
17666             }
17667           },
17668           "additionalProperties": false
17669         },
17670         "StoragePoolsResult": {
17671           "type": "object",
17672           "properties": {
17673             "error": {
17674               "$ref": "#/definitions/Error"
17675             },
17676             "storage-pools": {
17677               "type": "array",
17678               "items": {
17679                 "$ref": "#/definitions/StoragePool"
17680               }
17681             }
17682           },
17683           "additionalProperties": false
17684         },
17685         "StoragePoolsResults": {
17686           "type": "object",
17687           "properties": {
17688             "results": {
17689               "type": "array",
17690               "items": {
17691                 "$ref": "#/definitions/StoragePoolsResult"
17692               }
17693             }
17694           },
17695           "additionalProperties": false
17696         },
17697         "StoragesAddParams": {
17698           "type": "object",
17699           "properties": {
17700             "storages": {
17701               "type": "array",
17702               "items": {
17703                 "$ref": "#/definitions/StorageAddParams"
17704               }
17705             }
17706           },
17707           "additionalProperties": false,
17708           "required": [
17709             "storages"
17710           ]
17711         },
17712         "VolumeAttachmentInfo": {
17713           "type": "object",
17714           "properties": {
17715             "bus-address": {
17716               "type": "string"
17717             },
17718             "device-link": {
17719               "type": "string"
17720             },
17721             "device-name": {
17722               "type": "string"
17723             },
17724             "read-only": {
17725               "type": "boolean"
17726             }
17727           },
17728           "additionalProperties": false
17729         },
17730         "VolumeDetails": {
17731           "type": "object",
17732           "properties": {
17733             "info": {
17734               "$ref": "#/definitions/VolumeInfo"
17735             },
17736             "machine-attachments": {
17737               "type": "object",
17738               "patternProperties": {
17739                 ".*": {
17740                   "$ref": "#/definitions/VolumeAttachmentInfo"
17741                 }
17742               }
17743             },
17744             "status": {
17745               "$ref": "#/definitions/EntityStatus"
17746             },
17747             "storage": {
17748               "$ref": "#/definitions/StorageDetails"
17749             },
17750             "volume-tag": {
17751               "type": "string"
17752             }
17753           },
17754           "additionalProperties": false,
17755           "required": [
17756             "volume-tag",
17757             "info",
17758             "status"
17759           ]
17760         },
17761         "VolumeDetailsListResult": {
17762           "type": "object",
17763           "properties": {
17764             "error": {
17765               "$ref": "#/definitions/Error"
17766             },
17767             "result": {
17768               "type": "array",
17769               "items": {
17770                 "$ref": "#/definitions/VolumeDetails"
17771               }
17772             }
17773           },
17774           "additionalProperties": false
17775         },
17776         "VolumeDetailsListResults": {
17777           "type": "object",
17778           "properties": {
17779             "results": {
17780               "type": "array",
17781               "items": {
17782                 "$ref": "#/definitions/VolumeDetailsListResult"
17783               }
17784             }
17785           },
17786           "additionalProperties": false
17787         },
17788         "VolumeFilter": {
17789           "type": "object",
17790           "properties": {
17791             "machines": {
17792               "type": "array",
17793               "items": {
17794                 "type": "string"
17795               }
17796             }
17797           },
17798           "additionalProperties": false
17799         },
17800         "VolumeFilters": {
17801           "type": "object",
17802           "properties": {
17803             "filters": {
17804               "type": "array",
17805               "items": {
17806                 "$ref": "#/definitions/VolumeFilter"
17807               }
17808             }
17809           },
17810           "additionalProperties": false
17811         },
17812         "VolumeInfo": {
17813           "type": "object",
17814           "properties": {
17815             "hardware-id": {
17816               "type": "string"
17817             },
17818             "persistent": {
17819               "type": "boolean"
17820             },
17821             "size": {
17822               "type": "integer"
17823             },
17824             "volume-id": {
17825               "type": "string"
17826             }
17827           },
17828           "additionalProperties": false,
17829           "required": [
17830             "volume-id",
17831             "size",
17832             "persistent"
17833           ]
17834         }
17835       }
17836     }
17837   },
17838   {
17839     "Name": "StorageProvisioner",
17840     "Version": 3,
17841     "Schema": {
17842       "type": "object",
17843       "properties": {
17844         "AttachmentLife": {
17845           "type": "object",
17846           "properties": {
17847             "Params": {
17848               "$ref": "#/definitions/MachineStorageIds"
17849             },
17850             "Result": {
17851               "$ref": "#/definitions/LifeResults"
17852             }
17853           }
17854         },
17855         "EnsureDead": {
17856           "type": "object",
17857           "properties": {
17858             "Params": {
17859               "$ref": "#/definitions/Entities"
17860             },
17861             "Result": {
17862               "$ref": "#/definitions/ErrorResults"
17863             }
17864           }
17865         },
17866         "FilesystemAttachmentParams": {
17867           "type": "object",
17868           "properties": {
17869             "Params": {
17870               "$ref": "#/definitions/MachineStorageIds"
17871             },
17872             "Result": {
17873               "$ref": "#/definitions/FilesystemAttachmentParamsResults"
17874             }
17875           }
17876         },
17877         "FilesystemAttachments": {
17878           "type": "object",
17879           "properties": {
17880             "Params": {
17881               "$ref": "#/definitions/MachineStorageIds"
17882             },
17883             "Result": {
17884               "$ref": "#/definitions/FilesystemAttachmentResults"
17885             }
17886           }
17887         },
17888         "FilesystemParams": {
17889           "type": "object",
17890           "properties": {
17891             "Params": {
17892               "$ref": "#/definitions/Entities"
17893             },
17894             "Result": {
17895               "$ref": "#/definitions/FilesystemParamsResults"
17896             }
17897           }
17898         },
17899         "Filesystems": {
17900           "type": "object",
17901           "properties": {
17902             "Params": {
17903               "$ref": "#/definitions/Entities"
17904             },
17905             "Result": {
17906               "$ref": "#/definitions/FilesystemResults"
17907             }
17908           }
17909         },
17910         "InstanceId": {
17911           "type": "object",
17912           "properties": {
17913             "Params": {
17914               "$ref": "#/definitions/Entities"
17915             },
17916             "Result": {
17917               "$ref": "#/definitions/StringResults"
17918             }
17919           }
17920         },
17921         "Life": {
17922           "type": "object",
17923           "properties": {
17924             "Params": {
17925               "$ref": "#/definitions/Entities"
17926             },
17927             "Result": {
17928               "$ref": "#/definitions/LifeResults"
17929             }
17930           }
17931         },
17932         "Remove": {
17933           "type": "object",
17934           "properties": {
17935             "Params": {
17936               "$ref": "#/definitions/Entities"
17937             },
17938             "Result": {
17939               "$ref": "#/definitions/ErrorResults"
17940             }
17941           }
17942         },
17943         "RemoveAttachment": {
17944           "type": "object",
17945           "properties": {
17946             "Params": {
17947               "$ref": "#/definitions/MachineStorageIds"
17948             },
17949             "Result": {
17950               "$ref": "#/definitions/ErrorResults"
17951             }
17952           }
17953         },
17954         "SetFilesystemAttachmentInfo": {
17955           "type": "object",
17956           "properties": {
17957             "Params": {
17958               "$ref": "#/definitions/FilesystemAttachments"
17959             },
17960             "Result": {
17961               "$ref": "#/definitions/ErrorResults"
17962             }
17963           }
17964         },
17965         "SetFilesystemInfo": {
17966           "type": "object",
17967           "properties": {
17968             "Params": {
17969               "$ref": "#/definitions/Filesystems"
17970             },
17971             "Result": {
17972               "$ref": "#/definitions/ErrorResults"
17973             }
17974           }
17975         },
17976         "SetStatus": {
17977           "type": "object",
17978           "properties": {
17979             "Params": {
17980               "$ref": "#/definitions/SetStatus"
17981             },
17982             "Result": {
17983               "$ref": "#/definitions/ErrorResults"
17984             }
17985           }
17986         },
17987         "SetVolumeAttachmentInfo": {
17988           "type": "object",
17989           "properties": {
17990             "Params": {
17991               "$ref": "#/definitions/VolumeAttachments"
17992             },
17993             "Result": {
17994               "$ref": "#/definitions/ErrorResults"
17995             }
17996           }
17997         },
17998         "SetVolumeInfo": {
17999           "type": "object",
18000           "properties": {
18001             "Params": {
18002               "$ref": "#/definitions/Volumes"
18003             },
18004             "Result": {
18005               "$ref": "#/definitions/ErrorResults"
18006             }
18007           }
18008         },
18009         "UpdateStatus": {
18010           "type": "object",
18011           "properties": {
18012             "Params": {
18013               "$ref": "#/definitions/SetStatus"
18014             },
18015             "Result": {
18016               "$ref": "#/definitions/ErrorResults"
18017             }
18018           }
18019         },
18020         "VolumeAttachmentParams": {
18021           "type": "object",
18022           "properties": {
18023             "Params": {
18024               "$ref": "#/definitions/MachineStorageIds"
18025             },
18026             "Result": {
18027               "$ref": "#/definitions/VolumeAttachmentParamsResults"
18028             }
18029           }
18030         },
18031         "VolumeAttachments": {
18032           "type": "object",
18033           "properties": {
18034             "Params": {
18035               "$ref": "#/definitions/MachineStorageIds"
18036             },
18037             "Result": {
18038               "$ref": "#/definitions/VolumeAttachmentResults"
18039             }
18040           }
18041         },
18042         "VolumeBlockDevices": {
18043           "type": "object",
18044           "properties": {
18045             "Params": {
18046               "$ref": "#/definitions/MachineStorageIds"
18047             },
18048             "Result": {
18049               "$ref": "#/definitions/BlockDeviceResults"
18050             }
18051           }
18052         },
18053         "VolumeParams": {
18054           "type": "object",
18055           "properties": {
18056             "Params": {
18057               "$ref": "#/definitions/Entities"
18058             },
18059             "Result": {
18060               "$ref": "#/definitions/VolumeParamsResults"
18061             }
18062           }
18063         },
18064         "Volumes": {
18065           "type": "object",
18066           "properties": {
18067             "Params": {
18068               "$ref": "#/definitions/Entities"
18069             },
18070             "Result": {
18071               "$ref": "#/definitions/VolumeResults"
18072             }
18073           }
18074         },
18075         "WatchBlockDevices": {
18076           "type": "object",
18077           "properties": {
18078             "Params": {
18079               "$ref": "#/definitions/Entities"
18080             },
18081             "Result": {
18082               "$ref": "#/definitions/NotifyWatchResults"
18083             }
18084           }
18085         },
18086         "WatchFilesystemAttachments": {
18087           "type": "object",
18088           "properties": {
18089             "Params": {
18090               "$ref": "#/definitions/Entities"
18091             },
18092             "Result": {
18093               "$ref": "#/definitions/MachineStorageIdsWatchResults"
18094             }
18095           }
18096         },
18097         "WatchFilesystems": {
18098           "type": "object",
18099           "properties": {
18100             "Params": {
18101               "$ref": "#/definitions/Entities"
18102             },
18103             "Result": {
18104               "$ref": "#/definitions/StringsWatchResults"
18105             }
18106           }
18107         },
18108         "WatchMachines": {
18109           "type": "object",
18110           "properties": {
18111             "Params": {
18112               "$ref": "#/definitions/Entities"
18113             },
18114             "Result": {
18115               "$ref": "#/definitions/NotifyWatchResults"
18116             }
18117           }
18118         },
18119         "WatchVolumeAttachments": {
18120           "type": "object",
18121           "properties": {
18122             "Params": {
18123               "$ref": "#/definitions/Entities"
18124             },
18125             "Result": {
18126               "$ref": "#/definitions/MachineStorageIdsWatchResults"
18127             }
18128           }
18129         },
18130         "WatchVolumes": {
18131           "type": "object",
18132           "properties": {
18133             "Params": {
18134               "$ref": "#/definitions/Entities"
18135             },
18136             "Result": {
18137               "$ref": "#/definitions/StringsWatchResults"
18138             }
18139           }
18140         }
18141       },
18142       "definitions": {
18143         "BlockDevice": {
18144           "type": "object",
18145           "properties": {
18146             "BusAddress": {
18147               "type": "string"
18148             },
18149             "DeviceLinks": {
18150               "type": "array",
18151               "items": {
18152                 "type": "string"
18153               }
18154             },
18155             "DeviceName": {
18156               "type": "string"
18157             },
18158             "FilesystemType": {
18159               "type": "string"
18160             },
18161             "HardwareId": {
18162               "type": "string"
18163             },
18164             "InUse": {
18165               "type": "boolean"
18166             },
18167             "Label": {
18168               "type": "string"
18169             },
18170             "MountPoint": {
18171               "type": "string"
18172             },
18173             "Size": {
18174               "type": "integer"
18175             },
18176             "UUID": {
18177               "type": "string"
18178             }
18179           },
18180           "additionalProperties": false,
18181           "required": [
18182             "DeviceName",
18183             "DeviceLinks",
18184             "Label",
18185             "UUID",
18186             "HardwareId",
18187             "BusAddress",
18188             "Size",
18189             "FilesystemType",
18190             "InUse",
18191             "MountPoint"
18192           ]
18193         },
18194         "BlockDeviceResult": {
18195           "type": "object",
18196           "properties": {
18197             "error": {
18198               "$ref": "#/definitions/Error"
18199             },
18200             "result": {
18201               "$ref": "#/definitions/BlockDevice"
18202             }
18203           },
18204           "additionalProperties": false,
18205           "required": [
18206             "result"
18207           ]
18208         },
18209         "BlockDeviceResults": {
18210           "type": "object",
18211           "properties": {
18212             "results": {
18213               "type": "array",
18214               "items": {
18215                 "$ref": "#/definitions/BlockDeviceResult"
18216               }
18217             }
18218           },
18219           "additionalProperties": false
18220         },
18221         "Entities": {
18222           "type": "object",
18223           "properties": {
18224             "entities": {
18225               "type": "array",
18226               "items": {
18227                 "$ref": "#/definitions/Entity"
18228               }
18229             }
18230           },
18231           "additionalProperties": false,
18232           "required": [
18233             "entities"
18234           ]
18235         },
18236         "Entity": {
18237           "type": "object",
18238           "properties": {
18239             "tag": {
18240               "type": "string"
18241             }
18242           },
18243           "additionalProperties": false,
18244           "required": [
18245             "tag"
18246           ]
18247         },
18248         "EntityStatusArgs": {
18249           "type": "object",
18250           "properties": {
18251             "data": {
18252               "type": "object",
18253               "patternProperties": {
18254                 ".*": {
18255                   "type": "object",
18256                   "additionalProperties": true
18257                 }
18258               }
18259             },
18260             "info": {
18261               "type": "string"
18262             },
18263             "status": {
18264               "type": "string"
18265             },
18266             "tag": {
18267               "type": "string"
18268             }
18269           },
18270           "additionalProperties": false,
18271           "required": [
18272             "tag",
18273             "status",
18274             "info",
18275             "data"
18276           ]
18277         },
18278         "Error": {
18279           "type": "object",
18280           "properties": {
18281             "code": {
18282               "type": "string"
18283             },
18284             "info": {
18285               "$ref": "#/definitions/ErrorInfo"
18286             },
18287             "message": {
18288               "type": "string"
18289             }
18290           },
18291           "additionalProperties": false,
18292           "required": [
18293             "message",
18294             "code"
18295           ]
18296         },
18297         "ErrorInfo": {
18298           "type": "object",
18299           "properties": {
18300             "macaroon": {
18301               "$ref": "#/definitions/Macaroon"
18302             },
18303             "macaroon-path": {
18304               "type": "string"
18305             }
18306           },
18307           "additionalProperties": false
18308         },
18309         "ErrorResult": {
18310           "type": "object",
18311           "properties": {
18312             "error": {
18313               "$ref": "#/definitions/Error"
18314             }
18315           },
18316           "additionalProperties": false
18317         },
18318         "ErrorResults": {
18319           "type": "object",
18320           "properties": {
18321             "results": {
18322               "type": "array",
18323               "items": {
18324                 "$ref": "#/definitions/ErrorResult"
18325               }
18326             }
18327           },
18328           "additionalProperties": false,
18329           "required": [
18330             "results"
18331           ]
18332         },
18333         "Filesystem": {
18334           "type": "object",
18335           "properties": {
18336             "filesystem-tag": {
18337               "type": "string"
18338             },
18339             "info": {
18340               "$ref": "#/definitions/FilesystemInfo"
18341             },
18342             "volume-tag": {
18343               "type": "string"
18344             }
18345           },
18346           "additionalProperties": false,
18347           "required": [
18348             "filesystem-tag",
18349             "info"
18350           ]
18351         },
18352         "FilesystemAttachment": {
18353           "type": "object",
18354           "properties": {
18355             "filesystem-tag": {
18356               "type": "string"
18357             },
18358             "info": {
18359               "$ref": "#/definitions/FilesystemAttachmentInfo"
18360             },
18361             "machine-tag": {
18362               "type": "string"
18363             }
18364           },
18365           "additionalProperties": false,
18366           "required": [
18367             "filesystem-tag",
18368             "machine-tag",
18369             "info"
18370           ]
18371         },
18372         "FilesystemAttachmentInfo": {
18373           "type": "object",
18374           "properties": {
18375             "mount-point": {
18376               "type": "string"
18377             },
18378             "read-only": {
18379               "type": "boolean"
18380             }
18381           },
18382           "additionalProperties": false
18383         },
18384         "FilesystemAttachmentParams": {
18385           "type": "object",
18386           "properties": {
18387             "filesystem-id": {
18388               "type": "string"
18389             },
18390             "filesystem-tag": {
18391               "type": "string"
18392             },
18393             "instance-id": {
18394               "type": "string"
18395             },
18396             "machine-tag": {
18397               "type": "string"
18398             },
18399             "mount-point": {
18400               "type": "string"
18401             },
18402             "provider": {
18403               "type": "string"
18404             },
18405             "read-only": {
18406               "type": "boolean"
18407             }
18408           },
18409           "additionalProperties": false,
18410           "required": [
18411             "filesystem-tag",
18412             "machine-tag",
18413             "provider"
18414           ]
18415         },
18416         "FilesystemAttachmentParamsResult": {
18417           "type": "object",
18418           "properties": {
18419             "error": {
18420               "$ref": "#/definitions/Error"
18421             },
18422             "result": {
18423               "$ref": "#/definitions/FilesystemAttachmentParams"
18424             }
18425           },
18426           "additionalProperties": false,
18427           "required": [
18428             "result"
18429           ]
18430         },
18431         "FilesystemAttachmentParamsResults": {
18432           "type": "object",
18433           "properties": {
18434             "results": {
18435               "type": "array",
18436               "items": {
18437                 "$ref": "#/definitions/FilesystemAttachmentParamsResult"
18438               }
18439             }
18440           },
18441           "additionalProperties": false
18442         },
18443         "FilesystemAttachmentResult": {
18444           "type": "object",
18445           "properties": {
18446             "error": {
18447               "$ref": "#/definitions/Error"
18448             },
18449             "result": {
18450               "$ref": "#/definitions/FilesystemAttachment"
18451             }
18452           },
18453           "additionalProperties": false,
18454           "required": [
18455             "result"
18456           ]
18457         },
18458         "FilesystemAttachmentResults": {
18459           "type": "object",
18460           "properties": {
18461             "results": {
18462               "type": "array",
18463               "items": {
18464                 "$ref": "#/definitions/FilesystemAttachmentResult"
18465               }
18466             }
18467           },
18468           "additionalProperties": false
18469         },
18470         "FilesystemAttachments": {
18471           "type": "object",
18472           "properties": {
18473             "filesystem-attachments": {
18474               "type": "array",
18475               "items": {
18476                 "$ref": "#/definitions/FilesystemAttachment"
18477               }
18478             }
18479           },
18480           "additionalProperties": false,
18481           "required": [
18482             "filesystem-attachments"
18483           ]
18484         },
18485         "FilesystemInfo": {
18486           "type": "object",
18487           "properties": {
18488             "filesystem-id": {
18489               "type": "string"
18490             },
18491             "size": {
18492               "type": "integer"
18493             }
18494           },
18495           "additionalProperties": false,
18496           "required": [
18497             "filesystem-id",
18498             "size"
18499           ]
18500         },
18501         "FilesystemParams": {
18502           "type": "object",
18503           "properties": {
18504             "attachment": {
18505               "$ref": "#/definitions/FilesystemAttachmentParams"
18506             },
18507             "attributes": {
18508               "type": "object",
18509               "patternProperties": {
18510                 ".*": {
18511                   "type": "object",
18512                   "additionalProperties": true
18513                 }
18514               }
18515             },
18516             "filesystem-tag": {
18517               "type": "string"
18518             },
18519             "provider": {
18520               "type": "string"
18521             },
18522             "size": {
18523               "type": "integer"
18524             },
18525             "tags": {
18526               "type": "object",
18527               "patternProperties": {
18528                 ".*": {
18529                   "type": "string"
18530                 }
18531               }
18532             },
18533             "volume-tag": {
18534               "type": "string"
18535             }
18536           },
18537           "additionalProperties": false,
18538           "required": [
18539             "filesystem-tag",
18540             "size",
18541             "provider"
18542           ]
18543         },
18544         "FilesystemParamsResult": {
18545           "type": "object",
18546           "properties": {
18547             "error": {
18548               "$ref": "#/definitions/Error"
18549             },
18550             "result": {
18551               "$ref": "#/definitions/FilesystemParams"
18552             }
18553           },
18554           "additionalProperties": false,
18555           "required": [
18556             "result"
18557           ]
18558         },
18559         "FilesystemParamsResults": {
18560           "type": "object",
18561           "properties": {
18562             "results": {
18563               "type": "array",
18564               "items": {
18565                 "$ref": "#/definitions/FilesystemParamsResult"
18566               }
18567             }
18568           },
18569           "additionalProperties": false
18570         },
18571         "FilesystemResult": {
18572           "type": "object",
18573           "properties": {
18574             "error": {
18575               "$ref": "#/definitions/Error"
18576             },
18577             "result": {
18578               "$ref": "#/definitions/Filesystem"
18579             }
18580           },
18581           "additionalProperties": false,
18582           "required": [
18583             "result"
18584           ]
18585         },
18586         "FilesystemResults": {
18587           "type": "object",
18588           "properties": {
18589             "results": {
18590               "type": "array",
18591               "items": {
18592                 "$ref": "#/definitions/FilesystemResult"
18593               }
18594             }
18595           },
18596           "additionalProperties": false
18597         },
18598         "Filesystems": {
18599           "type": "object",
18600           "properties": {
18601             "filesystems": {
18602               "type": "array",
18603               "items": {
18604                 "$ref": "#/definitions/Filesystem"
18605               }
18606             }
18607           },
18608           "additionalProperties": false,
18609           "required": [
18610             "filesystems"
18611           ]
18612         },
18613         "LifeResult": {
18614           "type": "object",
18615           "properties": {
18616             "error": {
18617               "$ref": "#/definitions/Error"
18618             },
18619             "life": {
18620               "type": "string"
18621             }
18622           },
18623           "additionalProperties": false,
18624           "required": [
18625             "life"
18626           ]
18627         },
18628         "LifeResults": {
18629           "type": "object",
18630           "properties": {
18631             "results": {
18632               "type": "array",
18633               "items": {
18634                 "$ref": "#/definitions/LifeResult"
18635               }
18636             }
18637           },
18638           "additionalProperties": false,
18639           "required": [
18640             "results"
18641           ]
18642         },
18643         "Macaroon": {
18644           "type": "object",
18645           "additionalProperties": false
18646         },
18647         "MachineStorageId": {
18648           "type": "object",
18649           "properties": {
18650             "attachment-tag": {
18651               "type": "string"
18652             },
18653             "machine-tag": {
18654               "type": "string"
18655             }
18656           },
18657           "additionalProperties": false,
18658           "required": [
18659             "machine-tag",
18660             "attachment-tag"
18661           ]
18662         },
18663         "MachineStorageIds": {
18664           "type": "object",
18665           "properties": {
18666             "ids": {
18667               "type": "array",
18668               "items": {
18669                 "$ref": "#/definitions/MachineStorageId"
18670               }
18671             }
18672           },
18673           "additionalProperties": false,
18674           "required": [
18675             "ids"
18676           ]
18677         },
18678         "MachineStorageIdsWatchResult": {
18679           "type": "object",
18680           "properties": {
18681             "changes": {
18682               "type": "array",
18683               "items": {
18684                 "$ref": "#/definitions/MachineStorageId"
18685               }
18686             },
18687             "error": {
18688               "$ref": "#/definitions/Error"
18689             },
18690             "watcher-id": {
18691               "type": "string"
18692             }
18693           },
18694           "additionalProperties": false,
18695           "required": [
18696             "watcher-id",
18697             "changes"
18698           ]
18699         },
18700         "MachineStorageIdsWatchResults": {
18701           "type": "object",
18702           "properties": {
18703             "results": {
18704               "type": "array",
18705               "items": {
18706                 "$ref": "#/definitions/MachineStorageIdsWatchResult"
18707               }
18708             }
18709           },
18710           "additionalProperties": false,
18711           "required": [
18712             "results"
18713           ]
18714         },
18715         "NotifyWatchResult": {
18716           "type": "object",
18717           "properties": {
18718             "NotifyWatcherId": {
18719               "type": "string"
18720             },
18721             "error": {
18722               "$ref": "#/definitions/Error"
18723             }
18724           },
18725           "additionalProperties": false,
18726           "required": [
18727             "NotifyWatcherId"
18728           ]
18729         },
18730         "NotifyWatchResults": {
18731           "type": "object",
18732           "properties": {
18733             "results": {
18734               "type": "array",
18735               "items": {
18736                 "$ref": "#/definitions/NotifyWatchResult"
18737               }
18738             }
18739           },
18740           "additionalProperties": false,
18741           "required": [
18742             "results"
18743           ]
18744         },
18745         "SetStatus": {
18746           "type": "object",
18747           "properties": {
18748             "entities": {
18749               "type": "array",
18750               "items": {
18751                 "$ref": "#/definitions/EntityStatusArgs"
18752               }
18753             }
18754           },
18755           "additionalProperties": false,
18756           "required": [
18757             "entities"
18758           ]
18759         },
18760         "StringResult": {
18761           "type": "object",
18762           "properties": {
18763             "error": {
18764               "$ref": "#/definitions/Error"
18765             },
18766             "result": {
18767               "type": "string"
18768             }
18769           },
18770           "additionalProperties": false,
18771           "required": [
18772             "result"
18773           ]
18774         },
18775         "StringResults": {
18776           "type": "object",
18777           "properties": {
18778             "results": {
18779               "type": "array",
18780               "items": {
18781                 "$ref": "#/definitions/StringResult"
18782               }
18783             }
18784           },
18785           "additionalProperties": false,
18786           "required": [
18787             "results"
18788           ]
18789         },
18790         "StringsWatchResult": {
18791           "type": "object",
18792           "properties": {
18793             "changes": {
18794               "type": "array",
18795               "items": {
18796                 "type": "string"
18797               }
18798             },
18799             "error": {
18800               "$ref": "#/definitions/Error"
18801             },
18802             "watcher-id": {
18803               "type": "string"
18804             }
18805           },
18806           "additionalProperties": false,
18807           "required": [
18808             "watcher-id"
18809           ]
18810         },
18811         "StringsWatchResults": {
18812           "type": "object",
18813           "properties": {
18814             "results": {
18815               "type": "array",
18816               "items": {
18817                 "$ref": "#/definitions/StringsWatchResult"
18818               }
18819             }
18820           },
18821           "additionalProperties": false,
18822           "required": [
18823             "results"
18824           ]
18825         },
18826         "Volume": {
18827           "type": "object",
18828           "properties": {
18829             "info": {
18830               "$ref": "#/definitions/VolumeInfo"
18831             },
18832             "volume-tag": {
18833               "type": "string"
18834             }
18835           },
18836           "additionalProperties": false,
18837           "required": [
18838             "volume-tag",
18839             "info"
18840           ]
18841         },
18842         "VolumeAttachment": {
18843           "type": "object",
18844           "properties": {
18845             "info": {
18846               "$ref": "#/definitions/VolumeAttachmentInfo"
18847             },
18848             "machine-tag": {
18849               "type": "string"
18850             },
18851             "volume-tag": {
18852               "type": "string"
18853             }
18854           },
18855           "additionalProperties": false,
18856           "required": [
18857             "volume-tag",
18858             "machine-tag",
18859             "info"
18860           ]
18861         },
18862         "VolumeAttachmentInfo": {
18863           "type": "object",
18864           "properties": {
18865             "bus-address": {
18866               "type": "string"
18867             },
18868             "device-link": {
18869               "type": "string"
18870             },
18871             "device-name": {
18872               "type": "string"
18873             },
18874             "read-only": {
18875               "type": "boolean"
18876             }
18877           },
18878           "additionalProperties": false
18879         },
18880         "VolumeAttachmentParams": {
18881           "type": "object",
18882           "properties": {
18883             "instance-id": {
18884               "type": "string"
18885             },
18886             "machine-tag": {
18887               "type": "string"
18888             },
18889             "provider": {
18890               "type": "string"
18891             },
18892             "read-only": {
18893               "type": "boolean"
18894             },
18895             "volume-id": {
18896               "type": "string"
18897             },
18898             "volume-tag": {
18899               "type": "string"
18900             }
18901           },
18902           "additionalProperties": false,
18903           "required": [
18904             "volume-tag",
18905             "machine-tag",
18906             "provider"
18907           ]
18908         },
18909         "VolumeAttachmentParamsResult": {
18910           "type": "object",
18911           "properties": {
18912             "error": {
18913               "$ref": "#/definitions/Error"
18914             },
18915             "result": {
18916               "$ref": "#/definitions/VolumeAttachmentParams"
18917             }
18918           },
18919           "additionalProperties": false,
18920           "required": [
18921             "result"
18922           ]
18923         },
18924         "VolumeAttachmentParamsResults": {
18925           "type": "object",
18926           "properties": {
18927             "results": {
18928               "type": "array",
18929               "items": {
18930                 "$ref": "#/definitions/VolumeAttachmentParamsResult"
18931               }
18932             }
18933           },
18934           "additionalProperties": false
18935         },
18936         "VolumeAttachmentResult": {
18937           "type": "object",
18938           "properties": {
18939             "error": {
18940               "$ref": "#/definitions/Error"
18941             },
18942             "result": {
18943               "$ref": "#/definitions/VolumeAttachment"
18944             }
18945           },
18946           "additionalProperties": false,
18947           "required": [
18948             "result"
18949           ]
18950         },
18951         "VolumeAttachmentResults": {
18952           "type": "object",
18953           "properties": {
18954             "results": {
18955               "type": "array",
18956               "items": {
18957                 "$ref": "#/definitions/VolumeAttachmentResult"
18958               }
18959             }
18960           },
18961           "additionalProperties": false
18962         },
18963         "VolumeAttachments": {
18964           "type": "object",
18965           "properties": {
18966             "volume-attachments": {
18967               "type": "array",
18968               "items": {
18969                 "$ref": "#/definitions/VolumeAttachment"
18970               }
18971             }
18972           },
18973           "additionalProperties": false,
18974           "required": [
18975             "volume-attachments"
18976           ]
18977         },
18978         "VolumeInfo": {
18979           "type": "object",
18980           "properties": {
18981             "hardware-id": {
18982               "type": "string"
18983             },
18984             "persistent": {
18985               "type": "boolean"
18986             },
18987             "size": {
18988               "type": "integer"
18989             },
18990             "volume-id": {
18991               "type": "string"
18992             }
18993           },
18994           "additionalProperties": false,
18995           "required": [
18996             "volume-id",
18997             "size",
18998             "persistent"
18999           ]
19000         },
19001         "VolumeParams": {
19002           "type": "object",
19003           "properties": {
19004             "attachment": {
19005               "$ref": "#/definitions/VolumeAttachmentParams"
19006             },
19007             "attributes": {
19008               "type": "object",
19009               "patternProperties": {
19010                 ".*": {
19011                   "type": "object",
19012                   "additionalProperties": true
19013                 }
19014               }
19015             },
19016             "provider": {
19017               "type": "string"
19018             },
19019             "size": {
19020               "type": "integer"
19021             },
19022             "tags": {
19023               "type": "object",
19024               "patternProperties": {
19025                 ".*": {
19026                   "type": "string"
19027                 }
19028               }
19029             },
19030             "volume-tag": {
19031               "type": "string"
19032             }
19033           },
19034           "additionalProperties": false,
19035           "required": [
19036             "volume-tag",
19037             "size",
19038             "provider"
19039           ]
19040         },
19041         "VolumeParamsResult": {
19042           "type": "object",
19043           "properties": {
19044             "error": {
19045               "$ref": "#/definitions/Error"
19046             },
19047             "result": {
19048               "$ref": "#/definitions/VolumeParams"
19049             }
19050           },
19051           "additionalProperties": false,
19052           "required": [
19053             "result"
19054           ]
19055         },
19056         "VolumeParamsResults": {
19057           "type": "object",
19058           "properties": {
19059             "results": {
19060               "type": "array",
19061               "items": {
19062                 "$ref": "#/definitions/VolumeParamsResult"
19063               }
19064             }
19065           },
19066           "additionalProperties": false
19067         },
19068         "VolumeResult": {
19069           "type": "object",
19070           "properties": {
19071             "error": {
19072               "$ref": "#/definitions/Error"
19073             },
19074             "result": {
19075               "$ref": "#/definitions/Volume"
19076             }
19077           },
19078           "additionalProperties": false,
19079           "required": [
19080             "result"
19081           ]
19082         },
19083         "VolumeResults": {
19084           "type": "object",
19085           "properties": {
19086             "results": {
19087               "type": "array",
19088               "items": {
19089                 "$ref": "#/definitions/VolumeResult"
19090               }
19091             }
19092           },
19093           "additionalProperties": false
19094         },
19095         "Volumes": {
19096           "type": "object",
19097           "properties": {
19098             "volumes": {
19099               "type": "array",
19100               "items": {
19101                 "$ref": "#/definitions/Volume"
19102               }
19103             }
19104           },
19105           "additionalProperties": false,
19106           "required": [
19107             "volumes"
19108           ]
19109         }
19110       }
19111     }
19112   },
19113   {
19114     "Name": "StringsWatcher",
19115     "Version": 1,
19116     "Schema": {
19117       "type": "object",
19118       "properties": {
19119         "Next": {
19120           "type": "object",
19121           "properties": {
19122             "Result": {
19123               "$ref": "#/definitions/StringsWatchResult"
19124             }
19125           }
19126         },
19127         "Stop": {
19128           "type": "object"
19129         }
19130       },
19131       "definitions": {
19132         "Error": {
19133           "type": "object",
19134           "properties": {
19135             "code": {
19136               "type": "string"
19137             },
19138             "info": {
19139               "$ref": "#/definitions/ErrorInfo"
19140             },
19141             "message": {
19142               "type": "string"
19143             }
19144           },
19145           "additionalProperties": false,
19146           "required": [
19147             "message",
19148             "code"
19149           ]
19150         },
19151         "ErrorInfo": {
19152           "type": "object",
19153           "properties": {
19154             "macaroon": {
19155               "$ref": "#/definitions/Macaroon"
19156             },
19157             "macaroon-path": {
19158               "type": "string"
19159             }
19160           },
19161           "additionalProperties": false
19162         },
19163         "Macaroon": {
19164           "type": "object",
19165           "additionalProperties": false
19166         },
19167         "StringsWatchResult": {
19168           "type": "object",
19169           "properties": {
19170             "changes": {
19171               "type": "array",
19172               "items": {
19173                 "type": "string"
19174               }
19175             },
19176             "error": {
19177               "$ref": "#/definitions/Error"
19178             },
19179             "watcher-id": {
19180               "type": "string"
19181             }
19182           },
19183           "additionalProperties": false,
19184           "required": [
19185             "watcher-id"
19186           ]
19187         }
19188       }
19189     }
19190   },
19191   {
19192     "Name": "Subnets",
19193     "Version": 2,
19194     "Schema": {
19195       "type": "object",
19196       "properties": {
19197         "AddSubnets": {
19198           "type": "object",
19199           "properties": {
19200             "Params": {
19201               "$ref": "#/definitions/AddSubnetsParams"
19202             },
19203             "Result": {
19204               "$ref": "#/definitions/ErrorResults"
19205             }
19206           }
19207         },
19208         "AllSpaces": {
19209           "type": "object",
19210           "properties": {
19211             "Result": {
19212               "$ref": "#/definitions/SpaceResults"
19213             }
19214           }
19215         },
19216         "AllZones": {
19217           "type": "object",
19218           "properties": {
19219             "Result": {
19220               "$ref": "#/definitions/ZoneResults"
19221             }
19222           }
19223         },
19224         "ListSubnets": {
19225           "type": "object",
19226           "properties": {
19227             "Params": {
19228               "$ref": "#/definitions/SubnetsFilters"
19229             },
19230             "Result": {
19231               "$ref": "#/definitions/ListSubnetsResults"
19232             }
19233           }
19234         }
19235       },
19236       "definitions": {
19237         "AddSubnetParams": {
19238           "type": "object",
19239           "properties": {
19240             "space-tag": {
19241               "type": "string"
19242             },
19243             "subnet-provider-id": {
19244               "type": "string"
19245             },
19246             "subnet-tag": {
19247               "type": "string"
19248             },
19249             "zones": {
19250               "type": "array",
19251               "items": {
19252                 "type": "string"
19253               }
19254             }
19255           },
19256           "additionalProperties": false,
19257           "required": [
19258             "space-tag"
19259           ]
19260         },
19261         "AddSubnetsParams": {
19262           "type": "object",
19263           "properties": {
19264             "subnets": {
19265               "type": "array",
19266               "items": {
19267                 "$ref": "#/definitions/AddSubnetParams"
19268               }
19269             }
19270           },
19271           "additionalProperties": false,
19272           "required": [
19273             "subnets"
19274           ]
19275         },
19276         "Error": {
19277           "type": "object",
19278           "properties": {
19279             "code": {
19280               "type": "string"
19281             },
19282             "info": {
19283               "$ref": "#/definitions/ErrorInfo"
19284             },
19285             "message": {
19286               "type": "string"
19287             }
19288           },
19289           "additionalProperties": false,
19290           "required": [
19291             "message",
19292             "code"
19293           ]
19294         },
19295         "ErrorInfo": {
19296           "type": "object",
19297           "properties": {
19298             "macaroon": {
19299               "$ref": "#/definitions/Macaroon"
19300             },
19301             "macaroon-path": {
19302               "type": "string"
19303             }
19304           },
19305           "additionalProperties": false
19306         },
19307         "ErrorResult": {
19308           "type": "object",
19309           "properties": {
19310             "error": {
19311               "$ref": "#/definitions/Error"
19312             }
19313           },
19314           "additionalProperties": false
19315         },
19316         "ErrorResults": {
19317           "type": "object",
19318           "properties": {
19319             "results": {
19320               "type": "array",
19321               "items": {
19322                 "$ref": "#/definitions/ErrorResult"
19323               }
19324             }
19325           },
19326           "additionalProperties": false,
19327           "required": [
19328             "results"
19329           ]
19330         },
19331         "ListSubnetsResults": {
19332           "type": "object",
19333           "properties": {
19334             "results": {
19335               "type": "array",
19336               "items": {
19337                 "$ref": "#/definitions/Subnet"
19338               }
19339             }
19340           },
19341           "additionalProperties": false,
19342           "required": [
19343             "results"
19344           ]
19345         },
19346         "Macaroon": {
19347           "type": "object",
19348           "additionalProperties": false
19349         },
19350         "SpaceResult": {
19351           "type": "object",
19352           "properties": {
19353             "error": {
19354               "$ref": "#/definitions/Error"
19355             },
19356             "tag": {
19357               "type": "string"
19358             }
19359           },
19360           "additionalProperties": false,
19361           "required": [
19362             "tag"
19363           ]
19364         },
19365         "SpaceResults": {
19366           "type": "object",
19367           "properties": {
19368             "results": {
19369               "type": "array",
19370               "items": {
19371                 "$ref": "#/definitions/SpaceResult"
19372               }
19373             }
19374           },
19375           "additionalProperties": false,
19376           "required": [
19377             "results"
19378           ]
19379         },
19380         "Subnet": {
19381           "type": "object",
19382           "properties": {
19383             "cidr": {
19384               "type": "string"
19385             },
19386             "life": {
19387               "type": "string"
19388             },
19389             "provider-id": {
19390               "type": "string"
19391             },
19392             "space-tag": {
19393               "type": "string"
19394             },
19395             "status": {
19396               "type": "string"
19397             },
19398             "vlan-tag": {
19399               "type": "integer"
19400             },
19401             "zones": {
19402               "type": "array",
19403               "items": {
19404                 "type": "string"
19405               }
19406             }
19407           },
19408           "additionalProperties": false,
19409           "required": [
19410             "cidr",
19411             "vlan-tag",
19412             "life",
19413             "space-tag",
19414             "zones"
19415           ]
19416         },
19417         "SubnetsFilters": {
19418           "type": "object",
19419           "properties": {
19420             "space-tag": {
19421               "type": "string"
19422             },
19423             "zone": {
19424               "type": "string"
19425             }
19426           },
19427           "additionalProperties": false
19428         },
19429         "ZoneResult": {
19430           "type": "object",
19431           "properties": {
19432             "available": {
19433               "type": "boolean"
19434             },
19435             "error": {
19436               "$ref": "#/definitions/Error"
19437             },
19438             "name": {
19439               "type": "string"
19440             }
19441           },
19442           "additionalProperties": false,
19443           "required": [
19444             "name",
19445             "available"
19446           ]
19447         },
19448         "ZoneResults": {
19449           "type": "object",
19450           "properties": {
19451             "results": {
19452               "type": "array",
19453               "items": {
19454                 "$ref": "#/definitions/ZoneResult"
19455               }
19456             }
19457           },
19458           "additionalProperties": false,
19459           "required": [
19460             "results"
19461           ]
19462         }
19463       }
19464     }
19465   },
19466   {
19467     "Name": "Undertaker",
19468     "Version": 1,
19469     "Schema": {
19470       "type": "object",
19471       "properties": {
19472         "ModelConfig": {
19473           "type": "object",
19474           "properties": {
19475             "Result": {
19476               "$ref": "#/definitions/ModelConfigResult"
19477             }
19478           }
19479         },
19480         "ModelInfo": {
19481           "type": "object",
19482           "properties": {
19483             "Result": {
19484               "$ref": "#/definitions/UndertakerModelInfoResult"
19485             }
19486           }
19487         },
19488         "ProcessDyingModel": {
19489           "type": "object"
19490         },
19491         "RemoveModel": {
19492           "type": "object"
19493         },
19494         "SetStatus": {
19495           "type": "object",
19496           "properties": {
19497             "Params": {
19498               "$ref": "#/definitions/SetStatus"
19499             },
19500             "Result": {
19501               "$ref": "#/definitions/ErrorResults"
19502             }
19503           }
19504         },
19505         "UpdateStatus": {
19506           "type": "object",
19507           "properties": {
19508             "Params": {
19509               "$ref": "#/definitions/SetStatus"
19510             },
19511             "Result": {
19512               "$ref": "#/definitions/ErrorResults"
19513             }
19514           }
19515         },
19516         "WatchModelResources": {
19517           "type": "object",
19518           "properties": {
19519             "Result": {
19520               "$ref": "#/definitions/NotifyWatchResults"
19521             }
19522           }
19523         }
19524       },
19525       "definitions": {
19526         "EntityStatusArgs": {
19527           "type": "object",
19528           "properties": {
19529             "data": {
19530               "type": "object",
19531               "patternProperties": {
19532                 ".*": {
19533                   "type": "object",
19534                   "additionalProperties": true
19535                 }
19536               }
19537             },
19538             "info": {
19539               "type": "string"
19540             },
19541             "status": {
19542               "type": "string"
19543             },
19544             "tag": {
19545               "type": "string"
19546             }
19547           },
19548           "additionalProperties": false,
19549           "required": [
19550             "tag",
19551             "status",
19552             "info",
19553             "data"
19554           ]
19555         },
19556         "Error": {
19557           "type": "object",
19558           "properties": {
19559             "code": {
19560               "type": "string"
19561             },
19562             "info": {
19563               "$ref": "#/definitions/ErrorInfo"
19564             },
19565             "message": {
19566               "type": "string"
19567             }
19568           },
19569           "additionalProperties": false,
19570           "required": [
19571             "message",
19572             "code"
19573           ]
19574         },
19575         "ErrorInfo": {
19576           "type": "object",
19577           "properties": {
19578             "macaroon": {
19579               "$ref": "#/definitions/Macaroon"
19580             },
19581             "macaroon-path": {
19582               "type": "string"
19583             }
19584           },
19585           "additionalProperties": false
19586         },
19587         "ErrorResult": {
19588           "type": "object",
19589           "properties": {
19590             "error": {
19591               "$ref": "#/definitions/Error"
19592             }
19593           },
19594           "additionalProperties": false
19595         },
19596         "ErrorResults": {
19597           "type": "object",
19598           "properties": {
19599             "results": {
19600               "type": "array",
19601               "items": {
19602                 "$ref": "#/definitions/ErrorResult"
19603               }
19604             }
19605           },
19606           "additionalProperties": false,
19607           "required": [
19608             "results"
19609           ]
19610         },
19611         "Macaroon": {
19612           "type": "object",
19613           "additionalProperties": false
19614         },
19615         "ModelConfigResult": {
19616           "type": "object",
19617           "properties": {
19618             "config": {
19619               "type": "object",
19620               "patternProperties": {
19621                 ".*": {
19622                   "type": "object",
19623                   "additionalProperties": true
19624                 }
19625               }
19626             }
19627           },
19628           "additionalProperties": false,
19629           "required": [
19630             "config"
19631           ]
19632         },
19633         "NotifyWatchResult": {
19634           "type": "object",
19635           "properties": {
19636             "NotifyWatcherId": {
19637               "type": "string"
19638             },
19639             "error": {
19640               "$ref": "#/definitions/Error"
19641             }
19642           },
19643           "additionalProperties": false,
19644           "required": [
19645             "NotifyWatcherId"
19646           ]
19647         },
19648         "NotifyWatchResults": {
19649           "type": "object",
19650           "properties": {
19651             "results": {
19652               "type": "array",
19653               "items": {
19654                 "$ref": "#/definitions/NotifyWatchResult"
19655               }
19656             }
19657           },
19658           "additionalProperties": false,
19659           "required": [
19660             "results"
19661           ]
19662         },
19663         "SetStatus": {
19664           "type": "object",
19665           "properties": {
19666             "entities": {
19667               "type": "array",
19668               "items": {
19669                 "$ref": "#/definitions/EntityStatusArgs"
19670               }
19671             }
19672           },
19673           "additionalProperties": false,
19674           "required": [
19675             "entities"
19676           ]
19677         },
19678         "UndertakerModelInfo": {
19679           "type": "object",
19680           "properties": {
19681             "global-name": {
19682               "type": "string"
19683             },
19684             "is-system": {
19685               "type": "boolean"
19686             },
19687             "life": {
19688               "type": "string"
19689             },
19690             "name": {
19691               "type": "string"
19692             },
19693             "uuid": {
19694               "type": "string"
19695             }
19696           },
19697           "additionalProperties": false,
19698           "required": [
19699             "uuid",
19700             "name",
19701             "global-name",
19702             "is-system",
19703             "life"
19704           ]
19705         },
19706         "UndertakerModelInfoResult": {
19707           "type": "object",
19708           "properties": {
19709             "error": {
19710               "$ref": "#/definitions/Error"
19711             },
19712             "result": {
19713               "$ref": "#/definitions/UndertakerModelInfo"
19714             }
19715           },
19716           "additionalProperties": false,
19717           "required": [
19718             "result"
19719           ]
19720         }
19721       }
19722     }
19723   },
19724   {
19725     "Name": "UnitAssigner",
19726     "Version": 1,
19727     "Schema": {
19728       "type": "object",
19729       "properties": {
19730         "AssignUnits": {
19731           "type": "object",
19732           "properties": {
19733             "Params": {
19734               "$ref": "#/definitions/Entities"
19735             },
19736             "Result": {
19737               "$ref": "#/definitions/ErrorResults"
19738             }
19739           }
19740         },
19741         "SetAgentStatus": {
19742           "type": "object",
19743           "properties": {
19744             "Params": {
19745               "$ref": "#/definitions/SetStatus"
19746             },
19747             "Result": {
19748               "$ref": "#/definitions/ErrorResults"
19749             }
19750           }
19751         },
19752         "WatchUnitAssignments": {
19753           "type": "object",
19754           "properties": {
19755             "Result": {
19756               "$ref": "#/definitions/StringsWatchResult"
19757             }
19758           }
19759         }
19760       },
19761       "definitions": {
19762         "Entities": {
19763           "type": "object",
19764           "properties": {
19765             "entities": {
19766               "type": "array",
19767               "items": {
19768                 "$ref": "#/definitions/Entity"
19769               }
19770             }
19771           },
19772           "additionalProperties": false,
19773           "required": [
19774             "entities"
19775           ]
19776         },
19777         "Entity": {
19778           "type": "object",
19779           "properties": {
19780             "tag": {
19781               "type": "string"
19782             }
19783           },
19784           "additionalProperties": false,
19785           "required": [
19786             "tag"
19787           ]
19788         },
19789         "EntityStatusArgs": {
19790           "type": "object",
19791           "properties": {
19792             "data": {
19793               "type": "object",
19794               "patternProperties": {
19795                 ".*": {
19796                   "type": "object",
19797                   "additionalProperties": true
19798                 }
19799               }
19800             },
19801             "info": {
19802               "type": "string"
19803             },
19804             "status": {
19805               "type": "string"
19806             },
19807             "tag": {
19808               "type": "string"
19809             }
19810           },
19811           "additionalProperties": false,
19812           "required": [
19813             "tag",
19814             "status",
19815             "info",
19816             "data"
19817           ]
19818         },
19819         "Error": {
19820           "type": "object",
19821           "properties": {
19822             "code": {
19823               "type": "string"
19824             },
19825             "info": {
19826               "$ref": "#/definitions/ErrorInfo"
19827             },
19828             "message": {
19829               "type": "string"
19830             }
19831           },
19832           "additionalProperties": false,
19833           "required": [
19834             "message",
19835             "code"
19836           ]
19837         },
19838         "ErrorInfo": {
19839           "type": "object",
19840           "properties": {
19841             "macaroon": {
19842               "$ref": "#/definitions/Macaroon"
19843             },
19844             "macaroon-path": {
19845               "type": "string"
19846             }
19847           },
19848           "additionalProperties": false
19849         },
19850         "ErrorResult": {
19851           "type": "object",
19852           "properties": {
19853             "error": {
19854               "$ref": "#/definitions/Error"
19855             }
19856           },
19857           "additionalProperties": false
19858         },
19859         "ErrorResults": {
19860           "type": "object",
19861           "properties": {
19862             "results": {
19863               "type": "array",
19864               "items": {
19865                 "$ref": "#/definitions/ErrorResult"
19866               }
19867             }
19868           },
19869           "additionalProperties": false,
19870           "required": [
19871             "results"
19872           ]
19873         },
19874         "Macaroon": {
19875           "type": "object",
19876           "additionalProperties": false
19877         },
19878         "SetStatus": {
19879           "type": "object",
19880           "properties": {
19881             "entities": {
19882               "type": "array",
19883               "items": {
19884                 "$ref": "#/definitions/EntityStatusArgs"
19885               }
19886             }
19887           },
19888           "additionalProperties": false,
19889           "required": [
19890             "entities"
19891           ]
19892         },
19893         "StringsWatchResult": {
19894           "type": "object",
19895           "properties": {
19896             "changes": {
19897               "type": "array",
19898               "items": {
19899                 "type": "string"
19900               }
19901             },
19902             "error": {
19903               "$ref": "#/definitions/Error"
19904             },
19905             "watcher-id": {
19906               "type": "string"
19907             }
19908           },
19909           "additionalProperties": false,
19910           "required": [
19911             "watcher-id"
19912           ]
19913         }
19914       }
19915     }
19916   },
19917   {
19918     "Name": "Uniter",
19919     "Version": 4,
19920     "Schema": {
19921       "type": "object",
19922       "properties": {
19923         "APIAddresses": {
19924           "type": "object",
19925           "properties": {
19926             "Result": {
19927               "$ref": "#/definitions/StringsResult"
19928             }
19929           }
19930         },
19931         "APIHostPorts": {
19932           "type": "object",
19933           "properties": {
19934             "Result": {
19935               "$ref": "#/definitions/APIHostPortsResult"
19936             }
19937           }
19938         },
19939         "Actions": {
19940           "type": "object",
19941           "properties": {
19942             "Params": {
19943               "$ref": "#/definitions/Entities"
19944             },
19945             "Result": {
19946               "$ref": "#/definitions/ActionResults"
19947             }
19948           }
19949         },
19950         "AddMetricBatches": {
19951           "type": "object",
19952           "properties": {
19953             "Params": {
19954               "$ref": "#/definitions/MetricBatchParams"
19955             },
19956             "Result": {
19957               "$ref": "#/definitions/ErrorResults"
19958             }
19959           }
19960         },
19961         "AddUnitStorage": {
19962           "type": "object",
19963           "properties": {
19964             "Params": {
19965               "$ref": "#/definitions/StoragesAddParams"
19966             },
19967             "Result": {
19968               "$ref": "#/definitions/ErrorResults"
19969             }
19970           }
19971         },
19972         "AllMachinePorts": {
19973           "type": "object",
19974           "properties": {
19975             "Params": {
19976               "$ref": "#/definitions/Entities"
19977             },
19978             "Result": {
19979               "$ref": "#/definitions/MachinePortsResults"
19980             }
19981           }
19982         },
19983         "ApplicationStatus": {
19984           "type": "object",
19985           "properties": {
19986             "Params": {
19987               "$ref": "#/definitions/Entities"
19988             },
19989             "Result": {
19990               "$ref": "#/definitions/ApplicationStatusResults"
19991             }
19992           }
19993         },
19994         "AssignedMachine": {
19995           "type": "object",
19996           "properties": {
19997             "Params": {
19998               "$ref": "#/definitions/Entities"
19999             },
20000             "Result": {
20001               "$ref": "#/definitions/StringResults"
20002             }
20003           }
20004         },
20005         "AvailabilityZone": {
20006           "type": "object",
20007           "properties": {
20008             "Params": {
20009               "$ref": "#/definitions/Entities"
20010             },
20011             "Result": {
20012               "$ref": "#/definitions/StringResults"
20013             }
20014           }
20015         },
20016         "BeginActions": {
20017           "type": "object",
20018           "properties": {
20019             "Params": {
20020               "$ref": "#/definitions/Entities"
20021             },
20022             "Result": {
20023               "$ref": "#/definitions/ErrorResults"
20024             }
20025           }
20026         },
20027         "CACert": {
20028           "type": "object",
20029           "properties": {
20030             "Result": {
20031               "$ref": "#/definitions/BytesResult"
20032             }
20033           }
20034         },
20035         "CharmArchiveSha256": {
20036           "type": "object",
20037           "properties": {
20038             "Params": {
20039               "$ref": "#/definitions/CharmURLs"
20040             },
20041             "Result": {
20042               "$ref": "#/definitions/StringResults"
20043             }
20044           }
20045         },
20046         "CharmModifiedVersion": {
20047           "type": "object",
20048           "properties": {
20049             "Params": {
20050               "$ref": "#/definitions/Entities"
20051             },
20052             "Result": {
20053               "$ref": "#/definitions/IntResults"
20054             }
20055           }
20056         },
20057         "CharmURL": {
20058           "type": "object",
20059           "properties": {
20060             "Params": {
20061               "$ref": "#/definitions/Entities"
20062             },
20063             "Result": {
20064               "$ref": "#/definitions/StringBoolResults"
20065             }
20066           }
20067         },
20068         "ClearResolved": {
20069           "type": "object",
20070           "properties": {
20071             "Params": {
20072               "$ref": "#/definitions/Entities"
20073             },
20074             "Result": {
20075               "$ref": "#/definitions/ErrorResults"
20076             }
20077           }
20078         },
20079         "ClosePorts": {
20080           "type": "object",
20081           "properties": {
20082             "Params": {
20083               "$ref": "#/definitions/EntitiesPortRanges"
20084             },
20085             "Result": {
20086               "$ref": "#/definitions/ErrorResults"
20087             }
20088           }
20089         },
20090         "ConfigSettings": {
20091           "type": "object",
20092           "properties": {
20093             "Params": {
20094               "$ref": "#/definitions/Entities"
20095             },
20096             "Result": {
20097               "$ref": "#/definitions/ConfigSettingsResults"
20098             }
20099           }
20100         },
20101         "CurrentModel": {
20102           "type": "object",
20103           "properties": {
20104             "Result": {
20105               "$ref": "#/definitions/ModelResult"
20106             }
20107           }
20108         },
20109         "Destroy": {
20110           "type": "object",
20111           "properties": {
20112             "Params": {
20113               "$ref": "#/definitions/Entities"
20114             },
20115             "Result": {
20116               "$ref": "#/definitions/ErrorResults"
20117             }
20118           }
20119         },
20120         "DestroyAllSubordinates": {
20121           "type": "object",
20122           "properties": {
20123             "Params": {
20124               "$ref": "#/definitions/Entities"
20125             },
20126             "Result": {
20127               "$ref": "#/definitions/ErrorResults"
20128             }
20129           }
20130         },
20131         "DestroyUnitStorageAttachments": {
20132           "type": "object",
20133           "properties": {
20134             "Params": {
20135               "$ref": "#/definitions/Entities"
20136             },
20137             "Result": {
20138               "$ref": "#/definitions/ErrorResults"
20139             }
20140           }
20141         },
20142         "EnsureDead": {
20143           "type": "object",
20144           "properties": {
20145             "Params": {
20146               "$ref": "#/definitions/Entities"
20147             },
20148             "Result": {
20149               "$ref": "#/definitions/ErrorResults"
20150             }
20151           }
20152         },
20153         "EnterScope": {
20154           "type": "object",
20155           "properties": {
20156             "Params": {
20157               "$ref": "#/definitions/RelationUnits"
20158             },
20159             "Result": {
20160               "$ref": "#/definitions/ErrorResults"
20161             }
20162           }
20163         },
20164         "FinishActions": {
20165           "type": "object",
20166           "properties": {
20167             "Params": {
20168               "$ref": "#/definitions/ActionExecutionResults"
20169             },
20170             "Result": {
20171               "$ref": "#/definitions/ErrorResults"
20172             }
20173           }
20174         },
20175         "GetMeterStatus": {
20176           "type": "object",
20177           "properties": {
20178             "Params": {
20179               "$ref": "#/definitions/Entities"
20180             },
20181             "Result": {
20182               "$ref": "#/definitions/MeterStatusResults"
20183             }
20184           }
20185         },
20186         "GetPrincipal": {
20187           "type": "object",
20188           "properties": {
20189             "Params": {
20190               "$ref": "#/definitions/Entities"
20191             },
20192             "Result": {
20193               "$ref": "#/definitions/StringBoolResults"
20194             }
20195           }
20196         },
20197         "HasSubordinates": {
20198           "type": "object",
20199           "properties": {
20200             "Params": {
20201               "$ref": "#/definitions/Entities"
20202             },
20203             "Result": {
20204               "$ref": "#/definitions/BoolResults"
20205             }
20206           }
20207         },
20208         "JoinedRelations": {
20209           "type": "object",
20210           "properties": {
20211             "Params": {
20212               "$ref": "#/definitions/Entities"
20213             },
20214             "Result": {
20215               "$ref": "#/definitions/StringsResults"
20216             }
20217           }
20218         },
20219         "LeaveScope": {
20220           "type": "object",
20221           "properties": {
20222             "Params": {
20223               "$ref": "#/definitions/RelationUnits"
20224             },
20225             "Result": {
20226               "$ref": "#/definitions/ErrorResults"
20227             }
20228           }
20229         },
20230         "Life": {
20231           "type": "object",
20232           "properties": {
20233             "Params": {
20234               "$ref": "#/definitions/Entities"
20235             },
20236             "Result": {
20237               "$ref": "#/definitions/LifeResults"
20238             }
20239           }
20240         },
20241         "Merge": {
20242           "type": "object",
20243           "properties": {
20244             "Params": {
20245               "$ref": "#/definitions/MergeLeadershipSettingsBulkParams"
20246             },
20247             "Result": {
20248               "$ref": "#/definitions/ErrorResults"
20249             }
20250           }
20251         },
20252         "ModelConfig": {
20253           "type": "object",
20254           "properties": {
20255             "Result": {
20256               "$ref": "#/definitions/ModelConfigResult"
20257             }
20258           }
20259         },
20260         "ModelUUID": {
20261           "type": "object",
20262           "properties": {
20263             "Result": {
20264               "$ref": "#/definitions/StringResult"
20265             }
20266           }
20267         },
20268         "NetworkConfig": {
20269           "type": "object",
20270           "properties": {
20271             "Params": {
20272               "$ref": "#/definitions/UnitsNetworkConfig"
20273             },
20274             "Result": {
20275               "$ref": "#/definitions/UnitNetworkConfigResults"
20276             }
20277           }
20278         },
20279         "OpenPorts": {
20280           "type": "object",
20281           "properties": {
20282             "Params": {
20283               "$ref": "#/definitions/EntitiesPortRanges"
20284             },
20285             "Result": {
20286               "$ref": "#/definitions/ErrorResults"
20287             }
20288           }
20289         },
20290         "PrivateAddress": {
20291           "type": "object",
20292           "properties": {
20293             "Params": {
20294               "$ref": "#/definitions/Entities"
20295             },
20296             "Result": {
20297               "$ref": "#/definitions/StringResults"
20298             }
20299           }
20300         },
20301         "ProviderType": {
20302           "type": "object",
20303           "properties": {
20304             "Result": {
20305               "$ref": "#/definitions/StringResult"
20306             }
20307           }
20308         },
20309         "PublicAddress": {
20310           "type": "object",
20311           "properties": {
20312             "Params": {
20313               "$ref": "#/definitions/Entities"
20314             },
20315             "Result": {
20316               "$ref": "#/definitions/StringResults"
20317             }
20318           }
20319         },
20320         "Read": {
20321           "type": "object",
20322           "properties": {
20323             "Params": {
20324               "$ref": "#/definitions/Entities"
20325             },
20326             "Result": {
20327               "$ref": "#/definitions/GetLeadershipSettingsBulkResults"
20328             }
20329           }
20330         },
20331         "ReadRemoteSettings": {
20332           "type": "object",
20333           "properties": {
20334             "Params": {
20335               "$ref": "#/definitions/RelationUnitPairs"
20336             },
20337             "Result": {
20338               "$ref": "#/definitions/SettingsResults"
20339             }
20340           }
20341         },
20342         "ReadSettings": {
20343           "type": "object",
20344           "properties": {
20345             "Params": {
20346               "$ref": "#/definitions/RelationUnits"
20347             },
20348             "Result": {
20349               "$ref": "#/definitions/SettingsResults"
20350             }
20351           }
20352         },
20353         "Relation": {
20354           "type": "object",
20355           "properties": {
20356             "Params": {
20357               "$ref": "#/definitions/RelationUnits"
20358             },
20359             "Result": {
20360               "$ref": "#/definitions/RelationResults"
20361             }
20362           }
20363         },
20364         "RelationById": {
20365           "type": "object",
20366           "properties": {
20367             "Params": {
20368               "$ref": "#/definitions/RelationIds"
20369             },
20370             "Result": {
20371               "$ref": "#/definitions/RelationResults"
20372             }
20373           }
20374         },
20375         "RemoveStorageAttachments": {
20376           "type": "object",
20377           "properties": {
20378             "Params": {
20379               "$ref": "#/definitions/StorageAttachmentIds"
20380             },
20381             "Result": {
20382               "$ref": "#/definitions/ErrorResults"
20383             }
20384           }
20385         },
20386         "RequestReboot": {
20387           "type": "object",
20388           "properties": {
20389             "Params": {
20390               "$ref": "#/definitions/Entities"
20391             },
20392             "Result": {
20393               "$ref": "#/definitions/ErrorResults"
20394             }
20395           }
20396         },
20397         "Resolved": {
20398           "type": "object",
20399           "properties": {
20400             "Params": {
20401               "$ref": "#/definitions/Entities"
20402             },
20403             "Result": {
20404               "$ref": "#/definitions/ResolvedModeResults"
20405             }
20406           }
20407         },
20408         "SetAgentStatus": {
20409           "type": "object",
20410           "properties": {
20411             "Params": {
20412               "$ref": "#/definitions/SetStatus"
20413             },
20414             "Result": {
20415               "$ref": "#/definitions/ErrorResults"
20416             }
20417           }
20418         },
20419         "SetApplicationStatus": {
20420           "type": "object",
20421           "properties": {
20422             "Params": {
20423               "$ref": "#/definitions/SetStatus"
20424             },
20425             "Result": {
20426               "$ref": "#/definitions/ErrorResults"
20427             }
20428           }
20429         },
20430         "SetCharmURL": {
20431           "type": "object",
20432           "properties": {
20433             "Params": {
20434               "$ref": "#/definitions/EntitiesCharmURL"
20435             },
20436             "Result": {
20437               "$ref": "#/definitions/ErrorResults"
20438             }
20439           }
20440         },
20441         "SetStatus": {
20442           "type": "object",
20443           "properties": {
20444             "Params": {
20445               "$ref": "#/definitions/SetStatus"
20446             },
20447             "Result": {
20448               "$ref": "#/definitions/ErrorResults"
20449             }
20450           }
20451         },
20452         "SetUnitStatus": {
20453           "type": "object",
20454           "properties": {
20455             "Params": {
20456               "$ref": "#/definitions/SetStatus"
20457             },
20458             "Result": {
20459               "$ref": "#/definitions/ErrorResults"
20460             }
20461           }
20462         },
20463         "SetWorkloadVersion": {
20464           "type": "object",
20465           "properties": {
20466             "Params": {
20467               "$ref": "#/definitions/EntityWorkloadVersions"
20468             },
20469             "Result": {
20470               "$ref": "#/definitions/ErrorResults"
20471             }
20472           }
20473         },
20474         "StorageAttachmentLife": {
20475           "type": "object",
20476           "properties": {
20477             "Params": {
20478               "$ref": "#/definitions/StorageAttachmentIds"
20479             },
20480             "Result": {
20481               "$ref": "#/definitions/LifeResults"
20482             }
20483           }
20484         },
20485         "StorageAttachments": {
20486           "type": "object",
20487           "properties": {
20488             "Params": {
20489               "$ref": "#/definitions/StorageAttachmentIds"
20490             },
20491             "Result": {
20492               "$ref": "#/definitions/StorageAttachmentResults"
20493             }
20494           }
20495         },
20496         "UnitStatus": {
20497           "type": "object",
20498           "properties": {
20499             "Params": {
20500               "$ref": "#/definitions/Entities"
20501             },
20502             "Result": {
20503               "$ref": "#/definitions/StatusResults"
20504             }
20505           }
20506         },
20507         "UnitStorageAttachments": {
20508           "type": "object",
20509           "properties": {
20510             "Params": {
20511               "$ref": "#/definitions/Entities"
20512             },
20513             "Result": {
20514               "$ref": "#/definitions/StorageAttachmentIdsResults"
20515             }
20516           }
20517         },
20518         "UpdateSettings": {
20519           "type": "object",
20520           "properties": {
20521             "Params": {
20522               "$ref": "#/definitions/RelationUnitsSettings"
20523             },
20524             "Result": {
20525               "$ref": "#/definitions/ErrorResults"
20526             }
20527           }
20528         },
20529         "Watch": {
20530           "type": "object",
20531           "properties": {
20532             "Params": {
20533               "$ref": "#/definitions/Entities"
20534             },
20535             "Result": {
20536               "$ref": "#/definitions/NotifyWatchResults"
20537             }
20538           }
20539         },
20540         "WatchAPIHostPorts": {
20541           "type": "object",
20542           "properties": {
20543             "Result": {
20544               "$ref": "#/definitions/NotifyWatchResult"
20545             }
20546           }
20547         },
20548         "WatchActionNotifications": {
20549           "type": "object",
20550           "properties": {
20551             "Params": {
20552               "$ref": "#/definitions/Entities"
20553             },
20554             "Result": {
20555               "$ref": "#/definitions/StringsWatchResults"
20556             }
20557           }
20558         },
20559         "WatchApplicationRelations": {
20560           "type": "object",
20561           "properties": {
20562             "Params": {
20563               "$ref": "#/definitions/Entities"
20564             },
20565             "Result": {
20566               "$ref": "#/definitions/StringsWatchResults"
20567             }
20568           }
20569         },
20570         "WatchConfigSettings": {
20571           "type": "object",
20572           "properties": {
20573             "Params": {
20574               "$ref": "#/definitions/Entities"
20575             },
20576             "Result": {
20577               "$ref": "#/definitions/NotifyWatchResults"
20578             }
20579           }
20580         },
20581         "WatchForModelConfigChanges": {
20582           "type": "object",
20583           "properties": {
20584             "Result": {
20585               "$ref": "#/definitions/NotifyWatchResult"
20586             }
20587           }
20588         },
20589         "WatchLeadershipSettings": {
20590           "type": "object",
20591           "properties": {
20592             "Params": {
20593               "$ref": "#/definitions/Entities"
20594             },
20595             "Result": {
20596               "$ref": "#/definitions/NotifyWatchResults"
20597             }
20598           }
20599         },
20600         "WatchMeterStatus": {
20601           "type": "object",
20602           "properties": {
20603             "Params": {
20604               "$ref": "#/definitions/Entities"
20605             },
20606             "Result": {
20607               "$ref": "#/definitions/NotifyWatchResults"
20608             }
20609           }
20610         },
20611         "WatchRelationUnits": {
20612           "type": "object",
20613           "properties": {
20614             "Params": {
20615               "$ref": "#/definitions/RelationUnits"
20616             },
20617             "Result": {
20618               "$ref": "#/definitions/RelationUnitsWatchResults"
20619             }
20620           }
20621         },
20622         "WatchStorageAttachments": {
20623           "type": "object",
20624           "properties": {
20625             "Params": {
20626               "$ref": "#/definitions/StorageAttachmentIds"
20627             },
20628             "Result": {
20629               "$ref": "#/definitions/NotifyWatchResults"
20630             }
20631           }
20632         },
20633         "WatchUnitAddresses": {
20634           "type": "object",
20635           "properties": {
20636             "Params": {
20637               "$ref": "#/definitions/Entities"
20638             },
20639             "Result": {
20640               "$ref": "#/definitions/NotifyWatchResults"
20641             }
20642           }
20643         },
20644         "WatchUnitStorageAttachments": {
20645           "type": "object",
20646           "properties": {
20647             "Params": {
20648               "$ref": "#/definitions/Entities"
20649             },
20650             "Result": {
20651               "$ref": "#/definitions/StringsWatchResults"
20652             }
20653           }
20654         },
20655         "WorkloadVersion": {
20656           "type": "object",
20657           "properties": {
20658             "Params": {
20659               "$ref": "#/definitions/Entities"
20660             },
20661             "Result": {
20662               "$ref": "#/definitions/StringResults"
20663             }
20664           }
20665         }
20666       },
20667       "definitions": {
20668         "APIHostPortsResult": {
20669           "type": "object",
20670           "properties": {
20671             "servers": {
20672               "type": "array",
20673               "items": {
20674                 "type": "array",
20675                 "items": {
20676                   "$ref": "#/definitions/HostPort"
20677                 }
20678               }
20679             }
20680           },
20681           "additionalProperties": false,
20682           "required": [
20683             "servers"
20684           ]
20685         },
20686         "Action": {
20687           "type": "object",
20688           "properties": {
20689             "name": {
20690               "type": "string"
20691             },
20692             "parameters": {
20693               "type": "object",
20694               "patternProperties": {
20695                 ".*": {
20696                   "type": "object",
20697                   "additionalProperties": true
20698                 }
20699               }
20700             },
20701             "receiver": {
20702               "type": "string"
20703             },
20704             "tag": {
20705               "type": "string"
20706             }
20707           },
20708           "additionalProperties": false,
20709           "required": [
20710             "tag",
20711             "receiver",
20712             "name"
20713           ]
20714         },
20715         "ActionExecutionResult": {
20716           "type": "object",
20717           "properties": {
20718             "action-tag": {
20719               "type": "string"
20720             },
20721             "message": {
20722               "type": "string"
20723             },
20724             "results": {
20725               "type": "object",
20726               "patternProperties": {
20727                 ".*": {
20728                   "type": "object",
20729                   "additionalProperties": true
20730                 }
20731               }
20732             },
20733             "status": {
20734               "type": "string"
20735             }
20736           },
20737           "additionalProperties": false,
20738           "required": [
20739             "action-tag",
20740             "status"
20741           ]
20742         },
20743         "ActionExecutionResults": {
20744           "type": "object",
20745           "properties": {
20746             "results": {
20747               "type": "array",
20748               "items": {
20749                 "$ref": "#/definitions/ActionExecutionResult"
20750               }
20751             }
20752           },
20753           "additionalProperties": false
20754         },
20755         "ActionResult": {
20756           "type": "object",
20757           "properties": {
20758             "action": {
20759               "$ref": "#/definitions/Action"
20760             },
20761             "completed": {
20762               "type": "string",
20763               "format": "date-time"
20764             },
20765             "enqueued": {
20766               "type": "string",
20767               "format": "date-time"
20768             },
20769             "error": {
20770               "$ref": "#/definitions/Error"
20771             },
20772             "message": {
20773               "type": "string"
20774             },
20775             "output": {
20776               "type": "object",
20777               "patternProperties": {
20778                 ".*": {
20779                   "type": "object",
20780                   "additionalProperties": true
20781                 }
20782               }
20783             },
20784             "started": {
20785               "type": "string",
20786               "format": "date-time"
20787             },
20788             "status": {
20789               "type": "string"
20790             }
20791           },
20792           "additionalProperties": false
20793         },
20794         "ActionResults": {
20795           "type": "object",
20796           "properties": {
20797             "results": {
20798               "type": "array",
20799               "items": {
20800                 "$ref": "#/definitions/ActionResult"
20801               }
20802             }
20803           },
20804           "additionalProperties": false
20805         },
20806         "Address": {
20807           "type": "object",
20808           "properties": {
20809             "scope": {
20810               "type": "string"
20811             },
20812             "space-name": {
20813               "type": "string"
20814             },
20815             "type": {
20816               "type": "string"
20817             },
20818             "value": {
20819               "type": "string"
20820             }
20821           },
20822           "additionalProperties": false,
20823           "required": [
20824             "value",
20825             "type",
20826             "scope"
20827           ]
20828         },
20829         "ApplicationStatusResult": {
20830           "type": "object",
20831           "properties": {
20832             "application": {
20833               "$ref": "#/definitions/StatusResult"
20834             },
20835             "error": {
20836               "$ref": "#/definitions/Error"
20837             },
20838             "units": {
20839               "type": "object",
20840               "patternProperties": {
20841                 ".*": {
20842                   "$ref": "#/definitions/StatusResult"
20843                 }
20844               }
20845             }
20846           },
20847           "additionalProperties": false,
20848           "required": [
20849             "application",
20850             "units"
20851           ]
20852         },
20853         "ApplicationStatusResults": {
20854           "type": "object",
20855           "properties": {
20856             "results": {
20857               "type": "array",
20858               "items": {
20859                 "$ref": "#/definitions/ApplicationStatusResult"
20860               }
20861             }
20862           },
20863           "additionalProperties": false,
20864           "required": [
20865             "results"
20866           ]
20867         },
20868         "BoolResult": {
20869           "type": "object",
20870           "properties": {
20871             "error": {
20872               "$ref": "#/definitions/Error"
20873             },
20874             "result": {
20875               "type": "boolean"
20876             }
20877           },
20878           "additionalProperties": false,
20879           "required": [
20880             "result"
20881           ]
20882         },
20883         "BoolResults": {
20884           "type": "object",
20885           "properties": {
20886             "results": {
20887               "type": "array",
20888               "items": {
20889                 "$ref": "#/definitions/BoolResult"
20890               }
20891             }
20892           },
20893           "additionalProperties": false,
20894           "required": [
20895             "results"
20896           ]
20897         },
20898         "BytesResult": {
20899           "type": "object",
20900           "properties": {
20901             "result": {
20902               "type": "array",
20903               "items": {
20904                 "type": "integer"
20905               }
20906             }
20907           },
20908           "additionalProperties": false,
20909           "required": [
20910             "result"
20911           ]
20912         },
20913         "CharmRelation": {
20914           "type": "object",
20915           "properties": {
20916             "interface": {
20917               "type": "string"
20918             },
20919             "limit": {
20920               "type": "integer"
20921             },
20922             "name": {
20923               "type": "string"
20924             },
20925             "optional": {
20926               "type": "boolean"
20927             },
20928             "role": {
20929               "type": "string"
20930             },
20931             "scope": {
20932               "type": "string"
20933             }
20934           },
20935           "additionalProperties": false,
20936           "required": [
20937             "name",
20938             "role",
20939             "interface",
20940             "optional",
20941             "limit",
20942             "scope"
20943           ]
20944         },
20945         "CharmURL": {
20946           "type": "object",
20947           "properties": {
20948             "url": {
20949               "type": "string"
20950             }
20951           },
20952           "additionalProperties": false,
20953           "required": [
20954             "url"
20955           ]
20956         },
20957         "CharmURLs": {
20958           "type": "object",
20959           "properties": {
20960             "urls": {
20961               "type": "array",
20962               "items": {
20963                 "$ref": "#/definitions/CharmURL"
20964               }
20965             }
20966           },
20967           "additionalProperties": false,
20968           "required": [
20969             "urls"
20970           ]
20971         },
20972         "ConfigSettingsResult": {
20973           "type": "object",
20974           "properties": {
20975             "error": {
20976               "$ref": "#/definitions/Error"
20977             },
20978             "settings": {
20979               "type": "object",
20980               "patternProperties": {
20981                 ".*": {
20982                   "type": "object",
20983                   "additionalProperties": true
20984                 }
20985               }
20986             }
20987           },
20988           "additionalProperties": false,
20989           "required": [
20990             "settings"
20991           ]
20992         },
20993         "ConfigSettingsResults": {
20994           "type": "object",
20995           "properties": {
20996             "results": {
20997               "type": "array",
20998               "items": {
20999                 "$ref": "#/definitions/ConfigSettingsResult"
21000               }
21001             }
21002           },
21003           "additionalProperties": false,
21004           "required": [
21005             "results"
21006           ]
21007         },
21008         "Endpoint": {
21009           "type": "object",
21010           "properties": {
21011             "application-name": {
21012               "type": "string"
21013             },
21014             "relation": {
21015               "$ref": "#/definitions/CharmRelation"
21016             }
21017           },
21018           "additionalProperties": false,
21019           "required": [
21020             "application-name",
21021             "relation"
21022           ]
21023         },
21024         "Entities": {
21025           "type": "object",
21026           "properties": {
21027             "entities": {
21028               "type": "array",
21029               "items": {
21030                 "$ref": "#/definitions/Entity"
21031               }
21032             }
21033           },
21034           "additionalProperties": false,
21035           "required": [
21036             "entities"
21037           ]
21038         },
21039         "EntitiesCharmURL": {
21040           "type": "object",
21041           "properties": {
21042             "entities": {
21043               "type": "array",
21044               "items": {
21045                 "$ref": "#/definitions/EntityCharmURL"
21046               }
21047             }
21048           },
21049           "additionalProperties": false,
21050           "required": [
21051             "entities"
21052           ]
21053         },
21054         "EntitiesPortRanges": {
21055           "type": "object",
21056           "properties": {
21057             "entities": {
21058               "type": "array",
21059               "items": {
21060                 "$ref": "#/definitions/EntityPortRange"
21061               }
21062             }
21063           },
21064           "additionalProperties": false,
21065           "required": [
21066             "entities"
21067           ]
21068         },
21069         "Entity": {
21070           "type": "object",
21071           "properties": {
21072             "tag": {
21073               "type": "string"
21074             }
21075           },
21076           "additionalProperties": false,
21077           "required": [
21078             "tag"
21079           ]
21080         },
21081         "EntityCharmURL": {
21082           "type": "object",
21083           "properties": {
21084             "charm-url": {
21085               "type": "string"
21086             },
21087             "tag": {
21088               "type": "string"
21089             }
21090           },
21091           "additionalProperties": false,
21092           "required": [
21093             "tag",
21094             "charm-url"
21095           ]
21096         },
21097         "EntityPortRange": {
21098           "type": "object",
21099           "properties": {
21100             "from-port": {
21101               "type": "integer"
21102             },
21103             "protocol": {
21104               "type": "string"
21105             },
21106             "tag": {
21107               "type": "string"
21108             },
21109             "to-port": {
21110               "type": "integer"
21111             }
21112           },
21113           "additionalProperties": false,
21114           "required": [
21115             "tag",
21116             "protocol",
21117             "from-port",
21118             "to-port"
21119           ]
21120         },
21121         "EntityStatusArgs": {
21122           "type": "object",
21123           "properties": {
21124             "data": {
21125               "type": "object",
21126               "patternProperties": {
21127                 ".*": {
21128                   "type": "object",
21129                   "additionalProperties": true
21130                 }
21131               }
21132             },
21133             "info": {
21134               "type": "string"
21135             },
21136             "status": {
21137               "type": "string"
21138             },
21139             "tag": {
21140               "type": "string"
21141             }
21142           },
21143           "additionalProperties": false,
21144           "required": [
21145             "tag",
21146             "status",
21147             "info",
21148             "data"
21149           ]
21150         },
21151         "EntityWorkloadVersion": {
21152           "type": "object",
21153           "properties": {
21154             "tag": {
21155               "type": "string"
21156             },
21157             "workload-version": {
21158               "type": "string"
21159             }
21160           },
21161           "additionalProperties": false,
21162           "required": [
21163             "tag",
21164             "workload-version"
21165           ]
21166         },
21167         "EntityWorkloadVersions": {
21168           "type": "object",
21169           "properties": {
21170             "entities": {
21171               "type": "array",
21172               "items": {
21173                 "$ref": "#/definitions/EntityWorkloadVersion"
21174               }
21175             }
21176           },
21177           "additionalProperties": false,
21178           "required": [
21179             "entities"
21180           ]
21181         },
21182         "Error": {
21183           "type": "object",
21184           "properties": {
21185             "code": {
21186               "type": "string"
21187             },
21188             "info": {
21189               "$ref": "#/definitions/ErrorInfo"
21190             },
21191             "message": {
21192               "type": "string"
21193             }
21194           },
21195           "additionalProperties": false,
21196           "required": [
21197             "message",
21198             "code"
21199           ]
21200         },
21201         "ErrorInfo": {
21202           "type": "object",
21203           "properties": {
21204             "macaroon": {
21205               "$ref": "#/definitions/Macaroon"
21206             },
21207             "macaroon-path": {
21208               "type": "string"
21209             }
21210           },
21211           "additionalProperties": false
21212         },
21213         "ErrorResult": {
21214           "type": "object",
21215           "properties": {
21216             "error": {
21217               "$ref": "#/definitions/Error"
21218             }
21219           },
21220           "additionalProperties": false
21221         },
21222         "ErrorResults": {
21223           "type": "object",
21224           "properties": {
21225             "results": {
21226               "type": "array",
21227               "items": {
21228                 "$ref": "#/definitions/ErrorResult"
21229               }
21230             }
21231           },
21232           "additionalProperties": false,
21233           "required": [
21234             "results"
21235           ]
21236         },
21237         "GetLeadershipSettingsBulkResults": {
21238           "type": "object",
21239           "properties": {
21240             "results": {
21241               "type": "array",
21242               "items": {
21243                 "$ref": "#/definitions/GetLeadershipSettingsResult"
21244               }
21245             }
21246           },
21247           "additionalProperties": false,
21248           "required": [
21249             "results"
21250           ]
21251         },
21252         "GetLeadershipSettingsResult": {
21253           "type": "object",
21254           "properties": {
21255             "error": {
21256               "$ref": "#/definitions/Error"
21257             },
21258             "settings": {
21259               "type": "object",
21260               "patternProperties": {
21261                 ".*": {
21262                   "type": "string"
21263                 }
21264               }
21265             }
21266           },
21267           "additionalProperties": false,
21268           "required": [
21269             "settings"
21270           ]
21271         },
21272         "HostPort": {
21273           "type": "object",
21274           "properties": {
21275             "Address": {
21276               "$ref": "#/definitions/Address"
21277             },
21278             "port": {
21279               "type": "integer"
21280             }
21281           },
21282           "additionalProperties": false,
21283           "required": [
21284             "Address",
21285             "port"
21286           ]
21287         },
21288         "IntResult": {
21289           "type": "object",
21290           "properties": {
21291             "error": {
21292               "$ref": "#/definitions/Error"
21293             },
21294             "result": {
21295               "type": "integer"
21296             }
21297           },
21298           "additionalProperties": false,
21299           "required": [
21300             "result"
21301           ]
21302         },
21303         "IntResults": {
21304           "type": "object",
21305           "properties": {
21306             "results": {
21307               "type": "array",
21308               "items": {
21309                 "$ref": "#/definitions/IntResult"
21310               }
21311             }
21312           },
21313           "additionalProperties": false,
21314           "required": [
21315             "results"
21316           ]
21317         },
21318         "LifeResult": {
21319           "type": "object",
21320           "properties": {
21321             "error": {
21322               "$ref": "#/definitions/Error"
21323             },
21324             "life": {
21325               "type": "string"
21326             }
21327           },
21328           "additionalProperties": false,
21329           "required": [
21330             "life"
21331           ]
21332         },
21333         "LifeResults": {
21334           "type": "object",
21335           "properties": {
21336             "results": {
21337               "type": "array",
21338               "items": {
21339                 "$ref": "#/definitions/LifeResult"
21340               }
21341             }
21342           },
21343           "additionalProperties": false,
21344           "required": [
21345             "results"
21346           ]
21347         },
21348         "Macaroon": {
21349           "type": "object",
21350           "additionalProperties": false
21351         },
21352         "MachinePortRange": {
21353           "type": "object",
21354           "properties": {
21355             "port-range": {
21356               "$ref": "#/definitions/PortRange"
21357             },
21358             "relation-tag": {
21359               "type": "string"
21360             },
21361             "unit-tag": {
21362               "type": "string"
21363             }
21364           },
21365           "additionalProperties": false,
21366           "required": [
21367             "unit-tag",
21368             "relation-tag",
21369             "port-range"
21370           ]
21371         },
21372         "MachinePortsResult": {
21373           "type": "object",
21374           "properties": {
21375             "error": {
21376               "$ref": "#/definitions/Error"
21377             },
21378             "ports": {
21379               "type": "array",
21380               "items": {
21381                 "$ref": "#/definitions/MachinePortRange"
21382               }
21383             }
21384           },
21385           "additionalProperties": false,
21386           "required": [
21387             "ports"
21388           ]
21389         },
21390         "MachinePortsResults": {
21391           "type": "object",
21392           "properties": {
21393             "results": {
21394               "type": "array",
21395               "items": {
21396                 "$ref": "#/definitions/MachinePortsResult"
21397               }
21398             }
21399           },
21400           "additionalProperties": false,
21401           "required": [
21402             "results"
21403           ]
21404         },
21405         "MergeLeadershipSettingsBulkParams": {
21406           "type": "object",
21407           "properties": {
21408             "params": {
21409               "type": "array",
21410               "items": {
21411                 "$ref": "#/definitions/MergeLeadershipSettingsParam"
21412               }
21413             }
21414           },
21415           "additionalProperties": false,
21416           "required": [
21417             "params"
21418           ]
21419         },
21420         "MergeLeadershipSettingsParam": {
21421           "type": "object",
21422           "properties": {
21423             "application-tag": {
21424               "type": "string"
21425             },
21426             "settings": {
21427               "type": "object",
21428               "patternProperties": {
21429                 ".*": {
21430                   "type": "string"
21431                 }
21432               }
21433             }
21434           },
21435           "additionalProperties": false,
21436           "required": [
21437             "application-tag",
21438             "settings"
21439           ]
21440         },
21441         "MeterStatusResult": {
21442           "type": "object",
21443           "properties": {
21444             "code": {
21445               "type": "string"
21446             },
21447             "error": {
21448               "$ref": "#/definitions/Error"
21449             },
21450             "info": {
21451               "type": "string"
21452             }
21453           },
21454           "additionalProperties": false,
21455           "required": [
21456             "code",
21457             "info"
21458           ]
21459         },
21460         "MeterStatusResults": {
21461           "type": "object",
21462           "properties": {
21463             "results": {
21464               "type": "array",
21465               "items": {
21466                 "$ref": "#/definitions/MeterStatusResult"
21467               }
21468             }
21469           },
21470           "additionalProperties": false,
21471           "required": [
21472             "results"
21473           ]
21474         },
21475         "Metric": {
21476           "type": "object",
21477           "properties": {
21478             "key": {
21479               "type": "string"
21480             },
21481             "time": {
21482               "type": "string",
21483               "format": "date-time"
21484             },
21485             "value": {
21486               "type": "string"
21487             }
21488           },
21489           "additionalProperties": false,
21490           "required": [
21491             "key",
21492             "value",
21493             "time"
21494           ]
21495         },
21496         "MetricBatch": {
21497           "type": "object",
21498           "properties": {
21499             "charm-url": {
21500               "type": "string"
21501             },
21502             "created": {
21503               "type": "string",
21504               "format": "date-time"
21505             },
21506             "metrics": {
21507               "type": "array",
21508               "items": {
21509                 "$ref": "#/definitions/Metric"
21510               }
21511             },
21512             "uuid": {
21513               "type": "string"
21514             }
21515           },
21516           "additionalProperties": false,
21517           "required": [
21518             "uuid",
21519             "charm-url",
21520             "created",
21521             "metrics"
21522           ]
21523         },
21524         "MetricBatchParam": {
21525           "type": "object",
21526           "properties": {
21527             "batch": {
21528               "$ref": "#/definitions/MetricBatch"
21529             },
21530             "tag": {
21531               "type": "string"
21532             }
21533           },
21534           "additionalProperties": false,
21535           "required": [
21536             "tag",
21537             "batch"
21538           ]
21539         },
21540         "MetricBatchParams": {
21541           "type": "object",
21542           "properties": {
21543             "batches": {
21544               "type": "array",
21545               "items": {
21546                 "$ref": "#/definitions/MetricBatchParam"
21547               }
21548             }
21549           },
21550           "additionalProperties": false,
21551           "required": [
21552             "batches"
21553           ]
21554         },
21555         "ModelConfigResult": {
21556           "type": "object",
21557           "properties": {
21558             "config": {
21559               "type": "object",
21560               "patternProperties": {
21561                 ".*": {
21562                   "type": "object",
21563                   "additionalProperties": true
21564                 }
21565               }
21566             }
21567           },
21568           "additionalProperties": false,
21569           "required": [
21570             "config"
21571           ]
21572         },
21573         "ModelResult": {
21574           "type": "object",
21575           "properties": {
21576             "error": {
21577               "$ref": "#/definitions/Error"
21578             },
21579             "name": {
21580               "type": "string"
21581             },
21582             "uuid": {
21583               "type": "string"
21584             }
21585           },
21586           "additionalProperties": false,
21587           "required": [
21588             "name",
21589             "uuid"
21590           ]
21591         },
21592         "NetworkConfig": {
21593           "type": "object",
21594           "properties": {
21595             "address": {
21596               "type": "string"
21597             },
21598             "cidr": {
21599               "type": "string"
21600             },
21601             "config-type": {
21602               "type": "string"
21603             },
21604             "device-index": {
21605               "type": "integer"
21606             },
21607             "disabled": {
21608               "type": "boolean"
21609             },
21610             "dns-search-domains": {
21611               "type": "array",
21612               "items": {
21613                 "type": "string"
21614               }
21615             },
21616             "dns-servers": {
21617               "type": "array",
21618               "items": {
21619                 "type": "string"
21620               }
21621             },
21622             "gateway-address": {
21623               "type": "string"
21624             },
21625             "interface-name": {
21626               "type": "string"
21627             },
21628             "interface-type": {
21629               "type": "string"
21630             },
21631             "mac-address": {
21632               "type": "string"
21633             },
21634             "mtu": {
21635               "type": "integer"
21636             },
21637             "no-auto-start": {
21638               "type": "boolean"
21639             },
21640             "parent-interface-name": {
21641               "type": "string"
21642             },
21643             "provider-address-id": {
21644               "type": "string"
21645             },
21646             "provider-id": {
21647               "type": "string"
21648             },
21649             "provider-space-id": {
21650               "type": "string"
21651             },
21652             "provider-subnet-id": {
21653               "type": "string"
21654             },
21655             "provider-vlan-id": {
21656               "type": "string"
21657             },
21658             "vlan-tag": {
21659               "type": "integer"
21660             }
21661           },
21662           "additionalProperties": false,
21663           "required": [
21664             "device-index",
21665             "mac-address",
21666             "cidr",
21667             "mtu",
21668             "provider-id",
21669             "provider-subnet-id",
21670             "provider-space-id",
21671             "provider-address-id",
21672             "provider-vlan-id",
21673             "vlan-tag",
21674             "interface-name",
21675             "parent-interface-name",
21676             "interface-type",
21677             "disabled"
21678           ]
21679         },
21680         "NotifyWatchResult": {
21681           "type": "object",
21682           "properties": {
21683             "NotifyWatcherId": {
21684               "type": "string"
21685             },
21686             "error": {
21687               "$ref": "#/definitions/Error"
21688             }
21689           },
21690           "additionalProperties": false,
21691           "required": [
21692             "NotifyWatcherId"
21693           ]
21694         },
21695         "NotifyWatchResults": {
21696           "type": "object",
21697           "properties": {
21698             "results": {
21699               "type": "array",
21700               "items": {
21701                 "$ref": "#/definitions/NotifyWatchResult"
21702               }
21703             }
21704           },
21705           "additionalProperties": false,
21706           "required": [
21707             "results"
21708           ]
21709         },
21710         "PortRange": {
21711           "type": "object",
21712           "properties": {
21713             "from-port": {
21714               "type": "integer"
21715             },
21716             "protocol": {
21717               "type": "string"
21718             },
21719             "to-port": {
21720               "type": "integer"
21721             }
21722           },
21723           "additionalProperties": false,
21724           "required": [
21725             "from-port",
21726             "to-port",
21727             "protocol"
21728           ]
21729         },
21730         "RelationIds": {
21731           "type": "object",
21732           "properties": {
21733             "relation-ids": {
21734               "type": "array",
21735               "items": {
21736                 "type": "integer"
21737               }
21738             }
21739           },
21740           "additionalProperties": false,
21741           "required": [
21742             "relation-ids"
21743           ]
21744         },
21745         "RelationResult": {
21746           "type": "object",
21747           "properties": {
21748             "endpoint": {
21749               "$ref": "#/definitions/Endpoint"
21750             },
21751             "error": {
21752               "$ref": "#/definitions/Error"
21753             },
21754             "id": {
21755               "type": "integer"
21756             },
21757             "key": {
21758               "type": "string"
21759             },
21760             "life": {
21761               "type": "string"
21762             }
21763           },
21764           "additionalProperties": false,
21765           "required": [
21766             "life",
21767             "id",
21768             "key",
21769             "endpoint"
21770           ]
21771         },
21772         "RelationResults": {
21773           "type": "object",
21774           "properties": {
21775             "results": {
21776               "type": "array",
21777               "items": {
21778                 "$ref": "#/definitions/RelationResult"
21779               }
21780             }
21781           },
21782           "additionalProperties": false,
21783           "required": [
21784             "results"
21785           ]
21786         },
21787         "RelationUnit": {
21788           "type": "object",
21789           "properties": {
21790             "relation": {
21791               "type": "string"
21792             },
21793             "unit": {
21794               "type": "string"
21795             }
21796           },
21797           "additionalProperties": false,
21798           "required": [
21799             "relation",
21800             "unit"
21801           ]
21802         },
21803         "RelationUnitPair": {
21804           "type": "object",
21805           "properties": {
21806             "local-unit": {
21807               "type": "string"
21808             },
21809             "relation": {
21810               "type": "string"
21811             },
21812             "remote-unit": {
21813               "type": "string"
21814             }
21815           },
21816           "additionalProperties": false,
21817           "required": [
21818             "relation",
21819             "local-unit",
21820             "remote-unit"
21821           ]
21822         },
21823         "RelationUnitPairs": {
21824           "type": "object",
21825           "properties": {
21826             "relation-unit-pairs": {
21827               "type": "array",
21828               "items": {
21829                 "$ref": "#/definitions/RelationUnitPair"
21830               }
21831             }
21832           },
21833           "additionalProperties": false,
21834           "required": [
21835             "relation-unit-pairs"
21836           ]
21837         },
21838         "RelationUnitSettings": {
21839           "type": "object",
21840           "properties": {
21841             "relation": {
21842               "type": "string"
21843             },
21844             "settings": {
21845               "type": "object",
21846               "patternProperties": {
21847                 ".*": {
21848                   "type": "string"
21849                 }
21850               }
21851             },
21852             "unit": {
21853               "type": "string"
21854             }
21855           },
21856           "additionalProperties": false,
21857           "required": [
21858             "relation",
21859             "unit",
21860             "settings"
21861           ]
21862         },
21863         "RelationUnits": {
21864           "type": "object",
21865           "properties": {
21866             "relation-units": {
21867               "type": "array",
21868               "items": {
21869                 "$ref": "#/definitions/RelationUnit"
21870               }
21871             }
21872           },
21873           "additionalProperties": false,
21874           "required": [
21875             "relation-units"
21876           ]
21877         },
21878         "RelationUnitsChange": {
21879           "type": "object",
21880           "properties": {
21881             "changed": {
21882               "type": "object",
21883               "patternProperties": {
21884                 ".*": {
21885                   "$ref": "#/definitions/UnitSettings"
21886                 }
21887               }
21888             },
21889             "departed": {
21890               "type": "array",
21891               "items": {
21892                 "type": "string"
21893               }
21894             }
21895           },
21896           "additionalProperties": false,
21897           "required": [
21898             "changed"
21899           ]
21900         },
21901         "RelationUnitsSettings": {
21902           "type": "object",
21903           "properties": {
21904             "relation-units": {
21905               "type": "array",
21906               "items": {
21907                 "$ref": "#/definitions/RelationUnitSettings"
21908               }
21909             }
21910           },
21911           "additionalProperties": false,
21912           "required": [
21913             "relation-units"
21914           ]
21915         },
21916         "RelationUnitsWatchResult": {
21917           "type": "object",
21918           "properties": {
21919             "changes": {
21920               "$ref": "#/definitions/RelationUnitsChange"
21921             },
21922             "error": {
21923               "$ref": "#/definitions/Error"
21924             },
21925             "watcher-id": {
21926               "type": "string"
21927             }
21928           },
21929           "additionalProperties": false,
21930           "required": [
21931             "watcher-id",
21932             "changes"
21933           ]
21934         },
21935         "RelationUnitsWatchResults": {
21936           "type": "object",
21937           "properties": {
21938             "results": {
21939               "type": "array",
21940               "items": {
21941                 "$ref": "#/definitions/RelationUnitsWatchResult"
21942               }
21943             }
21944           },
21945           "additionalProperties": false,
21946           "required": [
21947             "results"
21948           ]
21949         },
21950         "ResolvedModeResult": {
21951           "type": "object",
21952           "properties": {
21953             "error": {
21954               "$ref": "#/definitions/Error"
21955             },
21956             "mode": {
21957               "type": "string"
21958             }
21959           },
21960           "additionalProperties": false,
21961           "required": [
21962             "mode"
21963           ]
21964         },
21965         "ResolvedModeResults": {
21966           "type": "object",
21967           "properties": {
21968             "results": {
21969               "type": "array",
21970               "items": {
21971                 "$ref": "#/definitions/ResolvedModeResult"
21972               }
21973             }
21974           },
21975           "additionalProperties": false,
21976           "required": [
21977             "results"
21978           ]
21979         },
21980         "SetStatus": {
21981           "type": "object",
21982           "properties": {
21983             "entities": {
21984               "type": "array",
21985               "items": {
21986                 "$ref": "#/definitions/EntityStatusArgs"
21987               }
21988             }
21989           },
21990           "additionalProperties": false,
21991           "required": [
21992             "entities"
21993           ]
21994         },
21995         "SettingsResult": {
21996           "type": "object",
21997           "properties": {
21998             "error": {
21999               "$ref": "#/definitions/Error"
22000             },
22001             "settings": {
22002               "type": "object",
22003               "patternProperties": {
22004                 ".*": {
22005                   "type": "string"
22006                 }
22007               }
22008             }
22009           },
22010           "additionalProperties": false,
22011           "required": [
22012             "settings"
22013           ]
22014         },
22015         "SettingsResults": {
22016           "type": "object",
22017           "properties": {
22018             "results": {
22019               "type": "array",
22020               "items": {
22021                 "$ref": "#/definitions/SettingsResult"
22022               }
22023             }
22024           },
22025           "additionalProperties": false,
22026           "required": [
22027             "results"
22028           ]
22029         },
22030         "StatusResult": {
22031           "type": "object",
22032           "properties": {
22033             "data": {
22034               "type": "object",
22035               "patternProperties": {
22036                 ".*": {
22037                   "type": "object",
22038                   "additionalProperties": true
22039                 }
22040               }
22041             },
22042             "error": {
22043               "$ref": "#/definitions/Error"
22044             },
22045             "id": {
22046               "type": "string"
22047             },
22048             "info": {
22049               "type": "string"
22050             },
22051             "life": {
22052               "type": "string"
22053             },
22054             "since": {
22055               "type": "string",
22056               "format": "date-time"
22057             },
22058             "status": {
22059               "type": "string"
22060             }
22061           },
22062           "additionalProperties": false,
22063           "required": [
22064             "id",
22065             "life",
22066             "status",
22067             "info",
22068             "data",
22069             "since"
22070           ]
22071         },
22072         "StatusResults": {
22073           "type": "object",
22074           "properties": {
22075             "results": {
22076               "type": "array",
22077               "items": {
22078                 "$ref": "#/definitions/StatusResult"
22079               }
22080             }
22081           },
22082           "additionalProperties": false,
22083           "required": [
22084             "results"
22085           ]
22086         },
22087         "StorageAddParams": {
22088           "type": "object",
22089           "properties": {
22090             "name": {
22091               "type": "string"
22092             },
22093             "storage": {
22094               "$ref": "#/definitions/StorageConstraints"
22095             },
22096             "unit": {
22097               "type": "string"
22098             }
22099           },
22100           "additionalProperties": false,
22101           "required": [
22102             "unit",
22103             "name",
22104             "storage"
22105           ]
22106         },
22107         "StorageAttachment": {
22108           "type": "object",
22109           "properties": {
22110             "kind": {
22111               "type": "integer"
22112             },
22113             "life": {
22114               "type": "string"
22115             },
22116             "location": {
22117               "type": "string"
22118             },
22119             "owner-tag": {
22120               "type": "string"
22121             },
22122             "storage-tag": {
22123               "type": "string"
22124             },
22125             "unit-tag": {
22126               "type": "string"
22127             }
22128           },
22129           "additionalProperties": false,
22130           "required": [
22131             "storage-tag",
22132             "owner-tag",
22133             "unit-tag",
22134             "kind",
22135             "location",
22136             "life"
22137           ]
22138         },
22139         "StorageAttachmentId": {
22140           "type": "object",
22141           "properties": {
22142             "storage-tag": {
22143               "type": "string"
22144             },
22145             "unit-tag": {
22146               "type": "string"
22147             }
22148           },
22149           "additionalProperties": false,
22150           "required": [
22151             "storage-tag",
22152             "unit-tag"
22153           ]
22154         },
22155         "StorageAttachmentIds": {
22156           "type": "object",
22157           "properties": {
22158             "ids": {
22159               "type": "array",
22160               "items": {
22161                 "$ref": "#/definitions/StorageAttachmentId"
22162               }
22163             }
22164           },
22165           "additionalProperties": false,
22166           "required": [
22167             "ids"
22168           ]
22169         },
22170         "StorageAttachmentIdsResult": {
22171           "type": "object",
22172           "properties": {
22173             "error": {
22174               "$ref": "#/definitions/Error"
22175             },
22176             "result": {
22177               "$ref": "#/definitions/StorageAttachmentIds"
22178             }
22179           },
22180           "additionalProperties": false,
22181           "required": [
22182             "result"
22183           ]
22184         },
22185         "StorageAttachmentIdsResults": {
22186           "type": "object",
22187           "properties": {
22188             "results": {
22189               "type": "array",
22190               "items": {
22191                 "$ref": "#/definitions/StorageAttachmentIdsResult"
22192               }
22193             }
22194           },
22195           "additionalProperties": false
22196         },
22197         "StorageAttachmentResult": {
22198           "type": "object",
22199           "properties": {
22200             "error": {
22201               "$ref": "#/definitions/Error"
22202             },
22203             "result": {
22204               "$ref": "#/definitions/StorageAttachment"
22205             }
22206           },
22207           "additionalProperties": false,
22208           "required": [
22209             "result"
22210           ]
22211         },
22212         "StorageAttachmentResults": {
22213           "type": "object",
22214           "properties": {
22215             "results": {
22216               "type": "array",
22217               "items": {
22218                 "$ref": "#/definitions/StorageAttachmentResult"
22219               }
22220             }
22221           },
22222           "additionalProperties": false
22223         },
22224         "StorageConstraints": {
22225           "type": "object",
22226           "properties": {
22227             "count": {
22228               "type": "integer"
22229             },
22230             "pool": {
22231               "type": "string"
22232             },
22233             "size": {
22234               "type": "integer"
22235             }
22236           },
22237           "additionalProperties": false
22238         },
22239         "StoragesAddParams": {
22240           "type": "object",
22241           "properties": {
22242             "storages": {
22243               "type": "array",
22244               "items": {
22245                 "$ref": "#/definitions/StorageAddParams"
22246               }
22247             }
22248           },
22249           "additionalProperties": false,
22250           "required": [
22251             "storages"
22252           ]
22253         },
22254         "StringBoolResult": {
22255           "type": "object",
22256           "properties": {
22257             "error": {
22258               "$ref": "#/definitions/Error"
22259             },
22260             "ok": {
22261               "type": "boolean"
22262             },
22263             "result": {
22264               "type": "string"
22265             }
22266           },
22267           "additionalProperties": false,
22268           "required": [
22269             "result",
22270             "ok"
22271           ]
22272         },
22273         "StringBoolResults": {
22274           "type": "object",
22275           "properties": {
22276             "results": {
22277               "type": "array",
22278               "items": {
22279                 "$ref": "#/definitions/StringBoolResult"
22280               }
22281             }
22282           },
22283           "additionalProperties": false,
22284           "required": [
22285             "results"
22286           ]
22287         },
22288         "StringResult": {
22289           "type": "object",
22290           "properties": {
22291             "error": {
22292               "$ref": "#/definitions/Error"
22293             },
22294             "result": {
22295               "type": "string"
22296             }
22297           },
22298           "additionalProperties": false,
22299           "required": [
22300             "result"
22301           ]
22302         },
22303         "StringResults": {
22304           "type": "object",
22305           "properties": {
22306             "results": {
22307               "type": "array",
22308               "items": {
22309                 "$ref": "#/definitions/StringResult"
22310               }
22311             }
22312           },
22313           "additionalProperties": false,
22314           "required": [
22315             "results"
22316           ]
22317         },
22318         "StringsResult": {
22319           "type": "object",
22320           "properties": {
22321             "error": {
22322               "$ref": "#/definitions/Error"
22323             },
22324             "result": {
22325               "type": "array",
22326               "items": {
22327                 "type": "string"
22328               }
22329             }
22330           },
22331           "additionalProperties": false
22332         },
22333         "StringsResults": {
22334           "type": "object",
22335           "properties": {
22336             "results": {
22337               "type": "array",
22338               "items": {
22339                 "$ref": "#/definitions/StringsResult"
22340               }
22341             }
22342           },
22343           "additionalProperties": false,
22344           "required": [
22345             "results"
22346           ]
22347         },
22348         "StringsWatchResult": {
22349           "type": "object",
22350           "properties": {
22351             "changes": {
22352               "type": "array",
22353               "items": {
22354                 "type": "string"
22355               }
22356             },
22357             "error": {
22358               "$ref": "#/definitions/Error"
22359             },
22360             "watcher-id": {
22361               "type": "string"
22362             }
22363           },
22364           "additionalProperties": false,
22365           "required": [
22366             "watcher-id"
22367           ]
22368         },
22369         "StringsWatchResults": {
22370           "type": "object",
22371           "properties": {
22372             "results": {
22373               "type": "array",
22374               "items": {
22375                 "$ref": "#/definitions/StringsWatchResult"
22376               }
22377             }
22378           },
22379           "additionalProperties": false,
22380           "required": [
22381             "results"
22382           ]
22383         },
22384         "UnitNetworkConfig": {
22385           "type": "object",
22386           "properties": {
22387             "binding-name": {
22388               "type": "string"
22389             },
22390             "unit-tag": {
22391               "type": "string"
22392             }
22393           },
22394           "additionalProperties": false,
22395           "required": [
22396             "unit-tag",
22397             "binding-name"
22398           ]
22399         },
22400         "UnitNetworkConfigResult": {
22401           "type": "object",
22402           "properties": {
22403             "error": {
22404               "$ref": "#/definitions/Error"
22405             },
22406             "info": {
22407               "type": "array",
22408               "items": {
22409                 "$ref": "#/definitions/NetworkConfig"
22410               }
22411             }
22412           },
22413           "additionalProperties": false,
22414           "required": [
22415             "info"
22416           ]
22417         },
22418         "UnitNetworkConfigResults": {
22419           "type": "object",
22420           "properties": {
22421             "results": {
22422               "type": "array",
22423               "items": {
22424                 "$ref": "#/definitions/UnitNetworkConfigResult"
22425               }
22426             }
22427           },
22428           "additionalProperties": false,
22429           "required": [
22430             "results"
22431           ]
22432         },
22433         "UnitSettings": {
22434           "type": "object",
22435           "properties": {
22436             "version": {
22437               "type": "integer"
22438             }
22439           },
22440           "additionalProperties": false,
22441           "required": [
22442             "version"
22443           ]
22444         },
22445         "UnitsNetworkConfig": {
22446           "type": "object",
22447           "properties": {
22448             "args": {
22449               "type": "array",
22450               "items": {
22451                 "$ref": "#/definitions/UnitNetworkConfig"
22452               }
22453             }
22454           },
22455           "additionalProperties": false,
22456           "required": [
22457             "args"
22458           ]
22459         }
22460       }
22461     }
22462   },
22463   {
22464     "Name": "Upgrader",
22465     "Version": 1,
22466     "Schema": {
22467       "type": "object",
22468       "properties": {
22469         "DesiredVersion": {
22470           "type": "object",
22471           "properties": {
22472             "Params": {
22473               "$ref": "#/definitions/Entities"
22474             },
22475             "Result": {
22476               "$ref": "#/definitions/VersionResults"
22477             }
22478           }
22479         },
22480         "SetTools": {
22481           "type": "object",
22482           "properties": {
22483             "Params": {
22484               "$ref": "#/definitions/EntitiesVersion"
22485             },
22486             "Result": {
22487               "$ref": "#/definitions/ErrorResults"
22488             }
22489           }
22490         },
22491         "Tools": {
22492           "type": "object",
22493           "properties": {
22494             "Params": {
22495               "$ref": "#/definitions/Entities"
22496             },
22497             "Result": {
22498               "$ref": "#/definitions/ToolsResults"
22499             }
22500           }
22501         },
22502         "WatchAPIVersion": {
22503           "type": "object",
22504           "properties": {
22505             "Params": {
22506               "$ref": "#/definitions/Entities"
22507             },
22508             "Result": {
22509               "$ref": "#/definitions/NotifyWatchResults"
22510             }
22511           }
22512         }
22513       },
22514       "definitions": {
22515         "Binary": {
22516           "type": "object",
22517           "properties": {
22518             "Arch": {
22519               "type": "string"
22520             },
22521             "Number": {
22522               "$ref": "#/definitions/Number"
22523             },
22524             "Series": {
22525               "type": "string"
22526             }
22527           },
22528           "additionalProperties": false,
22529           "required": [
22530             "Number",
22531             "Series",
22532             "Arch"
22533           ]
22534         },
22535         "Entities": {
22536           "type": "object",
22537           "properties": {
22538             "entities": {
22539               "type": "array",
22540               "items": {
22541                 "$ref": "#/definitions/Entity"
22542               }
22543             }
22544           },
22545           "additionalProperties": false,
22546           "required": [
22547             "entities"
22548           ]
22549         },
22550         "EntitiesVersion": {
22551           "type": "object",
22552           "properties": {
22553             "agent-tools": {
22554               "type": "array",
22555               "items": {
22556                 "$ref": "#/definitions/EntityVersion"
22557               }
22558             }
22559           },
22560           "additionalProperties": false,
22561           "required": [
22562             "agent-tools"
22563           ]
22564         },
22565         "Entity": {
22566           "type": "object",
22567           "properties": {
22568             "tag": {
22569               "type": "string"
22570             }
22571           },
22572           "additionalProperties": false,
22573           "required": [
22574             "tag"
22575           ]
22576         },
22577         "EntityVersion": {
22578           "type": "object",
22579           "properties": {
22580             "tag": {
22581               "type": "string"
22582             },
22583             "tools": {
22584               "$ref": "#/definitions/Version"
22585             }
22586           },
22587           "additionalProperties": false,
22588           "required": [
22589             "tag",
22590             "tools"
22591           ]
22592         },
22593         "Error": {
22594           "type": "object",
22595           "properties": {
22596             "code": {
22597               "type": "string"
22598             },
22599             "info": {
22600               "$ref": "#/definitions/ErrorInfo"
22601             },
22602             "message": {
22603               "type": "string"
22604             }
22605           },
22606           "additionalProperties": false,
22607           "required": [
22608             "message",
22609             "code"
22610           ]
22611         },
22612         "ErrorInfo": {
22613           "type": "object",
22614           "properties": {
22615             "macaroon": {
22616               "$ref": "#/definitions/Macaroon"
22617             },
22618             "macaroon-path": {
22619               "type": "string"
22620             }
22621           },
22622           "additionalProperties": false
22623         },
22624         "ErrorResult": {
22625           "type": "object",
22626           "properties": {
22627             "error": {
22628               "$ref": "#/definitions/Error"
22629             }
22630           },
22631           "additionalProperties": false
22632         },
22633         "ErrorResults": {
22634           "type": "object",
22635           "properties": {
22636             "results": {
22637               "type": "array",
22638               "items": {
22639                 "$ref": "#/definitions/ErrorResult"
22640               }
22641             }
22642           },
22643           "additionalProperties": false,
22644           "required": [
22645             "results"
22646           ]
22647         },
22648         "Macaroon": {
22649           "type": "object",
22650           "additionalProperties": false
22651         },
22652         "NotifyWatchResult": {
22653           "type": "object",
22654           "properties": {
22655             "NotifyWatcherId": {
22656               "type": "string"
22657             },
22658             "error": {
22659               "$ref": "#/definitions/Error"
22660             }
22661           },
22662           "additionalProperties": false,
22663           "required": [
22664             "NotifyWatcherId"
22665           ]
22666         },
22667         "NotifyWatchResults": {
22668           "type": "object",
22669           "properties": {
22670             "results": {
22671               "type": "array",
22672               "items": {
22673                 "$ref": "#/definitions/NotifyWatchResult"
22674               }
22675             }
22676           },
22677           "additionalProperties": false,
22678           "required": [
22679             "results"
22680           ]
22681         },
22682         "Number": {
22683           "type": "object",
22684           "properties": {
22685             "Build": {
22686               "type": "integer"
22687             },
22688             "Major": {
22689               "type": "integer"
22690             },
22691             "Minor": {
22692               "type": "integer"
22693             },
22694             "Patch": {
22695               "type": "integer"
22696             },
22697             "Tag": {
22698               "type": "string"
22699             }
22700           },
22701           "additionalProperties": false,
22702           "required": [
22703             "Major",
22704             "Minor",
22705             "Tag",
22706             "Patch",
22707             "Build"
22708           ]
22709         },
22710         "Tools": {
22711           "type": "object",
22712           "properties": {
22713             "sha256": {
22714               "type": "string"
22715             },
22716             "size": {
22717               "type": "integer"
22718             },
22719             "url": {
22720               "type": "string"
22721             },
22722             "version": {
22723               "$ref": "#/definitions/Binary"
22724             }
22725           },
22726           "additionalProperties": false,
22727           "required": [
22728             "version",
22729             "url",
22730             "size"
22731           ]
22732         },
22733         "ToolsResult": {
22734           "type": "object",
22735           "properties": {
22736             "disable-ssl-hostname-verification": {
22737               "type": "boolean"
22738             },
22739             "error": {
22740               "$ref": "#/definitions/Error"
22741             },
22742             "tools": {
22743               "type": "array",
22744               "items": {
22745                 "$ref": "#/definitions/Tools"
22746               }
22747             }
22748           },
22749           "additionalProperties": false,
22750           "required": [
22751             "tools",
22752             "disable-ssl-hostname-verification"
22753           ]
22754         },
22755         "ToolsResults": {
22756           "type": "object",
22757           "properties": {
22758             "results": {
22759               "type": "array",
22760               "items": {
22761                 "$ref": "#/definitions/ToolsResult"
22762               }
22763             }
22764           },
22765           "additionalProperties": false,
22766           "required": [
22767             "results"
22768           ]
22769         },
22770         "Version": {
22771           "type": "object",
22772           "properties": {
22773             "version": {
22774               "$ref": "#/definitions/Binary"
22775             }
22776           },
22777           "additionalProperties": false,
22778           "required": [
22779             "version"
22780           ]
22781         },
22782         "VersionResult": {
22783           "type": "object",
22784           "properties": {
22785             "error": {
22786               "$ref": "#/definitions/Error"
22787             },
22788             "version": {
22789               "$ref": "#/definitions/Number"
22790             }
22791           },
22792           "additionalProperties": false
22793         },
22794         "VersionResults": {
22795           "type": "object",
22796           "properties": {
22797             "results": {
22798               "type": "array",
22799               "items": {
22800                 "$ref": "#/definitions/VersionResult"
22801               }
22802             }
22803           },
22804           "additionalProperties": false,
22805           "required": [
22806             "results"
22807           ]
22808         }
22809       }
22810     }
22811   },
22812   {
22813     "Name": "UserManager",
22814     "Version": 1,
22815     "Schema": {
22816       "type": "object",
22817       "properties": {
22818         "AddUser": {
22819           "type": "object",
22820           "properties": {
22821             "Params": {
22822               "$ref": "#/definitions/AddUsers"
22823             },
22824             "Result": {
22825               "$ref": "#/definitions/AddUserResults"
22826             }
22827           }
22828         },
22829         "CreateLocalLoginMacaroon": {
22830           "type": "object",
22831           "properties": {
22832             "Params": {
22833               "$ref": "#/definitions/Entities"
22834             },
22835             "Result": {
22836               "$ref": "#/definitions/MacaroonResults"
22837             }
22838           }
22839         },
22840         "DisableUser": {
22841           "type": "object",
22842           "properties": {
22843             "Params": {
22844               "$ref": "#/definitions/Entities"
22845             },
22846             "Result": {
22847               "$ref": "#/definitions/ErrorResults"
22848             }
22849           }
22850         },
22851         "EnableUser": {
22852           "type": "object",
22853           "properties": {
22854             "Params": {
22855               "$ref": "#/definitions/Entities"
22856             },
22857             "Result": {
22858               "$ref": "#/definitions/ErrorResults"
22859             }
22860           }
22861         },
22862         "RemoveUser": {
22863           "type": "object",
22864           "properties": {
22865             "Params": {
22866               "$ref": "#/definitions/Entities"
22867             },
22868             "Result": {
22869               "$ref": "#/definitions/ErrorResults"
22870             }
22871           }
22872         },
22873         "SetPassword": {
22874           "type": "object",
22875           "properties": {
22876             "Params": {
22877               "$ref": "#/definitions/EntityPasswords"
22878             },
22879             "Result": {
22880               "$ref": "#/definitions/ErrorResults"
22881             }
22882           }
22883         },
22884         "UserInfo": {
22885           "type": "object",
22886           "properties": {
22887             "Params": {
22888               "$ref": "#/definitions/UserInfoRequest"
22889             },
22890             "Result": {
22891               "$ref": "#/definitions/UserInfoResults"
22892             }
22893           }
22894         }
22895       },
22896       "definitions": {
22897         "AddUser": {
22898           "type": "object",
22899           "properties": {
22900             "display-name": {
22901               "type": "string"
22902             },
22903             "password": {
22904               "type": "string"
22905             },
22906             "username": {
22907               "type": "string"
22908             }
22909           },
22910           "additionalProperties": false,
22911           "required": [
22912             "username",
22913             "display-name"
22914           ]
22915         },
22916         "AddUserResult": {
22917           "type": "object",
22918           "properties": {
22919             "error": {
22920               "$ref": "#/definitions/Error"
22921             },
22922             "secret-key": {
22923               "type": "array",
22924               "items": {
22925                 "type": "integer"
22926               }
22927             },
22928             "tag": {
22929               "type": "string"
22930             }
22931           },
22932           "additionalProperties": false
22933         },
22934         "AddUserResults": {
22935           "type": "object",
22936           "properties": {
22937             "results": {
22938               "type": "array",
22939               "items": {
22940                 "$ref": "#/definitions/AddUserResult"
22941               }
22942             }
22943           },
22944           "additionalProperties": false,
22945           "required": [
22946             "results"
22947           ]
22948         },
22949         "AddUsers": {
22950           "type": "object",
22951           "properties": {
22952             "users": {
22953               "type": "array",
22954               "items": {
22955                 "$ref": "#/definitions/AddUser"
22956               }
22957             }
22958           },
22959           "additionalProperties": false,
22960           "required": [
22961             "users"
22962           ]
22963         },
22964         "Entities": {
22965           "type": "object",
22966           "properties": {
22967             "entities": {
22968               "type": "array",
22969               "items": {
22970                 "$ref": "#/definitions/Entity"
22971               }
22972             }
22973           },
22974           "additionalProperties": false,
22975           "required": [
22976             "entities"
22977           ]
22978         },
22979         "Entity": {
22980           "type": "object",
22981           "properties": {
22982             "tag": {
22983               "type": "string"
22984             }
22985           },
22986           "additionalProperties": false,
22987           "required": [
22988             "tag"
22989           ]
22990         },
22991         "EntityPassword": {
22992           "type": "object",
22993           "properties": {
22994             "password": {
22995               "type": "string"
22996             },
22997             "tag": {
22998               "type": "string"
22999             }
23000           },
23001           "additionalProperties": false,
23002           "required": [
23003             "tag",
23004             "password"
23005           ]
23006         },
23007         "EntityPasswords": {
23008           "type": "object",
23009           "properties": {
23010             "changes": {
23011               "type": "array",
23012               "items": {
23013                 "$ref": "#/definitions/EntityPassword"
23014               }
23015             }
23016           },
23017           "additionalProperties": false,
23018           "required": [
23019             "changes"
23020           ]
23021         },
23022         "Error": {
23023           "type": "object",
23024           "properties": {
23025             "code": {
23026               "type": "string"
23027             },
23028             "info": {
23029               "$ref": "#/definitions/ErrorInfo"
23030             },
23031             "message": {
23032               "type": "string"
23033             }
23034           },
23035           "additionalProperties": false,
23036           "required": [
23037             "message",
23038             "code"
23039           ]
23040         },
23041         "ErrorInfo": {
23042           "type": "object",
23043           "properties": {
23044             "macaroon": {
23045               "$ref": "#/definitions/Macaroon"
23046             },
23047             "macaroon-path": {
23048               "type": "string"
23049             }
23050           },
23051           "additionalProperties": false
23052         },
23053         "ErrorResult": {
23054           "type": "object",
23055           "properties": {
23056             "error": {
23057               "$ref": "#/definitions/Error"
23058             }
23059           },
23060           "additionalProperties": false
23061         },
23062         "ErrorResults": {
23063           "type": "object",
23064           "properties": {
23065             "results": {
23066               "type": "array",
23067               "items": {
23068                 "$ref": "#/definitions/ErrorResult"
23069               }
23070             }
23071           },
23072           "additionalProperties": false,
23073           "required": [
23074             "results"
23075           ]
23076         },
23077         "Macaroon": {
23078           "type": "object",
23079           "additionalProperties": false
23080         },
23081         "MacaroonResult": {
23082           "type": "object",
23083           "properties": {
23084             "error": {
23085               "$ref": "#/definitions/Error"
23086             },
23087             "result": {
23088               "$ref": "#/definitions/Macaroon"
23089             }
23090           },
23091           "additionalProperties": false
23092         },
23093         "MacaroonResults": {
23094           "type": "object",
23095           "properties": {
23096             "results": {
23097               "type": "array",
23098               "items": {
23099                 "$ref": "#/definitions/MacaroonResult"
23100               }
23101             }
23102           },
23103           "additionalProperties": false,
23104           "required": [
23105             "results"
23106           ]
23107         },
23108         "UserInfo": {
23109           "type": "object",
23110           "properties": {
23111             "access": {
23112               "type": "string"
23113             },
23114             "created-by": {
23115               "type": "string"
23116             },
23117             "date-created": {
23118               "type": "string",
23119               "format": "date-time"
23120             },
23121             "disabled": {
23122               "type": "boolean"
23123             },
23124             "display-name": {
23125               "type": "string"
23126             },
23127             "last-connection": {
23128               "type": "string",
23129               "format": "date-time"
23130             },
23131             "username": {
23132               "type": "string"
23133             }
23134           },
23135           "additionalProperties": false,
23136           "required": [
23137             "username",
23138             "display-name",
23139             "access",
23140             "created-by",
23141             "date-created",
23142             "disabled"
23143           ]
23144         },
23145         "UserInfoRequest": {
23146           "type": "object",
23147           "properties": {
23148             "entities": {
23149               "type": "array",
23150               "items": {
23151                 "$ref": "#/definitions/Entity"
23152               }
23153             },
23154             "include-disabled": {
23155               "type": "boolean"
23156             }
23157           },
23158           "additionalProperties": false,
23159           "required": [
23160             "entities",
23161             "include-disabled"
23162           ]
23163         },
23164         "UserInfoResult": {
23165           "type": "object",
23166           "properties": {
23167             "error": {
23168               "$ref": "#/definitions/Error"
23169             },
23170             "result": {
23171               "$ref": "#/definitions/UserInfo"
23172             }
23173           },
23174           "additionalProperties": false
23175         },
23176         "UserInfoResults": {
23177           "type": "object",
23178           "properties": {
23179             "results": {
23180               "type": "array",
23181               "items": {
23182                 "$ref": "#/definitions/UserInfoResult"
23183               }
23184             }
23185           },
23186           "additionalProperties": false,
23187           "required": [
23188             "results"
23189           ]
23190         }
23191       }
23192     }
23193   },
23194   {
23195     "Name": "VolumeAttachmentsWatcher",
23196     "Version": 2,
23197     "Schema": {
23198       "type": "object",
23199       "properties": {
23200         "Next": {
23201           "type": "object",
23202           "properties": {
23203             "Result": {
23204               "$ref": "#/definitions/MachineStorageIdsWatchResult"
23205             }
23206           }
23207         },
23208         "Stop": {
23209           "type": "object"
23210         }
23211       },
23212       "definitions": {
23213         "Error": {
23214           "type": "object",
23215           "properties": {
23216             "code": {
23217               "type": "string"
23218             },
23219             "info": {
23220               "$ref": "#/definitions/ErrorInfo"
23221             },
23222             "message": {
23223               "type": "string"
23224             }
23225           },
23226           "additionalProperties": false,
23227           "required": [
23228             "message",
23229             "code"
23230           ]
23231         },
23232         "ErrorInfo": {
23233           "type": "object",
23234           "properties": {
23235             "macaroon": {
23236               "$ref": "#/definitions/Macaroon"
23237             },
23238             "macaroon-path": {
23239               "type": "string"
23240             }
23241           },
23242           "additionalProperties": false
23243         },
23244         "Macaroon": {
23245           "type": "object",
23246           "additionalProperties": false
23247         },
23248         "MachineStorageId": {
23249           "type": "object",
23250           "properties": {
23251             "attachment-tag": {
23252               "type": "string"
23253             },
23254             "machine-tag": {
23255               "type": "string"
23256             }
23257           },
23258           "additionalProperties": false,
23259           "required": [
23260             "machine-tag",
23261             "attachment-tag"
23262           ]
23263         },
23264         "MachineStorageIdsWatchResult": {
23265           "type": "object",
23266           "properties": {
23267             "changes": {
23268               "type": "array",
23269               "items": {
23270                 "$ref": "#/definitions/MachineStorageId"
23271               }
23272             },
23273             "error": {
23274               "$ref": "#/definitions/Error"
23275             },
23276             "watcher-id": {
23277               "type": "string"
23278             }
23279           },
23280           "additionalProperties": false,
23281           "required": [
23282             "watcher-id",
23283             "changes"
23284           ]
23285         }
23286       }
23287     }
23288   }
23289 ]