Deploy/destroy example
[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             "plan": {
2922               "$ref": "#/definitions/CharmPlan"
2923             }
2924           },
2925           "additionalProperties": false,
2926           "required": [
2927             "metrics",
2928             "plan"
2929           ]
2930         },
2931         "CharmOption": {
2932           "type": "object",
2933           "properties": {
2934             "default": {
2935               "type": "object",
2936               "additionalProperties": true
2937             },
2938             "description": {
2939               "type": "string"
2940             },
2941             "type": {
2942               "type": "string"
2943             }
2944           },
2945           "additionalProperties": false,
2946           "required": [
2947             "type"
2948           ]
2949         },
2950         "CharmPayloadClass": {
2951           "type": "object",
2952           "properties": {
2953             "name": {
2954               "type": "string"
2955             },
2956             "type": {
2957               "type": "string"
2958             }
2959           },
2960           "additionalProperties": false,
2961           "required": [
2962             "name",
2963             "type"
2964           ]
2965         },
2966         "CharmPlan": {
2967           "type": "object",
2968           "properties": {
2969             "required": {
2970               "type": "boolean"
2971             }
2972           },
2973           "additionalProperties": false,
2974           "required": [
2975             "required"
2976           ]
2977         },
2978         "CharmRelation": {
2979           "type": "object",
2980           "properties": {
2981             "interface": {
2982               "type": "string"
2983             },
2984             "limit": {
2985               "type": "integer"
2986             },
2987             "name": {
2988               "type": "string"
2989             },
2990             "optional": {
2991               "type": "boolean"
2992             },
2993             "role": {
2994               "type": "string"
2995             },
2996             "scope": {
2997               "type": "string"
2998             }
2999           },
3000           "additionalProperties": false,
3001           "required": [
3002             "name",
3003             "role",
3004             "interface",
3005             "optional",
3006             "limit",
3007             "scope"
3008           ]
3009         },
3010         "CharmResourceMeta": {
3011           "type": "object",
3012           "properties": {
3013             "description": {
3014               "type": "string"
3015             },
3016             "name": {
3017               "type": "string"
3018             },
3019             "path": {
3020               "type": "string"
3021             },
3022             "type": {
3023               "type": "string"
3024             }
3025           },
3026           "additionalProperties": false,
3027           "required": [
3028             "name",
3029             "type",
3030             "path",
3031             "description"
3032           ]
3033         },
3034         "CharmStorage": {
3035           "type": "object",
3036           "properties": {
3037             "count-max": {
3038               "type": "integer"
3039             },
3040             "count-min": {
3041               "type": "integer"
3042             },
3043             "description": {
3044               "type": "string"
3045             },
3046             "location": {
3047               "type": "string"
3048             },
3049             "minimum-size": {
3050               "type": "integer"
3051             },
3052             "name": {
3053               "type": "string"
3054             },
3055             "properties": {
3056               "type": "array",
3057               "items": {
3058                 "type": "string"
3059               }
3060             },
3061             "read-only": {
3062               "type": "boolean"
3063             },
3064             "shared": {
3065               "type": "boolean"
3066             },
3067             "type": {
3068               "type": "string"
3069             }
3070           },
3071           "additionalProperties": false,
3072           "required": [
3073             "name",
3074             "description",
3075             "type",
3076             "shared",
3077             "read-only",
3078             "count-min",
3079             "count-max",
3080             "minimum-size"
3081           ]
3082         },
3083         "CharmURL": {
3084           "type": "object",
3085           "properties": {
3086             "url": {
3087               "type": "string"
3088             }
3089           },
3090           "additionalProperties": false,
3091           "required": [
3092             "url"
3093           ]
3094         },
3095         "CharmsList": {
3096           "type": "object",
3097           "properties": {
3098             "names": {
3099               "type": "array",
3100               "items": {
3101                 "type": "string"
3102               }
3103             }
3104           },
3105           "additionalProperties": false,
3106           "required": [
3107             "names"
3108           ]
3109         },
3110         "CharmsListResult": {
3111           "type": "object",
3112           "properties": {
3113             "charm-urls": {
3114               "type": "array",
3115               "items": {
3116                 "type": "string"
3117               }
3118             }
3119           },
3120           "additionalProperties": false,
3121           "required": [
3122             "charm-urls"
3123           ]
3124         },
3125         "IsMeteredResult": {
3126           "type": "object",
3127           "properties": {
3128             "metered": {
3129               "type": "boolean"
3130             }
3131           },
3132           "additionalProperties": false,
3133           "required": [
3134             "metered"
3135           ]
3136         }
3137       }
3138     }
3139   },
3140   {
3141     "Name": "Cleaner",
3142     "Version": 2,
3143     "Schema": {
3144       "type": "object",
3145       "properties": {
3146         "Cleanup": {
3147           "type": "object"
3148         },
3149         "WatchCleanups": {
3150           "type": "object",
3151           "properties": {
3152             "Result": {
3153               "$ref": "#/definitions/NotifyWatchResult"
3154             }
3155           }
3156         }
3157       },
3158       "definitions": {
3159         "Error": {
3160           "type": "object",
3161           "properties": {
3162             "code": {
3163               "type": "string"
3164             },
3165             "info": {
3166               "$ref": "#/definitions/ErrorInfo"
3167             },
3168             "message": {
3169               "type": "string"
3170             }
3171           },
3172           "additionalProperties": false,
3173           "required": [
3174             "message",
3175             "code"
3176           ]
3177         },
3178         "ErrorInfo": {
3179           "type": "object",
3180           "properties": {
3181             "macaroon": {
3182               "$ref": "#/definitions/Macaroon"
3183             },
3184             "macaroon-path": {
3185               "type": "string"
3186             }
3187           },
3188           "additionalProperties": false
3189         },
3190         "Macaroon": {
3191           "type": "object",
3192           "additionalProperties": false
3193         },
3194         "NotifyWatchResult": {
3195           "type": "object",
3196           "properties": {
3197             "NotifyWatcherId": {
3198               "type": "string"
3199             },
3200             "error": {
3201               "$ref": "#/definitions/Error"
3202             }
3203           },
3204           "additionalProperties": false,
3205           "required": [
3206             "NotifyWatcherId"
3207           ]
3208         }
3209       }
3210     }
3211   },
3212   {
3213     "Name": "Client",
3214     "Version": 1,
3215     "Schema": {
3216       "type": "object",
3217       "properties": {
3218         "APIHostPorts": {
3219           "type": "object",
3220           "properties": {
3221             "Result": {
3222               "$ref": "#/definitions/APIHostPortsResult"
3223             }
3224           }
3225         },
3226         "AbortCurrentUpgrade": {
3227           "type": "object"
3228         },
3229         "AddCharm": {
3230           "type": "object",
3231           "properties": {
3232             "Params": {
3233               "$ref": "#/definitions/AddCharm"
3234             }
3235           }
3236         },
3237         "AddCharmWithAuthorization": {
3238           "type": "object",
3239           "properties": {
3240             "Params": {
3241               "$ref": "#/definitions/AddCharmWithAuthorization"
3242             }
3243           }
3244         },
3245         "AddMachines": {
3246           "type": "object",
3247           "properties": {
3248             "Params": {
3249               "$ref": "#/definitions/AddMachines"
3250             },
3251             "Result": {
3252               "$ref": "#/definitions/AddMachinesResults"
3253             }
3254           }
3255         },
3256         "AddMachinesV2": {
3257           "type": "object",
3258           "properties": {
3259             "Params": {
3260               "$ref": "#/definitions/AddMachines"
3261             },
3262             "Result": {
3263               "$ref": "#/definitions/AddMachinesResults"
3264             }
3265           }
3266         },
3267         "AgentVersion": {
3268           "type": "object",
3269           "properties": {
3270             "Result": {
3271               "$ref": "#/definitions/AgentVersionResult"
3272             }
3273           }
3274         },
3275         "DestroyMachines": {
3276           "type": "object",
3277           "properties": {
3278             "Params": {
3279               "$ref": "#/definitions/DestroyMachines"
3280             }
3281           }
3282         },
3283         "FindTools": {
3284           "type": "object",
3285           "properties": {
3286             "Params": {
3287               "$ref": "#/definitions/FindToolsParams"
3288             },
3289             "Result": {
3290               "$ref": "#/definitions/FindToolsResult"
3291             }
3292           }
3293         },
3294         "FullStatus": {
3295           "type": "object",
3296           "properties": {
3297             "Params": {
3298               "$ref": "#/definitions/StatusParams"
3299             },
3300             "Result": {
3301               "$ref": "#/definitions/FullStatus"
3302             }
3303           }
3304         },
3305         "GetBundleChanges": {
3306           "type": "object",
3307           "properties": {
3308             "Params": {
3309               "$ref": "#/definitions/GetBundleChangesParams"
3310             },
3311             "Result": {
3312               "$ref": "#/definitions/GetBundleChangesResults"
3313             }
3314           }
3315         },
3316         "GetModelConstraints": {
3317           "type": "object",
3318           "properties": {
3319             "Result": {
3320               "$ref": "#/definitions/GetConstraintsResults"
3321             }
3322           }
3323         },
3324         "InjectMachines": {
3325           "type": "object",
3326           "properties": {
3327             "Params": {
3328               "$ref": "#/definitions/AddMachines"
3329             },
3330             "Result": {
3331               "$ref": "#/definitions/AddMachinesResults"
3332             }
3333           }
3334         },
3335         "ModelDefaults": {
3336           "type": "object",
3337           "properties": {
3338             "Result": {
3339               "$ref": "#/definitions/ModelDefaultsResult"
3340             }
3341           }
3342         },
3343         "ModelGet": {
3344           "type": "object",
3345           "properties": {
3346             "Result": {
3347               "$ref": "#/definitions/ModelConfigResults"
3348             }
3349           }
3350         },
3351         "ModelInfo": {
3352           "type": "object",
3353           "properties": {
3354             "Result": {
3355               "$ref": "#/definitions/ModelInfo"
3356             }
3357           }
3358         },
3359         "ModelSet": {
3360           "type": "object",
3361           "properties": {
3362             "Params": {
3363               "$ref": "#/definitions/ModelSet"
3364             }
3365           }
3366         },
3367         "ModelUnset": {
3368           "type": "object",
3369           "properties": {
3370             "Params": {
3371               "$ref": "#/definitions/ModelUnset"
3372             }
3373           }
3374         },
3375         "ModelUserInfo": {
3376           "type": "object",
3377           "properties": {
3378             "Result": {
3379               "$ref": "#/definitions/ModelUserInfoResults"
3380             }
3381           }
3382         },
3383         "PrivateAddress": {
3384           "type": "object",
3385           "properties": {
3386             "Params": {
3387               "$ref": "#/definitions/PrivateAddress"
3388             },
3389             "Result": {
3390               "$ref": "#/definitions/PrivateAddressResults"
3391             }
3392           }
3393         },
3394         "ProvisioningScript": {
3395           "type": "object",
3396           "properties": {
3397             "Params": {
3398               "$ref": "#/definitions/ProvisioningScriptParams"
3399             },
3400             "Result": {
3401               "$ref": "#/definitions/ProvisioningScriptResult"
3402             }
3403           }
3404         },
3405         "PublicAddress": {
3406           "type": "object",
3407           "properties": {
3408             "Params": {
3409               "$ref": "#/definitions/PublicAddress"
3410             },
3411             "Result": {
3412               "$ref": "#/definitions/PublicAddressResults"
3413             }
3414           }
3415         },
3416         "ResolveCharms": {
3417           "type": "object",
3418           "properties": {
3419             "Params": {
3420               "$ref": "#/definitions/ResolveCharms"
3421             },
3422             "Result": {
3423               "$ref": "#/definitions/ResolveCharmResults"
3424             }
3425           }
3426         },
3427         "Resolved": {
3428           "type": "object",
3429           "properties": {
3430             "Params": {
3431               "$ref": "#/definitions/Resolved"
3432             }
3433           }
3434         },
3435         "RetryProvisioning": {
3436           "type": "object",
3437           "properties": {
3438             "Params": {
3439               "$ref": "#/definitions/Entities"
3440             },
3441             "Result": {
3442               "$ref": "#/definitions/ErrorResults"
3443             }
3444           }
3445         },
3446         "SetModelAgentVersion": {
3447           "type": "object",
3448           "properties": {
3449             "Params": {
3450               "$ref": "#/definitions/SetModelAgentVersion"
3451             }
3452           }
3453         },
3454         "SetModelConstraints": {
3455           "type": "object",
3456           "properties": {
3457             "Params": {
3458               "$ref": "#/definitions/SetConstraints"
3459             }
3460           }
3461         },
3462         "SetModelDefaults": {
3463           "type": "object",
3464           "properties": {
3465             "Params": {
3466               "$ref": "#/definitions/SetModelDefaults"
3467             },
3468             "Result": {
3469               "$ref": "#/definitions/ErrorResults"
3470             }
3471           }
3472         },
3473         "StatusHistory": {
3474           "type": "object",
3475           "properties": {
3476             "Params": {
3477               "$ref": "#/definitions/StatusHistoryRequests"
3478             },
3479             "Result": {
3480               "$ref": "#/definitions/StatusHistoryResults"
3481             }
3482           }
3483         },
3484         "UnsetModelDefaults": {
3485           "type": "object",
3486           "properties": {
3487             "Params": {
3488               "$ref": "#/definitions/UnsetModelDefaults"
3489             },
3490             "Result": {
3491               "$ref": "#/definitions/ErrorResults"
3492             }
3493           }
3494         },
3495         "WatchAll": {
3496           "type": "object",
3497           "properties": {
3498             "Result": {
3499               "$ref": "#/definitions/AllWatcherId"
3500             }
3501           }
3502         }
3503       },
3504       "definitions": {
3505         "APIHostPortsResult": {
3506           "type": "object",
3507           "properties": {
3508             "servers": {
3509               "type": "array",
3510               "items": {
3511                 "type": "array",
3512                 "items": {
3513                   "$ref": "#/definitions/HostPort"
3514                 }
3515               }
3516             }
3517           },
3518           "additionalProperties": false,
3519           "required": [
3520             "servers"
3521           ]
3522         },
3523         "AddCharm": {
3524           "type": "object",
3525           "properties": {
3526             "channel": {
3527               "type": "string"
3528             },
3529             "url": {
3530               "type": "string"
3531             }
3532           },
3533           "additionalProperties": false,
3534           "required": [
3535             "url",
3536             "channel"
3537           ]
3538         },
3539         "AddCharmWithAuthorization": {
3540           "type": "object",
3541           "properties": {
3542             "channel": {
3543               "type": "string"
3544             },
3545             "macaroon": {
3546               "$ref": "#/definitions/Macaroon"
3547             },
3548             "url": {
3549               "type": "string"
3550             }
3551           },
3552           "additionalProperties": false,
3553           "required": [
3554             "url",
3555             "channel",
3556             "macaroon"
3557           ]
3558         },
3559         "AddMachineParams": {
3560           "type": "object",
3561           "properties": {
3562             "addresses": {
3563               "type": "array",
3564               "items": {
3565                 "$ref": "#/definitions/Address"
3566               }
3567             },
3568             "constraints": {
3569               "$ref": "#/definitions/Value"
3570             },
3571             "container-type": {
3572               "type": "string"
3573             },
3574             "disks": {
3575               "type": "array",
3576               "items": {
3577                 "$ref": "#/definitions/Constraints"
3578               }
3579             },
3580             "hardware-characteristics": {
3581               "$ref": "#/definitions/HardwareCharacteristics"
3582             },
3583             "instance-id": {
3584               "type": "string"
3585             },
3586             "jobs": {
3587               "type": "array",
3588               "items": {
3589                 "type": "string"
3590               }
3591             },
3592             "nonce": {
3593               "type": "string"
3594             },
3595             "parent-id": {
3596               "type": "string"
3597             },
3598             "placement": {
3599               "$ref": "#/definitions/Placement"
3600             },
3601             "series": {
3602               "type": "string"
3603             }
3604           },
3605           "additionalProperties": false,
3606           "required": [
3607             "series",
3608             "constraints",
3609             "jobs",
3610             "parent-id",
3611             "container-type",
3612             "instance-id",
3613             "nonce",
3614             "hardware-characteristics",
3615             "addresses"
3616           ]
3617         },
3618         "AddMachines": {
3619           "type": "object",
3620           "properties": {
3621             "params": {
3622               "type": "array",
3623               "items": {
3624                 "$ref": "#/definitions/AddMachineParams"
3625               }
3626             }
3627           },
3628           "additionalProperties": false,
3629           "required": [
3630             "params"
3631           ]
3632         },
3633         "AddMachinesResult": {
3634           "type": "object",
3635           "properties": {
3636             "error": {
3637               "$ref": "#/definitions/Error"
3638             },
3639             "machine": {
3640               "type": "string"
3641             }
3642           },
3643           "additionalProperties": false,
3644           "required": [
3645             "machine"
3646           ]
3647         },
3648         "AddMachinesResults": {
3649           "type": "object",
3650           "properties": {
3651             "machines": {
3652               "type": "array",
3653               "items": {
3654                 "$ref": "#/definitions/AddMachinesResult"
3655               }
3656             }
3657           },
3658           "additionalProperties": false,
3659           "required": [
3660             "machines"
3661           ]
3662         },
3663         "Address": {
3664           "type": "object",
3665           "properties": {
3666             "scope": {
3667               "type": "string"
3668             },
3669             "space-name": {
3670               "type": "string"
3671             },
3672             "type": {
3673               "type": "string"
3674             },
3675             "value": {
3676               "type": "string"
3677             }
3678           },
3679           "additionalProperties": false,
3680           "required": [
3681             "value",
3682             "type",
3683             "scope"
3684           ]
3685         },
3686         "AgentVersionResult": {
3687           "type": "object",
3688           "properties": {
3689             "version": {
3690               "$ref": "#/definitions/Number"
3691             }
3692           },
3693           "additionalProperties": false,
3694           "required": [
3695             "version"
3696           ]
3697         },
3698         "AllWatcherId": {
3699           "type": "object",
3700           "properties": {
3701             "watcher-id": {
3702               "type": "string"
3703             }
3704           },
3705           "additionalProperties": false,
3706           "required": [
3707             "watcher-id"
3708           ]
3709         },
3710         "ApplicationStatus": {
3711           "type": "object",
3712           "properties": {
3713             "can-upgrade-to": {
3714               "type": "string"
3715             },
3716             "charm": {
3717               "type": "string"
3718             },
3719             "err": {
3720               "type": "object",
3721               "additionalProperties": true
3722             },
3723             "exposed": {
3724               "type": "boolean"
3725             },
3726             "life": {
3727               "type": "string"
3728             },
3729             "meter-statuses": {
3730               "type": "object",
3731               "patternProperties": {
3732                 ".*": {
3733                   "$ref": "#/definitions/MeterStatus"
3734                 }
3735               }
3736             },
3737             "relations": {
3738               "type": "object",
3739               "patternProperties": {
3740                 ".*": {
3741                   "type": "array",
3742                   "items": {
3743                     "type": "string"
3744                   }
3745                 }
3746               }
3747             },
3748             "series": {
3749               "type": "string"
3750             },
3751             "status": {
3752               "$ref": "#/definitions/DetailedStatus"
3753             },
3754             "subordinate-to": {
3755               "type": "array",
3756               "items": {
3757                 "type": "string"
3758               }
3759             },
3760             "units": {
3761               "type": "object",
3762               "patternProperties": {
3763                 ".*": {
3764                   "$ref": "#/definitions/UnitStatus"
3765                 }
3766               }
3767             },
3768             "workload-version": {
3769               "type": "string"
3770             }
3771           },
3772           "additionalProperties": false,
3773           "required": [
3774             "charm",
3775             "series",
3776             "exposed",
3777             "life",
3778             "relations",
3779             "can-upgrade-to",
3780             "subordinate-to",
3781             "units",
3782             "meter-statuses",
3783             "status",
3784             "workload-version"
3785           ]
3786         },
3787         "Binary": {
3788           "type": "object",
3789           "properties": {
3790             "Arch": {
3791               "type": "string"
3792             },
3793             "Number": {
3794               "$ref": "#/definitions/Number"
3795             },
3796             "Series": {
3797               "type": "string"
3798             }
3799           },
3800           "additionalProperties": false,
3801           "required": [
3802             "Number",
3803             "Series",
3804             "Arch"
3805           ]
3806         },
3807         "BundleChangesChange": {
3808           "type": "object",
3809           "properties": {
3810             "args": {
3811               "type": "array",
3812               "items": {
3813                 "type": "object",
3814                 "additionalProperties": true
3815               }
3816             },
3817             "id": {
3818               "type": "string"
3819             },
3820             "method": {
3821               "type": "string"
3822             },
3823             "requires": {
3824               "type": "array",
3825               "items": {
3826                 "type": "string"
3827               }
3828             }
3829           },
3830           "additionalProperties": false,
3831           "required": [
3832             "id",
3833             "method",
3834             "args",
3835             "requires"
3836           ]
3837         },
3838         "ConfigValue": {
3839           "type": "object",
3840           "properties": {
3841             "source": {
3842               "type": "string"
3843             },
3844             "value": {
3845               "type": "object",
3846               "additionalProperties": true
3847             }
3848           },
3849           "additionalProperties": false,
3850           "required": [
3851             "value",
3852             "source"
3853           ]
3854         },
3855         "Constraints": {
3856           "type": "object",
3857           "properties": {
3858             "Count": {
3859               "type": "integer"
3860             },
3861             "Pool": {
3862               "type": "string"
3863             },
3864             "Size": {
3865               "type": "integer"
3866             }
3867           },
3868           "additionalProperties": false,
3869           "required": [
3870             "Pool",
3871             "Size",
3872             "Count"
3873           ]
3874         },
3875         "DestroyMachines": {
3876           "type": "object",
3877           "properties": {
3878             "force": {
3879               "type": "boolean"
3880             },
3881             "machine-names": {
3882               "type": "array",
3883               "items": {
3884                 "type": "string"
3885               }
3886             }
3887           },
3888           "additionalProperties": false,
3889           "required": [
3890             "machine-names",
3891             "force"
3892           ]
3893         },
3894         "DetailedStatus": {
3895           "type": "object",
3896           "properties": {
3897             "data": {
3898               "type": "object",
3899               "patternProperties": {
3900                 ".*": {
3901                   "type": "object",
3902                   "additionalProperties": true
3903                 }
3904               }
3905             },
3906             "err": {
3907               "type": "object",
3908               "additionalProperties": true
3909             },
3910             "info": {
3911               "type": "string"
3912             },
3913             "kind": {
3914               "type": "string"
3915             },
3916             "life": {
3917               "type": "string"
3918             },
3919             "since": {
3920               "type": "string",
3921               "format": "date-time"
3922             },
3923             "status": {
3924               "type": "string"
3925             },
3926             "version": {
3927               "type": "string"
3928             }
3929           },
3930           "additionalProperties": false,
3931           "required": [
3932             "status",
3933             "info",
3934             "data",
3935             "since",
3936             "kind",
3937             "version",
3938             "life"
3939           ]
3940         },
3941         "EndpointStatus": {
3942           "type": "object",
3943           "properties": {
3944             "application": {
3945               "type": "string"
3946             },
3947             "name": {
3948               "type": "string"
3949             },
3950             "role": {
3951               "type": "string"
3952             },
3953             "subordinate": {
3954               "type": "boolean"
3955             }
3956           },
3957           "additionalProperties": false,
3958           "required": [
3959             "application",
3960             "name",
3961             "role",
3962             "subordinate"
3963           ]
3964         },
3965         "Entities": {
3966           "type": "object",
3967           "properties": {
3968             "entities": {
3969               "type": "array",
3970               "items": {
3971                 "$ref": "#/definitions/Entity"
3972               }
3973             }
3974           },
3975           "additionalProperties": false,
3976           "required": [
3977             "entities"
3978           ]
3979         },
3980         "Entity": {
3981           "type": "object",
3982           "properties": {
3983             "tag": {
3984               "type": "string"
3985             }
3986           },
3987           "additionalProperties": false,
3988           "required": [
3989             "tag"
3990           ]
3991         },
3992         "EntityStatus": {
3993           "type": "object",
3994           "properties": {
3995             "data": {
3996               "type": "object",
3997               "patternProperties": {
3998                 ".*": {
3999                   "type": "object",
4000                   "additionalProperties": true
4001                 }
4002               }
4003             },
4004             "info": {
4005               "type": "string"
4006             },
4007             "since": {
4008               "type": "string",
4009               "format": "date-time"
4010             },
4011             "status": {
4012               "type": "string"
4013             }
4014           },
4015           "additionalProperties": false,
4016           "required": [
4017             "status",
4018             "info",
4019             "since"
4020           ]
4021         },
4022         "Error": {
4023           "type": "object",
4024           "properties": {
4025             "code": {
4026               "type": "string"
4027             },
4028             "info": {
4029               "$ref": "#/definitions/ErrorInfo"
4030             },
4031             "message": {
4032               "type": "string"
4033             }
4034           },
4035           "additionalProperties": false,
4036           "required": [
4037             "message",
4038             "code"
4039           ]
4040         },
4041         "ErrorInfo": {
4042           "type": "object",
4043           "properties": {
4044             "macaroon": {
4045               "$ref": "#/definitions/Macaroon"
4046             },
4047             "macaroon-path": {
4048               "type": "string"
4049             }
4050           },
4051           "additionalProperties": false
4052         },
4053         "ErrorResult": {
4054           "type": "object",
4055           "properties": {
4056             "error": {
4057               "$ref": "#/definitions/Error"
4058             }
4059           },
4060           "additionalProperties": false
4061         },
4062         "ErrorResults": {
4063           "type": "object",
4064           "properties": {
4065             "results": {
4066               "type": "array",
4067               "items": {
4068                 "$ref": "#/definitions/ErrorResult"
4069               }
4070             }
4071           },
4072           "additionalProperties": false,
4073           "required": [
4074             "results"
4075           ]
4076         },
4077         "FindToolsParams": {
4078           "type": "object",
4079           "properties": {
4080             "arch": {
4081               "type": "string"
4082             },
4083             "major": {
4084               "type": "integer"
4085             },
4086             "minor": {
4087               "type": "integer"
4088             },
4089             "number": {
4090               "$ref": "#/definitions/Number"
4091             },
4092             "series": {
4093               "type": "string"
4094             }
4095           },
4096           "additionalProperties": false,
4097           "required": [
4098             "number",
4099             "major",
4100             "minor",
4101             "arch",
4102             "series"
4103           ]
4104         },
4105         "FindToolsResult": {
4106           "type": "object",
4107           "properties": {
4108             "error": {
4109               "$ref": "#/definitions/Error"
4110             },
4111             "list": {
4112               "type": "array",
4113               "items": {
4114                 "$ref": "#/definitions/Tools"
4115               }
4116             }
4117           },
4118           "additionalProperties": false,
4119           "required": [
4120             "list"
4121           ]
4122         },
4123         "FullStatus": {
4124           "type": "object",
4125           "properties": {
4126             "applications": {
4127               "type": "object",
4128               "patternProperties": {
4129                 ".*": {
4130                   "$ref": "#/definitions/ApplicationStatus"
4131                 }
4132               }
4133             },
4134             "machines": {
4135               "type": "object",
4136               "patternProperties": {
4137                 ".*": {
4138                   "$ref": "#/definitions/MachineStatus"
4139                 }
4140               }
4141             },
4142             "model": {
4143               "$ref": "#/definitions/ModelStatusInfo"
4144             },
4145             "relations": {
4146               "type": "array",
4147               "items": {
4148                 "$ref": "#/definitions/RelationStatus"
4149               }
4150             }
4151           },
4152           "additionalProperties": false,
4153           "required": [
4154             "model",
4155             "machines",
4156             "applications",
4157             "relations"
4158           ]
4159         },
4160         "GetBundleChangesParams": {
4161           "type": "object",
4162           "properties": {
4163             "yaml": {
4164               "type": "string"
4165             }
4166           },
4167           "additionalProperties": false,
4168           "required": [
4169             "yaml"
4170           ]
4171         },
4172         "GetBundleChangesResults": {
4173           "type": "object",
4174           "properties": {
4175             "changes": {
4176               "type": "array",
4177               "items": {
4178                 "$ref": "#/definitions/BundleChangesChange"
4179               }
4180             },
4181             "errors": {
4182               "type": "array",
4183               "items": {
4184                 "type": "string"
4185               }
4186             }
4187           },
4188           "additionalProperties": false
4189         },
4190         "GetConstraintsResults": {
4191           "type": "object",
4192           "properties": {
4193             "constraints": {
4194               "$ref": "#/definitions/Value"
4195             }
4196           },
4197           "additionalProperties": false,
4198           "required": [
4199             "constraints"
4200           ]
4201         },
4202         "HardwareCharacteristics": {
4203           "type": "object",
4204           "properties": {
4205             "arch": {
4206               "type": "string"
4207             },
4208             "availability-zone": {
4209               "type": "string"
4210             },
4211             "cpu-cores": {
4212               "type": "integer"
4213             },
4214             "cpu-power": {
4215               "type": "integer"
4216             },
4217             "mem": {
4218               "type": "integer"
4219             },
4220             "root-disk": {
4221               "type": "integer"
4222             },
4223             "tags": {
4224               "type": "array",
4225               "items": {
4226                 "type": "string"
4227               }
4228             }
4229           },
4230           "additionalProperties": false
4231         },
4232         "History": {
4233           "type": "object",
4234           "properties": {
4235             "error": {
4236               "$ref": "#/definitions/Error"
4237             },
4238             "statuses": {
4239               "type": "array",
4240               "items": {
4241                 "$ref": "#/definitions/DetailedStatus"
4242               }
4243             }
4244           },
4245           "additionalProperties": false,
4246           "required": [
4247             "statuses"
4248           ]
4249         },
4250         "HostPort": {
4251           "type": "object",
4252           "properties": {
4253             "Address": {
4254               "$ref": "#/definitions/Address"
4255             },
4256             "port": {
4257               "type": "integer"
4258             }
4259           },
4260           "additionalProperties": false,
4261           "required": [
4262             "Address",
4263             "port"
4264           ]
4265         },
4266         "Macaroon": {
4267           "type": "object",
4268           "additionalProperties": false
4269         },
4270         "MachineHardware": {
4271           "type": "object",
4272           "properties": {
4273             "arch": {
4274               "type": "string"
4275             },
4276             "availability-zone": {
4277               "type": "string"
4278             },
4279             "cores": {
4280               "type": "integer"
4281             },
4282             "cpu-power": {
4283               "type": "integer"
4284             },
4285             "mem": {
4286               "type": "integer"
4287             },
4288             "root-disk": {
4289               "type": "integer"
4290             },
4291             "tags": {
4292               "type": "array",
4293               "items": {
4294                 "type": "string"
4295               }
4296             }
4297           },
4298           "additionalProperties": false
4299         },
4300         "MachineStatus": {
4301           "type": "object",
4302           "properties": {
4303             "agent-status": {
4304               "$ref": "#/definitions/DetailedStatus"
4305             },
4306             "containers": {
4307               "type": "object",
4308               "patternProperties": {
4309                 ".*": {
4310                   "$ref": "#/definitions/MachineStatus"
4311                 }
4312               }
4313             },
4314             "dns-name": {
4315               "type": "string"
4316             },
4317             "hardware": {
4318               "type": "string"
4319             },
4320             "has-vote": {
4321               "type": "boolean"
4322             },
4323             "id": {
4324               "type": "string"
4325             },
4326             "instance-id": {
4327               "type": "string"
4328             },
4329             "instance-status": {
4330               "$ref": "#/definitions/DetailedStatus"
4331             },
4332             "jobs": {
4333               "type": "array",
4334               "items": {
4335                 "type": "string"
4336               }
4337             },
4338             "series": {
4339               "type": "string"
4340             },
4341             "wants-vote": {
4342               "type": "boolean"
4343             }
4344           },
4345           "additionalProperties": false,
4346           "required": [
4347             "agent-status",
4348             "instance-status",
4349             "dns-name",
4350             "instance-id",
4351             "series",
4352             "id",
4353             "containers",
4354             "hardware",
4355             "jobs",
4356             "has-vote",
4357             "wants-vote"
4358           ]
4359         },
4360         "MeterStatus": {
4361           "type": "object",
4362           "properties": {
4363             "color": {
4364               "type": "string"
4365             },
4366             "message": {
4367               "type": "string"
4368             }
4369           },
4370           "additionalProperties": false,
4371           "required": [
4372             "color",
4373             "message"
4374           ]
4375         },
4376         "ModelConfigResults": {
4377           "type": "object",
4378           "properties": {
4379             "config": {
4380               "type": "object",
4381               "patternProperties": {
4382                 ".*": {
4383                   "$ref": "#/definitions/ConfigValue"
4384                 }
4385               }
4386             }
4387           },
4388           "additionalProperties": false,
4389           "required": [
4390             "config"
4391           ]
4392         },
4393         "ModelDefaultValues": {
4394           "type": "object",
4395           "properties": {
4396             "cloud-region": {
4397               "type": "string"
4398             },
4399             "cloud-tag": {
4400               "type": "string"
4401             },
4402             "config": {
4403               "type": "object",
4404               "patternProperties": {
4405                 ".*": {
4406                   "type": "object",
4407                   "additionalProperties": true
4408                 }
4409               }
4410             }
4411           },
4412           "additionalProperties": false,
4413           "required": [
4414             "config"
4415           ]
4416         },
4417         "ModelDefaults": {
4418           "type": "object",
4419           "properties": {
4420             "controller": {
4421               "type": "object",
4422               "additionalProperties": true
4423             },
4424             "default": {
4425               "type": "object",
4426               "additionalProperties": true
4427             },
4428             "regions": {
4429               "type": "array",
4430               "items": {
4431                 "$ref": "#/definitions/RegionDefaults"
4432               }
4433             }
4434           },
4435           "additionalProperties": false
4436         },
4437         "ModelDefaultsResult": {
4438           "type": "object",
4439           "properties": {
4440             "config": {
4441               "type": "object",
4442               "patternProperties": {
4443                 ".*": {
4444                   "$ref": "#/definitions/ModelDefaults"
4445                 }
4446               }
4447             }
4448           },
4449           "additionalProperties": false,
4450           "required": [
4451             "config"
4452           ]
4453         },
4454         "ModelInfo": {
4455           "type": "object",
4456           "properties": {
4457             "cloud": {
4458               "type": "string"
4459             },
4460             "cloud-credential-tag": {
4461               "type": "string"
4462             },
4463             "cloud-region": {
4464               "type": "string"
4465             },
4466             "controller-uuid": {
4467               "type": "string"
4468             },
4469             "default-series": {
4470               "type": "string"
4471             },
4472             "life": {
4473               "type": "string"
4474             },
4475             "machines": {
4476               "type": "array",
4477               "items": {
4478                 "$ref": "#/definitions/ModelMachineInfo"
4479               }
4480             },
4481             "name": {
4482               "type": "string"
4483             },
4484             "owner-tag": {
4485               "type": "string"
4486             },
4487             "provider-type": {
4488               "type": "string"
4489             },
4490             "status": {
4491               "$ref": "#/definitions/EntityStatus"
4492             },
4493             "users": {
4494               "type": "array",
4495               "items": {
4496                 "$ref": "#/definitions/ModelUserInfo"
4497               }
4498             },
4499             "uuid": {
4500               "type": "string"
4501             }
4502           },
4503           "additionalProperties": false,
4504           "required": [
4505             "name",
4506             "uuid",
4507             "controller-uuid",
4508             "provider-type",
4509             "default-series",
4510             "cloud",
4511             "owner-tag",
4512             "life",
4513             "status",
4514             "users",
4515             "machines"
4516           ]
4517         },
4518         "ModelMachineInfo": {
4519           "type": "object",
4520           "properties": {
4521             "hardware": {
4522               "$ref": "#/definitions/MachineHardware"
4523             },
4524             "id": {
4525               "type": "string"
4526             }
4527           },
4528           "additionalProperties": false,
4529           "required": [
4530             "id"
4531           ]
4532         },
4533         "ModelSet": {
4534           "type": "object",
4535           "properties": {
4536             "config": {
4537               "type": "object",
4538               "patternProperties": {
4539                 ".*": {
4540                   "type": "object",
4541                   "additionalProperties": true
4542                 }
4543               }
4544             }
4545           },
4546           "additionalProperties": false,
4547           "required": [
4548             "config"
4549           ]
4550         },
4551         "ModelStatusInfo": {
4552           "type": "object",
4553           "properties": {
4554             "available-version": {
4555               "type": "string"
4556             },
4557             "cloud": {
4558               "type": "string"
4559             },
4560             "migration": {
4561               "type": "string"
4562             },
4563             "name": {
4564               "type": "string"
4565             },
4566             "region": {
4567               "type": "string"
4568             },
4569             "version": {
4570               "type": "string"
4571             }
4572           },
4573           "additionalProperties": false,
4574           "required": [
4575             "name",
4576             "cloud",
4577             "version",
4578             "available-version"
4579           ]
4580         },
4581         "ModelUnset": {
4582           "type": "object",
4583           "properties": {
4584             "keys": {
4585               "type": "array",
4586               "items": {
4587                 "type": "string"
4588               }
4589             }
4590           },
4591           "additionalProperties": false,
4592           "required": [
4593             "keys"
4594           ]
4595         },
4596         "ModelUnsetKeys": {
4597           "type": "object",
4598           "properties": {
4599             "cloud-region": {
4600               "type": "string"
4601             },
4602             "cloud-tag": {
4603               "type": "string"
4604             },
4605             "keys": {
4606               "type": "array",
4607               "items": {
4608                 "type": "string"
4609               }
4610             }
4611           },
4612           "additionalProperties": false,
4613           "required": [
4614             "keys"
4615           ]
4616         },
4617         "ModelUserInfo": {
4618           "type": "object",
4619           "properties": {
4620             "access": {
4621               "type": "string"
4622             },
4623             "display-name": {
4624               "type": "string"
4625             },
4626             "last-connection": {
4627               "type": "string",
4628               "format": "date-time"
4629             },
4630             "user": {
4631               "type": "string"
4632             }
4633           },
4634           "additionalProperties": false,
4635           "required": [
4636             "user",
4637             "display-name",
4638             "last-connection",
4639             "access"
4640           ]
4641         },
4642         "ModelUserInfoResult": {
4643           "type": "object",
4644           "properties": {
4645             "error": {
4646               "$ref": "#/definitions/Error"
4647             },
4648             "result": {
4649               "$ref": "#/definitions/ModelUserInfo"
4650             }
4651           },
4652           "additionalProperties": false
4653         },
4654         "ModelUserInfoResults": {
4655           "type": "object",
4656           "properties": {
4657             "results": {
4658               "type": "array",
4659               "items": {
4660                 "$ref": "#/definitions/ModelUserInfoResult"
4661               }
4662             }
4663           },
4664           "additionalProperties": false,
4665           "required": [
4666             "results"
4667           ]
4668         },
4669         "Number": {
4670           "type": "object",
4671           "properties": {
4672             "Build": {
4673               "type": "integer"
4674             },
4675             "Major": {
4676               "type": "integer"
4677             },
4678             "Minor": {
4679               "type": "integer"
4680             },
4681             "Patch": {
4682               "type": "integer"
4683             },
4684             "Tag": {
4685               "type": "string"
4686             }
4687           },
4688           "additionalProperties": false,
4689           "required": [
4690             "Major",
4691             "Minor",
4692             "Tag",
4693             "Patch",
4694             "Build"
4695           ]
4696         },
4697         "Placement": {
4698           "type": "object",
4699           "properties": {
4700             "directive": {
4701               "type": "string"
4702             },
4703             "scope": {
4704               "type": "string"
4705             }
4706           },
4707           "additionalProperties": false,
4708           "required": [
4709             "scope",
4710             "directive"
4711           ]
4712         },
4713         "PrivateAddress": {
4714           "type": "object",
4715           "properties": {
4716             "target": {
4717               "type": "string"
4718             }
4719           },
4720           "additionalProperties": false,
4721           "required": [
4722             "target"
4723           ]
4724         },
4725         "PrivateAddressResults": {
4726           "type": "object",
4727           "properties": {
4728             "private-address": {
4729               "type": "string"
4730             }
4731           },
4732           "additionalProperties": false,
4733           "required": [
4734             "private-address"
4735           ]
4736         },
4737         "ProvisioningScriptParams": {
4738           "type": "object",
4739           "properties": {
4740             "data-dir": {
4741               "type": "string"
4742             },
4743             "disable-package-commands": {
4744               "type": "boolean"
4745             },
4746             "machine-id": {
4747               "type": "string"
4748             },
4749             "nonce": {
4750               "type": "string"
4751             }
4752           },
4753           "additionalProperties": false,
4754           "required": [
4755             "machine-id",
4756             "nonce",
4757             "data-dir",
4758             "disable-package-commands"
4759           ]
4760         },
4761         "ProvisioningScriptResult": {
4762           "type": "object",
4763           "properties": {
4764             "script": {
4765               "type": "string"
4766             }
4767           },
4768           "additionalProperties": false,
4769           "required": [
4770             "script"
4771           ]
4772         },
4773         "PublicAddress": {
4774           "type": "object",
4775           "properties": {
4776             "target": {
4777               "type": "string"
4778             }
4779           },
4780           "additionalProperties": false,
4781           "required": [
4782             "target"
4783           ]
4784         },
4785         "PublicAddressResults": {
4786           "type": "object",
4787           "properties": {
4788             "public-address": {
4789               "type": "string"
4790             }
4791           },
4792           "additionalProperties": false,
4793           "required": [
4794             "public-address"
4795           ]
4796         },
4797         "RegionDefaults": {
4798           "type": "object",
4799           "properties": {
4800             "region-name": {
4801               "type": "string"
4802             },
4803             "value": {
4804               "type": "object",
4805               "additionalProperties": true
4806             }
4807           },
4808           "additionalProperties": false,
4809           "required": [
4810             "region-name",
4811             "value"
4812           ]
4813         },
4814         "RelationStatus": {
4815           "type": "object",
4816           "properties": {
4817             "endpoints": {
4818               "type": "array",
4819               "items": {
4820                 "$ref": "#/definitions/EndpointStatus"
4821               }
4822             },
4823             "id": {
4824               "type": "integer"
4825             },
4826             "interface": {
4827               "type": "string"
4828             },
4829             "key": {
4830               "type": "string"
4831             },
4832             "scope": {
4833               "type": "string"
4834             }
4835           },
4836           "additionalProperties": false,
4837           "required": [
4838             "id",
4839             "key",
4840             "interface",
4841             "scope",
4842             "endpoints"
4843           ]
4844         },
4845         "ResolveCharmResult": {
4846           "type": "object",
4847           "properties": {
4848             "error": {
4849               "type": "string"
4850             },
4851             "url": {
4852               "type": "string"
4853             }
4854           },
4855           "additionalProperties": false
4856         },
4857         "ResolveCharmResults": {
4858           "type": "object",
4859           "properties": {
4860             "urls": {
4861               "type": "array",
4862               "items": {
4863                 "$ref": "#/definitions/ResolveCharmResult"
4864               }
4865             }
4866           },
4867           "additionalProperties": false,
4868           "required": [
4869             "urls"
4870           ]
4871         },
4872         "ResolveCharms": {
4873           "type": "object",
4874           "properties": {
4875             "references": {
4876               "type": "array",
4877               "items": {
4878                 "type": "string"
4879               }
4880             }
4881           },
4882           "additionalProperties": false,
4883           "required": [
4884             "references"
4885           ]
4886         },
4887         "Resolved": {
4888           "type": "object",
4889           "properties": {
4890             "retry": {
4891               "type": "boolean"
4892             },
4893             "unit-name": {
4894               "type": "string"
4895             }
4896           },
4897           "additionalProperties": false,
4898           "required": [
4899             "unit-name",
4900             "retry"
4901           ]
4902         },
4903         "SetConstraints": {
4904           "type": "object",
4905           "properties": {
4906             "application": {
4907               "type": "string"
4908             },
4909             "constraints": {
4910               "$ref": "#/definitions/Value"
4911             }
4912           },
4913           "additionalProperties": false,
4914           "required": [
4915             "application",
4916             "constraints"
4917           ]
4918         },
4919         "SetModelAgentVersion": {
4920           "type": "object",
4921           "properties": {
4922             "version": {
4923               "$ref": "#/definitions/Number"
4924             }
4925           },
4926           "additionalProperties": false,
4927           "required": [
4928             "version"
4929           ]
4930         },
4931         "SetModelDefaults": {
4932           "type": "object",
4933           "properties": {
4934             "config": {
4935               "type": "array",
4936               "items": {
4937                 "$ref": "#/definitions/ModelDefaultValues"
4938               }
4939             }
4940           },
4941           "additionalProperties": false,
4942           "required": [
4943             "config"
4944           ]
4945         },
4946         "StatusHistoryFilter": {
4947           "type": "object",
4948           "properties": {
4949             "date": {
4950               "type": "string",
4951               "format": "date-time"
4952             },
4953             "delta": {
4954               "type": "integer"
4955             },
4956             "size": {
4957               "type": "integer"
4958             }
4959           },
4960           "additionalProperties": false,
4961           "required": [
4962             "size",
4963             "date",
4964             "delta"
4965           ]
4966         },
4967         "StatusHistoryRequest": {
4968           "type": "object",
4969           "properties": {
4970             "filter": {
4971               "$ref": "#/definitions/StatusHistoryFilter"
4972             },
4973             "historyKind": {
4974               "type": "string"
4975             },
4976             "size": {
4977               "type": "integer"
4978             },
4979             "tag": {
4980               "type": "string"
4981             }
4982           },
4983           "additionalProperties": false,
4984           "required": [
4985             "historyKind",
4986             "size",
4987             "filter",
4988             "tag"
4989           ]
4990         },
4991         "StatusHistoryRequests": {
4992           "type": "object",
4993           "properties": {
4994             "requests": {
4995               "type": "array",
4996               "items": {
4997                 "$ref": "#/definitions/StatusHistoryRequest"
4998               }
4999             }
5000           },
5001           "additionalProperties": false,
5002           "required": [
5003             "requests"
5004           ]
5005         },
5006         "StatusHistoryResult": {
5007           "type": "object",
5008           "properties": {
5009             "error": {
5010               "$ref": "#/definitions/Error"
5011             },
5012             "history": {
5013               "$ref": "#/definitions/History"
5014             }
5015           },
5016           "additionalProperties": false,
5017           "required": [
5018             "history"
5019           ]
5020         },
5021         "StatusHistoryResults": {
5022           "type": "object",
5023           "properties": {
5024             "results": {
5025               "type": "array",
5026               "items": {
5027                 "$ref": "#/definitions/StatusHistoryResult"
5028               }
5029             }
5030           },
5031           "additionalProperties": false,
5032           "required": [
5033             "results"
5034           ]
5035         },
5036         "StatusParams": {
5037           "type": "object",
5038           "properties": {
5039             "patterns": {
5040               "type": "array",
5041               "items": {
5042                 "type": "string"
5043               }
5044             }
5045           },
5046           "additionalProperties": false,
5047           "required": [
5048             "patterns"
5049           ]
5050         },
5051         "Tools": {
5052           "type": "object",
5053           "properties": {
5054             "sha256": {
5055               "type": "string"
5056             },
5057             "size": {
5058               "type": "integer"
5059             },
5060             "url": {
5061               "type": "string"
5062             },
5063             "version": {
5064               "$ref": "#/definitions/Binary"
5065             }
5066           },
5067           "additionalProperties": false,
5068           "required": [
5069             "version",
5070             "url",
5071             "size"
5072           ]
5073         },
5074         "UnitStatus": {
5075           "type": "object",
5076           "properties": {
5077             "agent-status": {
5078               "$ref": "#/definitions/DetailedStatus"
5079             },
5080             "charm": {
5081               "type": "string"
5082             },
5083             "machine": {
5084               "type": "string"
5085             },
5086             "opened-ports": {
5087               "type": "array",
5088               "items": {
5089                 "type": "string"
5090               }
5091             },
5092             "public-address": {
5093               "type": "string"
5094             },
5095             "subordinates": {
5096               "type": "object",
5097               "patternProperties": {
5098                 ".*": {
5099                   "$ref": "#/definitions/UnitStatus"
5100                 }
5101               }
5102             },
5103             "workload-status": {
5104               "$ref": "#/definitions/DetailedStatus"
5105             },
5106             "workload-version": {
5107               "type": "string"
5108             }
5109           },
5110           "additionalProperties": false,
5111           "required": [
5112             "agent-status",
5113             "workload-status",
5114             "workload-version",
5115             "machine",
5116             "opened-ports",
5117             "public-address",
5118             "charm",
5119             "subordinates"
5120           ]
5121         },
5122         "UnsetModelDefaults": {
5123           "type": "object",
5124           "properties": {
5125             "keys": {
5126               "type": "array",
5127               "items": {
5128                 "$ref": "#/definitions/ModelUnsetKeys"
5129               }
5130             }
5131           },
5132           "additionalProperties": false,
5133           "required": [
5134             "keys"
5135           ]
5136         },
5137         "Value": {
5138           "type": "object",
5139           "properties": {
5140             "arch": {
5141               "type": "string"
5142             },
5143             "container": {
5144               "type": "string"
5145             },
5146             "cpu-cores": {
5147               "type": "integer"
5148             },
5149             "cpu-power": {
5150               "type": "integer"
5151             },
5152             "instance-type": {
5153               "type": "string"
5154             },
5155             "mem": {
5156               "type": "integer"
5157             },
5158             "root-disk": {
5159               "type": "integer"
5160             },
5161             "spaces": {
5162               "type": "array",
5163               "items": {
5164                 "type": "string"
5165               }
5166             },
5167             "tags": {
5168               "type": "array",
5169               "items": {
5170                 "type": "string"
5171               }
5172             },
5173             "virt-type": {
5174               "type": "string"
5175             }
5176           },
5177           "additionalProperties": false
5178         }
5179       }
5180     }
5181   },
5182   {
5183     "Name": "Cloud",
5184     "Version": 1,
5185     "Schema": {
5186       "type": "object",
5187       "properties": {
5188         "Cloud": {
5189           "type": "object",
5190           "properties": {
5191             "Params": {
5192               "$ref": "#/definitions/Entities"
5193             },
5194             "Result": {
5195               "$ref": "#/definitions/CloudResults"
5196             }
5197           }
5198         },
5199         "Clouds": {
5200           "type": "object",
5201           "properties": {
5202             "Result": {
5203               "$ref": "#/definitions/CloudsResult"
5204             }
5205           }
5206         },
5207         "Credential": {
5208           "type": "object",
5209           "properties": {
5210             "Params": {
5211               "$ref": "#/definitions/Entities"
5212             },
5213             "Result": {
5214               "$ref": "#/definitions/CloudCredentialResults"
5215             }
5216           }
5217         },
5218         "DefaultCloud": {
5219           "type": "object",
5220           "properties": {
5221             "Result": {
5222               "$ref": "#/definitions/StringResult"
5223             }
5224           }
5225         },
5226         "RevokeCredentials": {
5227           "type": "object",
5228           "properties": {
5229             "Params": {
5230               "$ref": "#/definitions/Entities"
5231             },
5232             "Result": {
5233               "$ref": "#/definitions/ErrorResults"
5234             }
5235           }
5236         },
5237         "UpdateCredentials": {
5238           "type": "object",
5239           "properties": {
5240             "Params": {
5241               "$ref": "#/definitions/UpdateCloudCredentials"
5242             },
5243             "Result": {
5244               "$ref": "#/definitions/ErrorResults"
5245             }
5246           }
5247         },
5248         "UserCredentials": {
5249           "type": "object",
5250           "properties": {
5251             "Params": {
5252               "$ref": "#/definitions/UserClouds"
5253             },
5254             "Result": {
5255               "$ref": "#/definitions/StringsResults"
5256             }
5257           }
5258         }
5259       },
5260       "definitions": {
5261         "Cloud": {
5262           "type": "object",
5263           "properties": {
5264             "auth-types": {
5265               "type": "array",
5266               "items": {
5267                 "type": "string"
5268               }
5269             },
5270             "endpoint": {
5271               "type": "string"
5272             },
5273             "identity-endpoint": {
5274               "type": "string"
5275             },
5276             "regions": {
5277               "type": "array",
5278               "items": {
5279                 "$ref": "#/definitions/CloudRegion"
5280               }
5281             },
5282             "storage-endpoint": {
5283               "type": "string"
5284             },
5285             "type": {
5286               "type": "string"
5287             }
5288           },
5289           "additionalProperties": false,
5290           "required": [
5291             "type"
5292           ]
5293         },
5294         "CloudCredential": {
5295           "type": "object",
5296           "properties": {
5297             "attrs": {
5298               "type": "object",
5299               "patternProperties": {
5300                 ".*": {
5301                   "type": "string"
5302                 }
5303               }
5304             },
5305             "auth-type": {
5306               "type": "string"
5307             },
5308             "redacted": {
5309               "type": "array",
5310               "items": {
5311                 "type": "string"
5312               }
5313             }
5314           },
5315           "additionalProperties": false,
5316           "required": [
5317             "auth-type"
5318           ]
5319         },
5320         "CloudCredentialResult": {
5321           "type": "object",
5322           "properties": {
5323             "error": {
5324               "$ref": "#/definitions/Error"
5325             },
5326             "result": {
5327               "$ref": "#/definitions/CloudCredential"
5328             }
5329           },
5330           "additionalProperties": false
5331         },
5332         "CloudCredentialResults": {
5333           "type": "object",
5334           "properties": {
5335             "results": {
5336               "type": "array",
5337               "items": {
5338                 "$ref": "#/definitions/CloudCredentialResult"
5339               }
5340             }
5341           },
5342           "additionalProperties": false
5343         },
5344         "CloudRegion": {
5345           "type": "object",
5346           "properties": {
5347             "endpoint": {
5348               "type": "string"
5349             },
5350             "identity-endpoint": {
5351               "type": "string"
5352             },
5353             "name": {
5354               "type": "string"
5355             },
5356             "storage-endpoint": {
5357               "type": "string"
5358             }
5359           },
5360           "additionalProperties": false,
5361           "required": [
5362             "name"
5363           ]
5364         },
5365         "CloudResult": {
5366           "type": "object",
5367           "properties": {
5368             "cloud": {
5369               "$ref": "#/definitions/Cloud"
5370             },
5371             "error": {
5372               "$ref": "#/definitions/Error"
5373             }
5374           },
5375           "additionalProperties": false
5376         },
5377         "CloudResults": {
5378           "type": "object",
5379           "properties": {
5380             "results": {
5381               "type": "array",
5382               "items": {
5383                 "$ref": "#/definitions/CloudResult"
5384               }
5385             }
5386           },
5387           "additionalProperties": false
5388         },
5389         "CloudsResult": {
5390           "type": "object",
5391           "properties": {
5392             "clouds": {
5393               "type": "object",
5394               "patternProperties": {
5395                 ".*": {
5396                   "$ref": "#/definitions/Cloud"
5397                 }
5398               }
5399             }
5400           },
5401           "additionalProperties": false
5402         },
5403         "Entities": {
5404           "type": "object",
5405           "properties": {
5406             "entities": {
5407               "type": "array",
5408               "items": {
5409                 "$ref": "#/definitions/Entity"
5410               }
5411             }
5412           },
5413           "additionalProperties": false,
5414           "required": [
5415             "entities"
5416           ]
5417         },
5418         "Entity": {
5419           "type": "object",
5420           "properties": {
5421             "tag": {
5422               "type": "string"
5423             }
5424           },
5425           "additionalProperties": false,
5426           "required": [
5427             "tag"
5428           ]
5429         },
5430         "Error": {
5431           "type": "object",
5432           "properties": {
5433             "code": {
5434               "type": "string"
5435             },
5436             "info": {
5437               "$ref": "#/definitions/ErrorInfo"
5438             },
5439             "message": {
5440               "type": "string"
5441             }
5442           },
5443           "additionalProperties": false,
5444           "required": [
5445             "message",
5446             "code"
5447           ]
5448         },
5449         "ErrorInfo": {
5450           "type": "object",
5451           "properties": {
5452             "macaroon": {
5453               "$ref": "#/definitions/Macaroon"
5454             },
5455             "macaroon-path": {
5456               "type": "string"
5457             }
5458           },
5459           "additionalProperties": false
5460         },
5461         "ErrorResult": {
5462           "type": "object",
5463           "properties": {
5464             "error": {
5465               "$ref": "#/definitions/Error"
5466             }
5467           },
5468           "additionalProperties": false
5469         },
5470         "ErrorResults": {
5471           "type": "object",
5472           "properties": {
5473             "results": {
5474               "type": "array",
5475               "items": {
5476                 "$ref": "#/definitions/ErrorResult"
5477               }
5478             }
5479           },
5480           "additionalProperties": false,
5481           "required": [
5482             "results"
5483           ]
5484         },
5485         "Macaroon": {
5486           "type": "object",
5487           "additionalProperties": false
5488         },
5489         "StringResult": {
5490           "type": "object",
5491           "properties": {
5492             "error": {
5493               "$ref": "#/definitions/Error"
5494             },
5495             "result": {
5496               "type": "string"
5497             }
5498           },
5499           "additionalProperties": false,
5500           "required": [
5501             "result"
5502           ]
5503         },
5504         "StringsResult": {
5505           "type": "object",
5506           "properties": {
5507             "error": {
5508               "$ref": "#/definitions/Error"
5509             },
5510             "result": {
5511               "type": "array",
5512               "items": {
5513                 "type": "string"
5514               }
5515             }
5516           },
5517           "additionalProperties": false
5518         },
5519         "StringsResults": {
5520           "type": "object",
5521           "properties": {
5522             "results": {
5523               "type": "array",
5524               "items": {
5525                 "$ref": "#/definitions/StringsResult"
5526               }
5527             }
5528           },
5529           "additionalProperties": false,
5530           "required": [
5531             "results"
5532           ]
5533         },
5534         "UpdateCloudCredential": {
5535           "type": "object",
5536           "properties": {
5537             "credential": {
5538               "$ref": "#/definitions/CloudCredential"
5539             },
5540             "tag": {
5541               "type": "string"
5542             }
5543           },
5544           "additionalProperties": false,
5545           "required": [
5546             "tag",
5547             "credential"
5548           ]
5549         },
5550         "UpdateCloudCredentials": {
5551           "type": "object",
5552           "properties": {
5553             "credentials": {
5554               "type": "array",
5555               "items": {
5556                 "$ref": "#/definitions/UpdateCloudCredential"
5557               }
5558             }
5559           },
5560           "additionalProperties": false
5561         },
5562         "UserCloud": {
5563           "type": "object",
5564           "properties": {
5565             "cloud-tag": {
5566               "type": "string"
5567             },
5568             "user-tag": {
5569               "type": "string"
5570             }
5571           },
5572           "additionalProperties": false,
5573           "required": [
5574             "user-tag",
5575             "cloud-tag"
5576           ]
5577         },
5578         "UserClouds": {
5579           "type": "object",
5580           "properties": {
5581             "user-clouds": {
5582               "type": "array",
5583               "items": {
5584                 "$ref": "#/definitions/UserCloud"
5585               }
5586             }
5587           },
5588           "additionalProperties": false
5589         }
5590       }
5591     }
5592   },
5593   {
5594     "Name": "Controller",
5595     "Version": 3,
5596     "Schema": {
5597       "type": "object",
5598       "properties": {
5599         "AllModels": {
5600           "type": "object",
5601           "properties": {
5602             "Result": {
5603               "$ref": "#/definitions/UserModelList"
5604             }
5605           }
5606         },
5607         "CloudSpec": {
5608           "type": "object",
5609           "properties": {
5610             "Params": {
5611               "$ref": "#/definitions/Entities"
5612             },
5613             "Result": {
5614               "$ref": "#/definitions/CloudSpecResults"
5615             }
5616           }
5617         },
5618         "ControllerConfig": {
5619           "type": "object",
5620           "properties": {
5621             "Result": {
5622               "$ref": "#/definitions/ControllerConfigResult"
5623             }
5624           }
5625         },
5626         "DestroyController": {
5627           "type": "object",
5628           "properties": {
5629             "Params": {
5630               "$ref": "#/definitions/DestroyControllerArgs"
5631             }
5632           }
5633         },
5634         "GetControllerAccess": {
5635           "type": "object",
5636           "properties": {
5637             "Params": {
5638               "$ref": "#/definitions/Entities"
5639             },
5640             "Result": {
5641               "$ref": "#/definitions/UserAccessResults"
5642             }
5643           }
5644         },
5645         "InitiateMigration": {
5646           "type": "object",
5647           "properties": {
5648             "Params": {
5649               "$ref": "#/definitions/InitiateMigrationArgs"
5650             },
5651             "Result": {
5652               "$ref": "#/definitions/InitiateMigrationResults"
5653             }
5654           }
5655         },
5656         "ListBlockedModels": {
5657           "type": "object",
5658           "properties": {
5659             "Result": {
5660               "$ref": "#/definitions/ModelBlockInfoList"
5661             }
5662           }
5663         },
5664         "ModelConfig": {
5665           "type": "object",
5666           "properties": {
5667             "Result": {
5668               "$ref": "#/definitions/ModelConfigResults"
5669             }
5670           }
5671         },
5672         "ModelStatus": {
5673           "type": "object",
5674           "properties": {
5675             "Params": {
5676               "$ref": "#/definitions/Entities"
5677             },
5678             "Result": {
5679               "$ref": "#/definitions/ModelStatusResults"
5680             }
5681           }
5682         },
5683         "ModifyControllerAccess": {
5684           "type": "object",
5685           "properties": {
5686             "Params": {
5687               "$ref": "#/definitions/ModifyControllerAccessRequest"
5688             },
5689             "Result": {
5690               "$ref": "#/definitions/ErrorResults"
5691             }
5692           }
5693         },
5694         "RemoveBlocks": {
5695           "type": "object",
5696           "properties": {
5697             "Params": {
5698               "$ref": "#/definitions/RemoveBlocksArgs"
5699             }
5700           }
5701         },
5702         "WatchAllModels": {
5703           "type": "object",
5704           "properties": {
5705             "Result": {
5706               "$ref": "#/definitions/AllWatcherId"
5707             }
5708           }
5709         }
5710       },
5711       "definitions": {
5712         "AllWatcherId": {
5713           "type": "object",
5714           "properties": {
5715             "watcher-id": {
5716               "type": "string"
5717             }
5718           },
5719           "additionalProperties": false,
5720           "required": [
5721             "watcher-id"
5722           ]
5723         },
5724         "CloudCredential": {
5725           "type": "object",
5726           "properties": {
5727             "attrs": {
5728               "type": "object",
5729               "patternProperties": {
5730                 ".*": {
5731                   "type": "string"
5732                 }
5733               }
5734             },
5735             "auth-type": {
5736               "type": "string"
5737             },
5738             "redacted": {
5739               "type": "array",
5740               "items": {
5741                 "type": "string"
5742               }
5743             }
5744           },
5745           "additionalProperties": false,
5746           "required": [
5747             "auth-type"
5748           ]
5749         },
5750         "CloudSpec": {
5751           "type": "object",
5752           "properties": {
5753             "credential": {
5754               "$ref": "#/definitions/CloudCredential"
5755             },
5756             "endpoint": {
5757               "type": "string"
5758             },
5759             "identity-endpoint": {
5760               "type": "string"
5761             },
5762             "name": {
5763               "type": "string"
5764             },
5765             "region": {
5766               "type": "string"
5767             },
5768             "storage-endpoint": {
5769               "type": "string"
5770             },
5771             "type": {
5772               "type": "string"
5773             }
5774           },
5775           "additionalProperties": false,
5776           "required": [
5777             "type",
5778             "name"
5779           ]
5780         },
5781         "CloudSpecResult": {
5782           "type": "object",
5783           "properties": {
5784             "error": {
5785               "$ref": "#/definitions/Error"
5786             },
5787             "result": {
5788               "$ref": "#/definitions/CloudSpec"
5789             }
5790           },
5791           "additionalProperties": false
5792         },
5793         "CloudSpecResults": {
5794           "type": "object",
5795           "properties": {
5796             "results": {
5797               "type": "array",
5798               "items": {
5799                 "$ref": "#/definitions/CloudSpecResult"
5800               }
5801             }
5802           },
5803           "additionalProperties": false
5804         },
5805         "ConfigValue": {
5806           "type": "object",
5807           "properties": {
5808             "source": {
5809               "type": "string"
5810             },
5811             "value": {
5812               "type": "object",
5813               "additionalProperties": true
5814             }
5815           },
5816           "additionalProperties": false,
5817           "required": [
5818             "value",
5819             "source"
5820           ]
5821         },
5822         "ControllerConfigResult": {
5823           "type": "object",
5824           "properties": {
5825             "config": {
5826               "type": "object",
5827               "patternProperties": {
5828                 ".*": {
5829                   "type": "object",
5830                   "additionalProperties": true
5831                 }
5832               }
5833             }
5834           },
5835           "additionalProperties": false,
5836           "required": [
5837             "config"
5838           ]
5839         },
5840         "DestroyControllerArgs": {
5841           "type": "object",
5842           "properties": {
5843             "destroy-models": {
5844               "type": "boolean"
5845             }
5846           },
5847           "additionalProperties": false,
5848           "required": [
5849             "destroy-models"
5850           ]
5851         },
5852         "Entities": {
5853           "type": "object",
5854           "properties": {
5855             "entities": {
5856               "type": "array",
5857               "items": {
5858                 "$ref": "#/definitions/Entity"
5859               }
5860             }
5861           },
5862           "additionalProperties": false,
5863           "required": [
5864             "entities"
5865           ]
5866         },
5867         "Entity": {
5868           "type": "object",
5869           "properties": {
5870             "tag": {
5871               "type": "string"
5872             }
5873           },
5874           "additionalProperties": false,
5875           "required": [
5876             "tag"
5877           ]
5878         },
5879         "Error": {
5880           "type": "object",
5881           "properties": {
5882             "code": {
5883               "type": "string"
5884             },
5885             "info": {
5886               "$ref": "#/definitions/ErrorInfo"
5887             },
5888             "message": {
5889               "type": "string"
5890             }
5891           },
5892           "additionalProperties": false,
5893           "required": [
5894             "message",
5895             "code"
5896           ]
5897         },
5898         "ErrorInfo": {
5899           "type": "object",
5900           "properties": {
5901             "macaroon": {
5902               "$ref": "#/definitions/Macaroon"
5903             },
5904             "macaroon-path": {
5905               "type": "string"
5906             }
5907           },
5908           "additionalProperties": false
5909         },
5910         "ErrorResult": {
5911           "type": "object",
5912           "properties": {
5913             "error": {
5914               "$ref": "#/definitions/Error"
5915             }
5916           },
5917           "additionalProperties": false
5918         },
5919         "ErrorResults": {
5920           "type": "object",
5921           "properties": {
5922             "results": {
5923               "type": "array",
5924               "items": {
5925                 "$ref": "#/definitions/ErrorResult"
5926               }
5927             }
5928           },
5929           "additionalProperties": false,
5930           "required": [
5931             "results"
5932           ]
5933         },
5934         "InitiateMigrationArgs": {
5935           "type": "object",
5936           "properties": {
5937             "specs": {
5938               "type": "array",
5939               "items": {
5940                 "$ref": "#/definitions/MigrationSpec"
5941               }
5942             }
5943           },
5944           "additionalProperties": false,
5945           "required": [
5946             "specs"
5947           ]
5948         },
5949         "InitiateMigrationResult": {
5950           "type": "object",
5951           "properties": {
5952             "error": {
5953               "$ref": "#/definitions/Error"
5954             },
5955             "migration-id": {
5956               "type": "string"
5957             },
5958             "model-tag": {
5959               "type": "string"
5960             }
5961           },
5962           "additionalProperties": false,
5963           "required": [
5964             "model-tag",
5965             "migration-id"
5966           ]
5967         },
5968         "InitiateMigrationResults": {
5969           "type": "object",
5970           "properties": {
5971             "results": {
5972               "type": "array",
5973               "items": {
5974                 "$ref": "#/definitions/InitiateMigrationResult"
5975               }
5976             }
5977           },
5978           "additionalProperties": false,
5979           "required": [
5980             "results"
5981           ]
5982         },
5983         "Macaroon": {
5984           "type": "object",
5985           "additionalProperties": false
5986         },
5987         "MachineHardware": {
5988           "type": "object",
5989           "properties": {
5990             "arch": {
5991               "type": "string"
5992             },
5993             "availability-zone": {
5994               "type": "string"
5995             },
5996             "cores": {
5997               "type": "integer"
5998             },
5999             "cpu-power": {
6000               "type": "integer"
6001             },
6002             "mem": {
6003               "type": "integer"
6004             },
6005             "root-disk": {
6006               "type": "integer"
6007             },
6008             "tags": {
6009               "type": "array",
6010               "items": {
6011                 "type": "string"
6012               }
6013             }
6014           },
6015           "additionalProperties": false
6016         },
6017         "MigrationSpec": {
6018           "type": "object",
6019           "properties": {
6020             "external-control": {
6021               "type": "boolean"
6022             },
6023             "model-tag": {
6024               "type": "string"
6025             },
6026             "target-info": {
6027               "$ref": "#/definitions/MigrationTargetInfo"
6028             }
6029           },
6030           "additionalProperties": false,
6031           "required": [
6032             "model-tag",
6033             "target-info",
6034             "external-control"
6035           ]
6036         },
6037         "MigrationTargetInfo": {
6038           "type": "object",
6039           "properties": {
6040             "addrs": {
6041               "type": "array",
6042               "items": {
6043                 "type": "string"
6044               }
6045             },
6046             "auth-tag": {
6047               "type": "string"
6048             },
6049             "ca-cert": {
6050               "type": "string"
6051             },
6052             "controller-tag": {
6053               "type": "string"
6054             },
6055             "macaroons": {
6056               "type": "string"
6057             },
6058             "password": {
6059               "type": "string"
6060             }
6061           },
6062           "additionalProperties": false,
6063           "required": [
6064             "controller-tag",
6065             "addrs",
6066             "ca-cert",
6067             "auth-tag"
6068           ]
6069         },
6070         "Model": {
6071           "type": "object",
6072           "properties": {
6073             "name": {
6074               "type": "string"
6075             },
6076             "owner-tag": {
6077               "type": "string"
6078             },
6079             "uuid": {
6080               "type": "string"
6081             }
6082           },
6083           "additionalProperties": false,
6084           "required": [
6085             "name",
6086             "uuid",
6087             "owner-tag"
6088           ]
6089         },
6090         "ModelBlockInfo": {
6091           "type": "object",
6092           "properties": {
6093             "blocks": {
6094               "type": "array",
6095               "items": {
6096                 "type": "string"
6097               }
6098             },
6099             "model-uuid": {
6100               "type": "string"
6101             },
6102             "name": {
6103               "type": "string"
6104             },
6105             "owner-tag": {
6106               "type": "string"
6107             }
6108           },
6109           "additionalProperties": false,
6110           "required": [
6111             "name",
6112             "model-uuid",
6113             "owner-tag",
6114             "blocks"
6115           ]
6116         },
6117         "ModelBlockInfoList": {
6118           "type": "object",
6119           "properties": {
6120             "models": {
6121               "type": "array",
6122               "items": {
6123                 "$ref": "#/definitions/ModelBlockInfo"
6124               }
6125             }
6126           },
6127           "additionalProperties": false
6128         },
6129         "ModelConfigResults": {
6130           "type": "object",
6131           "properties": {
6132             "config": {
6133               "type": "object",
6134               "patternProperties": {
6135                 ".*": {
6136                   "$ref": "#/definitions/ConfigValue"
6137                 }
6138               }
6139             }
6140           },
6141           "additionalProperties": false,
6142           "required": [
6143             "config"
6144           ]
6145         },
6146         "ModelMachineInfo": {
6147           "type": "object",
6148           "properties": {
6149             "hardware": {
6150               "$ref": "#/definitions/MachineHardware"
6151             },
6152             "id": {
6153               "type": "string"
6154             }
6155           },
6156           "additionalProperties": false,
6157           "required": [
6158             "id"
6159           ]
6160         },
6161         "ModelStatus": {
6162           "type": "object",
6163           "properties": {
6164             "application-count": {
6165               "type": "integer"
6166             },
6167             "hosted-machine-count": {
6168               "type": "integer"
6169             },
6170             "life": {
6171               "type": "string"
6172             },
6173             "machines": {
6174               "type": "array",
6175               "items": {
6176                 "$ref": "#/definitions/ModelMachineInfo"
6177               }
6178             },
6179             "model-tag": {
6180               "type": "string"
6181             },
6182             "owner-tag": {
6183               "type": "string"
6184             }
6185           },
6186           "additionalProperties": false,
6187           "required": [
6188             "model-tag",
6189             "life",
6190             "hosted-machine-count",
6191             "application-count",
6192             "owner-tag"
6193           ]
6194         },
6195         "ModelStatusResults": {
6196           "type": "object",
6197           "properties": {
6198             "models": {
6199               "type": "array",
6200               "items": {
6201                 "$ref": "#/definitions/ModelStatus"
6202               }
6203             }
6204           },
6205           "additionalProperties": false,
6206           "required": [
6207             "models"
6208           ]
6209         },
6210         "ModifyControllerAccess": {
6211           "type": "object",
6212           "properties": {
6213             "access": {
6214               "type": "string"
6215             },
6216             "action": {
6217               "type": "string"
6218             },
6219             "user-tag": {
6220               "type": "string"
6221             }
6222           },
6223           "additionalProperties": false,
6224           "required": [
6225             "user-tag",
6226             "action",
6227             "access"
6228           ]
6229         },
6230         "ModifyControllerAccessRequest": {
6231           "type": "object",
6232           "properties": {
6233             "changes": {
6234               "type": "array",
6235               "items": {
6236                 "$ref": "#/definitions/ModifyControllerAccess"
6237               }
6238             }
6239           },
6240           "additionalProperties": false,
6241           "required": [
6242             "changes"
6243           ]
6244         },
6245         "RemoveBlocksArgs": {
6246           "type": "object",
6247           "properties": {
6248             "all": {
6249               "type": "boolean"
6250             }
6251           },
6252           "additionalProperties": false,
6253           "required": [
6254             "all"
6255           ]
6256         },
6257         "UserAccess": {
6258           "type": "object",
6259           "properties": {
6260             "access": {
6261               "type": "string"
6262             },
6263             "user-tag": {
6264               "type": "string"
6265             }
6266           },
6267           "additionalProperties": false,
6268           "required": [
6269             "user-tag",
6270             "access"
6271           ]
6272         },
6273         "UserAccessResult": {
6274           "type": "object",
6275           "properties": {
6276             "error": {
6277               "$ref": "#/definitions/Error"
6278             },
6279             "result": {
6280               "$ref": "#/definitions/UserAccess"
6281             }
6282           },
6283           "additionalProperties": false
6284         },
6285         "UserAccessResults": {
6286           "type": "object",
6287           "properties": {
6288             "results": {
6289               "type": "array",
6290               "items": {
6291                 "$ref": "#/definitions/UserAccessResult"
6292               }
6293             }
6294           },
6295           "additionalProperties": false
6296         },
6297         "UserModel": {
6298           "type": "object",
6299           "properties": {
6300             "last-connection": {
6301               "type": "string",
6302               "format": "date-time"
6303             },
6304             "model": {
6305               "$ref": "#/definitions/Model"
6306             }
6307           },
6308           "additionalProperties": false,
6309           "required": [
6310             "model",
6311             "last-connection"
6312           ]
6313         },
6314         "UserModelList": {
6315           "type": "object",
6316           "properties": {
6317             "user-models": {
6318               "type": "array",
6319               "items": {
6320                 "$ref": "#/definitions/UserModel"
6321               }
6322             }
6323           },
6324           "additionalProperties": false,
6325           "required": [
6326             "user-models"
6327           ]
6328         }
6329       }
6330     }
6331   },
6332   {
6333     "Name": "Deployer",
6334     "Version": 1,
6335     "Schema": {
6336       "type": "object",
6337       "properties": {
6338         "APIAddresses": {
6339           "type": "object",
6340           "properties": {
6341             "Result": {
6342               "$ref": "#/definitions/StringsResult"
6343             }
6344           }
6345         },
6346         "APIHostPorts": {
6347           "type": "object",
6348           "properties": {
6349             "Result": {
6350               "$ref": "#/definitions/APIHostPortsResult"
6351             }
6352           }
6353         },
6354         "CACert": {
6355           "type": "object",
6356           "properties": {
6357             "Result": {
6358               "$ref": "#/definitions/BytesResult"
6359             }
6360           }
6361         },
6362         "ConnectionInfo": {
6363           "type": "object",
6364           "properties": {
6365             "Result": {
6366               "$ref": "#/definitions/DeployerConnectionValues"
6367             }
6368           }
6369         },
6370         "Life": {
6371           "type": "object",
6372           "properties": {
6373             "Params": {
6374               "$ref": "#/definitions/Entities"
6375             },
6376             "Result": {
6377               "$ref": "#/definitions/LifeResults"
6378             }
6379           }
6380         },
6381         "ModelUUID": {
6382           "type": "object",
6383           "properties": {
6384             "Result": {
6385               "$ref": "#/definitions/StringResult"
6386             }
6387           }
6388         },
6389         "Remove": {
6390           "type": "object",
6391           "properties": {
6392             "Params": {
6393               "$ref": "#/definitions/Entities"
6394             },
6395             "Result": {
6396               "$ref": "#/definitions/ErrorResults"
6397             }
6398           }
6399         },
6400         "SetPasswords": {
6401           "type": "object",
6402           "properties": {
6403             "Params": {
6404               "$ref": "#/definitions/EntityPasswords"
6405             },
6406             "Result": {
6407               "$ref": "#/definitions/ErrorResults"
6408             }
6409           }
6410         },
6411         "StateAddresses": {
6412           "type": "object",
6413           "properties": {
6414             "Result": {
6415               "$ref": "#/definitions/StringsResult"
6416             }
6417           }
6418         },
6419         "WatchAPIHostPorts": {
6420           "type": "object",
6421           "properties": {
6422             "Result": {
6423               "$ref": "#/definitions/NotifyWatchResult"
6424             }
6425           }
6426         },
6427         "WatchUnits": {
6428           "type": "object",
6429           "properties": {
6430             "Params": {
6431               "$ref": "#/definitions/Entities"
6432             },
6433             "Result": {
6434               "$ref": "#/definitions/StringsWatchResults"
6435             }
6436           }
6437         }
6438       },
6439       "definitions": {
6440         "APIHostPortsResult": {
6441           "type": "object",
6442           "properties": {
6443             "servers": {
6444               "type": "array",
6445               "items": {
6446                 "type": "array",
6447                 "items": {
6448                   "$ref": "#/definitions/HostPort"
6449                 }
6450               }
6451             }
6452           },
6453           "additionalProperties": false,
6454           "required": [
6455             "servers"
6456           ]
6457         },
6458         "Address": {
6459           "type": "object",
6460           "properties": {
6461             "scope": {
6462               "type": "string"
6463             },
6464             "space-name": {
6465               "type": "string"
6466             },
6467             "type": {
6468               "type": "string"
6469             },
6470             "value": {
6471               "type": "string"
6472             }
6473           },
6474           "additionalProperties": false,
6475           "required": [
6476             "value",
6477             "type",
6478             "scope"
6479           ]
6480         },
6481         "BytesResult": {
6482           "type": "object",
6483           "properties": {
6484             "result": {
6485               "type": "array",
6486               "items": {
6487                 "type": "integer"
6488               }
6489             }
6490           },
6491           "additionalProperties": false,
6492           "required": [
6493             "result"
6494           ]
6495         },
6496         "DeployerConnectionValues": {
6497           "type": "object",
6498           "properties": {
6499             "api-addresses": {
6500               "type": "array",
6501               "items": {
6502                 "type": "string"
6503               }
6504             },
6505             "state-addresses": {
6506               "type": "array",
6507               "items": {
6508                 "type": "string"
6509               }
6510             }
6511           },
6512           "additionalProperties": false,
6513           "required": [
6514             "state-addresses",
6515             "api-addresses"
6516           ]
6517         },
6518         "Entities": {
6519           "type": "object",
6520           "properties": {
6521             "entities": {
6522               "type": "array",
6523               "items": {
6524                 "$ref": "#/definitions/Entity"
6525               }
6526             }
6527           },
6528           "additionalProperties": false,
6529           "required": [
6530             "entities"
6531           ]
6532         },
6533         "Entity": {
6534           "type": "object",
6535           "properties": {
6536             "tag": {
6537               "type": "string"
6538             }
6539           },
6540           "additionalProperties": false,
6541           "required": [
6542             "tag"
6543           ]
6544         },
6545         "EntityPassword": {
6546           "type": "object",
6547           "properties": {
6548             "password": {
6549               "type": "string"
6550             },
6551             "tag": {
6552               "type": "string"
6553             }
6554           },
6555           "additionalProperties": false,
6556           "required": [
6557             "tag",
6558             "password"
6559           ]
6560         },
6561         "EntityPasswords": {
6562           "type": "object",
6563           "properties": {
6564             "changes": {
6565               "type": "array",
6566               "items": {
6567                 "$ref": "#/definitions/EntityPassword"
6568               }
6569             }
6570           },
6571           "additionalProperties": false,
6572           "required": [
6573             "changes"
6574           ]
6575         },
6576         "Error": {
6577           "type": "object",
6578           "properties": {
6579             "code": {
6580               "type": "string"
6581             },
6582             "info": {
6583               "$ref": "#/definitions/ErrorInfo"
6584             },
6585             "message": {
6586               "type": "string"
6587             }
6588           },
6589           "additionalProperties": false,
6590           "required": [
6591             "message",
6592             "code"
6593           ]
6594         },
6595         "ErrorInfo": {
6596           "type": "object",
6597           "properties": {
6598             "macaroon": {
6599               "$ref": "#/definitions/Macaroon"
6600             },
6601             "macaroon-path": {
6602               "type": "string"
6603             }
6604           },
6605           "additionalProperties": false
6606         },
6607         "ErrorResult": {
6608           "type": "object",
6609           "properties": {
6610             "error": {
6611               "$ref": "#/definitions/Error"
6612             }
6613           },
6614           "additionalProperties": false
6615         },
6616         "ErrorResults": {
6617           "type": "object",
6618           "properties": {
6619             "results": {
6620               "type": "array",
6621               "items": {
6622                 "$ref": "#/definitions/ErrorResult"
6623               }
6624             }
6625           },
6626           "additionalProperties": false,
6627           "required": [
6628             "results"
6629           ]
6630         },
6631         "HostPort": {
6632           "type": "object",
6633           "properties": {
6634             "Address": {
6635               "$ref": "#/definitions/Address"
6636             },
6637             "port": {
6638               "type": "integer"
6639             }
6640           },
6641           "additionalProperties": false,
6642           "required": [
6643             "Address",
6644             "port"
6645           ]
6646         },
6647         "LifeResult": {
6648           "type": "object",
6649           "properties": {
6650             "error": {
6651               "$ref": "#/definitions/Error"
6652             },
6653             "life": {
6654               "type": "string"
6655             }
6656           },
6657           "additionalProperties": false,
6658           "required": [
6659             "life"
6660           ]
6661         },
6662         "LifeResults": {
6663           "type": "object",
6664           "properties": {
6665             "results": {
6666               "type": "array",
6667               "items": {
6668                 "$ref": "#/definitions/LifeResult"
6669               }
6670             }
6671           },
6672           "additionalProperties": false,
6673           "required": [
6674             "results"
6675           ]
6676         },
6677         "Macaroon": {
6678           "type": "object",
6679           "additionalProperties": false
6680         },
6681         "NotifyWatchResult": {
6682           "type": "object",
6683           "properties": {
6684             "NotifyWatcherId": {
6685               "type": "string"
6686             },
6687             "error": {
6688               "$ref": "#/definitions/Error"
6689             }
6690           },
6691           "additionalProperties": false,
6692           "required": [
6693             "NotifyWatcherId"
6694           ]
6695         },
6696         "StringResult": {
6697           "type": "object",
6698           "properties": {
6699             "error": {
6700               "$ref": "#/definitions/Error"
6701             },
6702             "result": {
6703               "type": "string"
6704             }
6705           },
6706           "additionalProperties": false,
6707           "required": [
6708             "result"
6709           ]
6710         },
6711         "StringsResult": {
6712           "type": "object",
6713           "properties": {
6714             "error": {
6715               "$ref": "#/definitions/Error"
6716             },
6717             "result": {
6718               "type": "array",
6719               "items": {
6720                 "type": "string"
6721               }
6722             }
6723           },
6724           "additionalProperties": false
6725         },
6726         "StringsWatchResult": {
6727           "type": "object",
6728           "properties": {
6729             "changes": {
6730               "type": "array",
6731               "items": {
6732                 "type": "string"
6733               }
6734             },
6735             "error": {
6736               "$ref": "#/definitions/Error"
6737             },
6738             "watcher-id": {
6739               "type": "string"
6740             }
6741           },
6742           "additionalProperties": false,
6743           "required": [
6744             "watcher-id"
6745           ]
6746         },
6747         "StringsWatchResults": {
6748           "type": "object",
6749           "properties": {
6750             "results": {
6751               "type": "array",
6752               "items": {
6753                 "$ref": "#/definitions/StringsWatchResult"
6754               }
6755             }
6756           },
6757           "additionalProperties": false,
6758           "required": [
6759             "results"
6760           ]
6761         }
6762       }
6763     }
6764   },
6765   {
6766     "Name": "DiscoverSpaces",
6767     "Version": 2,
6768     "Schema": {
6769       "type": "object",
6770       "properties": {
6771         "AddSubnets": {
6772           "type": "object",
6773           "properties": {
6774             "Params": {
6775               "$ref": "#/definitions/AddSubnetsParams"
6776             },
6777             "Result": {
6778               "$ref": "#/definitions/ErrorResults"
6779             }
6780           }
6781         },
6782         "CreateSpaces": {
6783           "type": "object",
6784           "properties": {
6785             "Params": {
6786               "$ref": "#/definitions/CreateSpacesParams"
6787             },
6788             "Result": {
6789               "$ref": "#/definitions/ErrorResults"
6790             }
6791           }
6792         },
6793         "ListSpaces": {
6794           "type": "object",
6795           "properties": {
6796             "Result": {
6797               "$ref": "#/definitions/DiscoverSpacesResults"
6798             }
6799           }
6800         },
6801         "ListSubnets": {
6802           "type": "object",
6803           "properties": {
6804             "Params": {
6805               "$ref": "#/definitions/SubnetsFilters"
6806             },
6807             "Result": {
6808               "$ref": "#/definitions/ListSubnetsResults"
6809             }
6810           }
6811         },
6812         "ModelConfig": {
6813           "type": "object",
6814           "properties": {
6815             "Result": {
6816               "$ref": "#/definitions/ModelConfigResult"
6817             }
6818           }
6819         }
6820       },
6821       "definitions": {
6822         "AddSubnetParams": {
6823           "type": "object",
6824           "properties": {
6825             "space-tag": {
6826               "type": "string"
6827             },
6828             "subnet-provider-id": {
6829               "type": "string"
6830             },
6831             "subnet-tag": {
6832               "type": "string"
6833             },
6834             "zones": {
6835               "type": "array",
6836               "items": {
6837                 "type": "string"
6838               }
6839             }
6840           },
6841           "additionalProperties": false,
6842           "required": [
6843             "space-tag"
6844           ]
6845         },
6846         "AddSubnetsParams": {
6847           "type": "object",
6848           "properties": {
6849             "subnets": {
6850               "type": "array",
6851               "items": {
6852                 "$ref": "#/definitions/AddSubnetParams"
6853               }
6854             }
6855           },
6856           "additionalProperties": false,
6857           "required": [
6858             "subnets"
6859           ]
6860         },
6861         "CreateSpaceParams": {
6862           "type": "object",
6863           "properties": {
6864             "provider-id": {
6865               "type": "string"
6866             },
6867             "public": {
6868               "type": "boolean"
6869             },
6870             "space-tag": {
6871               "type": "string"
6872             },
6873             "subnet-tags": {
6874               "type": "array",
6875               "items": {
6876                 "type": "string"
6877               }
6878             }
6879           },
6880           "additionalProperties": false,
6881           "required": [
6882             "subnet-tags",
6883             "space-tag",
6884             "public"
6885           ]
6886         },
6887         "CreateSpacesParams": {
6888           "type": "object",
6889           "properties": {
6890             "spaces": {
6891               "type": "array",
6892               "items": {
6893                 "$ref": "#/definitions/CreateSpaceParams"
6894               }
6895             }
6896           },
6897           "additionalProperties": false,
6898           "required": [
6899             "spaces"
6900           ]
6901         },
6902         "DiscoverSpacesResults": {
6903           "type": "object",
6904           "properties": {
6905             "results": {
6906               "type": "array",
6907               "items": {
6908                 "$ref": "#/definitions/ProviderSpace"
6909               }
6910             }
6911           },
6912           "additionalProperties": false,
6913           "required": [
6914             "results"
6915           ]
6916         },
6917         "Error": {
6918           "type": "object",
6919           "properties": {
6920             "code": {
6921               "type": "string"
6922             },
6923             "info": {
6924               "$ref": "#/definitions/ErrorInfo"
6925             },
6926             "message": {
6927               "type": "string"
6928             }
6929           },
6930           "additionalProperties": false,
6931           "required": [
6932             "message",
6933             "code"
6934           ]
6935         },
6936         "ErrorInfo": {
6937           "type": "object",
6938           "properties": {
6939             "macaroon": {
6940               "$ref": "#/definitions/Macaroon"
6941             },
6942             "macaroon-path": {
6943               "type": "string"
6944             }
6945           },
6946           "additionalProperties": false
6947         },
6948         "ErrorResult": {
6949           "type": "object",
6950           "properties": {
6951             "error": {
6952               "$ref": "#/definitions/Error"
6953             }
6954           },
6955           "additionalProperties": false
6956         },
6957         "ErrorResults": {
6958           "type": "object",
6959           "properties": {
6960             "results": {
6961               "type": "array",
6962               "items": {
6963                 "$ref": "#/definitions/ErrorResult"
6964               }
6965             }
6966           },
6967           "additionalProperties": false,
6968           "required": [
6969             "results"
6970           ]
6971         },
6972         "ListSubnetsResults": {
6973           "type": "object",
6974           "properties": {
6975             "results": {
6976               "type": "array",
6977               "items": {
6978                 "$ref": "#/definitions/Subnet"
6979               }
6980             }
6981           },
6982           "additionalProperties": false,
6983           "required": [
6984             "results"
6985           ]
6986         },
6987         "Macaroon": {
6988           "type": "object",
6989           "additionalProperties": false
6990         },
6991         "ModelConfigResult": {
6992           "type": "object",
6993           "properties": {
6994             "config": {
6995               "type": "object",
6996               "patternProperties": {
6997                 ".*": {
6998                   "type": "object",
6999                   "additionalProperties": true
7000                 }
7001               }
7002             }
7003           },
7004           "additionalProperties": false,
7005           "required": [
7006             "config"
7007           ]
7008         },
7009         "ProviderSpace": {
7010           "type": "object",
7011           "properties": {
7012             "error": {
7013               "$ref": "#/definitions/Error"
7014             },
7015             "name": {
7016               "type": "string"
7017             },
7018             "provider-id": {
7019               "type": "string"
7020             },
7021             "subnets": {
7022               "type": "array",
7023               "items": {
7024                 "$ref": "#/definitions/Subnet"
7025               }
7026             }
7027           },
7028           "additionalProperties": false,
7029           "required": [
7030             "name",
7031             "provider-id",
7032             "subnets"
7033           ]
7034         },
7035         "Subnet": {
7036           "type": "object",
7037           "properties": {
7038             "cidr": {
7039               "type": "string"
7040             },
7041             "life": {
7042               "type": "string"
7043             },
7044             "provider-id": {
7045               "type": "string"
7046             },
7047             "space-tag": {
7048               "type": "string"
7049             },
7050             "status": {
7051               "type": "string"
7052             },
7053             "vlan-tag": {
7054               "type": "integer"
7055             },
7056             "zones": {
7057               "type": "array",
7058               "items": {
7059                 "type": "string"
7060               }
7061             }
7062           },
7063           "additionalProperties": false,
7064           "required": [
7065             "cidr",
7066             "vlan-tag",
7067             "life",
7068             "space-tag",
7069             "zones"
7070           ]
7071         },
7072         "SubnetsFilters": {
7073           "type": "object",
7074           "properties": {
7075             "space-tag": {
7076               "type": "string"
7077             },
7078             "zone": {
7079               "type": "string"
7080             }
7081           },
7082           "additionalProperties": false
7083         }
7084       }
7085     }
7086   },
7087   {
7088     "Name": "DiskManager",
7089     "Version": 2,
7090     "Schema": {
7091       "type": "object",
7092       "properties": {
7093         "SetMachineBlockDevices": {
7094           "type": "object",
7095           "properties": {
7096             "Params": {
7097               "$ref": "#/definitions/SetMachineBlockDevices"
7098             },
7099             "Result": {
7100               "$ref": "#/definitions/ErrorResults"
7101             }
7102           }
7103         }
7104       },
7105       "definitions": {
7106         "BlockDevice": {
7107           "type": "object",
7108           "properties": {
7109             "BusAddress": {
7110               "type": "string"
7111             },
7112             "DeviceLinks": {
7113               "type": "array",
7114               "items": {
7115                 "type": "string"
7116               }
7117             },
7118             "DeviceName": {
7119               "type": "string"
7120             },
7121             "FilesystemType": {
7122               "type": "string"
7123             },
7124             "HardwareId": {
7125               "type": "string"
7126             },
7127             "InUse": {
7128               "type": "boolean"
7129             },
7130             "Label": {
7131               "type": "string"
7132             },
7133             "MountPoint": {
7134               "type": "string"
7135             },
7136             "Size": {
7137               "type": "integer"
7138             },
7139             "UUID": {
7140               "type": "string"
7141             }
7142           },
7143           "additionalProperties": false,
7144           "required": [
7145             "DeviceName",
7146             "DeviceLinks",
7147             "Label",
7148             "UUID",
7149             "HardwareId",
7150             "BusAddress",
7151             "Size",
7152             "FilesystemType",
7153             "InUse",
7154             "MountPoint"
7155           ]
7156         },
7157         "Error": {
7158           "type": "object",
7159           "properties": {
7160             "code": {
7161               "type": "string"
7162             },
7163             "info": {
7164               "$ref": "#/definitions/ErrorInfo"
7165             },
7166             "message": {
7167               "type": "string"
7168             }
7169           },
7170           "additionalProperties": false,
7171           "required": [
7172             "message",
7173             "code"
7174           ]
7175         },
7176         "ErrorInfo": {
7177           "type": "object",
7178           "properties": {
7179             "macaroon": {
7180               "$ref": "#/definitions/Macaroon"
7181             },
7182             "macaroon-path": {
7183               "type": "string"
7184             }
7185           },
7186           "additionalProperties": false
7187         },
7188         "ErrorResult": {
7189           "type": "object",
7190           "properties": {
7191             "error": {
7192               "$ref": "#/definitions/Error"
7193             }
7194           },
7195           "additionalProperties": false
7196         },
7197         "ErrorResults": {
7198           "type": "object",
7199           "properties": {
7200             "results": {
7201               "type": "array",
7202               "items": {
7203                 "$ref": "#/definitions/ErrorResult"
7204               }
7205             }
7206           },
7207           "additionalProperties": false,
7208           "required": [
7209             "results"
7210           ]
7211         },
7212         "Macaroon": {
7213           "type": "object",
7214           "additionalProperties": false
7215         },
7216         "MachineBlockDevices": {
7217           "type": "object",
7218           "properties": {
7219             "block-devices": {
7220               "type": "array",
7221               "items": {
7222                 "$ref": "#/definitions/BlockDevice"
7223               }
7224             },
7225             "machine": {
7226               "type": "string"
7227             }
7228           },
7229           "additionalProperties": false,
7230           "required": [
7231             "machine"
7232           ]
7233         },
7234         "SetMachineBlockDevices": {
7235           "type": "object",
7236           "properties": {
7237             "machine-block-devices": {
7238               "type": "array",
7239               "items": {
7240                 "$ref": "#/definitions/MachineBlockDevices"
7241               }
7242             }
7243           },
7244           "additionalProperties": false,
7245           "required": [
7246             "machine-block-devices"
7247           ]
7248         }
7249       }
7250     }
7251   },
7252   {
7253     "Name": "EntityWatcher",
7254     "Version": 2,
7255     "Schema": {
7256       "type": "object",
7257       "properties": {
7258         "Next": {
7259           "type": "object",
7260           "properties": {
7261             "Result": {
7262               "$ref": "#/definitions/EntitiesWatchResult"
7263             }
7264           }
7265         },
7266         "Stop": {
7267           "type": "object"
7268         }
7269       },
7270       "definitions": {
7271         "EntitiesWatchResult": {
7272           "type": "object",
7273           "properties": {
7274             "changes": {
7275               "type": "array",
7276               "items": {
7277                 "type": "string"
7278               }
7279             },
7280             "error": {
7281               "$ref": "#/definitions/Error"
7282             },
7283             "watcher-id": {
7284               "type": "string"
7285             }
7286           },
7287           "additionalProperties": false,
7288           "required": [
7289             "watcher-id"
7290           ]
7291         },
7292         "Error": {
7293           "type": "object",
7294           "properties": {
7295             "code": {
7296               "type": "string"
7297             },
7298             "info": {
7299               "$ref": "#/definitions/ErrorInfo"
7300             },
7301             "message": {
7302               "type": "string"
7303             }
7304           },
7305           "additionalProperties": false,
7306           "required": [
7307             "message",
7308             "code"
7309           ]
7310         },
7311         "ErrorInfo": {
7312           "type": "object",
7313           "properties": {
7314             "macaroon": {
7315               "$ref": "#/definitions/Macaroon"
7316             },
7317             "macaroon-path": {
7318               "type": "string"
7319             }
7320           },
7321           "additionalProperties": false
7322         },
7323         "Macaroon": {
7324           "type": "object",
7325           "additionalProperties": false
7326         }
7327       }
7328     }
7329   },
7330   {
7331     "Name": "FilesystemAttachmentsWatcher",
7332     "Version": 2,
7333     "Schema": {
7334       "type": "object",
7335       "properties": {
7336         "Next": {
7337           "type": "object",
7338           "properties": {
7339             "Result": {
7340               "$ref": "#/definitions/MachineStorageIdsWatchResult"
7341             }
7342           }
7343         },
7344         "Stop": {
7345           "type": "object"
7346         }
7347       },
7348       "definitions": {
7349         "Error": {
7350           "type": "object",
7351           "properties": {
7352             "code": {
7353               "type": "string"
7354             },
7355             "info": {
7356               "$ref": "#/definitions/ErrorInfo"
7357             },
7358             "message": {
7359               "type": "string"
7360             }
7361           },
7362           "additionalProperties": false,
7363           "required": [
7364             "message",
7365             "code"
7366           ]
7367         },
7368         "ErrorInfo": {
7369           "type": "object",
7370           "properties": {
7371             "macaroon": {
7372               "$ref": "#/definitions/Macaroon"
7373             },
7374             "macaroon-path": {
7375               "type": "string"
7376             }
7377           },
7378           "additionalProperties": false
7379         },
7380         "Macaroon": {
7381           "type": "object",
7382           "additionalProperties": false
7383         },
7384         "MachineStorageId": {
7385           "type": "object",
7386           "properties": {
7387             "attachment-tag": {
7388               "type": "string"
7389             },
7390             "machine-tag": {
7391               "type": "string"
7392             }
7393           },
7394           "additionalProperties": false,
7395           "required": [
7396             "machine-tag",
7397             "attachment-tag"
7398           ]
7399         },
7400         "MachineStorageIdsWatchResult": {
7401           "type": "object",
7402           "properties": {
7403             "changes": {
7404               "type": "array",
7405               "items": {
7406                 "$ref": "#/definitions/MachineStorageId"
7407               }
7408             },
7409             "error": {
7410               "$ref": "#/definitions/Error"
7411             },
7412             "watcher-id": {
7413               "type": "string"
7414             }
7415           },
7416           "additionalProperties": false,
7417           "required": [
7418             "watcher-id",
7419             "changes"
7420           ]
7421         }
7422       }
7423     }
7424   },
7425   {
7426     "Name": "Firewaller",
7427     "Version": 3,
7428     "Schema": {
7429       "type": "object",
7430       "properties": {
7431         "CloudSpec": {
7432           "type": "object",
7433           "properties": {
7434             "Params": {
7435               "$ref": "#/definitions/Entities"
7436             },
7437             "Result": {
7438               "$ref": "#/definitions/CloudSpecResults"
7439             }
7440           }
7441         },
7442         "GetAssignedMachine": {
7443           "type": "object",
7444           "properties": {
7445             "Params": {
7446               "$ref": "#/definitions/Entities"
7447             },
7448             "Result": {
7449               "$ref": "#/definitions/StringResults"
7450             }
7451           }
7452         },
7453         "GetExposed": {
7454           "type": "object",
7455           "properties": {
7456             "Params": {
7457               "$ref": "#/definitions/Entities"
7458             },
7459             "Result": {
7460               "$ref": "#/definitions/BoolResults"
7461             }
7462           }
7463         },
7464         "GetMachineActiveSubnets": {
7465           "type": "object",
7466           "properties": {
7467             "Params": {
7468               "$ref": "#/definitions/Entities"
7469             },
7470             "Result": {
7471               "$ref": "#/definitions/StringsResults"
7472             }
7473           }
7474         },
7475         "GetMachinePorts": {
7476           "type": "object",
7477           "properties": {
7478             "Params": {
7479               "$ref": "#/definitions/MachinePortsParams"
7480             },
7481             "Result": {
7482               "$ref": "#/definitions/MachinePortsResults"
7483             }
7484           }
7485         },
7486         "InstanceId": {
7487           "type": "object",
7488           "properties": {
7489             "Params": {
7490               "$ref": "#/definitions/Entities"
7491             },
7492             "Result": {
7493               "$ref": "#/definitions/StringResults"
7494             }
7495           }
7496         },
7497         "Life": {
7498           "type": "object",
7499           "properties": {
7500             "Params": {
7501               "$ref": "#/definitions/Entities"
7502             },
7503             "Result": {
7504               "$ref": "#/definitions/LifeResults"
7505             }
7506           }
7507         },
7508         "ModelConfig": {
7509           "type": "object",
7510           "properties": {
7511             "Result": {
7512               "$ref": "#/definitions/ModelConfigResult"
7513             }
7514           }
7515         },
7516         "Watch": {
7517           "type": "object",
7518           "properties": {
7519             "Params": {
7520               "$ref": "#/definitions/Entities"
7521             },
7522             "Result": {
7523               "$ref": "#/definitions/NotifyWatchResults"
7524             }
7525           }
7526         },
7527         "WatchForModelConfigChanges": {
7528           "type": "object",
7529           "properties": {
7530             "Result": {
7531               "$ref": "#/definitions/NotifyWatchResult"
7532             }
7533           }
7534         },
7535         "WatchModelMachines": {
7536           "type": "object",
7537           "properties": {
7538             "Result": {
7539               "$ref": "#/definitions/StringsWatchResult"
7540             }
7541           }
7542         },
7543         "WatchOpenedPorts": {
7544           "type": "object",
7545           "properties": {
7546             "Params": {
7547               "$ref": "#/definitions/Entities"
7548             },
7549             "Result": {
7550               "$ref": "#/definitions/StringsWatchResults"
7551             }
7552           }
7553         },
7554         "WatchUnits": {
7555           "type": "object",
7556           "properties": {
7557             "Params": {
7558               "$ref": "#/definitions/Entities"
7559             },
7560             "Result": {
7561               "$ref": "#/definitions/StringsWatchResults"
7562             }
7563           }
7564         }
7565       },
7566       "definitions": {
7567         "BoolResult": {
7568           "type": "object",
7569           "properties": {
7570             "error": {
7571               "$ref": "#/definitions/Error"
7572             },
7573             "result": {
7574               "type": "boolean"
7575             }
7576           },
7577           "additionalProperties": false,
7578           "required": [
7579             "result"
7580           ]
7581         },
7582         "BoolResults": {
7583           "type": "object",
7584           "properties": {
7585             "results": {
7586               "type": "array",
7587               "items": {
7588                 "$ref": "#/definitions/BoolResult"
7589               }
7590             }
7591           },
7592           "additionalProperties": false,
7593           "required": [
7594             "results"
7595           ]
7596         },
7597         "CloudCredential": {
7598           "type": "object",
7599           "properties": {
7600             "attrs": {
7601               "type": "object",
7602               "patternProperties": {
7603                 ".*": {
7604                   "type": "string"
7605                 }
7606               }
7607             },
7608             "auth-type": {
7609               "type": "string"
7610             },
7611             "redacted": {
7612               "type": "array",
7613               "items": {
7614                 "type": "string"
7615               }
7616             }
7617           },
7618           "additionalProperties": false,
7619           "required": [
7620             "auth-type"
7621           ]
7622         },
7623         "CloudSpec": {
7624           "type": "object",
7625           "properties": {
7626             "credential": {
7627               "$ref": "#/definitions/CloudCredential"
7628             },
7629             "endpoint": {
7630               "type": "string"
7631             },
7632             "identity-endpoint": {
7633               "type": "string"
7634             },
7635             "name": {
7636               "type": "string"
7637             },
7638             "region": {
7639               "type": "string"
7640             },
7641             "storage-endpoint": {
7642               "type": "string"
7643             },
7644             "type": {
7645               "type": "string"
7646             }
7647           },
7648           "additionalProperties": false,
7649           "required": [
7650             "type",
7651             "name"
7652           ]
7653         },
7654         "CloudSpecResult": {
7655           "type": "object",
7656           "properties": {
7657             "error": {
7658               "$ref": "#/definitions/Error"
7659             },
7660             "result": {
7661               "$ref": "#/definitions/CloudSpec"
7662             }
7663           },
7664           "additionalProperties": false
7665         },
7666         "CloudSpecResults": {
7667           "type": "object",
7668           "properties": {
7669             "results": {
7670               "type": "array",
7671               "items": {
7672                 "$ref": "#/definitions/CloudSpecResult"
7673               }
7674             }
7675           },
7676           "additionalProperties": false
7677         },
7678         "Entities": {
7679           "type": "object",
7680           "properties": {
7681             "entities": {
7682               "type": "array",
7683               "items": {
7684                 "$ref": "#/definitions/Entity"
7685               }
7686             }
7687           },
7688           "additionalProperties": false,
7689           "required": [
7690             "entities"
7691           ]
7692         },
7693         "Entity": {
7694           "type": "object",
7695           "properties": {
7696             "tag": {
7697               "type": "string"
7698             }
7699           },
7700           "additionalProperties": false,
7701           "required": [
7702             "tag"
7703           ]
7704         },
7705         "Error": {
7706           "type": "object",
7707           "properties": {
7708             "code": {
7709               "type": "string"
7710             },
7711             "info": {
7712               "$ref": "#/definitions/ErrorInfo"
7713             },
7714             "message": {
7715               "type": "string"
7716             }
7717           },
7718           "additionalProperties": false,
7719           "required": [
7720             "message",
7721             "code"
7722           ]
7723         },
7724         "ErrorInfo": {
7725           "type": "object",
7726           "properties": {
7727             "macaroon": {
7728               "$ref": "#/definitions/Macaroon"
7729             },
7730             "macaroon-path": {
7731               "type": "string"
7732             }
7733           },
7734           "additionalProperties": false
7735         },
7736         "LifeResult": {
7737           "type": "object",
7738           "properties": {
7739             "error": {
7740               "$ref": "#/definitions/Error"
7741             },
7742             "life": {
7743               "type": "string"
7744             }
7745           },
7746           "additionalProperties": false,
7747           "required": [
7748             "life"
7749           ]
7750         },
7751         "LifeResults": {
7752           "type": "object",
7753           "properties": {
7754             "results": {
7755               "type": "array",
7756               "items": {
7757                 "$ref": "#/definitions/LifeResult"
7758               }
7759             }
7760           },
7761           "additionalProperties": false,
7762           "required": [
7763             "results"
7764           ]
7765         },
7766         "Macaroon": {
7767           "type": "object",
7768           "additionalProperties": false
7769         },
7770         "MachinePortRange": {
7771           "type": "object",
7772           "properties": {
7773             "port-range": {
7774               "$ref": "#/definitions/PortRange"
7775             },
7776             "relation-tag": {
7777               "type": "string"
7778             },
7779             "unit-tag": {
7780               "type": "string"
7781             }
7782           },
7783           "additionalProperties": false,
7784           "required": [
7785             "unit-tag",
7786             "relation-tag",
7787             "port-range"
7788           ]
7789         },
7790         "MachinePorts": {
7791           "type": "object",
7792           "properties": {
7793             "machine-tag": {
7794               "type": "string"
7795             },
7796             "subnet-tag": {
7797               "type": "string"
7798             }
7799           },
7800           "additionalProperties": false,
7801           "required": [
7802             "machine-tag",
7803             "subnet-tag"
7804           ]
7805         },
7806         "MachinePortsParams": {
7807           "type": "object",
7808           "properties": {
7809             "params": {
7810               "type": "array",
7811               "items": {
7812                 "$ref": "#/definitions/MachinePorts"
7813               }
7814             }
7815           },
7816           "additionalProperties": false,
7817           "required": [
7818             "params"
7819           ]
7820         },
7821         "MachinePortsResult": {
7822           "type": "object",
7823           "properties": {
7824             "error": {
7825               "$ref": "#/definitions/Error"
7826             },
7827             "ports": {
7828               "type": "array",
7829               "items": {
7830                 "$ref": "#/definitions/MachinePortRange"
7831               }
7832             }
7833           },
7834           "additionalProperties": false,
7835           "required": [
7836             "ports"
7837           ]
7838         },
7839         "MachinePortsResults": {
7840           "type": "object",
7841           "properties": {
7842             "results": {
7843               "type": "array",
7844               "items": {
7845                 "$ref": "#/definitions/MachinePortsResult"
7846               }
7847             }
7848           },
7849           "additionalProperties": false,
7850           "required": [
7851             "results"
7852           ]
7853         },
7854         "ModelConfigResult": {
7855           "type": "object",
7856           "properties": {
7857             "config": {
7858               "type": "object",
7859               "patternProperties": {
7860                 ".*": {
7861                   "type": "object",
7862                   "additionalProperties": true
7863                 }
7864               }
7865             }
7866           },
7867           "additionalProperties": false,
7868           "required": [
7869             "config"
7870           ]
7871         },
7872         "NotifyWatchResult": {
7873           "type": "object",
7874           "properties": {
7875             "NotifyWatcherId": {
7876               "type": "string"
7877             },
7878             "error": {
7879               "$ref": "#/definitions/Error"
7880             }
7881           },
7882           "additionalProperties": false,
7883           "required": [
7884             "NotifyWatcherId"
7885           ]
7886         },
7887         "NotifyWatchResults": {
7888           "type": "object",
7889           "properties": {
7890             "results": {
7891               "type": "array",
7892               "items": {
7893                 "$ref": "#/definitions/NotifyWatchResult"
7894               }
7895             }
7896           },
7897           "additionalProperties": false,
7898           "required": [
7899             "results"
7900           ]
7901         },
7902         "PortRange": {
7903           "type": "object",
7904           "properties": {
7905             "from-port": {
7906               "type": "integer"
7907             },
7908             "protocol": {
7909               "type": "string"
7910             },
7911             "to-port": {
7912               "type": "integer"
7913             }
7914           },
7915           "additionalProperties": false,
7916           "required": [
7917             "from-port",
7918             "to-port",
7919             "protocol"
7920           ]
7921         },
7922         "StringResult": {
7923           "type": "object",
7924           "properties": {
7925             "error": {
7926               "$ref": "#/definitions/Error"
7927             },
7928             "result": {
7929               "type": "string"
7930             }
7931           },
7932           "additionalProperties": false,
7933           "required": [
7934             "result"
7935           ]
7936         },
7937         "StringResults": {
7938           "type": "object",
7939           "properties": {
7940             "results": {
7941               "type": "array",
7942               "items": {
7943                 "$ref": "#/definitions/StringResult"
7944               }
7945             }
7946           },
7947           "additionalProperties": false,
7948           "required": [
7949             "results"
7950           ]
7951         },
7952         "StringsResult": {
7953           "type": "object",
7954           "properties": {
7955             "error": {
7956               "$ref": "#/definitions/Error"
7957             },
7958             "result": {
7959               "type": "array",
7960               "items": {
7961                 "type": "string"
7962               }
7963             }
7964           },
7965           "additionalProperties": false
7966         },
7967         "StringsResults": {
7968           "type": "object",
7969           "properties": {
7970             "results": {
7971               "type": "array",
7972               "items": {
7973                 "$ref": "#/definitions/StringsResult"
7974               }
7975             }
7976           },
7977           "additionalProperties": false,
7978           "required": [
7979             "results"
7980           ]
7981         },
7982         "StringsWatchResult": {
7983           "type": "object",
7984           "properties": {
7985             "changes": {
7986               "type": "array",
7987               "items": {
7988                 "type": "string"
7989               }
7990             },
7991             "error": {
7992               "$ref": "#/definitions/Error"
7993             },
7994             "watcher-id": {
7995               "type": "string"
7996             }
7997           },
7998           "additionalProperties": false,
7999           "required": [
8000             "watcher-id"
8001           ]
8002         },
8003         "StringsWatchResults": {
8004           "type": "object",
8005           "properties": {
8006             "results": {
8007               "type": "array",
8008               "items": {
8009                 "$ref": "#/definitions/StringsWatchResult"
8010               }
8011             }
8012           },
8013           "additionalProperties": false,
8014           "required": [
8015             "results"
8016           ]
8017         }
8018       }
8019     }
8020   },
8021   {
8022     "Name": "HighAvailability",
8023     "Version": 2,
8024     "Schema": {
8025       "type": "object",
8026       "properties": {
8027         "EnableHA": {
8028           "type": "object",
8029           "properties": {
8030             "Params": {
8031               "$ref": "#/definitions/ControllersSpecs"
8032             },
8033             "Result": {
8034               "$ref": "#/definitions/ControllersChangeResults"
8035             }
8036           }
8037         },
8038         "ResumeHAReplicationAfterUpgrade": {
8039           "type": "object",
8040           "properties": {
8041             "Params": {
8042               "$ref": "#/definitions/ResumeReplicationParams"
8043             }
8044           }
8045         },
8046         "StopHAReplicationForUpgrade": {
8047           "type": "object",
8048           "properties": {
8049             "Params": {
8050               "$ref": "#/definitions/UpgradeMongoParams"
8051             },
8052             "Result": {
8053               "$ref": "#/definitions/MongoUpgradeResults"
8054             }
8055           }
8056         }
8057       },
8058       "definitions": {
8059         "Address": {
8060           "type": "object",
8061           "properties": {
8062             "Scope": {
8063               "type": "string"
8064             },
8065             "SpaceName": {
8066               "type": "string"
8067             },
8068             "SpaceProviderId": {
8069               "type": "string"
8070             },
8071             "Type": {
8072               "type": "string"
8073             },
8074             "Value": {
8075               "type": "string"
8076             }
8077           },
8078           "additionalProperties": false,
8079           "required": [
8080             "Value",
8081             "Type",
8082             "Scope",
8083             "SpaceName",
8084             "SpaceProviderId"
8085           ]
8086         },
8087         "ControllersChangeResult": {
8088           "type": "object",
8089           "properties": {
8090             "error": {
8091               "$ref": "#/definitions/Error"
8092             },
8093             "result": {
8094               "$ref": "#/definitions/ControllersChanges"
8095             }
8096           },
8097           "additionalProperties": false,
8098           "required": [
8099             "result"
8100           ]
8101         },
8102         "ControllersChangeResults": {
8103           "type": "object",
8104           "properties": {
8105             "results": {
8106               "type": "array",
8107               "items": {
8108                 "$ref": "#/definitions/ControllersChangeResult"
8109               }
8110             }
8111           },
8112           "additionalProperties": false,
8113           "required": [
8114             "results"
8115           ]
8116         },
8117         "ControllersChanges": {
8118           "type": "object",
8119           "properties": {
8120             "added": {
8121               "type": "array",
8122               "items": {
8123                 "type": "string"
8124               }
8125             },
8126             "converted": {
8127               "type": "array",
8128               "items": {
8129                 "type": "string"
8130               }
8131             },
8132             "demoted": {
8133               "type": "array",
8134               "items": {
8135                 "type": "string"
8136               }
8137             },
8138             "maintained": {
8139               "type": "array",
8140               "items": {
8141                 "type": "string"
8142               }
8143             },
8144             "promoted": {
8145               "type": "array",
8146               "items": {
8147                 "type": "string"
8148               }
8149             },
8150             "removed": {
8151               "type": "array",
8152               "items": {
8153                 "type": "string"
8154               }
8155             }
8156           },
8157           "additionalProperties": false
8158         },
8159         "ControllersSpec": {
8160           "type": "object",
8161           "properties": {
8162             "constraints": {
8163               "$ref": "#/definitions/Value"
8164             },
8165             "model-tag": {
8166               "type": "string"
8167             },
8168             "num-controllers": {
8169               "type": "integer"
8170             },
8171             "placement": {
8172               "type": "array",
8173               "items": {
8174                 "type": "string"
8175               }
8176             },
8177             "series": {
8178               "type": "string"
8179             }
8180           },
8181           "additionalProperties": false,
8182           "required": [
8183             "model-tag",
8184             "num-controllers"
8185           ]
8186         },
8187         "ControllersSpecs": {
8188           "type": "object",
8189           "properties": {
8190             "specs": {
8191               "type": "array",
8192               "items": {
8193                 "$ref": "#/definitions/ControllersSpec"
8194               }
8195             }
8196           },
8197           "additionalProperties": false,
8198           "required": [
8199             "specs"
8200           ]
8201         },
8202         "Error": {
8203           "type": "object",
8204           "properties": {
8205             "code": {
8206               "type": "string"
8207             },
8208             "info": {
8209               "$ref": "#/definitions/ErrorInfo"
8210             },
8211             "message": {
8212               "type": "string"
8213             }
8214           },
8215           "additionalProperties": false,
8216           "required": [
8217             "message",
8218             "code"
8219           ]
8220         },
8221         "ErrorInfo": {
8222           "type": "object",
8223           "properties": {
8224             "macaroon": {
8225               "$ref": "#/definitions/Macaroon"
8226             },
8227             "macaroon-path": {
8228               "type": "string"
8229             }
8230           },
8231           "additionalProperties": false
8232         },
8233         "HAMember": {
8234           "type": "object",
8235           "properties": {
8236             "public-address": {
8237               "$ref": "#/definitions/Address"
8238             },
8239             "series": {
8240               "type": "string"
8241             },
8242             "tag": {
8243               "type": "string"
8244             }
8245           },
8246           "additionalProperties": false,
8247           "required": [
8248             "tag",
8249             "public-address",
8250             "series"
8251           ]
8252         },
8253         "Macaroon": {
8254           "type": "object",
8255           "additionalProperties": false
8256         },
8257         "Member": {
8258           "type": "object",
8259           "properties": {
8260             "Address": {
8261               "type": "string"
8262             },
8263             "Arbiter": {
8264               "type": "boolean"
8265             },
8266             "BuildIndexes": {
8267               "type": "boolean"
8268             },
8269             "Hidden": {
8270               "type": "boolean"
8271             },
8272             "Id": {
8273               "type": "integer"
8274             },
8275             "Priority": {
8276               "type": "number"
8277             },
8278             "SlaveDelay": {
8279               "type": "integer"
8280             },
8281             "Tags": {
8282               "type": "object",
8283               "patternProperties": {
8284                 ".*": {
8285                   "type": "string"
8286                 }
8287               }
8288             },
8289             "Votes": {
8290               "type": "integer"
8291             }
8292           },
8293           "additionalProperties": false,
8294           "required": [
8295             "Id",
8296             "Address",
8297             "Arbiter",
8298             "BuildIndexes",
8299             "Hidden",
8300             "Priority",
8301             "Tags",
8302             "SlaveDelay",
8303             "Votes"
8304           ]
8305         },
8306         "MongoUpgradeResults": {
8307           "type": "object",
8308           "properties": {
8309             "ha-members": {
8310               "type": "array",
8311               "items": {
8312                 "$ref": "#/definitions/HAMember"
8313               }
8314             },
8315             "master": {
8316               "$ref": "#/definitions/HAMember"
8317             },
8318             "rs-members": {
8319               "type": "array",
8320               "items": {
8321                 "$ref": "#/definitions/Member"
8322               }
8323             }
8324           },
8325           "additionalProperties": false,
8326           "required": [
8327             "rs-members",
8328             "master",
8329             "ha-members"
8330           ]
8331         },
8332         "MongoVersion": {
8333           "type": "object",
8334           "properties": {
8335             "engine": {
8336               "type": "string"
8337             },
8338             "major": {
8339               "type": "integer"
8340             },
8341             "minor": {
8342               "type": "integer"
8343             },
8344             "patch": {
8345               "type": "string"
8346             }
8347           },
8348           "additionalProperties": false,
8349           "required": [
8350             "major",
8351             "minor",
8352             "patch",
8353             "engine"
8354           ]
8355         },
8356         "ResumeReplicationParams": {
8357           "type": "object",
8358           "properties": {
8359             "members": {
8360               "type": "array",
8361               "items": {
8362                 "$ref": "#/definitions/Member"
8363               }
8364             }
8365           },
8366           "additionalProperties": false,
8367           "required": [
8368             "members"
8369           ]
8370         },
8371         "UpgradeMongoParams": {
8372           "type": "object",
8373           "properties": {
8374             "target": {
8375               "$ref": "#/definitions/MongoVersion"
8376             }
8377           },
8378           "additionalProperties": false,
8379           "required": [
8380             "target"
8381           ]
8382         },
8383         "Value": {
8384           "type": "object",
8385           "properties": {
8386             "arch": {
8387               "type": "string"
8388             },
8389             "container": {
8390               "type": "string"
8391             },
8392             "cpu-cores": {
8393               "type": "integer"
8394             },
8395             "cpu-power": {
8396               "type": "integer"
8397             },
8398             "instance-type": {
8399               "type": "string"
8400             },
8401             "mem": {
8402               "type": "integer"
8403             },
8404             "root-disk": {
8405               "type": "integer"
8406             },
8407             "spaces": {
8408               "type": "array",
8409               "items": {
8410                 "type": "string"
8411               }
8412             },
8413             "tags": {
8414               "type": "array",
8415               "items": {
8416                 "type": "string"
8417               }
8418             },
8419             "virt-type": {
8420               "type": "string"
8421             }
8422           },
8423           "additionalProperties": false
8424         }
8425       }
8426     }
8427   },
8428   {
8429     "Name": "HostKeyReporter",
8430     "Version": 1,
8431     "Schema": {
8432       "type": "object",
8433       "properties": {
8434         "ReportKeys": {
8435           "type": "object",
8436           "properties": {
8437             "Params": {
8438               "$ref": "#/definitions/SSHHostKeySet"
8439             },
8440             "Result": {
8441               "$ref": "#/definitions/ErrorResults"
8442             }
8443           }
8444         }
8445       },
8446       "definitions": {
8447         "Error": {
8448           "type": "object",
8449           "properties": {
8450             "code": {
8451               "type": "string"
8452             },
8453             "info": {
8454               "$ref": "#/definitions/ErrorInfo"
8455             },
8456             "message": {
8457               "type": "string"
8458             }
8459           },
8460           "additionalProperties": false,
8461           "required": [
8462             "message",
8463             "code"
8464           ]
8465         },
8466         "ErrorInfo": {
8467           "type": "object",
8468           "properties": {
8469             "macaroon": {
8470               "$ref": "#/definitions/Macaroon"
8471             },
8472             "macaroon-path": {
8473               "type": "string"
8474             }
8475           },
8476           "additionalProperties": false
8477         },
8478         "ErrorResult": {
8479           "type": "object",
8480           "properties": {
8481             "error": {
8482               "$ref": "#/definitions/Error"
8483             }
8484           },
8485           "additionalProperties": false
8486         },
8487         "ErrorResults": {
8488           "type": "object",
8489           "properties": {
8490             "results": {
8491               "type": "array",
8492               "items": {
8493                 "$ref": "#/definitions/ErrorResult"
8494               }
8495             }
8496           },
8497           "additionalProperties": false,
8498           "required": [
8499             "results"
8500           ]
8501         },
8502         "Macaroon": {
8503           "type": "object",
8504           "additionalProperties": false
8505         },
8506         "SSHHostKeySet": {
8507           "type": "object",
8508           "properties": {
8509             "entity-keys": {
8510               "type": "array",
8511               "items": {
8512                 "$ref": "#/definitions/SSHHostKeys"
8513               }
8514             }
8515           },
8516           "additionalProperties": false,
8517           "required": [
8518             "entity-keys"
8519           ]
8520         },
8521         "SSHHostKeys": {
8522           "type": "object",
8523           "properties": {
8524             "public-keys": {
8525               "type": "array",
8526               "items": {
8527                 "type": "string"
8528               }
8529             },
8530             "tag": {
8531               "type": "string"
8532             }
8533           },
8534           "additionalProperties": false,
8535           "required": [
8536             "tag",
8537             "public-keys"
8538           ]
8539         }
8540       }
8541     }
8542   },
8543   {
8544     "Name": "ImageManager",
8545     "Version": 2,
8546     "Schema": {
8547       "type": "object",
8548       "properties": {
8549         "DeleteImages": {
8550           "type": "object",
8551           "properties": {
8552             "Params": {
8553               "$ref": "#/definitions/ImageFilterParams"
8554             },
8555             "Result": {
8556               "$ref": "#/definitions/ErrorResults"
8557             }
8558           }
8559         },
8560         "ListImages": {
8561           "type": "object",
8562           "properties": {
8563             "Params": {
8564               "$ref": "#/definitions/ImageFilterParams"
8565             },
8566             "Result": {
8567               "$ref": "#/definitions/ListImageResult"
8568             }
8569           }
8570         }
8571       },
8572       "definitions": {
8573         "Error": {
8574           "type": "object",
8575           "properties": {
8576             "code": {
8577               "type": "string"
8578             },
8579             "info": {
8580               "$ref": "#/definitions/ErrorInfo"
8581             },
8582             "message": {
8583               "type": "string"
8584             }
8585           },
8586           "additionalProperties": false,
8587           "required": [
8588             "message",
8589             "code"
8590           ]
8591         },
8592         "ErrorInfo": {
8593           "type": "object",
8594           "properties": {
8595             "macaroon": {
8596               "$ref": "#/definitions/Macaroon"
8597             },
8598             "macaroon-path": {
8599               "type": "string"
8600             }
8601           },
8602           "additionalProperties": false
8603         },
8604         "ErrorResult": {
8605           "type": "object",
8606           "properties": {
8607             "error": {
8608               "$ref": "#/definitions/Error"
8609             }
8610           },
8611           "additionalProperties": false
8612         },
8613         "ErrorResults": {
8614           "type": "object",
8615           "properties": {
8616             "results": {
8617               "type": "array",
8618               "items": {
8619                 "$ref": "#/definitions/ErrorResult"
8620               }
8621             }
8622           },
8623           "additionalProperties": false,
8624           "required": [
8625             "results"
8626           ]
8627         },
8628         "ImageFilterParams": {
8629           "type": "object",
8630           "properties": {
8631             "images": {
8632               "type": "array",
8633               "items": {
8634                 "$ref": "#/definitions/ImageSpec"
8635               }
8636             }
8637           },
8638           "additionalProperties": false,
8639           "required": [
8640             "images"
8641           ]
8642         },
8643         "ImageMetadata": {
8644           "type": "object",
8645           "properties": {
8646             "arch": {
8647               "type": "string"
8648             },
8649             "created": {
8650               "type": "string",
8651               "format": "date-time"
8652             },
8653             "kind": {
8654               "type": "string"
8655             },
8656             "series": {
8657               "type": "string"
8658             },
8659             "url": {
8660               "type": "string"
8661             }
8662           },
8663           "additionalProperties": false,
8664           "required": [
8665             "kind",
8666             "arch",
8667             "series",
8668             "url",
8669             "created"
8670           ]
8671         },
8672         "ImageSpec": {
8673           "type": "object",
8674           "properties": {
8675             "arch": {
8676               "type": "string"
8677             },
8678             "kind": {
8679               "type": "string"
8680             },
8681             "series": {
8682               "type": "string"
8683             }
8684           },
8685           "additionalProperties": false,
8686           "required": [
8687             "kind",
8688             "arch",
8689             "series"
8690           ]
8691         },
8692         "ListImageResult": {
8693           "type": "object",
8694           "properties": {
8695             "result": {
8696               "type": "array",
8697               "items": {
8698                 "$ref": "#/definitions/ImageMetadata"
8699               }
8700             }
8701           },
8702           "additionalProperties": false,
8703           "required": [
8704             "result"
8705           ]
8706         },
8707         "Macaroon": {
8708           "type": "object",
8709           "additionalProperties": false
8710         }
8711       }
8712     }
8713   },
8714   {
8715     "Name": "ImageMetadata",
8716     "Version": 2,
8717     "Schema": {
8718       "type": "object",
8719       "properties": {
8720         "Delete": {
8721           "type": "object",
8722           "properties": {
8723             "Params": {
8724               "$ref": "#/definitions/MetadataImageIds"
8725             },
8726             "Result": {
8727               "$ref": "#/definitions/ErrorResults"
8728             }
8729           }
8730         },
8731         "List": {
8732           "type": "object",
8733           "properties": {
8734             "Params": {
8735               "$ref": "#/definitions/ImageMetadataFilter"
8736             },
8737             "Result": {
8738               "$ref": "#/definitions/ListCloudImageMetadataResult"
8739             }
8740           }
8741         },
8742         "Save": {
8743           "type": "object",
8744           "properties": {
8745             "Params": {
8746               "$ref": "#/definitions/MetadataSaveParams"
8747             },
8748             "Result": {
8749               "$ref": "#/definitions/ErrorResults"
8750             }
8751           }
8752         },
8753         "UpdateFromPublishedImages": {
8754           "type": "object"
8755         }
8756       },
8757       "definitions": {
8758         "CloudImageMetadata": {
8759           "type": "object",
8760           "properties": {
8761             "arch": {
8762               "type": "string"
8763             },
8764             "image-id": {
8765               "type": "string"
8766             },
8767             "priority": {
8768               "type": "integer"
8769             },
8770             "region": {
8771               "type": "string"
8772             },
8773             "root-storage-size": {
8774               "type": "integer"
8775             },
8776             "root-storage-type": {
8777               "type": "string"
8778             },
8779             "series": {
8780               "type": "string"
8781             },
8782             "source": {
8783               "type": "string"
8784             },
8785             "stream": {
8786               "type": "string"
8787             },
8788             "version": {
8789               "type": "string"
8790             },
8791             "virt-type": {
8792               "type": "string"
8793             }
8794           },
8795           "additionalProperties": false,
8796           "required": [
8797             "image-id",
8798             "region",
8799             "version",
8800             "series",
8801             "arch",
8802             "source",
8803             "priority"
8804           ]
8805         },
8806         "CloudImageMetadataList": {
8807           "type": "object",
8808           "properties": {
8809             "metadata": {
8810               "type": "array",
8811               "items": {
8812                 "$ref": "#/definitions/CloudImageMetadata"
8813               }
8814             }
8815           },
8816           "additionalProperties": false
8817         },
8818         "Error": {
8819           "type": "object",
8820           "properties": {
8821             "code": {
8822               "type": "string"
8823             },
8824             "info": {
8825               "$ref": "#/definitions/ErrorInfo"
8826             },
8827             "message": {
8828               "type": "string"
8829             }
8830           },
8831           "additionalProperties": false,
8832           "required": [
8833             "message",
8834             "code"
8835           ]
8836         },
8837         "ErrorInfo": {
8838           "type": "object",
8839           "properties": {
8840             "macaroon": {
8841               "$ref": "#/definitions/Macaroon"
8842             },
8843             "macaroon-path": {
8844               "type": "string"
8845             }
8846           },
8847           "additionalProperties": false
8848         },
8849         "ErrorResult": {
8850           "type": "object",
8851           "properties": {
8852             "error": {
8853               "$ref": "#/definitions/Error"
8854             }
8855           },
8856           "additionalProperties": false
8857         },
8858         "ErrorResults": {
8859           "type": "object",
8860           "properties": {
8861             "results": {
8862               "type": "array",
8863               "items": {
8864                 "$ref": "#/definitions/ErrorResult"
8865               }
8866             }
8867           },
8868           "additionalProperties": false,
8869           "required": [
8870             "results"
8871           ]
8872         },
8873         "ImageMetadataFilter": {
8874           "type": "object",
8875           "properties": {
8876             "arches": {
8877               "type": "array",
8878               "items": {
8879                 "type": "string"
8880               }
8881             },
8882             "region": {
8883               "type": "string"
8884             },
8885             "root-storage-type": {
8886               "type": "string"
8887             },
8888             "series": {
8889               "type": "array",
8890               "items": {
8891                 "type": "string"
8892               }
8893             },
8894             "stream": {
8895               "type": "string"
8896             },
8897             "virt-type": {
8898               "type": "string"
8899             }
8900           },
8901           "additionalProperties": false
8902         },
8903         "ListCloudImageMetadataResult": {
8904           "type": "object",
8905           "properties": {
8906             "result": {
8907               "type": "array",
8908               "items": {
8909                 "$ref": "#/definitions/CloudImageMetadata"
8910               }
8911             }
8912           },
8913           "additionalProperties": false,
8914           "required": [
8915             "result"
8916           ]
8917         },
8918         "Macaroon": {
8919           "type": "object",
8920           "additionalProperties": false
8921         },
8922         "MetadataImageIds": {
8923           "type": "object",
8924           "properties": {
8925             "image-ids": {
8926               "type": "array",
8927               "items": {
8928                 "type": "string"
8929               }
8930             }
8931           },
8932           "additionalProperties": false,
8933           "required": [
8934             "image-ids"
8935           ]
8936         },
8937         "MetadataSaveParams": {
8938           "type": "object",
8939           "properties": {
8940             "metadata": {
8941               "type": "array",
8942               "items": {
8943                 "$ref": "#/definitions/CloudImageMetadataList"
8944               }
8945             }
8946           },
8947           "additionalProperties": false
8948         }
8949       }
8950     }
8951   },
8952   {
8953     "Name": "InstancePoller",
8954     "Version": 3,
8955     "Schema": {
8956       "type": "object",
8957       "properties": {
8958         "AreManuallyProvisioned": {
8959           "type": "object",
8960           "properties": {
8961             "Params": {
8962               "$ref": "#/definitions/Entities"
8963             },
8964             "Result": {
8965               "$ref": "#/definitions/BoolResults"
8966             }
8967           }
8968         },
8969         "InstanceId": {
8970           "type": "object",
8971           "properties": {
8972             "Params": {
8973               "$ref": "#/definitions/Entities"
8974             },
8975             "Result": {
8976               "$ref": "#/definitions/StringResults"
8977             }
8978           }
8979         },
8980         "InstanceStatus": {
8981           "type": "object",
8982           "properties": {
8983             "Params": {
8984               "$ref": "#/definitions/Entities"
8985             },
8986             "Result": {
8987               "$ref": "#/definitions/StatusResults"
8988             }
8989           }
8990         },
8991         "Life": {
8992           "type": "object",
8993           "properties": {
8994             "Params": {
8995               "$ref": "#/definitions/Entities"
8996             },
8997             "Result": {
8998               "$ref": "#/definitions/LifeResults"
8999             }
9000           }
9001         },
9002         "ModelConfig": {
9003           "type": "object",
9004           "properties": {
9005             "Result": {
9006               "$ref": "#/definitions/ModelConfigResult"
9007             }
9008           }
9009         },
9010         "ProviderAddresses": {
9011           "type": "object",
9012           "properties": {
9013             "Params": {
9014               "$ref": "#/definitions/Entities"
9015             },
9016             "Result": {
9017               "$ref": "#/definitions/MachineAddressesResults"
9018             }
9019           }
9020         },
9021         "SetInstanceStatus": {
9022           "type": "object",
9023           "properties": {
9024             "Params": {
9025               "$ref": "#/definitions/SetStatus"
9026             },
9027             "Result": {
9028               "$ref": "#/definitions/ErrorResults"
9029             }
9030           }
9031         },
9032         "SetProviderAddresses": {
9033           "type": "object",
9034           "properties": {
9035             "Params": {
9036               "$ref": "#/definitions/SetMachinesAddresses"
9037             },
9038             "Result": {
9039               "$ref": "#/definitions/ErrorResults"
9040             }
9041           }
9042         },
9043         "Status": {
9044           "type": "object",
9045           "properties": {
9046             "Params": {
9047               "$ref": "#/definitions/Entities"
9048             },
9049             "Result": {
9050               "$ref": "#/definitions/StatusResults"
9051             }
9052           }
9053         },
9054         "WatchForModelConfigChanges": {
9055           "type": "object",
9056           "properties": {
9057             "Result": {
9058               "$ref": "#/definitions/NotifyWatchResult"
9059             }
9060           }
9061         },
9062         "WatchModelMachines": {
9063           "type": "object",
9064           "properties": {
9065             "Result": {
9066               "$ref": "#/definitions/StringsWatchResult"
9067             }
9068           }
9069         }
9070       },
9071       "definitions": {
9072         "Address": {
9073           "type": "object",
9074           "properties": {
9075             "scope": {
9076               "type": "string"
9077             },
9078             "space-name": {
9079               "type": "string"
9080             },
9081             "type": {
9082               "type": "string"
9083             },
9084             "value": {
9085               "type": "string"
9086             }
9087           },
9088           "additionalProperties": false,
9089           "required": [
9090             "value",
9091             "type",
9092             "scope"
9093           ]
9094         },
9095         "BoolResult": {
9096           "type": "object",
9097           "properties": {
9098             "error": {
9099               "$ref": "#/definitions/Error"
9100             },
9101             "result": {
9102               "type": "boolean"
9103             }
9104           },
9105           "additionalProperties": false,
9106           "required": [
9107             "result"
9108           ]
9109         },
9110         "BoolResults": {
9111           "type": "object",
9112           "properties": {
9113             "results": {
9114               "type": "array",
9115               "items": {
9116                 "$ref": "#/definitions/BoolResult"
9117               }
9118             }
9119           },
9120           "additionalProperties": false,
9121           "required": [
9122             "results"
9123           ]
9124         },
9125         "Entities": {
9126           "type": "object",
9127           "properties": {
9128             "entities": {
9129               "type": "array",
9130               "items": {
9131                 "$ref": "#/definitions/Entity"
9132               }
9133             }
9134           },
9135           "additionalProperties": false,
9136           "required": [
9137             "entities"
9138           ]
9139         },
9140         "Entity": {
9141           "type": "object",
9142           "properties": {
9143             "tag": {
9144               "type": "string"
9145             }
9146           },
9147           "additionalProperties": false,
9148           "required": [
9149             "tag"
9150           ]
9151         },
9152         "EntityStatusArgs": {
9153           "type": "object",
9154           "properties": {
9155             "data": {
9156               "type": "object",
9157               "patternProperties": {
9158                 ".*": {
9159                   "type": "object",
9160                   "additionalProperties": true
9161                 }
9162               }
9163             },
9164             "info": {
9165               "type": "string"
9166             },
9167             "status": {
9168               "type": "string"
9169             },
9170             "tag": {
9171               "type": "string"
9172             }
9173           },
9174           "additionalProperties": false,
9175           "required": [
9176             "tag",
9177             "status",
9178             "info",
9179             "data"
9180           ]
9181         },
9182         "Error": {
9183           "type": "object",
9184           "properties": {
9185             "code": {
9186               "type": "string"
9187             },
9188             "info": {
9189               "$ref": "#/definitions/ErrorInfo"
9190             },
9191             "message": {
9192               "type": "string"
9193             }
9194           },
9195           "additionalProperties": false,
9196           "required": [
9197             "message",
9198             "code"
9199           ]
9200         },
9201         "ErrorInfo": {
9202           "type": "object",
9203           "properties": {
9204             "macaroon": {
9205               "$ref": "#/definitions/Macaroon"
9206             },
9207             "macaroon-path": {
9208               "type": "string"
9209             }
9210           },
9211           "additionalProperties": false
9212         },
9213         "ErrorResult": {
9214           "type": "object",
9215           "properties": {
9216             "error": {
9217               "$ref": "#/definitions/Error"
9218             }
9219           },
9220           "additionalProperties": false
9221         },
9222         "ErrorResults": {
9223           "type": "object",
9224           "properties": {
9225             "results": {
9226               "type": "array",
9227               "items": {
9228                 "$ref": "#/definitions/ErrorResult"
9229               }
9230             }
9231           },
9232           "additionalProperties": false,
9233           "required": [
9234             "results"
9235           ]
9236         },
9237         "LifeResult": {
9238           "type": "object",
9239           "properties": {
9240             "error": {
9241               "$ref": "#/definitions/Error"
9242             },
9243             "life": {
9244               "type": "string"
9245             }
9246           },
9247           "additionalProperties": false,
9248           "required": [
9249             "life"
9250           ]
9251         },
9252         "LifeResults": {
9253           "type": "object",
9254           "properties": {
9255             "results": {
9256               "type": "array",
9257               "items": {
9258                 "$ref": "#/definitions/LifeResult"
9259               }
9260             }
9261           },
9262           "additionalProperties": false,
9263           "required": [
9264             "results"
9265           ]
9266         },
9267         "Macaroon": {
9268           "type": "object",
9269           "additionalProperties": false
9270         },
9271         "MachineAddresses": {
9272           "type": "object",
9273           "properties": {
9274             "addresses": {
9275               "type": "array",
9276               "items": {
9277                 "$ref": "#/definitions/Address"
9278               }
9279             },
9280             "tag": {
9281               "type": "string"
9282             }
9283           },
9284           "additionalProperties": false,
9285           "required": [
9286             "tag",
9287             "addresses"
9288           ]
9289         },
9290         "MachineAddressesResult": {
9291           "type": "object",
9292           "properties": {
9293             "addresses": {
9294               "type": "array",
9295               "items": {
9296                 "$ref": "#/definitions/Address"
9297               }
9298             },
9299             "error": {
9300               "$ref": "#/definitions/Error"
9301             }
9302           },
9303           "additionalProperties": false,
9304           "required": [
9305             "addresses"
9306           ]
9307         },
9308         "MachineAddressesResults": {
9309           "type": "object",
9310           "properties": {
9311             "results": {
9312               "type": "array",
9313               "items": {
9314                 "$ref": "#/definitions/MachineAddressesResult"
9315               }
9316             }
9317           },
9318           "additionalProperties": false,
9319           "required": [
9320             "results"
9321           ]
9322         },
9323         "ModelConfigResult": {
9324           "type": "object",
9325           "properties": {
9326             "config": {
9327               "type": "object",
9328               "patternProperties": {
9329                 ".*": {
9330                   "type": "object",
9331                   "additionalProperties": true
9332                 }
9333               }
9334             }
9335           },
9336           "additionalProperties": false,
9337           "required": [
9338             "config"
9339           ]
9340         },
9341         "NotifyWatchResult": {
9342           "type": "object",
9343           "properties": {
9344             "NotifyWatcherId": {
9345               "type": "string"
9346             },
9347             "error": {
9348               "$ref": "#/definitions/Error"
9349             }
9350           },
9351           "additionalProperties": false,
9352           "required": [
9353             "NotifyWatcherId"
9354           ]
9355         },
9356         "SetMachinesAddresses": {
9357           "type": "object",
9358           "properties": {
9359             "machine-addresses": {
9360               "type": "array",
9361               "items": {
9362                 "$ref": "#/definitions/MachineAddresses"
9363               }
9364             }
9365           },
9366           "additionalProperties": false,
9367           "required": [
9368             "machine-addresses"
9369           ]
9370         },
9371         "SetStatus": {
9372           "type": "object",
9373           "properties": {
9374             "entities": {
9375               "type": "array",
9376               "items": {
9377                 "$ref": "#/definitions/EntityStatusArgs"
9378               }
9379             }
9380           },
9381           "additionalProperties": false,
9382           "required": [
9383             "entities"
9384           ]
9385         },
9386         "StatusResult": {
9387           "type": "object",
9388           "properties": {
9389             "data": {
9390               "type": "object",
9391               "patternProperties": {
9392                 ".*": {
9393                   "type": "object",
9394                   "additionalProperties": true
9395                 }
9396               }
9397             },
9398             "error": {
9399               "$ref": "#/definitions/Error"
9400             },
9401             "id": {
9402               "type": "string"
9403             },
9404             "info": {
9405               "type": "string"
9406             },
9407             "life": {
9408               "type": "string"
9409             },
9410             "since": {
9411               "type": "string",
9412               "format": "date-time"
9413             },
9414             "status": {
9415               "type": "string"
9416             }
9417           },
9418           "additionalProperties": false,
9419           "required": [
9420             "id",
9421             "life",
9422             "status",
9423             "info",
9424             "data",
9425             "since"
9426           ]
9427         },
9428         "StatusResults": {
9429           "type": "object",
9430           "properties": {
9431             "results": {
9432               "type": "array",
9433               "items": {
9434                 "$ref": "#/definitions/StatusResult"
9435               }
9436             }
9437           },
9438           "additionalProperties": false,
9439           "required": [
9440             "results"
9441           ]
9442         },
9443         "StringResult": {
9444           "type": "object",
9445           "properties": {
9446             "error": {
9447               "$ref": "#/definitions/Error"
9448             },
9449             "result": {
9450               "type": "string"
9451             }
9452           },
9453           "additionalProperties": false,
9454           "required": [
9455             "result"
9456           ]
9457         },
9458         "StringResults": {
9459           "type": "object",
9460           "properties": {
9461             "results": {
9462               "type": "array",
9463               "items": {
9464                 "$ref": "#/definitions/StringResult"
9465               }
9466             }
9467           },
9468           "additionalProperties": false,
9469           "required": [
9470             "results"
9471           ]
9472         },
9473         "StringsWatchResult": {
9474           "type": "object",
9475           "properties": {
9476             "changes": {
9477               "type": "array",
9478               "items": {
9479                 "type": "string"
9480               }
9481             },
9482             "error": {
9483               "$ref": "#/definitions/Error"
9484             },
9485             "watcher-id": {
9486               "type": "string"
9487             }
9488           },
9489           "additionalProperties": false,
9490           "required": [
9491             "watcher-id"
9492           ]
9493         }
9494       }
9495     }
9496   },
9497   {
9498     "Name": "KeyManager",
9499     "Version": 1,
9500     "Schema": {
9501       "type": "object",
9502       "properties": {
9503         "AddKeys": {
9504           "type": "object",
9505           "properties": {
9506             "Params": {
9507               "$ref": "#/definitions/ModifyUserSSHKeys"
9508             },
9509             "Result": {
9510               "$ref": "#/definitions/ErrorResults"
9511             }
9512           }
9513         },
9514         "DeleteKeys": {
9515           "type": "object",
9516           "properties": {
9517             "Params": {
9518               "$ref": "#/definitions/ModifyUserSSHKeys"
9519             },
9520             "Result": {
9521               "$ref": "#/definitions/ErrorResults"
9522             }
9523           }
9524         },
9525         "ImportKeys": {
9526           "type": "object",
9527           "properties": {
9528             "Params": {
9529               "$ref": "#/definitions/ModifyUserSSHKeys"
9530             },
9531             "Result": {
9532               "$ref": "#/definitions/ErrorResults"
9533             }
9534           }
9535         },
9536         "ListKeys": {
9537           "type": "object",
9538           "properties": {
9539             "Params": {
9540               "$ref": "#/definitions/ListSSHKeys"
9541             },
9542             "Result": {
9543               "$ref": "#/definitions/StringsResults"
9544             }
9545           }
9546         }
9547       },
9548       "definitions": {
9549         "Entities": {
9550           "type": "object",
9551           "properties": {
9552             "entities": {
9553               "type": "array",
9554               "items": {
9555                 "$ref": "#/definitions/Entity"
9556               }
9557             }
9558           },
9559           "additionalProperties": false,
9560           "required": [
9561             "entities"
9562           ]
9563         },
9564         "Entity": {
9565           "type": "object",
9566           "properties": {
9567             "tag": {
9568               "type": "string"
9569             }
9570           },
9571           "additionalProperties": false,
9572           "required": [
9573             "tag"
9574           ]
9575         },
9576         "Error": {
9577           "type": "object",
9578           "properties": {
9579             "code": {
9580               "type": "string"
9581             },
9582             "info": {
9583               "$ref": "#/definitions/ErrorInfo"
9584             },
9585             "message": {
9586               "type": "string"
9587             }
9588           },
9589           "additionalProperties": false,
9590           "required": [
9591             "message",
9592             "code"
9593           ]
9594         },
9595         "ErrorInfo": {
9596           "type": "object",
9597           "properties": {
9598             "macaroon": {
9599               "$ref": "#/definitions/Macaroon"
9600             },
9601             "macaroon-path": {
9602               "type": "string"
9603             }
9604           },
9605           "additionalProperties": false
9606         },
9607         "ErrorResult": {
9608           "type": "object",
9609           "properties": {
9610             "error": {
9611               "$ref": "#/definitions/Error"
9612             }
9613           },
9614           "additionalProperties": false
9615         },
9616         "ErrorResults": {
9617           "type": "object",
9618           "properties": {
9619             "results": {
9620               "type": "array",
9621               "items": {
9622                 "$ref": "#/definitions/ErrorResult"
9623               }
9624             }
9625           },
9626           "additionalProperties": false,
9627           "required": [
9628             "results"
9629           ]
9630         },
9631         "ListSSHKeys": {
9632           "type": "object",
9633           "properties": {
9634             "entities": {
9635               "$ref": "#/definitions/Entities"
9636             },
9637             "mode": {
9638               "type": "boolean"
9639             }
9640           },
9641           "additionalProperties": false,
9642           "required": [
9643             "entities",
9644             "mode"
9645           ]
9646         },
9647         "Macaroon": {
9648           "type": "object",
9649           "additionalProperties": false
9650         },
9651         "ModifyUserSSHKeys": {
9652           "type": "object",
9653           "properties": {
9654             "ssh-keys": {
9655               "type": "array",
9656               "items": {
9657                 "type": "string"
9658               }
9659             },
9660             "user": {
9661               "type": "string"
9662             }
9663           },
9664           "additionalProperties": false,
9665           "required": [
9666             "user",
9667             "ssh-keys"
9668           ]
9669         },
9670         "StringsResult": {
9671           "type": "object",
9672           "properties": {
9673             "error": {
9674               "$ref": "#/definitions/Error"
9675             },
9676             "result": {
9677               "type": "array",
9678               "items": {
9679                 "type": "string"
9680               }
9681             }
9682           },
9683           "additionalProperties": false
9684         },
9685         "StringsResults": {
9686           "type": "object",
9687           "properties": {
9688             "results": {
9689               "type": "array",
9690               "items": {
9691                 "$ref": "#/definitions/StringsResult"
9692               }
9693             }
9694           },
9695           "additionalProperties": false,
9696           "required": [
9697             "results"
9698           ]
9699         }
9700       }
9701     }
9702   },
9703   {
9704     "Name": "KeyUpdater",
9705     "Version": 1,
9706     "Schema": {
9707       "type": "object",
9708       "properties": {
9709         "AuthorisedKeys": {
9710           "type": "object",
9711           "properties": {
9712             "Params": {
9713               "$ref": "#/definitions/Entities"
9714             },
9715             "Result": {
9716               "$ref": "#/definitions/StringsResults"
9717             }
9718           }
9719         },
9720         "WatchAuthorisedKeys": {
9721           "type": "object",
9722           "properties": {
9723             "Params": {
9724               "$ref": "#/definitions/Entities"
9725             },
9726             "Result": {
9727               "$ref": "#/definitions/NotifyWatchResults"
9728             }
9729           }
9730         }
9731       },
9732       "definitions": {
9733         "Entities": {
9734           "type": "object",
9735           "properties": {
9736             "entities": {
9737               "type": "array",
9738               "items": {
9739                 "$ref": "#/definitions/Entity"
9740               }
9741             }
9742           },
9743           "additionalProperties": false,
9744           "required": [
9745             "entities"
9746           ]
9747         },
9748         "Entity": {
9749           "type": "object",
9750           "properties": {
9751             "tag": {
9752               "type": "string"
9753             }
9754           },
9755           "additionalProperties": false,
9756           "required": [
9757             "tag"
9758           ]
9759         },
9760         "Error": {
9761           "type": "object",
9762           "properties": {
9763             "code": {
9764               "type": "string"
9765             },
9766             "info": {
9767               "$ref": "#/definitions/ErrorInfo"
9768             },
9769             "message": {
9770               "type": "string"
9771             }
9772           },
9773           "additionalProperties": false,
9774           "required": [
9775             "message",
9776             "code"
9777           ]
9778         },
9779         "ErrorInfo": {
9780           "type": "object",
9781           "properties": {
9782             "macaroon": {
9783               "$ref": "#/definitions/Macaroon"
9784             },
9785             "macaroon-path": {
9786               "type": "string"
9787             }
9788           },
9789           "additionalProperties": false
9790         },
9791         "Macaroon": {
9792           "type": "object",
9793           "additionalProperties": false
9794         },
9795         "NotifyWatchResult": {
9796           "type": "object",
9797           "properties": {
9798             "NotifyWatcherId": {
9799               "type": "string"
9800             },
9801             "error": {
9802               "$ref": "#/definitions/Error"
9803             }
9804           },
9805           "additionalProperties": false,
9806           "required": [
9807             "NotifyWatcherId"
9808           ]
9809         },
9810         "NotifyWatchResults": {
9811           "type": "object",
9812           "properties": {
9813             "results": {
9814               "type": "array",
9815               "items": {
9816                 "$ref": "#/definitions/NotifyWatchResult"
9817               }
9818             }
9819           },
9820           "additionalProperties": false,
9821           "required": [
9822             "results"
9823           ]
9824         },
9825         "StringsResult": {
9826           "type": "object",
9827           "properties": {
9828             "error": {
9829               "$ref": "#/definitions/Error"
9830             },
9831             "result": {
9832               "type": "array",
9833               "items": {
9834                 "type": "string"
9835               }
9836             }
9837           },
9838           "additionalProperties": false
9839         },
9840         "StringsResults": {
9841           "type": "object",
9842           "properties": {
9843             "results": {
9844               "type": "array",
9845               "items": {
9846                 "$ref": "#/definitions/StringsResult"
9847               }
9848             }
9849           },
9850           "additionalProperties": false,
9851           "required": [
9852             "results"
9853           ]
9854         }
9855       }
9856     }
9857   },
9858   {
9859     "Name": "LeadershipService",
9860     "Version": 2,
9861     "Schema": {
9862       "type": "object",
9863       "properties": {
9864         "BlockUntilLeadershipReleased": {
9865           "type": "object",
9866           "properties": {
9867             "Params": {
9868               "$ref": "#/definitions/ApplicationTag"
9869             },
9870             "Result": {
9871               "$ref": "#/definitions/ErrorResult"
9872             }
9873           }
9874         },
9875         "ClaimLeadership": {
9876           "type": "object",
9877           "properties": {
9878             "Params": {
9879               "$ref": "#/definitions/ClaimLeadershipBulkParams"
9880             },
9881             "Result": {
9882               "$ref": "#/definitions/ClaimLeadershipBulkResults"
9883             }
9884           }
9885         }
9886       },
9887       "definitions": {
9888         "ApplicationTag": {
9889           "type": "object",
9890           "properties": {
9891             "Name": {
9892               "type": "string"
9893             }
9894           },
9895           "additionalProperties": false,
9896           "required": [
9897             "Name"
9898           ]
9899         },
9900         "ClaimLeadershipBulkParams": {
9901           "type": "object",
9902           "properties": {
9903             "params": {
9904               "type": "array",
9905               "items": {
9906                 "$ref": "#/definitions/ClaimLeadershipParams"
9907               }
9908             }
9909           },
9910           "additionalProperties": false,
9911           "required": [
9912             "params"
9913           ]
9914         },
9915         "ClaimLeadershipBulkResults": {
9916           "type": "object",
9917           "properties": {
9918             "results": {
9919               "type": "array",
9920               "items": {
9921                 "$ref": "#/definitions/ErrorResult"
9922               }
9923             }
9924           },
9925           "additionalProperties": false,
9926           "required": [
9927             "results"
9928           ]
9929         },
9930         "ClaimLeadershipParams": {
9931           "type": "object",
9932           "properties": {
9933             "application-tag": {
9934               "type": "string"
9935             },
9936             "duration": {
9937               "type": "number"
9938             },
9939             "unit-tag": {
9940               "type": "string"
9941             }
9942           },
9943           "additionalProperties": false,
9944           "required": [
9945             "application-tag",
9946             "unit-tag",
9947             "duration"
9948           ]
9949         },
9950         "Error": {
9951           "type": "object",
9952           "properties": {
9953             "code": {
9954               "type": "string"
9955             },
9956             "info": {
9957               "$ref": "#/definitions/ErrorInfo"
9958             },
9959             "message": {
9960               "type": "string"
9961             }
9962           },
9963           "additionalProperties": false,
9964           "required": [
9965             "message",
9966             "code"
9967           ]
9968         },
9969         "ErrorInfo": {
9970           "type": "object",
9971           "properties": {
9972             "macaroon": {
9973               "$ref": "#/definitions/Macaroon"
9974             },
9975             "macaroon-path": {
9976               "type": "string"
9977             }
9978           },
9979           "additionalProperties": false
9980         },
9981         "ErrorResult": {
9982           "type": "object",
9983           "properties": {
9984             "error": {
9985               "$ref": "#/definitions/Error"
9986             }
9987           },
9988           "additionalProperties": false
9989         },
9990         "Macaroon": {
9991           "type": "object",
9992           "additionalProperties": false
9993         }
9994       }
9995     }
9996   },
9997   {
9998     "Name": "LifeFlag",
9999     "Version": 1,
10000     "Schema": {
10001       "type": "object",
10002       "properties": {
10003         "Life": {
10004           "type": "object",
10005           "properties": {
10006             "Params": {
10007               "$ref": "#/definitions/Entities"
10008             },
10009             "Result": {
10010               "$ref": "#/definitions/LifeResults"
10011             }
10012           }
10013         },
10014         "Watch": {
10015           "type": "object",
10016           "properties": {
10017             "Params": {
10018               "$ref": "#/definitions/Entities"
10019             },
10020             "Result": {
10021               "$ref": "#/definitions/NotifyWatchResults"
10022             }
10023           }
10024         }
10025       },
10026       "definitions": {
10027         "Entities": {
10028           "type": "object",
10029           "properties": {
10030             "entities": {
10031               "type": "array",
10032               "items": {
10033                 "$ref": "#/definitions/Entity"
10034               }
10035             }
10036           },
10037           "additionalProperties": false,
10038           "required": [
10039             "entities"
10040           ]
10041         },
10042         "Entity": {
10043           "type": "object",
10044           "properties": {
10045             "tag": {
10046               "type": "string"
10047             }
10048           },
10049           "additionalProperties": false,
10050           "required": [
10051             "tag"
10052           ]
10053         },
10054         "Error": {
10055           "type": "object",
10056           "properties": {
10057             "code": {
10058               "type": "string"
10059             },
10060             "info": {
10061               "$ref": "#/definitions/ErrorInfo"
10062             },
10063             "message": {
10064               "type": "string"
10065             }
10066           },
10067           "additionalProperties": false,
10068           "required": [
10069             "message",
10070             "code"
10071           ]
10072         },
10073         "ErrorInfo": {
10074           "type": "object",
10075           "properties": {
10076             "macaroon": {
10077               "$ref": "#/definitions/Macaroon"
10078             },
10079             "macaroon-path": {
10080               "type": "string"
10081             }
10082           },
10083           "additionalProperties": false
10084         },
10085         "LifeResult": {
10086           "type": "object",
10087           "properties": {
10088             "error": {
10089               "$ref": "#/definitions/Error"
10090             },
10091             "life": {
10092               "type": "string"
10093             }
10094           },
10095           "additionalProperties": false,
10096           "required": [
10097             "life"
10098           ]
10099         },
10100         "LifeResults": {
10101           "type": "object",
10102           "properties": {
10103             "results": {
10104               "type": "array",
10105               "items": {
10106                 "$ref": "#/definitions/LifeResult"
10107               }
10108             }
10109           },
10110           "additionalProperties": false,
10111           "required": [
10112             "results"
10113           ]
10114         },
10115         "Macaroon": {
10116           "type": "object",
10117           "additionalProperties": false
10118         },
10119         "NotifyWatchResult": {
10120           "type": "object",
10121           "properties": {
10122             "NotifyWatcherId": {
10123               "type": "string"
10124             },
10125             "error": {
10126               "$ref": "#/definitions/Error"
10127             }
10128           },
10129           "additionalProperties": false,
10130           "required": [
10131             "NotifyWatcherId"
10132           ]
10133         },
10134         "NotifyWatchResults": {
10135           "type": "object",
10136           "properties": {
10137             "results": {
10138               "type": "array",
10139               "items": {
10140                 "$ref": "#/definitions/NotifyWatchResult"
10141               }
10142             }
10143           },
10144           "additionalProperties": false,
10145           "required": [
10146             "results"
10147           ]
10148         }
10149       }
10150     }
10151   },
10152   {
10153     "Name": "LogForwarding",
10154     "Version": 1,
10155     "Schema": {
10156       "type": "object",
10157       "properties": {
10158         "GetLastSent": {
10159           "type": "object",
10160           "properties": {
10161             "Params": {
10162               "$ref": "#/definitions/LogForwardingGetLastSentParams"
10163             },
10164             "Result": {
10165               "$ref": "#/definitions/LogForwardingGetLastSentResults"
10166             }
10167           }
10168         },
10169         "SetLastSent": {
10170           "type": "object",
10171           "properties": {
10172             "Params": {
10173               "$ref": "#/definitions/LogForwardingSetLastSentParams"
10174             },
10175             "Result": {
10176               "$ref": "#/definitions/ErrorResults"
10177             }
10178           }
10179         }
10180       },
10181       "definitions": {
10182         "Error": {
10183           "type": "object",
10184           "properties": {
10185             "code": {
10186               "type": "string"
10187             },
10188             "info": {
10189               "$ref": "#/definitions/ErrorInfo"
10190             },
10191             "message": {
10192               "type": "string"
10193             }
10194           },
10195           "additionalProperties": false,
10196           "required": [
10197             "message",
10198             "code"
10199           ]
10200         },
10201         "ErrorInfo": {
10202           "type": "object",
10203           "properties": {
10204             "macaroon": {
10205               "$ref": "#/definitions/Macaroon"
10206             },
10207             "macaroon-path": {
10208               "type": "string"
10209             }
10210           },
10211           "additionalProperties": false
10212         },
10213         "ErrorResult": {
10214           "type": "object",
10215           "properties": {
10216             "error": {
10217               "$ref": "#/definitions/Error"
10218             }
10219           },
10220           "additionalProperties": false
10221         },
10222         "ErrorResults": {
10223           "type": "object",
10224           "properties": {
10225             "results": {
10226               "type": "array",
10227               "items": {
10228                 "$ref": "#/definitions/ErrorResult"
10229               }
10230             }
10231           },
10232           "additionalProperties": false,
10233           "required": [
10234             "results"
10235           ]
10236         },
10237         "LogForwardingGetLastSentParams": {
10238           "type": "object",
10239           "properties": {
10240             "ids": {
10241               "type": "array",
10242               "items": {
10243                 "$ref": "#/definitions/LogForwardingID"
10244               }
10245             }
10246           },
10247           "additionalProperties": false,
10248           "required": [
10249             "ids"
10250           ]
10251         },
10252         "LogForwardingGetLastSentResult": {
10253           "type": "object",
10254           "properties": {
10255             "err": {
10256               "$ref": "#/definitions/Error"
10257             },
10258             "record-id": {
10259               "type": "integer"
10260             },
10261             "record-timestamp": {
10262               "type": "integer"
10263             }
10264           },
10265           "additionalProperties": false,
10266           "required": [
10267             "record-id",
10268             "record-timestamp",
10269             "err"
10270           ]
10271         },
10272         "LogForwardingGetLastSentResults": {
10273           "type": "object",
10274           "properties": {
10275             "results": {
10276               "type": "array",
10277               "items": {
10278                 "$ref": "#/definitions/LogForwardingGetLastSentResult"
10279               }
10280             }
10281           },
10282           "additionalProperties": false,
10283           "required": [
10284             "results"
10285           ]
10286         },
10287         "LogForwardingID": {
10288           "type": "object",
10289           "properties": {
10290             "model": {
10291               "type": "string"
10292             },
10293             "sink": {
10294               "type": "string"
10295             }
10296           },
10297           "additionalProperties": false,
10298           "required": [
10299             "model",
10300             "sink"
10301           ]
10302         },
10303         "LogForwardingSetLastSentParam": {
10304           "type": "object",
10305           "properties": {
10306             "LogForwardingID": {
10307               "$ref": "#/definitions/LogForwardingID"
10308             },
10309             "record-id": {
10310               "type": "integer"
10311             },
10312             "record-timestamp": {
10313               "type": "integer"
10314             }
10315           },
10316           "additionalProperties": false,
10317           "required": [
10318             "LogForwardingID",
10319             "record-id",
10320             "record-timestamp"
10321           ]
10322         },
10323         "LogForwardingSetLastSentParams": {
10324           "type": "object",
10325           "properties": {
10326             "params": {
10327               "type": "array",
10328               "items": {
10329                 "$ref": "#/definitions/LogForwardingSetLastSentParam"
10330               }
10331             }
10332           },
10333           "additionalProperties": false,
10334           "required": [
10335             "params"
10336           ]
10337         },
10338         "Macaroon": {
10339           "type": "object",
10340           "additionalProperties": false
10341         }
10342       }
10343     }
10344   },
10345   {
10346     "Name": "Logger",
10347     "Version": 1,
10348     "Schema": {
10349       "type": "object",
10350       "properties": {
10351         "LoggingConfig": {
10352           "type": "object",
10353           "properties": {
10354             "Params": {
10355               "$ref": "#/definitions/Entities"
10356             },
10357             "Result": {
10358               "$ref": "#/definitions/StringResults"
10359             }
10360           }
10361         },
10362         "WatchLoggingConfig": {
10363           "type": "object",
10364           "properties": {
10365             "Params": {
10366               "$ref": "#/definitions/Entities"
10367             },
10368             "Result": {
10369               "$ref": "#/definitions/NotifyWatchResults"
10370             }
10371           }
10372         }
10373       },
10374       "definitions": {
10375         "Entities": {
10376           "type": "object",
10377           "properties": {
10378             "entities": {
10379               "type": "array",
10380               "items": {
10381                 "$ref": "#/definitions/Entity"
10382               }
10383             }
10384           },
10385           "additionalProperties": false,
10386           "required": [
10387             "entities"
10388           ]
10389         },
10390         "Entity": {
10391           "type": "object",
10392           "properties": {
10393             "tag": {
10394               "type": "string"
10395             }
10396           },
10397           "additionalProperties": false,
10398           "required": [
10399             "tag"
10400           ]
10401         },
10402         "Error": {
10403           "type": "object",
10404           "properties": {
10405             "code": {
10406               "type": "string"
10407             },
10408             "info": {
10409               "$ref": "#/definitions/ErrorInfo"
10410             },
10411             "message": {
10412               "type": "string"
10413             }
10414           },
10415           "additionalProperties": false,
10416           "required": [
10417             "message",
10418             "code"
10419           ]
10420         },
10421         "ErrorInfo": {
10422           "type": "object",
10423           "properties": {
10424             "macaroon": {
10425               "$ref": "#/definitions/Macaroon"
10426             },
10427             "macaroon-path": {
10428               "type": "string"
10429             }
10430           },
10431           "additionalProperties": false
10432         },
10433         "Macaroon": {
10434           "type": "object",
10435           "additionalProperties": false
10436         },
10437         "NotifyWatchResult": {
10438           "type": "object",
10439           "properties": {
10440             "NotifyWatcherId": {
10441               "type": "string"
10442             },
10443             "error": {
10444               "$ref": "#/definitions/Error"
10445             }
10446           },
10447           "additionalProperties": false,
10448           "required": [
10449             "NotifyWatcherId"
10450           ]
10451         },
10452         "NotifyWatchResults": {
10453           "type": "object",
10454           "properties": {
10455             "results": {
10456               "type": "array",
10457               "items": {
10458                 "$ref": "#/definitions/NotifyWatchResult"
10459               }
10460             }
10461           },
10462           "additionalProperties": false,
10463           "required": [
10464             "results"
10465           ]
10466         },
10467         "StringResult": {
10468           "type": "object",
10469           "properties": {
10470             "error": {
10471               "$ref": "#/definitions/Error"
10472             },
10473             "result": {
10474               "type": "string"
10475             }
10476           },
10477           "additionalProperties": false,
10478           "required": [
10479             "result"
10480           ]
10481         },
10482         "StringResults": {
10483           "type": "object",
10484           "properties": {
10485             "results": {
10486               "type": "array",
10487               "items": {
10488                 "$ref": "#/definitions/StringResult"
10489               }
10490             }
10491           },
10492           "additionalProperties": false,
10493           "required": [
10494             "results"
10495           ]
10496         }
10497       }
10498     }
10499   },
10500   {
10501     "Name": "MachineActions",
10502     "Version": 1,
10503     "Schema": {
10504       "type": "object",
10505       "properties": {
10506         "Actions": {
10507           "type": "object",
10508           "properties": {
10509             "Params": {
10510               "$ref": "#/definitions/Entities"
10511             },
10512             "Result": {
10513               "$ref": "#/definitions/ActionResults"
10514             }
10515           }
10516         },
10517         "BeginActions": {
10518           "type": "object",
10519           "properties": {
10520             "Params": {
10521               "$ref": "#/definitions/Entities"
10522             },
10523             "Result": {
10524               "$ref": "#/definitions/ErrorResults"
10525             }
10526           }
10527         },
10528         "FinishActions": {
10529           "type": "object",
10530           "properties": {
10531             "Params": {
10532               "$ref": "#/definitions/ActionExecutionResults"
10533             },
10534             "Result": {
10535               "$ref": "#/definitions/ErrorResults"
10536             }
10537           }
10538         },
10539         "RunningActions": {
10540           "type": "object",
10541           "properties": {
10542             "Params": {
10543               "$ref": "#/definitions/Entities"
10544             },
10545             "Result": {
10546               "$ref": "#/definitions/ActionsByReceivers"
10547             }
10548           }
10549         },
10550         "WatchActionNotifications": {
10551           "type": "object",
10552           "properties": {
10553             "Params": {
10554               "$ref": "#/definitions/Entities"
10555             },
10556             "Result": {
10557               "$ref": "#/definitions/StringsWatchResults"
10558             }
10559           }
10560         }
10561       },
10562       "definitions": {
10563         "Action": {
10564           "type": "object",
10565           "properties": {
10566             "name": {
10567               "type": "string"
10568             },
10569             "parameters": {
10570               "type": "object",
10571               "patternProperties": {
10572                 ".*": {
10573                   "type": "object",
10574                   "additionalProperties": true
10575                 }
10576               }
10577             },
10578             "receiver": {
10579               "type": "string"
10580             },
10581             "tag": {
10582               "type": "string"
10583             }
10584           },
10585           "additionalProperties": false,
10586           "required": [
10587             "tag",
10588             "receiver",
10589             "name"
10590           ]
10591         },
10592         "ActionExecutionResult": {
10593           "type": "object",
10594           "properties": {
10595             "action-tag": {
10596               "type": "string"
10597             },
10598             "message": {
10599               "type": "string"
10600             },
10601             "results": {
10602               "type": "object",
10603               "patternProperties": {
10604                 ".*": {
10605                   "type": "object",
10606                   "additionalProperties": true
10607                 }
10608               }
10609             },
10610             "status": {
10611               "type": "string"
10612             }
10613           },
10614           "additionalProperties": false,
10615           "required": [
10616             "action-tag",
10617             "status"
10618           ]
10619         },
10620         "ActionExecutionResults": {
10621           "type": "object",
10622           "properties": {
10623             "results": {
10624               "type": "array",
10625               "items": {
10626                 "$ref": "#/definitions/ActionExecutionResult"
10627               }
10628             }
10629           },
10630           "additionalProperties": false
10631         },
10632         "ActionResult": {
10633           "type": "object",
10634           "properties": {
10635             "action": {
10636               "$ref": "#/definitions/Action"
10637             },
10638             "completed": {
10639               "type": "string",
10640               "format": "date-time"
10641             },
10642             "enqueued": {
10643               "type": "string",
10644               "format": "date-time"
10645             },
10646             "error": {
10647               "$ref": "#/definitions/Error"
10648             },
10649             "message": {
10650               "type": "string"
10651             },
10652             "output": {
10653               "type": "object",
10654               "patternProperties": {
10655                 ".*": {
10656                   "type": "object",
10657                   "additionalProperties": true
10658                 }
10659               }
10660             },
10661             "started": {
10662               "type": "string",
10663               "format": "date-time"
10664             },
10665             "status": {
10666               "type": "string"
10667             }
10668           },
10669           "additionalProperties": false
10670         },
10671         "ActionResults": {
10672           "type": "object",
10673           "properties": {
10674             "results": {
10675               "type": "array",
10676               "items": {
10677                 "$ref": "#/definitions/ActionResult"
10678               }
10679             }
10680           },
10681           "additionalProperties": false
10682         },
10683         "ActionsByReceiver": {
10684           "type": "object",
10685           "properties": {
10686             "actions": {
10687               "type": "array",
10688               "items": {
10689                 "$ref": "#/definitions/ActionResult"
10690               }
10691             },
10692             "error": {
10693               "$ref": "#/definitions/Error"
10694             },
10695             "receiver": {
10696               "type": "string"
10697             }
10698           },
10699           "additionalProperties": false
10700         },
10701         "ActionsByReceivers": {
10702           "type": "object",
10703           "properties": {
10704             "actions": {
10705               "type": "array",
10706               "items": {
10707                 "$ref": "#/definitions/ActionsByReceiver"
10708               }
10709             }
10710           },
10711           "additionalProperties": false
10712         },
10713         "Entities": {
10714           "type": "object",
10715           "properties": {
10716             "entities": {
10717               "type": "array",
10718               "items": {
10719                 "$ref": "#/definitions/Entity"
10720               }
10721             }
10722           },
10723           "additionalProperties": false,
10724           "required": [
10725             "entities"
10726           ]
10727         },
10728         "Entity": {
10729           "type": "object",
10730           "properties": {
10731             "tag": {
10732               "type": "string"
10733             }
10734           },
10735           "additionalProperties": false,
10736           "required": [
10737             "tag"
10738           ]
10739         },
10740         "Error": {
10741           "type": "object",
10742           "properties": {
10743             "code": {
10744               "type": "string"
10745             },
10746             "info": {
10747               "$ref": "#/definitions/ErrorInfo"
10748             },
10749             "message": {
10750               "type": "string"
10751             }
10752           },
10753           "additionalProperties": false,
10754           "required": [
10755             "message",
10756             "code"
10757           ]
10758         },
10759         "ErrorInfo": {
10760           "type": "object",
10761           "properties": {
10762             "macaroon": {
10763               "$ref": "#/definitions/Macaroon"
10764             },
10765             "macaroon-path": {
10766               "type": "string"
10767             }
10768           },
10769           "additionalProperties": false
10770         },
10771         "ErrorResult": {
10772           "type": "object",
10773           "properties": {
10774             "error": {
10775               "$ref": "#/definitions/Error"
10776             }
10777           },
10778           "additionalProperties": false
10779         },
10780         "ErrorResults": {
10781           "type": "object",
10782           "properties": {
10783             "results": {
10784               "type": "array",
10785               "items": {
10786                 "$ref": "#/definitions/ErrorResult"
10787               }
10788             }
10789           },
10790           "additionalProperties": false,
10791           "required": [
10792             "results"
10793           ]
10794         },
10795         "Macaroon": {
10796           "type": "object",
10797           "additionalProperties": false
10798         },
10799         "StringsWatchResult": {
10800           "type": "object",
10801           "properties": {
10802             "changes": {
10803               "type": "array",
10804               "items": {
10805                 "type": "string"
10806               }
10807             },
10808             "error": {
10809               "$ref": "#/definitions/Error"
10810             },
10811             "watcher-id": {
10812               "type": "string"
10813             }
10814           },
10815           "additionalProperties": false,
10816           "required": [
10817             "watcher-id"
10818           ]
10819         },
10820         "StringsWatchResults": {
10821           "type": "object",
10822           "properties": {
10823             "results": {
10824               "type": "array",
10825               "items": {
10826                 "$ref": "#/definitions/StringsWatchResult"
10827               }
10828             }
10829           },
10830           "additionalProperties": false,
10831           "required": [
10832             "results"
10833           ]
10834         }
10835       }
10836     }
10837   },
10838   {
10839     "Name": "MachineManager",
10840     "Version": 2,
10841     "Schema": {
10842       "type": "object",
10843       "properties": {
10844         "AddMachines": {
10845           "type": "object",
10846           "properties": {
10847             "Params": {
10848               "$ref": "#/definitions/AddMachines"
10849             },
10850             "Result": {
10851               "$ref": "#/definitions/AddMachinesResults"
10852             }
10853           }
10854         }
10855       },
10856       "definitions": {
10857         "AddMachineParams": {
10858           "type": "object",
10859           "properties": {
10860             "addresses": {
10861               "type": "array",
10862               "items": {
10863                 "$ref": "#/definitions/Address"
10864               }
10865             },
10866             "constraints": {
10867               "$ref": "#/definitions/Value"
10868             },
10869             "container-type": {
10870               "type": "string"
10871             },
10872             "disks": {
10873               "type": "array",
10874               "items": {
10875                 "$ref": "#/definitions/Constraints"
10876               }
10877             },
10878             "hardware-characteristics": {
10879               "$ref": "#/definitions/HardwareCharacteristics"
10880             },
10881             "instance-id": {
10882               "type": "string"
10883             },
10884             "jobs": {
10885               "type": "array",
10886               "items": {
10887                 "type": "string"
10888               }
10889             },
10890             "nonce": {
10891               "type": "string"
10892             },
10893             "parent-id": {
10894               "type": "string"
10895             },
10896             "placement": {
10897               "$ref": "#/definitions/Placement"
10898             },
10899             "series": {
10900               "type": "string"
10901             }
10902           },
10903           "additionalProperties": false,
10904           "required": [
10905             "series",
10906             "constraints",
10907             "jobs",
10908             "parent-id",
10909             "container-type",
10910             "instance-id",
10911             "nonce",
10912             "hardware-characteristics",
10913             "addresses"
10914           ]
10915         },
10916         "AddMachines": {
10917           "type": "object",
10918           "properties": {
10919             "params": {
10920               "type": "array",
10921               "items": {
10922                 "$ref": "#/definitions/AddMachineParams"
10923               }
10924             }
10925           },
10926           "additionalProperties": false,
10927           "required": [
10928             "params"
10929           ]
10930         },
10931         "AddMachinesResult": {
10932           "type": "object",
10933           "properties": {
10934             "error": {
10935               "$ref": "#/definitions/Error"
10936             },
10937             "machine": {
10938               "type": "string"
10939             }
10940           },
10941           "additionalProperties": false,
10942           "required": [
10943             "machine"
10944           ]
10945         },
10946         "AddMachinesResults": {
10947           "type": "object",
10948           "properties": {
10949             "machines": {
10950               "type": "array",
10951               "items": {
10952                 "$ref": "#/definitions/AddMachinesResult"
10953               }
10954             }
10955           },
10956           "additionalProperties": false,
10957           "required": [
10958             "machines"
10959           ]
10960         },
10961         "Address": {
10962           "type": "object",
10963           "properties": {
10964             "scope": {
10965               "type": "string"
10966             },
10967             "space-name": {
10968               "type": "string"
10969             },
10970             "type": {
10971               "type": "string"
10972             },
10973             "value": {
10974               "type": "string"
10975             }
10976           },
10977           "additionalProperties": false,
10978           "required": [
10979             "value",
10980             "type",
10981             "scope"
10982           ]
10983         },
10984         "Constraints": {
10985           "type": "object",
10986           "properties": {
10987             "Count": {
10988               "type": "integer"
10989             },
10990             "Pool": {
10991               "type": "string"
10992             },
10993             "Size": {
10994               "type": "integer"
10995             }
10996           },
10997           "additionalProperties": false,
10998           "required": [
10999             "Pool",
11000             "Size",
11001             "Count"
11002           ]
11003         },
11004         "Error": {
11005           "type": "object",
11006           "properties": {
11007             "code": {
11008               "type": "string"
11009             },
11010             "info": {
11011               "$ref": "#/definitions/ErrorInfo"
11012             },
11013             "message": {
11014               "type": "string"
11015             }
11016           },
11017           "additionalProperties": false,
11018           "required": [
11019             "message",
11020             "code"
11021           ]
11022         },
11023         "ErrorInfo": {
11024           "type": "object",
11025           "properties": {
11026             "macaroon": {
11027               "$ref": "#/definitions/Macaroon"
11028             },
11029             "macaroon-path": {
11030               "type": "string"
11031             }
11032           },
11033           "additionalProperties": false
11034         },
11035         "HardwareCharacteristics": {
11036           "type": "object",
11037           "properties": {
11038             "arch": {
11039               "type": "string"
11040             },
11041             "availability-zone": {
11042               "type": "string"
11043             },
11044             "cpu-cores": {
11045               "type": "integer"
11046             },
11047             "cpu-power": {
11048               "type": "integer"
11049             },
11050             "mem": {
11051               "type": "integer"
11052             },
11053             "root-disk": {
11054               "type": "integer"
11055             },
11056             "tags": {
11057               "type": "array",
11058               "items": {
11059                 "type": "string"
11060               }
11061             }
11062           },
11063           "additionalProperties": false
11064         },
11065         "Macaroon": {
11066           "type": "object",
11067           "additionalProperties": false
11068         },
11069         "Placement": {
11070           "type": "object",
11071           "properties": {
11072             "directive": {
11073               "type": "string"
11074             },
11075             "scope": {
11076               "type": "string"
11077             }
11078           },
11079           "additionalProperties": false,
11080           "required": [
11081             "scope",
11082             "directive"
11083           ]
11084         },
11085         "Value": {
11086           "type": "object",
11087           "properties": {
11088             "arch": {
11089               "type": "string"
11090             },
11091             "container": {
11092               "type": "string"
11093             },
11094             "cpu-cores": {
11095               "type": "integer"
11096             },
11097             "cpu-power": {
11098               "type": "integer"
11099             },
11100             "instance-type": {
11101               "type": "string"
11102             },
11103             "mem": {
11104               "type": "integer"
11105             },
11106             "root-disk": {
11107               "type": "integer"
11108             },
11109             "spaces": {
11110               "type": "array",
11111               "items": {
11112                 "type": "string"
11113               }
11114             },
11115             "tags": {
11116               "type": "array",
11117               "items": {
11118                 "type": "string"
11119               }
11120             },
11121             "virt-type": {
11122               "type": "string"
11123             }
11124           },
11125           "additionalProperties": false
11126         }
11127       }
11128     }
11129   },
11130   {
11131     "Name": "MachineUndertaker",
11132     "Version": 1,
11133     "Schema": {
11134       "type": "object",
11135       "properties": {
11136         "AllMachineRemovals": {
11137           "type": "object",
11138           "properties": {
11139             "Params": {
11140               "$ref": "#/definitions/Entities"
11141             },
11142             "Result": {
11143               "$ref": "#/definitions/EntitiesResults"
11144             }
11145           }
11146         },
11147         "CompleteMachineRemovals": {
11148           "type": "object",
11149           "properties": {
11150             "Params": {
11151               "$ref": "#/definitions/Entities"
11152             }
11153           }
11154         },
11155         "GetMachineProviderInterfaceInfo": {
11156           "type": "object",
11157           "properties": {
11158             "Params": {
11159               "$ref": "#/definitions/Entities"
11160             },
11161             "Result": {
11162               "$ref": "#/definitions/ProviderInterfaceInfoResults"
11163             }
11164           }
11165         },
11166         "WatchMachineRemovals": {
11167           "type": "object",
11168           "properties": {
11169             "Params": {
11170               "$ref": "#/definitions/Entities"
11171             },
11172             "Result": {
11173               "$ref": "#/definitions/NotifyWatchResults"
11174             }
11175           }
11176         }
11177       },
11178       "definitions": {
11179         "Entities": {
11180           "type": "object",
11181           "properties": {
11182             "entities": {
11183               "type": "array",
11184               "items": {
11185                 "$ref": "#/definitions/Entity"
11186               }
11187             }
11188           },
11189           "additionalProperties": false,
11190           "required": [
11191             "entities"
11192           ]
11193         },
11194         "EntitiesResult": {
11195           "type": "object",
11196           "properties": {
11197             "entities": {
11198               "type": "array",
11199               "items": {
11200                 "$ref": "#/definitions/Entity"
11201               }
11202             },
11203             "error": {
11204               "$ref": "#/definitions/Error"
11205             }
11206           },
11207           "additionalProperties": false,
11208           "required": [
11209             "entities"
11210           ]
11211         },
11212         "EntitiesResults": {
11213           "type": "object",
11214           "properties": {
11215             "results": {
11216               "type": "array",
11217               "items": {
11218                 "$ref": "#/definitions/EntitiesResult"
11219               }
11220             }
11221           },
11222           "additionalProperties": false,
11223           "required": [
11224             "results"
11225           ]
11226         },
11227         "Entity": {
11228           "type": "object",
11229           "properties": {
11230             "tag": {
11231               "type": "string"
11232             }
11233           },
11234           "additionalProperties": false,
11235           "required": [
11236             "tag"
11237           ]
11238         },
11239         "Error": {
11240           "type": "object",
11241           "properties": {
11242             "code": {
11243               "type": "string"
11244             },
11245             "info": {
11246               "$ref": "#/definitions/ErrorInfo"
11247             },
11248             "message": {
11249               "type": "string"
11250             }
11251           },
11252           "additionalProperties": false,
11253           "required": [
11254             "message",
11255             "code"
11256           ]
11257         },
11258         "ErrorInfo": {
11259           "type": "object",
11260           "properties": {
11261             "macaroon": {
11262               "$ref": "#/definitions/Macaroon"
11263             },
11264             "macaroon-path": {
11265               "type": "string"
11266             }
11267           },
11268           "additionalProperties": false
11269         },
11270         "Macaroon": {
11271           "type": "object",
11272           "additionalProperties": false
11273         },
11274         "NotifyWatchResult": {
11275           "type": "object",
11276           "properties": {
11277             "NotifyWatcherId": {
11278               "type": "string"
11279             },
11280             "error": {
11281               "$ref": "#/definitions/Error"
11282             }
11283           },
11284           "additionalProperties": false,
11285           "required": [
11286             "NotifyWatcherId"
11287           ]
11288         },
11289         "NotifyWatchResults": {
11290           "type": "object",
11291           "properties": {
11292             "results": {
11293               "type": "array",
11294               "items": {
11295                 "$ref": "#/definitions/NotifyWatchResult"
11296               }
11297             }
11298           },
11299           "additionalProperties": false,
11300           "required": [
11301             "results"
11302           ]
11303         },
11304         "ProviderInterfaceInfo": {
11305           "type": "object",
11306           "properties": {
11307             "interface-name": {
11308               "type": "string"
11309             },
11310             "mac-address": {
11311               "type": "string"
11312             },
11313             "provider-id": {
11314               "type": "string"
11315             }
11316           },
11317           "additionalProperties": false,
11318           "required": [
11319             "interface-name",
11320             "mac-address",
11321             "provider-id"
11322           ]
11323         },
11324         "ProviderInterfaceInfoResult": {
11325           "type": "object",
11326           "properties": {
11327             "error": {
11328               "$ref": "#/definitions/Error"
11329             },
11330             "interfaces": {
11331               "type": "array",
11332               "items": {
11333                 "$ref": "#/definitions/ProviderInterfaceInfo"
11334               }
11335             },
11336             "machine-tag": {
11337               "type": "string"
11338             }
11339           },
11340           "additionalProperties": false,
11341           "required": [
11342             "machine-tag",
11343             "interfaces"
11344           ]
11345         },
11346         "ProviderInterfaceInfoResults": {
11347           "type": "object",
11348           "properties": {
11349             "results": {
11350               "type": "array",
11351               "items": {
11352                 "$ref": "#/definitions/ProviderInterfaceInfoResult"
11353               }
11354             }
11355           },
11356           "additionalProperties": false,
11357           "required": [
11358             "results"
11359           ]
11360         }
11361       }
11362     }
11363   },
11364   {
11365     "Name": "Machiner",
11366     "Version": 1,
11367     "Schema": {
11368       "type": "object",
11369       "properties": {
11370         "APIAddresses": {
11371           "type": "object",
11372           "properties": {
11373             "Result": {
11374               "$ref": "#/definitions/StringsResult"
11375             }
11376           }
11377         },
11378         "APIHostPorts": {
11379           "type": "object",
11380           "properties": {
11381             "Result": {
11382               "$ref": "#/definitions/APIHostPortsResult"
11383             }
11384           }
11385         },
11386         "CACert": {
11387           "type": "object",
11388           "properties": {
11389             "Result": {
11390               "$ref": "#/definitions/BytesResult"
11391             }
11392           }
11393         },
11394         "EnsureDead": {
11395           "type": "object",
11396           "properties": {
11397             "Params": {
11398               "$ref": "#/definitions/Entities"
11399             },
11400             "Result": {
11401               "$ref": "#/definitions/ErrorResults"
11402             }
11403           }
11404         },
11405         "Jobs": {
11406           "type": "object",
11407           "properties": {
11408             "Params": {
11409               "$ref": "#/definitions/Entities"
11410             },
11411             "Result": {
11412               "$ref": "#/definitions/JobsResults"
11413             }
11414           }
11415         },
11416         "Life": {
11417           "type": "object",
11418           "properties": {
11419             "Params": {
11420               "$ref": "#/definitions/Entities"
11421             },
11422             "Result": {
11423               "$ref": "#/definitions/LifeResults"
11424             }
11425           }
11426         },
11427         "ModelUUID": {
11428           "type": "object",
11429           "properties": {
11430             "Result": {
11431               "$ref": "#/definitions/StringResult"
11432             }
11433           }
11434         },
11435         "SetMachineAddresses": {
11436           "type": "object",
11437           "properties": {
11438             "Params": {
11439               "$ref": "#/definitions/SetMachinesAddresses"
11440             },
11441             "Result": {
11442               "$ref": "#/definitions/ErrorResults"
11443             }
11444           }
11445         },
11446         "SetObservedNetworkConfig": {
11447           "type": "object",
11448           "properties": {
11449             "Params": {
11450               "$ref": "#/definitions/SetMachineNetworkConfig"
11451             }
11452           }
11453         },
11454         "SetProviderNetworkConfig": {
11455           "type": "object",
11456           "properties": {
11457             "Params": {
11458               "$ref": "#/definitions/Entities"
11459             },
11460             "Result": {
11461               "$ref": "#/definitions/ErrorResults"
11462             }
11463           }
11464         },
11465         "SetStatus": {
11466           "type": "object",
11467           "properties": {
11468             "Params": {
11469               "$ref": "#/definitions/SetStatus"
11470             },
11471             "Result": {
11472               "$ref": "#/definitions/ErrorResults"
11473             }
11474           }
11475         },
11476         "UpdateStatus": {
11477           "type": "object",
11478           "properties": {
11479             "Params": {
11480               "$ref": "#/definitions/SetStatus"
11481             },
11482             "Result": {
11483               "$ref": "#/definitions/ErrorResults"
11484             }
11485           }
11486         },
11487         "Watch": {
11488           "type": "object",
11489           "properties": {
11490             "Params": {
11491               "$ref": "#/definitions/Entities"
11492             },
11493             "Result": {
11494               "$ref": "#/definitions/NotifyWatchResults"
11495             }
11496           }
11497         },
11498         "WatchAPIHostPorts": {
11499           "type": "object",
11500           "properties": {
11501             "Result": {
11502               "$ref": "#/definitions/NotifyWatchResult"
11503             }
11504           }
11505         }
11506       },
11507       "definitions": {
11508         "APIHostPortsResult": {
11509           "type": "object",
11510           "properties": {
11511             "servers": {
11512               "type": "array",
11513               "items": {
11514                 "type": "array",
11515                 "items": {
11516                   "$ref": "#/definitions/HostPort"
11517                 }
11518               }
11519             }
11520           },
11521           "additionalProperties": false,
11522           "required": [
11523             "servers"
11524           ]
11525         },
11526         "Address": {
11527           "type": "object",
11528           "properties": {
11529             "scope": {
11530               "type": "string"
11531             },
11532             "space-name": {
11533               "type": "string"
11534             },
11535             "type": {
11536               "type": "string"
11537             },
11538             "value": {
11539               "type": "string"
11540             }
11541           },
11542           "additionalProperties": false,
11543           "required": [
11544             "value",
11545             "type",
11546             "scope"
11547           ]
11548         },
11549         "BytesResult": {
11550           "type": "object",
11551           "properties": {
11552             "result": {
11553               "type": "array",
11554               "items": {
11555                 "type": "integer"
11556               }
11557             }
11558           },
11559           "additionalProperties": false,
11560           "required": [
11561             "result"
11562           ]
11563         },
11564         "Entities": {
11565           "type": "object",
11566           "properties": {
11567             "entities": {
11568               "type": "array",
11569               "items": {
11570                 "$ref": "#/definitions/Entity"
11571               }
11572             }
11573           },
11574           "additionalProperties": false,
11575           "required": [
11576             "entities"
11577           ]
11578         },
11579         "Entity": {
11580           "type": "object",
11581           "properties": {
11582             "tag": {
11583               "type": "string"
11584             }
11585           },
11586           "additionalProperties": false,
11587           "required": [
11588             "tag"
11589           ]
11590         },
11591         "EntityStatusArgs": {
11592           "type": "object",
11593           "properties": {
11594             "data": {
11595               "type": "object",
11596               "patternProperties": {
11597                 ".*": {
11598                   "type": "object",
11599                   "additionalProperties": true
11600                 }
11601               }
11602             },
11603             "info": {
11604               "type": "string"
11605             },
11606             "status": {
11607               "type": "string"
11608             },
11609             "tag": {
11610               "type": "string"
11611             }
11612           },
11613           "additionalProperties": false,
11614           "required": [
11615             "tag",
11616             "status",
11617             "info",
11618             "data"
11619           ]
11620         },
11621         "Error": {
11622           "type": "object",
11623           "properties": {
11624             "code": {
11625               "type": "string"
11626             },
11627             "info": {
11628               "$ref": "#/definitions/ErrorInfo"
11629             },
11630             "message": {
11631               "type": "string"
11632             }
11633           },
11634           "additionalProperties": false,
11635           "required": [
11636             "message",
11637             "code"
11638           ]
11639         },
11640         "ErrorInfo": {
11641           "type": "object",
11642           "properties": {
11643             "macaroon": {
11644               "$ref": "#/definitions/Macaroon"
11645             },
11646             "macaroon-path": {
11647               "type": "string"
11648             }
11649           },
11650           "additionalProperties": false
11651         },
11652         "ErrorResult": {
11653           "type": "object",
11654           "properties": {
11655             "error": {
11656               "$ref": "#/definitions/Error"
11657             }
11658           },
11659           "additionalProperties": false
11660         },
11661         "ErrorResults": {
11662           "type": "object",
11663           "properties": {
11664             "results": {
11665               "type": "array",
11666               "items": {
11667                 "$ref": "#/definitions/ErrorResult"
11668               }
11669             }
11670           },
11671           "additionalProperties": false,
11672           "required": [
11673             "results"
11674           ]
11675         },
11676         "HostPort": {
11677           "type": "object",
11678           "properties": {
11679             "Address": {
11680               "$ref": "#/definitions/Address"
11681             },
11682             "port": {
11683               "type": "integer"
11684             }
11685           },
11686           "additionalProperties": false,
11687           "required": [
11688             "Address",
11689             "port"
11690           ]
11691         },
11692         "JobsResult": {
11693           "type": "object",
11694           "properties": {
11695             "error": {
11696               "$ref": "#/definitions/Error"
11697             },
11698             "jobs": {
11699               "type": "array",
11700               "items": {
11701                 "type": "string"
11702               }
11703             }
11704           },
11705           "additionalProperties": false,
11706           "required": [
11707             "jobs"
11708           ]
11709         },
11710         "JobsResults": {
11711           "type": "object",
11712           "properties": {
11713             "results": {
11714               "type": "array",
11715               "items": {
11716                 "$ref": "#/definitions/JobsResult"
11717               }
11718             }
11719           },
11720           "additionalProperties": false,
11721           "required": [
11722             "results"
11723           ]
11724         },
11725         "LifeResult": {
11726           "type": "object",
11727           "properties": {
11728             "error": {
11729               "$ref": "#/definitions/Error"
11730             },
11731             "life": {
11732               "type": "string"
11733             }
11734           },
11735           "additionalProperties": false,
11736           "required": [
11737             "life"
11738           ]
11739         },
11740         "LifeResults": {
11741           "type": "object",
11742           "properties": {
11743             "results": {
11744               "type": "array",
11745               "items": {
11746                 "$ref": "#/definitions/LifeResult"
11747               }
11748             }
11749           },
11750           "additionalProperties": false,
11751           "required": [
11752             "results"
11753           ]
11754         },
11755         "Macaroon": {
11756           "type": "object",
11757           "additionalProperties": false
11758         },
11759         "MachineAddresses": {
11760           "type": "object",
11761           "properties": {
11762             "addresses": {
11763               "type": "array",
11764               "items": {
11765                 "$ref": "#/definitions/Address"
11766               }
11767             },
11768             "tag": {
11769               "type": "string"
11770             }
11771           },
11772           "additionalProperties": false,
11773           "required": [
11774             "tag",
11775             "addresses"
11776           ]
11777         },
11778         "NetworkConfig": {
11779           "type": "object",
11780           "properties": {
11781             "address": {
11782               "type": "string"
11783             },
11784             "cidr": {
11785               "type": "string"
11786             },
11787             "config-type": {
11788               "type": "string"
11789             },
11790             "device-index": {
11791               "type": "integer"
11792             },
11793             "disabled": {
11794               "type": "boolean"
11795             },
11796             "dns-search-domains": {
11797               "type": "array",
11798               "items": {
11799                 "type": "string"
11800               }
11801             },
11802             "dns-servers": {
11803               "type": "array",
11804               "items": {
11805                 "type": "string"
11806               }
11807             },
11808             "gateway-address": {
11809               "type": "string"
11810             },
11811             "interface-name": {
11812               "type": "string"
11813             },
11814             "interface-type": {
11815               "type": "string"
11816             },
11817             "mac-address": {
11818               "type": "string"
11819             },
11820             "mtu": {
11821               "type": "integer"
11822             },
11823             "no-auto-start": {
11824               "type": "boolean"
11825             },
11826             "parent-interface-name": {
11827               "type": "string"
11828             },
11829             "provider-address-id": {
11830               "type": "string"
11831             },
11832             "provider-id": {
11833               "type": "string"
11834             },
11835             "provider-space-id": {
11836               "type": "string"
11837             },
11838             "provider-subnet-id": {
11839               "type": "string"
11840             },
11841             "provider-vlan-id": {
11842               "type": "string"
11843             },
11844             "vlan-tag": {
11845               "type": "integer"
11846             }
11847           },
11848           "additionalProperties": false,
11849           "required": [
11850             "device-index",
11851             "mac-address",
11852             "cidr",
11853             "mtu",
11854             "provider-id",
11855             "provider-subnet-id",
11856             "provider-space-id",
11857             "provider-address-id",
11858             "provider-vlan-id",
11859             "vlan-tag",
11860             "interface-name",
11861             "parent-interface-name",
11862             "interface-type",
11863             "disabled"
11864           ]
11865         },
11866         "NotifyWatchResult": {
11867           "type": "object",
11868           "properties": {
11869             "NotifyWatcherId": {
11870               "type": "string"
11871             },
11872             "error": {
11873               "$ref": "#/definitions/Error"
11874             }
11875           },
11876           "additionalProperties": false,
11877           "required": [
11878             "NotifyWatcherId"
11879           ]
11880         },
11881         "NotifyWatchResults": {
11882           "type": "object",
11883           "properties": {
11884             "results": {
11885               "type": "array",
11886               "items": {
11887                 "$ref": "#/definitions/NotifyWatchResult"
11888               }
11889             }
11890           },
11891           "additionalProperties": false,
11892           "required": [
11893             "results"
11894           ]
11895         },
11896         "SetMachineNetworkConfig": {
11897           "type": "object",
11898           "properties": {
11899             "config": {
11900               "type": "array",
11901               "items": {
11902                 "$ref": "#/definitions/NetworkConfig"
11903               }
11904             },
11905             "tag": {
11906               "type": "string"
11907             }
11908           },
11909           "additionalProperties": false,
11910           "required": [
11911             "tag",
11912             "config"
11913           ]
11914         },
11915         "SetMachinesAddresses": {
11916           "type": "object",
11917           "properties": {
11918             "machine-addresses": {
11919               "type": "array",
11920               "items": {
11921                 "$ref": "#/definitions/MachineAddresses"
11922               }
11923             }
11924           },
11925           "additionalProperties": false,
11926           "required": [
11927             "machine-addresses"
11928           ]
11929         },
11930         "SetStatus": {
11931           "type": "object",
11932           "properties": {
11933             "entities": {
11934               "type": "array",
11935               "items": {
11936                 "$ref": "#/definitions/EntityStatusArgs"
11937               }
11938             }
11939           },
11940           "additionalProperties": false,
11941           "required": [
11942             "entities"
11943           ]
11944         },
11945         "StringResult": {
11946           "type": "object",
11947           "properties": {
11948             "error": {
11949               "$ref": "#/definitions/Error"
11950             },
11951             "result": {
11952               "type": "string"
11953             }
11954           },
11955           "additionalProperties": false,
11956           "required": [
11957             "result"
11958           ]
11959         },
11960         "StringsResult": {
11961           "type": "object",
11962           "properties": {
11963             "error": {
11964               "$ref": "#/definitions/Error"
11965             },
11966             "result": {
11967               "type": "array",
11968               "items": {
11969                 "type": "string"
11970               }
11971             }
11972           },
11973           "additionalProperties": false
11974         }
11975       }
11976     }
11977   },
11978   {
11979     "Name": "MeterStatus",
11980     "Version": 1,
11981     "Schema": {
11982       "type": "object",
11983       "properties": {
11984         "GetMeterStatus": {
11985           "type": "object",
11986           "properties": {
11987             "Params": {
11988               "$ref": "#/definitions/Entities"
11989             },
11990             "Result": {
11991               "$ref": "#/definitions/MeterStatusResults"
11992             }
11993           }
11994         },
11995         "WatchMeterStatus": {
11996           "type": "object",
11997           "properties": {
11998             "Params": {
11999               "$ref": "#/definitions/Entities"
12000             },
12001             "Result": {
12002               "$ref": "#/definitions/NotifyWatchResults"
12003             }
12004           }
12005         }
12006       },
12007       "definitions": {
12008         "Entities": {
12009           "type": "object",
12010           "properties": {
12011             "entities": {
12012               "type": "array",
12013               "items": {
12014                 "$ref": "#/definitions/Entity"
12015               }
12016             }
12017           },
12018           "additionalProperties": false,
12019           "required": [
12020             "entities"
12021           ]
12022         },
12023         "Entity": {
12024           "type": "object",
12025           "properties": {
12026             "tag": {
12027               "type": "string"
12028             }
12029           },
12030           "additionalProperties": false,
12031           "required": [
12032             "tag"
12033           ]
12034         },
12035         "Error": {
12036           "type": "object",
12037           "properties": {
12038             "code": {
12039               "type": "string"
12040             },
12041             "info": {
12042               "$ref": "#/definitions/ErrorInfo"
12043             },
12044             "message": {
12045               "type": "string"
12046             }
12047           },
12048           "additionalProperties": false,
12049           "required": [
12050             "message",
12051             "code"
12052           ]
12053         },
12054         "ErrorInfo": {
12055           "type": "object",
12056           "properties": {
12057             "macaroon": {
12058               "$ref": "#/definitions/Macaroon"
12059             },
12060             "macaroon-path": {
12061               "type": "string"
12062             }
12063           },
12064           "additionalProperties": false
12065         },
12066         "Macaroon": {
12067           "type": "object",
12068           "additionalProperties": false
12069         },
12070         "MeterStatusResult": {
12071           "type": "object",
12072           "properties": {
12073             "code": {
12074               "type": "string"
12075             },
12076             "error": {
12077               "$ref": "#/definitions/Error"
12078             },
12079             "info": {
12080               "type": "string"
12081             }
12082           },
12083           "additionalProperties": false,
12084           "required": [
12085             "code",
12086             "info"
12087           ]
12088         },
12089         "MeterStatusResults": {
12090           "type": "object",
12091           "properties": {
12092             "results": {
12093               "type": "array",
12094               "items": {
12095                 "$ref": "#/definitions/MeterStatusResult"
12096               }
12097             }
12098           },
12099           "additionalProperties": false,
12100           "required": [
12101             "results"
12102           ]
12103         },
12104         "NotifyWatchResult": {
12105           "type": "object",
12106           "properties": {
12107             "NotifyWatcherId": {
12108               "type": "string"
12109             },
12110             "error": {
12111               "$ref": "#/definitions/Error"
12112             }
12113           },
12114           "additionalProperties": false,
12115           "required": [
12116             "NotifyWatcherId"
12117           ]
12118         },
12119         "NotifyWatchResults": {
12120           "type": "object",
12121           "properties": {
12122             "results": {
12123               "type": "array",
12124               "items": {
12125                 "$ref": "#/definitions/NotifyWatchResult"
12126               }
12127             }
12128           },
12129           "additionalProperties": false,
12130           "required": [
12131             "results"
12132           ]
12133         }
12134       }
12135     }
12136   },
12137   {
12138     "Name": "MetricsAdder",
12139     "Version": 2,
12140     "Schema": {
12141       "type": "object",
12142       "properties": {
12143         "AddMetricBatches": {
12144           "type": "object",
12145           "properties": {
12146             "Params": {
12147               "$ref": "#/definitions/MetricBatchParams"
12148             },
12149             "Result": {
12150               "$ref": "#/definitions/ErrorResults"
12151             }
12152           }
12153         }
12154       },
12155       "definitions": {
12156         "Error": {
12157           "type": "object",
12158           "properties": {
12159             "code": {
12160               "type": "string"
12161             },
12162             "info": {
12163               "$ref": "#/definitions/ErrorInfo"
12164             },
12165             "message": {
12166               "type": "string"
12167             }
12168           },
12169           "additionalProperties": false,
12170           "required": [
12171             "message",
12172             "code"
12173           ]
12174         },
12175         "ErrorInfo": {
12176           "type": "object",
12177           "properties": {
12178             "macaroon": {
12179               "$ref": "#/definitions/Macaroon"
12180             },
12181             "macaroon-path": {
12182               "type": "string"
12183             }
12184           },
12185           "additionalProperties": false
12186         },
12187         "ErrorResult": {
12188           "type": "object",
12189           "properties": {
12190             "error": {
12191               "$ref": "#/definitions/Error"
12192             }
12193           },
12194           "additionalProperties": false
12195         },
12196         "ErrorResults": {
12197           "type": "object",
12198           "properties": {
12199             "results": {
12200               "type": "array",
12201               "items": {
12202                 "$ref": "#/definitions/ErrorResult"
12203               }
12204             }
12205           },
12206           "additionalProperties": false,
12207           "required": [
12208             "results"
12209           ]
12210         },
12211         "Macaroon": {
12212           "type": "object",
12213           "additionalProperties": false
12214         },
12215         "Metric": {
12216           "type": "object",
12217           "properties": {
12218             "key": {
12219               "type": "string"
12220             },
12221             "time": {
12222               "type": "string",
12223               "format": "date-time"
12224             },
12225             "value": {
12226               "type": "string"
12227             }
12228           },
12229           "additionalProperties": false,
12230           "required": [
12231             "key",
12232             "value",
12233             "time"
12234           ]
12235         },
12236         "MetricBatch": {
12237           "type": "object",
12238           "properties": {
12239             "charm-url": {
12240               "type": "string"
12241             },
12242             "created": {
12243               "type": "string",
12244               "format": "date-time"
12245             },
12246             "metrics": {
12247               "type": "array",
12248               "items": {
12249                 "$ref": "#/definitions/Metric"
12250               }
12251             },
12252             "uuid": {
12253               "type": "string"
12254             }
12255           },
12256           "additionalProperties": false,
12257           "required": [
12258             "uuid",
12259             "charm-url",
12260             "created",
12261             "metrics"
12262           ]
12263         },
12264         "MetricBatchParam": {
12265           "type": "object",
12266           "properties": {
12267             "batch": {
12268               "$ref": "#/definitions/MetricBatch"
12269             },
12270             "tag": {
12271               "type": "string"
12272             }
12273           },
12274           "additionalProperties": false,
12275           "required": [
12276             "tag",
12277             "batch"
12278           ]
12279         },
12280         "MetricBatchParams": {
12281           "type": "object",
12282           "properties": {
12283             "batches": {
12284               "type": "array",
12285               "items": {
12286                 "$ref": "#/definitions/MetricBatchParam"
12287               }
12288             }
12289           },
12290           "additionalProperties": false,
12291           "required": [
12292             "batches"
12293           ]
12294         }
12295       }
12296     }
12297   },
12298   {
12299     "Name": "MetricsDebug",
12300     "Version": 2,
12301     "Schema": {
12302       "type": "object",
12303       "properties": {
12304         "GetMetrics": {
12305           "type": "object",
12306           "properties": {
12307             "Params": {
12308               "$ref": "#/definitions/Entities"
12309             },
12310             "Result": {
12311               "$ref": "#/definitions/MetricResults"
12312             }
12313           }
12314         },
12315         "SetMeterStatus": {
12316           "type": "object",
12317           "properties": {
12318             "Params": {
12319               "$ref": "#/definitions/MeterStatusParams"
12320             },
12321             "Result": {
12322               "$ref": "#/definitions/ErrorResults"
12323             }
12324           }
12325         }
12326       },
12327       "definitions": {
12328         "Entities": {
12329           "type": "object",
12330           "properties": {
12331             "entities": {
12332               "type": "array",
12333               "items": {
12334                 "$ref": "#/definitions/Entity"
12335               }
12336             }
12337           },
12338           "additionalProperties": false,
12339           "required": [
12340             "entities"
12341           ]
12342         },
12343         "Entity": {
12344           "type": "object",
12345           "properties": {
12346             "tag": {
12347               "type": "string"
12348             }
12349           },
12350           "additionalProperties": false,
12351           "required": [
12352             "tag"
12353           ]
12354         },
12355         "EntityMetrics": {
12356           "type": "object",
12357           "properties": {
12358             "error": {
12359               "$ref": "#/definitions/Error"
12360             },
12361             "metrics": {
12362               "type": "array",
12363               "items": {
12364                 "$ref": "#/definitions/MetricResult"
12365               }
12366             }
12367           },
12368           "additionalProperties": false
12369         },
12370         "Error": {
12371           "type": "object",
12372           "properties": {
12373             "code": {
12374               "type": "string"
12375             },
12376             "info": {
12377               "$ref": "#/definitions/ErrorInfo"
12378             },
12379             "message": {
12380               "type": "string"
12381             }
12382           },
12383           "additionalProperties": false,
12384           "required": [
12385             "message",
12386             "code"
12387           ]
12388         },
12389         "ErrorInfo": {
12390           "type": "object",
12391           "properties": {
12392             "macaroon": {
12393               "$ref": "#/definitions/Macaroon"
12394             },
12395             "macaroon-path": {
12396               "type": "string"
12397             }
12398           },
12399           "additionalProperties": false
12400         },
12401         "ErrorResult": {
12402           "type": "object",
12403           "properties": {
12404             "error": {
12405               "$ref": "#/definitions/Error"
12406             }
12407           },
12408           "additionalProperties": false
12409         },
12410         "ErrorResults": {
12411           "type": "object",
12412           "properties": {
12413             "results": {
12414               "type": "array",
12415               "items": {
12416                 "$ref": "#/definitions/ErrorResult"
12417               }
12418             }
12419           },
12420           "additionalProperties": false,
12421           "required": [
12422             "results"
12423           ]
12424         },
12425         "Macaroon": {
12426           "type": "object",
12427           "additionalProperties": false
12428         },
12429         "MeterStatusParam": {
12430           "type": "object",
12431           "properties": {
12432             "code": {
12433               "type": "string"
12434             },
12435             "info": {
12436               "type": "string"
12437             },
12438             "tag": {
12439               "type": "string"
12440             }
12441           },
12442           "additionalProperties": false,
12443           "required": [
12444             "tag",
12445             "code",
12446             "info"
12447           ]
12448         },
12449         "MeterStatusParams": {
12450           "type": "object",
12451           "properties": {
12452             "statues": {
12453               "type": "array",
12454               "items": {
12455                 "$ref": "#/definitions/MeterStatusParam"
12456               }
12457             }
12458           },
12459           "additionalProperties": false,
12460           "required": [
12461             "statues"
12462           ]
12463         },
12464         "MetricResult": {
12465           "type": "object",
12466           "properties": {
12467             "key": {
12468               "type": "string"
12469             },
12470             "time": {
12471               "type": "string",
12472               "format": "date-time"
12473             },
12474             "unit": {
12475               "type": "string"
12476             },
12477             "value": {
12478               "type": "string"
12479             }
12480           },
12481           "additionalProperties": false,
12482           "required": [
12483             "time",
12484             "key",
12485             "value",
12486             "unit"
12487           ]
12488         },
12489         "MetricResults": {
12490           "type": "object",
12491           "properties": {
12492             "results": {
12493               "type": "array",
12494               "items": {
12495                 "$ref": "#/definitions/EntityMetrics"
12496               }
12497             }
12498           },
12499           "additionalProperties": false,
12500           "required": [
12501             "results"
12502           ]
12503         }
12504       }
12505     }
12506   },
12507   {
12508     "Name": "MetricsManager",
12509     "Version": 1,
12510     "Schema": {
12511       "type": "object",
12512       "properties": {
12513         "CleanupOldMetrics": {
12514           "type": "object",
12515           "properties": {
12516             "Params": {
12517               "$ref": "#/definitions/Entities"
12518             },
12519             "Result": {
12520               "$ref": "#/definitions/ErrorResults"
12521             }
12522           }
12523         },
12524         "SendMetrics": {
12525           "type": "object",
12526           "properties": {
12527             "Params": {
12528               "$ref": "#/definitions/Entities"
12529             },
12530             "Result": {
12531               "$ref": "#/definitions/ErrorResults"
12532             }
12533           }
12534         }
12535       },
12536       "definitions": {
12537         "Entities": {
12538           "type": "object",
12539           "properties": {
12540             "entities": {
12541               "type": "array",
12542               "items": {
12543                 "$ref": "#/definitions/Entity"
12544               }
12545             }
12546           },
12547           "additionalProperties": false,
12548           "required": [
12549             "entities"
12550           ]
12551         },
12552         "Entity": {
12553           "type": "object",
12554           "properties": {
12555             "tag": {
12556               "type": "string"
12557             }
12558           },
12559           "additionalProperties": false,
12560           "required": [
12561             "tag"
12562           ]
12563         },
12564         "Error": {
12565           "type": "object",
12566           "properties": {
12567             "code": {
12568               "type": "string"
12569             },
12570             "info": {
12571               "$ref": "#/definitions/ErrorInfo"
12572             },
12573             "message": {
12574               "type": "string"
12575             }
12576           },
12577           "additionalProperties": false,
12578           "required": [
12579             "message",
12580             "code"
12581           ]
12582         },
12583         "ErrorInfo": {
12584           "type": "object",
12585           "properties": {
12586             "macaroon": {
12587               "$ref": "#/definitions/Macaroon"
12588             },
12589             "macaroon-path": {
12590               "type": "string"
12591             }
12592           },
12593           "additionalProperties": false
12594         },
12595         "ErrorResult": {
12596           "type": "object",
12597           "properties": {
12598             "error": {
12599               "$ref": "#/definitions/Error"
12600             }
12601           },
12602           "additionalProperties": false
12603         },
12604         "ErrorResults": {
12605           "type": "object",
12606           "properties": {
12607             "results": {
12608               "type": "array",
12609               "items": {
12610                 "$ref": "#/definitions/ErrorResult"
12611               }
12612             }
12613           },
12614           "additionalProperties": false,
12615           "required": [
12616             "results"
12617           ]
12618         },
12619         "Macaroon": {
12620           "type": "object",
12621           "additionalProperties": false
12622         }
12623       }
12624     }
12625   },
12626   {
12627     "Name": "MigrationFlag",
12628     "Version": 1,
12629     "Schema": {
12630       "type": "object",
12631       "properties": {
12632         "Phase": {
12633           "type": "object",
12634           "properties": {
12635             "Params": {
12636               "$ref": "#/definitions/Entities"
12637             },
12638             "Result": {
12639               "$ref": "#/definitions/PhaseResults"
12640             }
12641           }
12642         },
12643         "Watch": {
12644           "type": "object",
12645           "properties": {
12646             "Params": {
12647               "$ref": "#/definitions/Entities"
12648             },
12649             "Result": {
12650               "$ref": "#/definitions/NotifyWatchResults"
12651             }
12652           }
12653         }
12654       },
12655       "definitions": {
12656         "Entities": {
12657           "type": "object",
12658           "properties": {
12659             "entities": {
12660               "type": "array",
12661               "items": {
12662                 "$ref": "#/definitions/Entity"
12663               }
12664             }
12665           },
12666           "additionalProperties": false,
12667           "required": [
12668             "entities"
12669           ]
12670         },
12671         "Entity": {
12672           "type": "object",
12673           "properties": {
12674             "tag": {
12675               "type": "string"
12676             }
12677           },
12678           "additionalProperties": false,
12679           "required": [
12680             "tag"
12681           ]
12682         },
12683         "Error": {
12684           "type": "object",
12685           "properties": {
12686             "code": {
12687               "type": "string"
12688             },
12689             "info": {
12690               "$ref": "#/definitions/ErrorInfo"
12691             },
12692             "message": {
12693               "type": "string"
12694             }
12695           },
12696           "additionalProperties": false,
12697           "required": [
12698             "message",
12699             "code"
12700           ]
12701         },
12702         "ErrorInfo": {
12703           "type": "object",
12704           "properties": {
12705             "macaroon": {
12706               "$ref": "#/definitions/Macaroon"
12707             },
12708             "macaroon-path": {
12709               "type": "string"
12710             }
12711           },
12712           "additionalProperties": false
12713         },
12714         "Macaroon": {
12715           "type": "object",
12716           "additionalProperties": false
12717         },
12718         "NotifyWatchResult": {
12719           "type": "object",
12720           "properties": {
12721             "NotifyWatcherId": {
12722               "type": "string"
12723             },
12724             "error": {
12725               "$ref": "#/definitions/Error"
12726             }
12727           },
12728           "additionalProperties": false,
12729           "required": [
12730             "NotifyWatcherId"
12731           ]
12732         },
12733         "NotifyWatchResults": {
12734           "type": "object",
12735           "properties": {
12736             "results": {
12737               "type": "array",
12738               "items": {
12739                 "$ref": "#/definitions/NotifyWatchResult"
12740               }
12741             }
12742           },
12743           "additionalProperties": false,
12744           "required": [
12745             "results"
12746           ]
12747         },
12748         "PhaseResult": {
12749           "type": "object",
12750           "properties": {
12751             "error": {
12752               "$ref": "#/definitions/Error"
12753             },
12754             "phase": {
12755               "type": "string"
12756             }
12757           },
12758           "additionalProperties": false
12759         },
12760         "PhaseResults": {
12761           "type": "object",
12762           "properties": {
12763             "results": {
12764               "type": "array",
12765               "items": {
12766                 "$ref": "#/definitions/PhaseResult"
12767               }
12768             }
12769           },
12770           "additionalProperties": false,
12771           "required": [
12772             "results"
12773           ]
12774         }
12775       }
12776     }
12777   },
12778   {
12779     "Name": "MigrationMaster",
12780     "Version": 1,
12781     "Schema": {
12782       "type": "object",
12783       "properties": {
12784         "Export": {
12785           "type": "object",
12786           "properties": {
12787             "Result": {
12788               "$ref": "#/definitions/SerializedModel"
12789             }
12790           }
12791         },
12792         "MigrationStatus": {
12793           "type": "object",
12794           "properties": {
12795             "Result": {
12796               "$ref": "#/definitions/MasterMigrationStatus"
12797             }
12798           }
12799         },
12800         "MinionReports": {
12801           "type": "object",
12802           "properties": {
12803             "Result": {
12804               "$ref": "#/definitions/MinionReports"
12805             }
12806           }
12807         },
12808         "ModelInfo": {
12809           "type": "object",
12810           "properties": {
12811             "Result": {
12812               "$ref": "#/definitions/MigrationModelInfo"
12813             }
12814           }
12815         },
12816         "Prechecks": {
12817           "type": "object"
12818         },
12819         "Reap": {
12820           "type": "object"
12821         },
12822         "SetPhase": {
12823           "type": "object",
12824           "properties": {
12825             "Params": {
12826               "$ref": "#/definitions/SetMigrationPhaseArgs"
12827             }
12828           }
12829         },
12830         "SetStatusMessage": {
12831           "type": "object",
12832           "properties": {
12833             "Params": {
12834               "$ref": "#/definitions/SetMigrationStatusMessageArgs"
12835             }
12836           }
12837         },
12838         "Watch": {
12839           "type": "object",
12840           "properties": {
12841             "Result": {
12842               "$ref": "#/definitions/NotifyWatchResult"
12843             }
12844           }
12845         },
12846         "WatchMinionReports": {
12847           "type": "object",
12848           "properties": {
12849             "Result": {
12850               "$ref": "#/definitions/NotifyWatchResult"
12851             }
12852           }
12853         }
12854       },
12855       "definitions": {
12856         "Error": {
12857           "type": "object",
12858           "properties": {
12859             "code": {
12860               "type": "string"
12861             },
12862             "info": {
12863               "$ref": "#/definitions/ErrorInfo"
12864             },
12865             "message": {
12866               "type": "string"
12867             }
12868           },
12869           "additionalProperties": false,
12870           "required": [
12871             "message",
12872             "code"
12873           ]
12874         },
12875         "ErrorInfo": {
12876           "type": "object",
12877           "properties": {
12878             "macaroon": {
12879               "$ref": "#/definitions/Macaroon"
12880             },
12881             "macaroon-path": {
12882               "type": "string"
12883             }
12884           },
12885           "additionalProperties": false
12886         },
12887         "Macaroon": {
12888           "type": "object",
12889           "additionalProperties": false
12890         },
12891         "MasterMigrationStatus": {
12892           "type": "object",
12893           "properties": {
12894             "migration-id": {
12895               "type": "string"
12896             },
12897             "phase": {
12898               "type": "string"
12899             },
12900             "phase-changed-time": {
12901               "type": "string",
12902               "format": "date-time"
12903             },
12904             "spec": {
12905               "$ref": "#/definitions/MigrationSpec"
12906             }
12907           },
12908           "additionalProperties": false,
12909           "required": [
12910             "spec",
12911             "migration-id",
12912             "phase",
12913             "phase-changed-time"
12914           ]
12915         },
12916         "MigrationModelInfo": {
12917           "type": "object",
12918           "properties": {
12919             "agent-version": {
12920               "$ref": "#/definitions/Number"
12921             },
12922             "name": {
12923               "type": "string"
12924             },
12925             "owner-tag": {
12926               "type": "string"
12927             },
12928             "uuid": {
12929               "type": "string"
12930             }
12931           },
12932           "additionalProperties": false,
12933           "required": [
12934             "uuid",
12935             "name",
12936             "owner-tag",
12937             "agent-version"
12938           ]
12939         },
12940         "MigrationSpec": {
12941           "type": "object",
12942           "properties": {
12943             "external-control": {
12944               "type": "boolean"
12945             },
12946             "model-tag": {
12947               "type": "string"
12948             },
12949             "target-info": {
12950               "$ref": "#/definitions/MigrationTargetInfo"
12951             }
12952           },
12953           "additionalProperties": false,
12954           "required": [
12955             "model-tag",
12956             "target-info",
12957             "external-control"
12958           ]
12959         },
12960         "MigrationTargetInfo": {
12961           "type": "object",
12962           "properties": {
12963             "addrs": {
12964               "type": "array",
12965               "items": {
12966                 "type": "string"
12967               }
12968             },
12969             "auth-tag": {
12970               "type": "string"
12971             },
12972             "ca-cert": {
12973               "type": "string"
12974             },
12975             "controller-tag": {
12976               "type": "string"
12977             },
12978             "macaroons": {
12979               "type": "string"
12980             },
12981             "password": {
12982               "type": "string"
12983             }
12984           },
12985           "additionalProperties": false,
12986           "required": [
12987             "controller-tag",
12988             "addrs",
12989             "ca-cert",
12990             "auth-tag"
12991           ]
12992         },
12993         "MinionReports": {
12994           "type": "object",
12995           "properties": {
12996             "failed": {
12997               "type": "array",
12998               "items": {
12999                 "type": "string"
13000               }
13001             },
13002             "migration-id": {
13003               "type": "string"
13004             },
13005             "phase": {
13006               "type": "string"
13007             },
13008             "success-count": {
13009               "type": "integer"
13010             },
13011             "unknown-count": {
13012               "type": "integer"
13013             },
13014             "unknown-sample": {
13015               "type": "array",
13016               "items": {
13017                 "type": "string"
13018               }
13019             }
13020           },
13021           "additionalProperties": false,
13022           "required": [
13023             "migration-id",
13024             "phase",
13025             "success-count",
13026             "unknown-count",
13027             "unknown-sample",
13028             "failed"
13029           ]
13030         },
13031         "NotifyWatchResult": {
13032           "type": "object",
13033           "properties": {
13034             "NotifyWatcherId": {
13035               "type": "string"
13036             },
13037             "error": {
13038               "$ref": "#/definitions/Error"
13039             }
13040           },
13041           "additionalProperties": false,
13042           "required": [
13043             "NotifyWatcherId"
13044           ]
13045         },
13046         "Number": {
13047           "type": "object",
13048           "properties": {
13049             "Build": {
13050               "type": "integer"
13051             },
13052             "Major": {
13053               "type": "integer"
13054             },
13055             "Minor": {
13056               "type": "integer"
13057             },
13058             "Patch": {
13059               "type": "integer"
13060             },
13061             "Tag": {
13062               "type": "string"
13063             }
13064           },
13065           "additionalProperties": false,
13066           "required": [
13067             "Major",
13068             "Minor",
13069             "Tag",
13070             "Patch",
13071             "Build"
13072           ]
13073         },
13074         "SerializedModel": {
13075           "type": "object",
13076           "properties": {
13077             "bytes": {
13078               "type": "array",
13079               "items": {
13080                 "type": "integer"
13081               }
13082             },
13083             "charms": {
13084               "type": "array",
13085               "items": {
13086                 "type": "string"
13087               }
13088             },
13089             "tools": {
13090               "type": "array",
13091               "items": {
13092                 "$ref": "#/definitions/SerializedModelTools"
13093               }
13094             }
13095           },
13096           "additionalProperties": false,
13097           "required": [
13098             "bytes",
13099             "charms",
13100             "tools"
13101           ]
13102         },
13103         "SerializedModelTools": {
13104           "type": "object",
13105           "properties": {
13106             "uri": {
13107               "type": "string"
13108             },
13109             "version": {
13110               "type": "string"
13111             }
13112           },
13113           "additionalProperties": false,
13114           "required": [
13115             "version",
13116             "uri"
13117           ]
13118         },
13119         "SetMigrationPhaseArgs": {
13120           "type": "object",
13121           "properties": {
13122             "phase": {
13123               "type": "string"
13124             }
13125           },
13126           "additionalProperties": false,
13127           "required": [
13128             "phase"
13129           ]
13130         },
13131         "SetMigrationStatusMessageArgs": {
13132           "type": "object",
13133           "properties": {
13134             "message": {
13135               "type": "string"
13136             }
13137           },
13138           "additionalProperties": false,
13139           "required": [
13140             "message"
13141           ]
13142         }
13143       }
13144     }
13145   },
13146   {
13147     "Name": "MigrationMinion",
13148     "Version": 1,
13149     "Schema": {
13150       "type": "object",
13151       "properties": {
13152         "Report": {
13153           "type": "object",
13154           "properties": {
13155             "Params": {
13156               "$ref": "#/definitions/MinionReport"
13157             }
13158           }
13159         },
13160         "Watch": {
13161           "type": "object",
13162           "properties": {
13163             "Result": {
13164               "$ref": "#/definitions/NotifyWatchResult"
13165             }
13166           }
13167         }
13168       },
13169       "definitions": {
13170         "Error": {
13171           "type": "object",
13172           "properties": {
13173             "code": {
13174               "type": "string"
13175             },
13176             "info": {
13177               "$ref": "#/definitions/ErrorInfo"
13178             },
13179             "message": {
13180               "type": "string"
13181             }
13182           },
13183           "additionalProperties": false,
13184           "required": [
13185             "message",
13186             "code"
13187           ]
13188         },
13189         "ErrorInfo": {
13190           "type": "object",
13191           "properties": {
13192             "macaroon": {
13193               "$ref": "#/definitions/Macaroon"
13194             },
13195             "macaroon-path": {
13196               "type": "string"
13197             }
13198           },
13199           "additionalProperties": false
13200         },
13201         "Macaroon": {
13202           "type": "object",
13203           "additionalProperties": false
13204         },
13205         "MinionReport": {
13206           "type": "object",
13207           "properties": {
13208             "migration-id": {
13209               "type": "string"
13210             },
13211             "phase": {
13212               "type": "string"
13213             },
13214             "success": {
13215               "type": "boolean"
13216             }
13217           },
13218           "additionalProperties": false,
13219           "required": [
13220             "migration-id",
13221             "phase",
13222             "success"
13223           ]
13224         },
13225         "NotifyWatchResult": {
13226           "type": "object",
13227           "properties": {
13228             "NotifyWatcherId": {
13229               "type": "string"
13230             },
13231             "error": {
13232               "$ref": "#/definitions/Error"
13233             }
13234           },
13235           "additionalProperties": false,
13236           "required": [
13237             "NotifyWatcherId"
13238           ]
13239         }
13240       }
13241     }
13242   },
13243   {
13244     "Name": "MigrationStatusWatcher",
13245     "Version": 1,
13246     "Schema": {
13247       "type": "object",
13248       "properties": {
13249         "Next": {
13250           "type": "object",
13251           "properties": {
13252             "Result": {
13253               "$ref": "#/definitions/MigrationStatus"
13254             }
13255           }
13256         },
13257         "Stop": {
13258           "type": "object"
13259         }
13260       },
13261       "definitions": {
13262         "MigrationStatus": {
13263           "type": "object",
13264           "properties": {
13265             "attempt": {
13266               "type": "integer"
13267             },
13268             "migration-id": {
13269               "type": "string"
13270             },
13271             "phase": {
13272               "type": "string"
13273             },
13274             "source-api-addrs": {
13275               "type": "array",
13276               "items": {
13277                 "type": "string"
13278               }
13279             },
13280             "source-ca-cert": {
13281               "type": "string"
13282             },
13283             "target-api-addrs": {
13284               "type": "array",
13285               "items": {
13286                 "type": "string"
13287               }
13288             },
13289             "target-ca-cert": {
13290               "type": "string"
13291             }
13292           },
13293           "additionalProperties": false,
13294           "required": [
13295             "migration-id",
13296             "attempt",
13297             "phase",
13298             "source-api-addrs",
13299             "source-ca-cert",
13300             "target-api-addrs",
13301             "target-ca-cert"
13302           ]
13303         }
13304       }
13305     }
13306   },
13307   {
13308     "Name": "MigrationTarget",
13309     "Version": 1,
13310     "Schema": {
13311       "type": "object",
13312       "properties": {
13313         "Abort": {
13314           "type": "object",
13315           "properties": {
13316             "Params": {
13317               "$ref": "#/definitions/ModelArgs"
13318             }
13319           }
13320         },
13321         "Activate": {
13322           "type": "object",
13323           "properties": {
13324             "Params": {
13325               "$ref": "#/definitions/ModelArgs"
13326             }
13327           }
13328         },
13329         "Import": {
13330           "type": "object",
13331           "properties": {
13332             "Params": {
13333               "$ref": "#/definitions/SerializedModel"
13334             }
13335           }
13336         },
13337         "Prechecks": {
13338           "type": "object",
13339           "properties": {
13340             "Params": {
13341               "$ref": "#/definitions/MigrationModelInfo"
13342             }
13343           }
13344         }
13345       },
13346       "definitions": {
13347         "MigrationModelInfo": {
13348           "type": "object",
13349           "properties": {
13350             "agent-version": {
13351               "$ref": "#/definitions/Number"
13352             },
13353             "name": {
13354               "type": "string"
13355             },
13356             "owner-tag": {
13357               "type": "string"
13358             },
13359             "uuid": {
13360               "type": "string"
13361             }
13362           },
13363           "additionalProperties": false,
13364           "required": [
13365             "uuid",
13366             "name",
13367             "owner-tag",
13368             "agent-version"
13369           ]
13370         },
13371         "ModelArgs": {
13372           "type": "object",
13373           "properties": {
13374             "model-tag": {
13375               "type": "string"
13376             }
13377           },
13378           "additionalProperties": false,
13379           "required": [
13380             "model-tag"
13381           ]
13382         },
13383         "Number": {
13384           "type": "object",
13385           "properties": {
13386             "Build": {
13387               "type": "integer"
13388             },
13389             "Major": {
13390               "type": "integer"
13391             },
13392             "Minor": {
13393               "type": "integer"
13394             },
13395             "Patch": {
13396               "type": "integer"
13397             },
13398             "Tag": {
13399               "type": "string"
13400             }
13401           },
13402           "additionalProperties": false,
13403           "required": [
13404             "Major",
13405             "Minor",
13406             "Tag",
13407             "Patch",
13408             "Build"
13409           ]
13410         },
13411         "SerializedModel": {
13412           "type": "object",
13413           "properties": {
13414             "bytes": {
13415               "type": "array",
13416               "items": {
13417                 "type": "integer"
13418               }
13419             },
13420             "charms": {
13421               "type": "array",
13422               "items": {
13423                 "type": "string"
13424               }
13425             },
13426             "tools": {
13427               "type": "array",
13428               "items": {
13429                 "$ref": "#/definitions/SerializedModelTools"
13430               }
13431             }
13432           },
13433           "additionalProperties": false,
13434           "required": [
13435             "bytes",
13436             "charms",
13437             "tools"
13438           ]
13439         },
13440         "SerializedModelTools": {
13441           "type": "object",
13442           "properties": {
13443             "uri": {
13444               "type": "string"
13445             },
13446             "version": {
13447               "type": "string"
13448             }
13449           },
13450           "additionalProperties": false,
13451           "required": [
13452             "version",
13453             "uri"
13454           ]
13455         }
13456       }
13457     }
13458   },
13459   {
13460     "Name": "ModelConfig",
13461     "Version": 1,
13462     "Schema": {
13463       "type": "object",
13464       "properties": {
13465         "ModelDefaults": {
13466           "type": "object",
13467           "properties": {
13468             "Result": {
13469               "$ref": "#/definitions/ModelDefaultsResult"
13470             }
13471           }
13472         },
13473         "ModelGet": {
13474           "type": "object",
13475           "properties": {
13476             "Result": {
13477               "$ref": "#/definitions/ModelConfigResults"
13478             }
13479           }
13480         },
13481         "ModelSet": {
13482           "type": "object",
13483           "properties": {
13484             "Params": {
13485               "$ref": "#/definitions/ModelSet"
13486             }
13487           }
13488         },
13489         "ModelUnset": {
13490           "type": "object",
13491           "properties": {
13492             "Params": {
13493               "$ref": "#/definitions/ModelUnset"
13494             }
13495           }
13496         },
13497         "SetModelDefaults": {
13498           "type": "object",
13499           "properties": {
13500             "Params": {
13501               "$ref": "#/definitions/SetModelDefaults"
13502             },
13503             "Result": {
13504               "$ref": "#/definitions/ErrorResults"
13505             }
13506           }
13507         },
13508         "UnsetModelDefaults": {
13509           "type": "object",
13510           "properties": {
13511             "Params": {
13512               "$ref": "#/definitions/UnsetModelDefaults"
13513             },
13514             "Result": {
13515               "$ref": "#/definitions/ErrorResults"
13516             }
13517           }
13518         }
13519       },
13520       "definitions": {
13521         "ConfigValue": {
13522           "type": "object",
13523           "properties": {
13524             "source": {
13525               "type": "string"
13526             },
13527             "value": {
13528               "type": "object",
13529               "additionalProperties": true
13530             }
13531           },
13532           "additionalProperties": false,
13533           "required": [
13534             "value",
13535             "source"
13536           ]
13537         },
13538         "Error": {
13539           "type": "object",
13540           "properties": {
13541             "code": {
13542               "type": "string"
13543             },
13544             "info": {
13545               "$ref": "#/definitions/ErrorInfo"
13546             },
13547             "message": {
13548               "type": "string"
13549             }
13550           },
13551           "additionalProperties": false,
13552           "required": [
13553             "message",
13554             "code"
13555           ]
13556         },
13557         "ErrorInfo": {
13558           "type": "object",
13559           "properties": {
13560             "macaroon": {
13561               "$ref": "#/definitions/Macaroon"
13562             },
13563             "macaroon-path": {
13564               "type": "string"
13565             }
13566           },
13567           "additionalProperties": false
13568         },
13569         "ErrorResult": {
13570           "type": "object",
13571           "properties": {
13572             "error": {
13573               "$ref": "#/definitions/Error"
13574             }
13575           },
13576           "additionalProperties": false
13577         },
13578         "ErrorResults": {
13579           "type": "object",
13580           "properties": {
13581             "results": {
13582               "type": "array",
13583               "items": {
13584                 "$ref": "#/definitions/ErrorResult"
13585               }
13586             }
13587           },
13588           "additionalProperties": false,
13589           "required": [
13590             "results"
13591           ]
13592         },
13593         "Macaroon": {
13594           "type": "object",
13595           "additionalProperties": false
13596         },
13597         "ModelConfigResults": {
13598           "type": "object",
13599           "properties": {
13600             "config": {
13601               "type": "object",
13602               "patternProperties": {
13603                 ".*": {
13604                   "$ref": "#/definitions/ConfigValue"
13605                 }
13606               }
13607             }
13608           },
13609           "additionalProperties": false,
13610           "required": [
13611             "config"
13612           ]
13613         },
13614         "ModelDefaultValues": {
13615           "type": "object",
13616           "properties": {
13617             "cloud-region": {
13618               "type": "string"
13619             },
13620             "cloud-tag": {
13621               "type": "string"
13622             },
13623             "config": {
13624               "type": "object",
13625               "patternProperties": {
13626                 ".*": {
13627                   "type": "object",
13628                   "additionalProperties": true
13629                 }
13630               }
13631             }
13632           },
13633           "additionalProperties": false,
13634           "required": [
13635             "config"
13636           ]
13637         },
13638         "ModelDefaults": {
13639           "type": "object",
13640           "properties": {
13641             "controller": {
13642               "type": "object",
13643               "additionalProperties": true
13644             },
13645             "default": {
13646               "type": "object",
13647               "additionalProperties": true
13648             },
13649             "regions": {
13650               "type": "array",
13651               "items": {
13652                 "$ref": "#/definitions/RegionDefaults"
13653               }
13654             }
13655           },
13656           "additionalProperties": false
13657         },
13658         "ModelDefaultsResult": {
13659           "type": "object",
13660           "properties": {
13661             "config": {
13662               "type": "object",
13663               "patternProperties": {
13664                 ".*": {
13665                   "$ref": "#/definitions/ModelDefaults"
13666                 }
13667               }
13668             }
13669           },
13670           "additionalProperties": false,
13671           "required": [
13672             "config"
13673           ]
13674         },
13675         "ModelSet": {
13676           "type": "object",
13677           "properties": {
13678             "config": {
13679               "type": "object",
13680               "patternProperties": {
13681                 ".*": {
13682                   "type": "object",
13683                   "additionalProperties": true
13684                 }
13685               }
13686             }
13687           },
13688           "additionalProperties": false,
13689           "required": [
13690             "config"
13691           ]
13692         },
13693         "ModelUnset": {
13694           "type": "object",
13695           "properties": {
13696             "keys": {
13697               "type": "array",
13698               "items": {
13699                 "type": "string"
13700               }
13701             }
13702           },
13703           "additionalProperties": false,
13704           "required": [
13705             "keys"
13706           ]
13707         },
13708         "ModelUnsetKeys": {
13709           "type": "object",
13710           "properties": {
13711             "cloud-region": {
13712               "type": "string"
13713             },
13714             "cloud-tag": {
13715               "type": "string"
13716             },
13717             "keys": {
13718               "type": "array",
13719               "items": {
13720                 "type": "string"
13721               }
13722             }
13723           },
13724           "additionalProperties": false,
13725           "required": [
13726             "keys"
13727           ]
13728         },
13729         "RegionDefaults": {
13730           "type": "object",
13731           "properties": {
13732             "region-name": {
13733               "type": "string"
13734             },
13735             "value": {
13736               "type": "object",
13737               "additionalProperties": true
13738             }
13739           },
13740           "additionalProperties": false,
13741           "required": [
13742             "region-name",
13743             "value"
13744           ]
13745         },
13746         "SetModelDefaults": {
13747           "type": "object",
13748           "properties": {
13749             "config": {
13750               "type": "array",
13751               "items": {
13752                 "$ref": "#/definitions/ModelDefaultValues"
13753               }
13754             }
13755           },
13756           "additionalProperties": false,
13757           "required": [
13758             "config"
13759           ]
13760         },
13761         "UnsetModelDefaults": {
13762           "type": "object",
13763           "properties": {
13764             "keys": {
13765               "type": "array",
13766               "items": {
13767                 "$ref": "#/definitions/ModelUnsetKeys"
13768               }
13769             }
13770           },
13771           "additionalProperties": false,
13772           "required": [
13773             "keys"
13774           ]
13775         }
13776       }
13777     }
13778   },
13779   {
13780     "Name": "ModelManager",
13781     "Version": 2,
13782     "Schema": {
13783       "type": "object",
13784       "properties": {
13785         "CreateModel": {
13786           "type": "object",
13787           "properties": {
13788             "Params": {
13789               "$ref": "#/definitions/ModelCreateArgs"
13790             },
13791             "Result": {
13792               "$ref": "#/definitions/ModelInfo"
13793             }
13794           }
13795         },
13796         "DestroyModel": {
13797           "type": "object"
13798         },
13799         "DestroyModels": {
13800           "type": "object",
13801           "properties": {
13802             "Params": {
13803               "$ref": "#/definitions/Entities"
13804             },
13805             "Result": {
13806               "$ref": "#/definitions/ErrorResults"
13807             }
13808           }
13809         },
13810         "DumpModels": {
13811           "type": "object",
13812           "properties": {
13813             "Params": {
13814               "$ref": "#/definitions/Entities"
13815             },
13816             "Result": {
13817               "$ref": "#/definitions/MapResults"
13818             }
13819           }
13820         },
13821         "DumpModelsDB": {
13822           "type": "object",
13823           "properties": {
13824             "Params": {
13825               "$ref": "#/definitions/Entities"
13826             },
13827             "Result": {
13828               "$ref": "#/definitions/MapResults"
13829             }
13830           }
13831         },
13832         "ListModels": {
13833           "type": "object",
13834           "properties": {
13835             "Params": {
13836               "$ref": "#/definitions/Entity"
13837             },
13838             "Result": {
13839               "$ref": "#/definitions/UserModelList"
13840             }
13841           }
13842         },
13843         "ModelInfo": {
13844           "type": "object",
13845           "properties": {
13846             "Params": {
13847               "$ref": "#/definitions/Entities"
13848             },
13849             "Result": {
13850               "$ref": "#/definitions/ModelInfoResults"
13851             }
13852           }
13853         },
13854         "ModifyModelAccess": {
13855           "type": "object",
13856           "properties": {
13857             "Params": {
13858               "$ref": "#/definitions/ModifyModelAccessRequest"
13859             },
13860             "Result": {
13861               "$ref": "#/definitions/ErrorResults"
13862             }
13863           }
13864         }
13865       },
13866       "definitions": {
13867         "Entities": {
13868           "type": "object",
13869           "properties": {
13870             "entities": {
13871               "type": "array",
13872               "items": {
13873                 "$ref": "#/definitions/Entity"
13874               }
13875             }
13876           },
13877           "additionalProperties": false,
13878           "required": [
13879             "entities"
13880           ]
13881         },
13882         "Entity": {
13883           "type": "object",
13884           "properties": {
13885             "tag": {
13886               "type": "string"
13887             }
13888           },
13889           "additionalProperties": false,
13890           "required": [
13891             "tag"
13892           ]
13893         },
13894         "EntityStatus": {
13895           "type": "object",
13896           "properties": {
13897             "data": {
13898               "type": "object",
13899               "patternProperties": {
13900                 ".*": {
13901                   "type": "object",
13902                   "additionalProperties": true
13903                 }
13904               }
13905             },
13906             "info": {
13907               "type": "string"
13908             },
13909             "since": {
13910               "type": "string",
13911               "format": "date-time"
13912             },
13913             "status": {
13914               "type": "string"
13915             }
13916           },
13917           "additionalProperties": false,
13918           "required": [
13919             "status",
13920             "info",
13921             "since"
13922           ]
13923         },
13924         "Error": {
13925           "type": "object",
13926           "properties": {
13927             "code": {
13928               "type": "string"
13929             },
13930             "info": {
13931               "$ref": "#/definitions/ErrorInfo"
13932             },
13933             "message": {
13934               "type": "string"
13935             }
13936           },
13937           "additionalProperties": false,
13938           "required": [
13939             "message",
13940             "code"
13941           ]
13942         },
13943         "ErrorInfo": {
13944           "type": "object",
13945           "properties": {
13946             "macaroon": {
13947               "$ref": "#/definitions/Macaroon"
13948             },
13949             "macaroon-path": {
13950               "type": "string"
13951             }
13952           },
13953           "additionalProperties": false
13954         },
13955         "ErrorResult": {
13956           "type": "object",
13957           "properties": {
13958             "error": {
13959               "$ref": "#/definitions/Error"
13960             }
13961           },
13962           "additionalProperties": false
13963         },
13964         "ErrorResults": {
13965           "type": "object",
13966           "properties": {
13967             "results": {
13968               "type": "array",
13969               "items": {
13970                 "$ref": "#/definitions/ErrorResult"
13971               }
13972             }
13973           },
13974           "additionalProperties": false,
13975           "required": [
13976             "results"
13977           ]
13978         },
13979         "Macaroon": {
13980           "type": "object",
13981           "additionalProperties": false
13982         },
13983         "MachineHardware": {
13984           "type": "object",
13985           "properties": {
13986             "arch": {
13987               "type": "string"
13988             },
13989             "availability-zone": {
13990               "type": "string"
13991             },
13992             "cores": {
13993               "type": "integer"
13994             },
13995             "cpu-power": {
13996               "type": "integer"
13997             },
13998             "mem": {
13999               "type": "integer"
14000             },
14001             "root-disk": {
14002               "type": "integer"
14003             },
14004             "tags": {
14005               "type": "array",
14006               "items": {
14007                 "type": "string"
14008               }
14009             }
14010           },
14011           "additionalProperties": false
14012         },
14013         "MapResult": {
14014           "type": "object",
14015           "properties": {
14016             "error": {
14017               "$ref": "#/definitions/Error"
14018             },
14019             "result": {
14020               "type": "object",
14021               "patternProperties": {
14022                 ".*": {
14023                   "type": "object",
14024                   "additionalProperties": true
14025                 }
14026               }
14027             }
14028           },
14029           "additionalProperties": false,
14030           "required": [
14031             "result"
14032           ]
14033         },
14034         "MapResults": {
14035           "type": "object",
14036           "properties": {
14037             "results": {
14038               "type": "array",
14039               "items": {
14040                 "$ref": "#/definitions/MapResult"
14041               }
14042             }
14043           },
14044           "additionalProperties": false,
14045           "required": [
14046             "results"
14047           ]
14048         },
14049         "Model": {
14050           "type": "object",
14051           "properties": {
14052             "name": {
14053               "type": "string"
14054             },
14055             "owner-tag": {
14056               "type": "string"
14057             },
14058             "uuid": {
14059               "type": "string"
14060             }
14061           },
14062           "additionalProperties": false,
14063           "required": [
14064             "name",
14065             "uuid",
14066             "owner-tag"
14067           ]
14068         },
14069         "ModelCreateArgs": {
14070           "type": "object",
14071           "properties": {
14072             "cloud-tag": {
14073               "type": "string"
14074             },
14075             "config": {
14076               "type": "object",
14077               "patternProperties": {
14078                 ".*": {
14079                   "type": "object",
14080                   "additionalProperties": true
14081                 }
14082               }
14083             },
14084             "credential": {
14085               "type": "string"
14086             },
14087             "name": {
14088               "type": "string"
14089             },
14090             "owner-tag": {
14091               "type": "string"
14092             },
14093             "region": {
14094               "type": "string"
14095             }
14096           },
14097           "additionalProperties": false,
14098           "required": [
14099             "name",
14100             "owner-tag"
14101           ]
14102         },
14103         "ModelInfo": {
14104           "type": "object",
14105           "properties": {
14106             "cloud": {
14107               "type": "string"
14108             },
14109             "cloud-credential-tag": {
14110               "type": "string"
14111             },
14112             "cloud-region": {
14113               "type": "string"
14114             },
14115             "controller-uuid": {
14116               "type": "string"
14117             },
14118             "default-series": {
14119               "type": "string"
14120             },
14121             "life": {
14122               "type": "string"
14123             },
14124             "machines": {
14125               "type": "array",
14126               "items": {
14127                 "$ref": "#/definitions/ModelMachineInfo"
14128               }
14129             },
14130             "name": {
14131               "type": "string"
14132             },
14133             "owner-tag": {
14134               "type": "string"
14135             },
14136             "provider-type": {
14137               "type": "string"
14138             },
14139             "status": {
14140               "$ref": "#/definitions/EntityStatus"
14141             },
14142             "users": {
14143               "type": "array",
14144               "items": {
14145                 "$ref": "#/definitions/ModelUserInfo"
14146               }
14147             },
14148             "uuid": {
14149               "type": "string"
14150             }
14151           },
14152           "additionalProperties": false,
14153           "required": [
14154             "name",
14155             "uuid",
14156             "controller-uuid",
14157             "provider-type",
14158             "default-series",
14159             "cloud",
14160             "owner-tag",
14161             "life",
14162             "status",
14163             "users",
14164             "machines"
14165           ]
14166         },
14167         "ModelInfoResult": {
14168           "type": "object",
14169           "properties": {
14170             "error": {
14171               "$ref": "#/definitions/Error"
14172             },
14173             "result": {
14174               "$ref": "#/definitions/ModelInfo"
14175             }
14176           },
14177           "additionalProperties": false
14178         },
14179         "ModelInfoResults": {
14180           "type": "object",
14181           "properties": {
14182             "results": {
14183               "type": "array",
14184               "items": {
14185                 "$ref": "#/definitions/ModelInfoResult"
14186               }
14187             }
14188           },
14189           "additionalProperties": false,
14190           "required": [
14191             "results"
14192           ]
14193         },
14194         "ModelMachineInfo": {
14195           "type": "object",
14196           "properties": {
14197             "hardware": {
14198               "$ref": "#/definitions/MachineHardware"
14199             },
14200             "id": {
14201               "type": "string"
14202             }
14203           },
14204           "additionalProperties": false,
14205           "required": [
14206             "id"
14207           ]
14208         },
14209         "ModelUserInfo": {
14210           "type": "object",
14211           "properties": {
14212             "access": {
14213               "type": "string"
14214             },
14215             "display-name": {
14216               "type": "string"
14217             },
14218             "last-connection": {
14219               "type": "string",
14220               "format": "date-time"
14221             },
14222             "user": {
14223               "type": "string"
14224             }
14225           },
14226           "additionalProperties": false,
14227           "required": [
14228             "user",
14229             "display-name",
14230             "last-connection",
14231             "access"
14232           ]
14233         },
14234         "ModifyModelAccess": {
14235           "type": "object",
14236           "properties": {
14237             "access": {
14238               "type": "string"
14239             },
14240             "action": {
14241               "type": "string"
14242             },
14243             "model-tag": {
14244               "type": "string"
14245             },
14246             "user-tag": {
14247               "type": "string"
14248             }
14249           },
14250           "additionalProperties": false,
14251           "required": [
14252             "user-tag",
14253             "action",
14254             "access",
14255             "model-tag"
14256           ]
14257         },
14258         "ModifyModelAccessRequest": {
14259           "type": "object",
14260           "properties": {
14261             "changes": {
14262               "type": "array",
14263               "items": {
14264                 "$ref": "#/definitions/ModifyModelAccess"
14265               }
14266             }
14267           },
14268           "additionalProperties": false,
14269           "required": [
14270             "changes"
14271           ]
14272         },
14273         "UserModel": {
14274           "type": "object",
14275           "properties": {
14276             "last-connection": {
14277               "type": "string",
14278               "format": "date-time"
14279             },
14280             "model": {
14281               "$ref": "#/definitions/Model"
14282             }
14283           },
14284           "additionalProperties": false,
14285           "required": [
14286             "model",
14287             "last-connection"
14288           ]
14289         },
14290         "UserModelList": {
14291           "type": "object",
14292           "properties": {
14293             "user-models": {
14294               "type": "array",
14295               "items": {
14296                 "$ref": "#/definitions/UserModel"
14297               }
14298             }
14299           },
14300           "additionalProperties": false,
14301           "required": [
14302             "user-models"
14303           ]
14304         }
14305       }
14306     }
14307   },
14308   {
14309     "Name": "NotifyWatcher",
14310     "Version": 1,
14311     "Schema": {
14312       "type": "object",
14313       "properties": {
14314         "Next": {
14315           "type": "object"
14316         },
14317         "Stop": {
14318           "type": "object"
14319         }
14320       }
14321     }
14322   },
14323   {
14324     "Name": "Pinger",
14325     "Version": 1,
14326     "Schema": {
14327       "type": "object",
14328       "properties": {
14329         "Ping": {
14330           "type": "object"
14331         },
14332         "Stop": {
14333           "type": "object"
14334         }
14335       }
14336     }
14337   },
14338   {
14339     "Name": "Provisioner",
14340     "Version": 3,
14341     "Schema": {
14342       "type": "object",
14343       "properties": {
14344         "APIAddresses": {
14345           "type": "object",
14346           "properties": {
14347             "Result": {
14348               "$ref": "#/definitions/StringsResult"
14349             }
14350           }
14351         },
14352         "APIHostPorts": {
14353           "type": "object",
14354           "properties": {
14355             "Result": {
14356               "$ref": "#/definitions/APIHostPortsResult"
14357             }
14358           }
14359         },
14360         "CACert": {
14361           "type": "object",
14362           "properties": {
14363             "Result": {
14364               "$ref": "#/definitions/BytesResult"
14365             }
14366           }
14367         },
14368         "Constraints": {
14369           "type": "object",
14370           "properties": {
14371             "Params": {
14372               "$ref": "#/definitions/Entities"
14373             },
14374             "Result": {
14375               "$ref": "#/definitions/ConstraintsResults"
14376             }
14377           }
14378         },
14379         "ContainerConfig": {
14380           "type": "object",
14381           "properties": {
14382             "Result": {
14383               "$ref": "#/definitions/ContainerConfig"
14384             }
14385           }
14386         },
14387         "ContainerManagerConfig": {
14388           "type": "object",
14389           "properties": {
14390             "Params": {
14391               "$ref": "#/definitions/ContainerManagerConfigParams"
14392             },
14393             "Result": {
14394               "$ref": "#/definitions/ContainerManagerConfig"
14395             }
14396           }
14397         },
14398         "ControllerConfig": {
14399           "type": "object",
14400           "properties": {
14401             "Result": {
14402               "$ref": "#/definitions/ControllerConfigResult"
14403             }
14404           }
14405         },
14406         "DistributionGroup": {
14407           "type": "object",
14408           "properties": {
14409             "Params": {
14410               "$ref": "#/definitions/Entities"
14411             },
14412             "Result": {
14413               "$ref": "#/definitions/DistributionGroupResults"
14414             }
14415           }
14416         },
14417         "EnsureDead": {
14418           "type": "object",
14419           "properties": {
14420             "Params": {
14421               "$ref": "#/definitions/Entities"
14422             },
14423             "Result": {
14424               "$ref": "#/definitions/ErrorResults"
14425             }
14426           }
14427         },
14428         "FindTools": {
14429           "type": "object",
14430           "properties": {
14431             "Params": {
14432               "$ref": "#/definitions/FindToolsParams"
14433             },
14434             "Result": {
14435               "$ref": "#/definitions/FindToolsResult"
14436             }
14437           }
14438         },
14439         "GetContainerInterfaceInfo": {
14440           "type": "object",
14441           "properties": {
14442             "Params": {
14443               "$ref": "#/definitions/Entities"
14444             },
14445             "Result": {
14446               "$ref": "#/definitions/MachineNetworkConfigResults"
14447             }
14448           }
14449         },
14450         "InstanceId": {
14451           "type": "object",
14452           "properties": {
14453             "Params": {
14454               "$ref": "#/definitions/Entities"
14455             },
14456             "Result": {
14457               "$ref": "#/definitions/StringResults"
14458             }
14459           }
14460         },
14461         "InstanceStatus": {
14462           "type": "object",
14463           "properties": {
14464             "Params": {
14465               "$ref": "#/definitions/Entities"
14466             },
14467             "Result": {
14468               "$ref": "#/definitions/StatusResults"
14469             }
14470           }
14471         },
14472         "Life": {
14473           "type": "object",
14474           "properties": {
14475             "Params": {
14476               "$ref": "#/definitions/Entities"
14477             },
14478             "Result": {
14479               "$ref": "#/definitions/LifeResults"
14480             }
14481           }
14482         },
14483         "MachinesWithTransientErrors": {
14484           "type": "object",
14485           "properties": {
14486             "Result": {
14487               "$ref": "#/definitions/StatusResults"
14488             }
14489           }
14490         },
14491         "MarkMachinesForRemoval": {
14492           "type": "object",
14493           "properties": {
14494             "Params": {
14495               "$ref": "#/definitions/Entities"
14496             },
14497             "Result": {
14498               "$ref": "#/definitions/ErrorResults"
14499             }
14500           }
14501         },
14502         "ModelConfig": {
14503           "type": "object",
14504           "properties": {
14505             "Result": {
14506               "$ref": "#/definitions/ModelConfigResult"
14507             }
14508           }
14509         },
14510         "ModelUUID": {
14511           "type": "object",
14512           "properties": {
14513             "Result": {
14514               "$ref": "#/definitions/StringResult"
14515             }
14516           }
14517         },
14518         "PrepareContainerInterfaceInfo": {
14519           "type": "object",
14520           "properties": {
14521             "Params": {
14522               "$ref": "#/definitions/Entities"
14523             },
14524             "Result": {
14525               "$ref": "#/definitions/MachineNetworkConfigResults"
14526             }
14527           }
14528         },
14529         "ProvisioningInfo": {
14530           "type": "object",
14531           "properties": {
14532             "Params": {
14533               "$ref": "#/definitions/Entities"
14534             },
14535             "Result": {
14536               "$ref": "#/definitions/ProvisioningInfoResults"
14537             }
14538           }
14539         },
14540         "ReleaseContainerAddresses": {
14541           "type": "object",
14542           "properties": {
14543             "Params": {
14544               "$ref": "#/definitions/Entities"
14545             },
14546             "Result": {
14547               "$ref": "#/definitions/ErrorResults"
14548             }
14549           }
14550         },
14551         "Remove": {
14552           "type": "object",
14553           "properties": {
14554             "Params": {
14555               "$ref": "#/definitions/Entities"
14556             },
14557             "Result": {
14558               "$ref": "#/definitions/ErrorResults"
14559             }
14560           }
14561         },
14562         "Series": {
14563           "type": "object",
14564           "properties": {
14565             "Params": {
14566               "$ref": "#/definitions/Entities"
14567             },
14568             "Result": {
14569               "$ref": "#/definitions/StringResults"
14570             }
14571           }
14572         },
14573         "SetInstanceInfo": {
14574           "type": "object",
14575           "properties": {
14576             "Params": {
14577               "$ref": "#/definitions/InstancesInfo"
14578             },
14579             "Result": {
14580               "$ref": "#/definitions/ErrorResults"
14581             }
14582           }
14583         },
14584         "SetInstanceStatus": {
14585           "type": "object",
14586           "properties": {
14587             "Params": {
14588               "$ref": "#/definitions/SetStatus"
14589             },
14590             "Result": {
14591               "$ref": "#/definitions/ErrorResults"
14592             }
14593           }
14594         },
14595         "SetPasswords": {
14596           "type": "object",
14597           "properties": {
14598             "Params": {
14599               "$ref": "#/definitions/EntityPasswords"
14600             },
14601             "Result": {
14602               "$ref": "#/definitions/ErrorResults"
14603             }
14604           }
14605         },
14606         "SetStatus": {
14607           "type": "object",
14608           "properties": {
14609             "Params": {
14610               "$ref": "#/definitions/SetStatus"
14611             },
14612             "Result": {
14613               "$ref": "#/definitions/ErrorResults"
14614             }
14615           }
14616         },
14617         "SetSupportedContainers": {
14618           "type": "object",
14619           "properties": {
14620             "Params": {
14621               "$ref": "#/definitions/MachineContainersParams"
14622             },
14623             "Result": {
14624               "$ref": "#/definitions/ErrorResults"
14625             }
14626           }
14627         },
14628         "StateAddresses": {
14629           "type": "object",
14630           "properties": {
14631             "Result": {
14632               "$ref": "#/definitions/StringsResult"
14633             }
14634           }
14635         },
14636         "Status": {
14637           "type": "object",
14638           "properties": {
14639             "Params": {
14640               "$ref": "#/definitions/Entities"
14641             },
14642             "Result": {
14643               "$ref": "#/definitions/StatusResults"
14644             }
14645           }
14646         },
14647         "Tools": {
14648           "type": "object",
14649           "properties": {
14650             "Params": {
14651               "$ref": "#/definitions/Entities"
14652             },
14653             "Result": {
14654               "$ref": "#/definitions/ToolsResults"
14655             }
14656           }
14657         },
14658         "UpdateStatus": {
14659           "type": "object",
14660           "properties": {
14661             "Params": {
14662               "$ref": "#/definitions/SetStatus"
14663             },
14664             "Result": {
14665               "$ref": "#/definitions/ErrorResults"
14666             }
14667           }
14668         },
14669         "WatchAPIHostPorts": {
14670           "type": "object",
14671           "properties": {
14672             "Result": {
14673               "$ref": "#/definitions/NotifyWatchResult"
14674             }
14675           }
14676         },
14677         "WatchAllContainers": {
14678           "type": "object",
14679           "properties": {
14680             "Params": {
14681               "$ref": "#/definitions/WatchContainers"
14682             },
14683             "Result": {
14684               "$ref": "#/definitions/StringsWatchResults"
14685             }
14686           }
14687         },
14688         "WatchContainers": {
14689           "type": "object",
14690           "properties": {
14691             "Params": {
14692               "$ref": "#/definitions/WatchContainers"
14693             },
14694             "Result": {
14695               "$ref": "#/definitions/StringsWatchResults"
14696             }
14697           }
14698         },
14699         "WatchForModelConfigChanges": {
14700           "type": "object",
14701           "properties": {
14702             "Result": {
14703               "$ref": "#/definitions/NotifyWatchResult"
14704             }
14705           }
14706         },
14707         "WatchMachineErrorRetry": {
14708           "type": "object",
14709           "properties": {
14710             "Result": {
14711               "$ref": "#/definitions/NotifyWatchResult"
14712             }
14713           }
14714         },
14715         "WatchModelMachines": {
14716           "type": "object",
14717           "properties": {
14718             "Result": {
14719               "$ref": "#/definitions/StringsWatchResult"
14720             }
14721           }
14722         }
14723       },
14724       "definitions": {
14725         "APIHostPortsResult": {
14726           "type": "object",
14727           "properties": {
14728             "servers": {
14729               "type": "array",
14730               "items": {
14731                 "type": "array",
14732                 "items": {
14733                   "$ref": "#/definitions/HostPort"
14734                 }
14735               }
14736             }
14737           },
14738           "additionalProperties": false,
14739           "required": [
14740             "servers"
14741           ]
14742         },
14743         "Address": {
14744           "type": "object",
14745           "properties": {
14746             "scope": {
14747               "type": "string"
14748             },
14749             "space-name": {
14750               "type": "string"
14751             },
14752             "type": {
14753               "type": "string"
14754             },
14755             "value": {
14756               "type": "string"
14757             }
14758           },
14759           "additionalProperties": false,
14760           "required": [
14761             "value",
14762             "type",
14763             "scope"
14764           ]
14765         },
14766         "Binary": {
14767           "type": "object",
14768           "properties": {
14769             "Arch": {
14770               "type": "string"
14771             },
14772             "Number": {
14773               "$ref": "#/definitions/Number"
14774             },
14775             "Series": {
14776               "type": "string"
14777             }
14778           },
14779           "additionalProperties": false,
14780           "required": [
14781             "Number",
14782             "Series",
14783             "Arch"
14784           ]
14785         },
14786         "BytesResult": {
14787           "type": "object",
14788           "properties": {
14789             "result": {
14790               "type": "array",
14791               "items": {
14792                 "type": "integer"
14793               }
14794             }
14795           },
14796           "additionalProperties": false,
14797           "required": [
14798             "result"
14799           ]
14800         },
14801         "CloudImageMetadata": {
14802           "type": "object",
14803           "properties": {
14804             "arch": {
14805               "type": "string"
14806             },
14807             "image-id": {
14808               "type": "string"
14809             },
14810             "priority": {
14811               "type": "integer"
14812             },
14813             "region": {
14814               "type": "string"
14815             },
14816             "root-storage-size": {
14817               "type": "integer"
14818             },
14819             "root-storage-type": {
14820               "type": "string"
14821             },
14822             "series": {
14823               "type": "string"
14824             },
14825             "source": {
14826               "type": "string"
14827             },
14828             "stream": {
14829               "type": "string"
14830             },
14831             "version": {
14832               "type": "string"
14833             },
14834             "virt-type": {
14835               "type": "string"
14836             }
14837           },
14838           "additionalProperties": false,
14839           "required": [
14840             "image-id",
14841             "region",
14842             "version",
14843             "series",
14844             "arch",
14845             "source",
14846             "priority"
14847           ]
14848         },
14849         "ConstraintsResult": {
14850           "type": "object",
14851           "properties": {
14852             "constraints": {
14853               "$ref": "#/definitions/Value"
14854             },
14855             "error": {
14856               "$ref": "#/definitions/Error"
14857             }
14858           },
14859           "additionalProperties": false,
14860           "required": [
14861             "constraints"
14862           ]
14863         },
14864         "ConstraintsResults": {
14865           "type": "object",
14866           "properties": {
14867             "results": {
14868               "type": "array",
14869               "items": {
14870                 "$ref": "#/definitions/ConstraintsResult"
14871               }
14872             }
14873           },
14874           "additionalProperties": false,
14875           "required": [
14876             "results"
14877           ]
14878         },
14879         "ContainerConfig": {
14880           "type": "object",
14881           "properties": {
14882             "UpdateBehavior": {
14883               "$ref": "#/definitions/UpdateBehavior"
14884             },
14885             "apt-mirror": {
14886               "type": "string"
14887             },
14888             "apt-proxy": {
14889               "$ref": "#/definitions/Settings"
14890             },
14891             "authorized-keys": {
14892               "type": "string"
14893             },
14894             "provider-type": {
14895               "type": "string"
14896             },
14897             "proxy": {
14898               "$ref": "#/definitions/Settings"
14899             },
14900             "ssl-hostname-verification": {
14901               "type": "boolean"
14902             }
14903           },
14904           "additionalProperties": false,
14905           "required": [
14906             "provider-type",
14907             "authorized-keys",
14908             "ssl-hostname-verification",
14909             "proxy",
14910             "apt-proxy",
14911             "apt-mirror",
14912             "UpdateBehavior"
14913           ]
14914         },
14915         "ContainerManagerConfig": {
14916           "type": "object",
14917           "properties": {
14918             "config": {
14919               "type": "object",
14920               "patternProperties": {
14921                 ".*": {
14922                   "type": "string"
14923                 }
14924               }
14925             }
14926           },
14927           "additionalProperties": false,
14928           "required": [
14929             "config"
14930           ]
14931         },
14932         "ContainerManagerConfigParams": {
14933           "type": "object",
14934           "properties": {
14935             "type": {
14936               "type": "string"
14937             }
14938           },
14939           "additionalProperties": false,
14940           "required": [
14941             "type"
14942           ]
14943         },
14944         "ControllerConfigResult": {
14945           "type": "object",
14946           "properties": {
14947             "config": {
14948               "type": "object",
14949               "patternProperties": {
14950                 ".*": {
14951                   "type": "object",
14952                   "additionalProperties": true
14953                 }
14954               }
14955             }
14956           },
14957           "additionalProperties": false,
14958           "required": [
14959             "config"
14960           ]
14961         },
14962         "DistributionGroupResult": {
14963           "type": "object",
14964           "properties": {
14965             "error": {
14966               "$ref": "#/definitions/Error"
14967             },
14968             "result": {
14969               "type": "array",
14970               "items": {
14971                 "type": "string"
14972               }
14973             }
14974           },
14975           "additionalProperties": false,
14976           "required": [
14977             "result"
14978           ]
14979         },
14980         "DistributionGroupResults": {
14981           "type": "object",
14982           "properties": {
14983             "results": {
14984               "type": "array",
14985               "items": {
14986                 "$ref": "#/definitions/DistributionGroupResult"
14987               }
14988             }
14989           },
14990           "additionalProperties": false,
14991           "required": [
14992             "results"
14993           ]
14994         },
14995         "Entities": {
14996           "type": "object",
14997           "properties": {
14998             "entities": {
14999               "type": "array",
15000               "items": {
15001                 "$ref": "#/definitions/Entity"
15002               }
15003             }
15004           },
15005           "additionalProperties": false,
15006           "required": [
15007             "entities"
15008           ]
15009         },
15010         "Entity": {
15011           "type": "object",
15012           "properties": {
15013             "tag": {
15014               "type": "string"
15015             }
15016           },
15017           "additionalProperties": false,
15018           "required": [
15019             "tag"
15020           ]
15021         },
15022         "EntityPassword": {
15023           "type": "object",
15024           "properties": {
15025             "password": {
15026               "type": "string"
15027             },
15028             "tag": {
15029               "type": "string"
15030             }
15031           },
15032           "additionalProperties": false,
15033           "required": [
15034             "tag",
15035             "password"
15036           ]
15037         },
15038         "EntityPasswords": {
15039           "type": "object",
15040           "properties": {
15041             "changes": {
15042               "type": "array",
15043               "items": {
15044                 "$ref": "#/definitions/EntityPassword"
15045               }
15046             }
15047           },
15048           "additionalProperties": false,
15049           "required": [
15050             "changes"
15051           ]
15052         },
15053         "EntityStatusArgs": {
15054           "type": "object",
15055           "properties": {
15056             "data": {
15057               "type": "object",
15058               "patternProperties": {
15059                 ".*": {
15060                   "type": "object",
15061                   "additionalProperties": true
15062                 }
15063               }
15064             },
15065             "info": {
15066               "type": "string"
15067             },
15068             "status": {
15069               "type": "string"
15070             },
15071             "tag": {
15072               "type": "string"
15073             }
15074           },
15075           "additionalProperties": false,
15076           "required": [
15077             "tag",
15078             "status",
15079             "info",
15080             "data"
15081           ]
15082         },
15083         "Error": {
15084           "type": "object",
15085           "properties": {
15086             "code": {
15087               "type": "string"
15088             },
15089             "info": {
15090               "$ref": "#/definitions/ErrorInfo"
15091             },
15092             "message": {
15093               "type": "string"
15094             }
15095           },
15096           "additionalProperties": false,
15097           "required": [
15098             "message",
15099             "code"
15100           ]
15101         },
15102         "ErrorInfo": {
15103           "type": "object",
15104           "properties": {
15105             "macaroon": {
15106               "$ref": "#/definitions/Macaroon"
15107             },
15108             "macaroon-path": {
15109               "type": "string"
15110             }
15111           },
15112           "additionalProperties": false
15113         },
15114         "ErrorResult": {
15115           "type": "object",
15116           "properties": {
15117             "error": {
15118               "$ref": "#/definitions/Error"
15119             }
15120           },
15121           "additionalProperties": false
15122         },
15123         "ErrorResults": {
15124           "type": "object",
15125           "properties": {
15126             "results": {
15127               "type": "array",
15128               "items": {
15129                 "$ref": "#/definitions/ErrorResult"
15130               }
15131             }
15132           },
15133           "additionalProperties": false,
15134           "required": [
15135             "results"
15136           ]
15137         },
15138         "FindToolsParams": {
15139           "type": "object",
15140           "properties": {
15141             "arch": {
15142               "type": "string"
15143             },
15144             "major": {
15145               "type": "integer"
15146             },
15147             "minor": {
15148               "type": "integer"
15149             },
15150             "number": {
15151               "$ref": "#/definitions/Number"
15152             },
15153             "series": {
15154               "type": "string"
15155             }
15156           },
15157           "additionalProperties": false,
15158           "required": [
15159             "number",
15160             "major",
15161             "minor",
15162             "arch",
15163             "series"
15164           ]
15165         },
15166         "FindToolsResult": {
15167           "type": "object",
15168           "properties": {
15169             "error": {
15170               "$ref": "#/definitions/Error"
15171             },
15172             "list": {
15173               "type": "array",
15174               "items": {
15175                 "$ref": "#/definitions/Tools"
15176               }
15177             }
15178           },
15179           "additionalProperties": false,
15180           "required": [
15181             "list"
15182           ]
15183         },
15184         "HardwareCharacteristics": {
15185           "type": "object",
15186           "properties": {
15187             "arch": {
15188               "type": "string"
15189             },
15190             "availability-zone": {
15191               "type": "string"
15192             },
15193             "cpu-cores": {
15194               "type": "integer"
15195             },
15196             "cpu-power": {
15197               "type": "integer"
15198             },
15199             "mem": {
15200               "type": "integer"
15201             },
15202             "root-disk": {
15203               "type": "integer"
15204             },
15205             "tags": {
15206               "type": "array",
15207               "items": {
15208                 "type": "string"
15209               }
15210             }
15211           },
15212           "additionalProperties": false
15213         },
15214         "HostPort": {
15215           "type": "object",
15216           "properties": {
15217             "Address": {
15218               "$ref": "#/definitions/Address"
15219             },
15220             "port": {
15221               "type": "integer"
15222             }
15223           },
15224           "additionalProperties": false,
15225           "required": [
15226             "Address",
15227             "port"
15228           ]
15229         },
15230         "InstanceInfo": {
15231           "type": "object",
15232           "properties": {
15233             "characteristics": {
15234               "$ref": "#/definitions/HardwareCharacteristics"
15235             },
15236             "instance-id": {
15237               "type": "string"
15238             },
15239             "network-config": {
15240               "type": "array",
15241               "items": {
15242                 "$ref": "#/definitions/NetworkConfig"
15243               }
15244             },
15245             "nonce": {
15246               "type": "string"
15247             },
15248             "tag": {
15249               "type": "string"
15250             },
15251             "volume-attachments": {
15252               "type": "object",
15253               "patternProperties": {
15254                 ".*": {
15255                   "$ref": "#/definitions/VolumeAttachmentInfo"
15256                 }
15257               }
15258             },
15259             "volumes": {
15260               "type": "array",
15261               "items": {
15262                 "$ref": "#/definitions/Volume"
15263               }
15264             }
15265           },
15266           "additionalProperties": false,
15267           "required": [
15268             "tag",
15269             "instance-id",
15270             "nonce",
15271             "characteristics",
15272             "volumes",
15273             "volume-attachments",
15274             "network-config"
15275           ]
15276         },
15277         "InstancesInfo": {
15278           "type": "object",
15279           "properties": {
15280             "machines": {
15281               "type": "array",
15282               "items": {
15283                 "$ref": "#/definitions/InstanceInfo"
15284               }
15285             }
15286           },
15287           "additionalProperties": false,
15288           "required": [
15289             "machines"
15290           ]
15291         },
15292         "LifeResult": {
15293           "type": "object",
15294           "properties": {
15295             "error": {
15296               "$ref": "#/definitions/Error"
15297             },
15298             "life": {
15299               "type": "string"
15300             }
15301           },
15302           "additionalProperties": false,
15303           "required": [
15304             "life"
15305           ]
15306         },
15307         "LifeResults": {
15308           "type": "object",
15309           "properties": {
15310             "results": {
15311               "type": "array",
15312               "items": {
15313                 "$ref": "#/definitions/LifeResult"
15314               }
15315             }
15316           },
15317           "additionalProperties": false,
15318           "required": [
15319             "results"
15320           ]
15321         },
15322         "Macaroon": {
15323           "type": "object",
15324           "additionalProperties": false
15325         },
15326         "MachineContainers": {
15327           "type": "object",
15328           "properties": {
15329             "container-types": {
15330               "type": "array",
15331               "items": {
15332                 "type": "string"
15333               }
15334             },
15335             "machine-tag": {
15336               "type": "string"
15337             }
15338           },
15339           "additionalProperties": false,
15340           "required": [
15341             "machine-tag",
15342             "container-types"
15343           ]
15344         },
15345         "MachineContainersParams": {
15346           "type": "object",
15347           "properties": {
15348             "params": {
15349               "type": "array",
15350               "items": {
15351                 "$ref": "#/definitions/MachineContainers"
15352               }
15353             }
15354           },
15355           "additionalProperties": false,
15356           "required": [
15357             "params"
15358           ]
15359         },
15360         "MachineNetworkConfigResult": {
15361           "type": "object",
15362           "properties": {
15363             "error": {
15364               "$ref": "#/definitions/Error"
15365             },
15366             "info": {
15367               "type": "array",
15368               "items": {
15369                 "$ref": "#/definitions/NetworkConfig"
15370               }
15371             }
15372           },
15373           "additionalProperties": false,
15374           "required": [
15375             "info"
15376           ]
15377         },
15378         "MachineNetworkConfigResults": {
15379           "type": "object",
15380           "properties": {
15381             "results": {
15382               "type": "array",
15383               "items": {
15384                 "$ref": "#/definitions/MachineNetworkConfigResult"
15385               }
15386             }
15387           },
15388           "additionalProperties": false,
15389           "required": [
15390             "results"
15391           ]
15392         },
15393         "ModelConfigResult": {
15394           "type": "object",
15395           "properties": {
15396             "config": {
15397               "type": "object",
15398               "patternProperties": {
15399                 ".*": {
15400                   "type": "object",
15401                   "additionalProperties": true
15402                 }
15403               }
15404             }
15405           },
15406           "additionalProperties": false,
15407           "required": [
15408             "config"
15409           ]
15410         },
15411         "NetworkConfig": {
15412           "type": "object",
15413           "properties": {
15414             "address": {
15415               "type": "string"
15416             },
15417             "cidr": {
15418               "type": "string"
15419             },
15420             "config-type": {
15421               "type": "string"
15422             },
15423             "device-index": {
15424               "type": "integer"
15425             },
15426             "disabled": {
15427               "type": "boolean"
15428             },
15429             "dns-search-domains": {
15430               "type": "array",
15431               "items": {
15432                 "type": "string"
15433               }
15434             },
15435             "dns-servers": {
15436               "type": "array",
15437               "items": {
15438                 "type": "string"
15439               }
15440             },
15441             "gateway-address": {
15442               "type": "string"
15443             },
15444             "interface-name": {
15445               "type": "string"
15446             },
15447             "interface-type": {
15448               "type": "string"
15449             },
15450             "mac-address": {
15451               "type": "string"
15452             },
15453             "mtu": {
15454               "type": "integer"
15455             },
15456             "no-auto-start": {
15457               "type": "boolean"
15458             },
15459             "parent-interface-name": {
15460               "type": "string"
15461             },
15462             "provider-address-id": {
15463               "type": "string"
15464             },
15465             "provider-id": {
15466               "type": "string"
15467             },
15468             "provider-space-id": {
15469               "type": "string"
15470             },
15471             "provider-subnet-id": {
15472               "type": "string"
15473             },
15474             "provider-vlan-id": {
15475               "type": "string"
15476             },
15477             "vlan-tag": {
15478               "type": "integer"
15479             }
15480           },
15481           "additionalProperties": false,
15482           "required": [
15483             "device-index",
15484             "mac-address",
15485             "cidr",
15486             "mtu",
15487             "provider-id",
15488             "provider-subnet-id",
15489             "provider-space-id",
15490             "provider-address-id",
15491             "provider-vlan-id",
15492             "vlan-tag",
15493             "interface-name",
15494             "parent-interface-name",
15495             "interface-type",
15496             "disabled"
15497           ]
15498         },
15499         "NotifyWatchResult": {
15500           "type": "object",
15501           "properties": {
15502             "NotifyWatcherId": {
15503               "type": "string"
15504             },
15505             "error": {
15506               "$ref": "#/definitions/Error"
15507             }
15508           },
15509           "additionalProperties": false,
15510           "required": [
15511             "NotifyWatcherId"
15512           ]
15513         },
15514         "Number": {
15515           "type": "object",
15516           "properties": {
15517             "Build": {
15518               "type": "integer"
15519             },
15520             "Major": {
15521               "type": "integer"
15522             },
15523             "Minor": {
15524               "type": "integer"
15525             },
15526             "Patch": {
15527               "type": "integer"
15528             },
15529             "Tag": {
15530               "type": "string"
15531             }
15532           },
15533           "additionalProperties": false,
15534           "required": [
15535             "Major",
15536             "Minor",
15537             "Tag",
15538             "Patch",
15539             "Build"
15540           ]
15541         },
15542         "ProvisioningInfo": {
15543           "type": "object",
15544           "properties": {
15545             "constraints": {
15546               "$ref": "#/definitions/Value"
15547             },
15548             "controller-config": {
15549               "type": "object",
15550               "patternProperties": {
15551                 ".*": {
15552                   "type": "object",
15553                   "additionalProperties": true
15554                 }
15555               }
15556             },
15557             "endpoint-bindings": {
15558               "type": "object",
15559               "patternProperties": {
15560                 ".*": {
15561                   "type": "string"
15562                 }
15563               }
15564             },
15565             "image-metadata": {
15566               "type": "array",
15567               "items": {
15568                 "$ref": "#/definitions/CloudImageMetadata"
15569               }
15570             },
15571             "jobs": {
15572               "type": "array",
15573               "items": {
15574                 "type": "string"
15575               }
15576             },
15577             "placement": {
15578               "type": "string"
15579             },
15580             "series": {
15581               "type": "string"
15582             },
15583             "subnets-to-zones": {
15584               "type": "object",
15585               "patternProperties": {
15586                 ".*": {
15587                   "type": "array",
15588                   "items": {
15589                     "type": "string"
15590                   }
15591                 }
15592               }
15593             },
15594             "tags": {
15595               "type": "object",
15596               "patternProperties": {
15597                 ".*": {
15598                   "type": "string"
15599                 }
15600               }
15601             },
15602             "volumes": {
15603               "type": "array",
15604               "items": {
15605                 "$ref": "#/definitions/VolumeParams"
15606               }
15607             }
15608           },
15609           "additionalProperties": false,
15610           "required": [
15611             "constraints",
15612             "series",
15613             "placement",
15614             "jobs"
15615           ]
15616         },
15617         "ProvisioningInfoResult": {
15618           "type": "object",
15619           "properties": {
15620             "error": {
15621               "$ref": "#/definitions/Error"
15622             },
15623             "result": {
15624               "$ref": "#/definitions/ProvisioningInfo"
15625             }
15626           },
15627           "additionalProperties": false,
15628           "required": [
15629             "result"
15630           ]
15631         },
15632         "ProvisioningInfoResults": {
15633           "type": "object",
15634           "properties": {
15635             "results": {
15636               "type": "array",
15637               "items": {
15638                 "$ref": "#/definitions/ProvisioningInfoResult"
15639               }
15640             }
15641           },
15642           "additionalProperties": false,
15643           "required": [
15644             "results"
15645           ]
15646         },
15647         "SetStatus": {
15648           "type": "object",
15649           "properties": {
15650             "entities": {
15651               "type": "array",
15652               "items": {
15653                 "$ref": "#/definitions/EntityStatusArgs"
15654               }
15655             }
15656           },
15657           "additionalProperties": false,
15658           "required": [
15659             "entities"
15660           ]
15661         },
15662         "Settings": {
15663           "type": "object",
15664           "properties": {
15665             "Ftp": {
15666               "type": "string"
15667             },
15668             "Http": {
15669               "type": "string"
15670             },
15671             "Https": {
15672               "type": "string"
15673             },
15674             "NoProxy": {
15675               "type": "string"
15676             }
15677           },
15678           "additionalProperties": false,
15679           "required": [
15680             "Http",
15681             "Https",
15682             "Ftp",
15683             "NoProxy"
15684           ]
15685         },
15686         "StatusResult": {
15687           "type": "object",
15688           "properties": {
15689             "data": {
15690               "type": "object",
15691               "patternProperties": {
15692                 ".*": {
15693                   "type": "object",
15694                   "additionalProperties": true
15695                 }
15696               }
15697             },
15698             "error": {
15699               "$ref": "#/definitions/Error"
15700             },
15701             "id": {
15702               "type": "string"
15703             },
15704             "info": {
15705               "type": "string"
15706             },
15707             "life": {
15708               "type": "string"
15709             },
15710             "since": {
15711               "type": "string",
15712               "format": "date-time"
15713             },
15714             "status": {
15715               "type": "string"
15716             }
15717           },
15718           "additionalProperties": false,
15719           "required": [
15720             "id",
15721             "life",
15722             "status",
15723             "info",
15724             "data",
15725             "since"
15726           ]
15727         },
15728         "StatusResults": {
15729           "type": "object",
15730           "properties": {
15731             "results": {
15732               "type": "array",
15733               "items": {
15734                 "$ref": "#/definitions/StatusResult"
15735               }
15736             }
15737           },
15738           "additionalProperties": false,
15739           "required": [
15740             "results"
15741           ]
15742         },
15743         "StringResult": {
15744           "type": "object",
15745           "properties": {
15746             "error": {
15747               "$ref": "#/definitions/Error"
15748             },
15749             "result": {
15750               "type": "string"
15751             }
15752           },
15753           "additionalProperties": false,
15754           "required": [
15755             "result"
15756           ]
15757         },
15758         "StringResults": {
15759           "type": "object",
15760           "properties": {
15761             "results": {
15762               "type": "array",
15763               "items": {
15764                 "$ref": "#/definitions/StringResult"
15765               }
15766             }
15767           },
15768           "additionalProperties": false,
15769           "required": [
15770             "results"
15771           ]
15772         },
15773         "StringsResult": {
15774           "type": "object",
15775           "properties": {
15776             "error": {
15777               "$ref": "#/definitions/Error"
15778             },
15779             "result": {
15780               "type": "array",
15781               "items": {
15782                 "type": "string"
15783               }
15784             }
15785           },
15786           "additionalProperties": false
15787         },
15788         "StringsWatchResult": {
15789           "type": "object",
15790           "properties": {
15791             "changes": {
15792               "type": "array",
15793               "items": {
15794                 "type": "string"
15795               }
15796             },
15797             "error": {
15798               "$ref": "#/definitions/Error"
15799             },
15800             "watcher-id": {
15801               "type": "string"
15802             }
15803           },
15804           "additionalProperties": false,
15805           "required": [
15806             "watcher-id"
15807           ]
15808         },
15809         "StringsWatchResults": {
15810           "type": "object",
15811           "properties": {
15812             "results": {
15813               "type": "array",
15814               "items": {
15815                 "$ref": "#/definitions/StringsWatchResult"
15816               }
15817             }
15818           },
15819           "additionalProperties": false,
15820           "required": [
15821             "results"
15822           ]
15823         },
15824         "Tools": {
15825           "type": "object",
15826           "properties": {
15827             "sha256": {
15828               "type": "string"
15829             },
15830             "size": {
15831               "type": "integer"
15832             },
15833             "url": {
15834               "type": "string"
15835             },
15836             "version": {
15837               "$ref": "#/definitions/Binary"
15838             }
15839           },
15840           "additionalProperties": false,
15841           "required": [
15842             "version",
15843             "url",
15844             "size"
15845           ]
15846         },
15847         "ToolsResult": {
15848           "type": "object",
15849           "properties": {
15850             "disable-ssl-hostname-verification": {
15851               "type": "boolean"
15852             },
15853             "error": {
15854               "$ref": "#/definitions/Error"
15855             },
15856             "tools": {
15857               "type": "array",
15858               "items": {
15859                 "$ref": "#/definitions/Tools"
15860               }
15861             }
15862           },
15863           "additionalProperties": false,
15864           "required": [
15865             "tools",
15866             "disable-ssl-hostname-verification"
15867           ]
15868         },
15869         "ToolsResults": {
15870           "type": "object",
15871           "properties": {
15872             "results": {
15873               "type": "array",
15874               "items": {
15875                 "$ref": "#/definitions/ToolsResult"
15876               }
15877             }
15878           },
15879           "additionalProperties": false,
15880           "required": [
15881             "results"
15882           ]
15883         },
15884         "UpdateBehavior": {
15885           "type": "object",
15886           "properties": {
15887             "enable-os-refresh-update": {
15888               "type": "boolean"
15889             },
15890             "enable-os-upgrade": {
15891               "type": "boolean"
15892             }
15893           },
15894           "additionalProperties": false,
15895           "required": [
15896             "enable-os-refresh-update",
15897             "enable-os-upgrade"
15898           ]
15899         },
15900         "Value": {
15901           "type": "object",
15902           "properties": {
15903             "arch": {
15904               "type": "string"
15905             },
15906             "container": {
15907               "type": "string"
15908             },
15909             "cpu-cores": {
15910               "type": "integer"
15911             },
15912             "cpu-power": {
15913               "type": "integer"
15914             },
15915             "instance-type": {
15916               "type": "string"
15917             },
15918             "mem": {
15919               "type": "integer"
15920             },
15921             "root-disk": {
15922               "type": "integer"
15923             },
15924             "spaces": {
15925               "type": "array",
15926               "items": {
15927                 "type": "string"
15928               }
15929             },
15930             "tags": {
15931               "type": "array",
15932               "items": {
15933                 "type": "string"
15934               }
15935             },
15936             "virt-type": {
15937               "type": "string"
15938             }
15939           },
15940           "additionalProperties": false
15941         },
15942         "Volume": {
15943           "type": "object",
15944           "properties": {
15945             "info": {
15946               "$ref": "#/definitions/VolumeInfo"
15947             },
15948             "volume-tag": {
15949               "type": "string"
15950             }
15951           },
15952           "additionalProperties": false,
15953           "required": [
15954             "volume-tag",
15955             "info"
15956           ]
15957         },
15958         "VolumeAttachmentInfo": {
15959           "type": "object",
15960           "properties": {
15961             "bus-address": {
15962               "type": "string"
15963             },
15964             "device-link": {
15965               "type": "string"
15966             },
15967             "device-name": {
15968               "type": "string"
15969             },
15970             "read-only": {
15971               "type": "boolean"
15972             }
15973           },
15974           "additionalProperties": false
15975         },
15976         "VolumeAttachmentParams": {
15977           "type": "object",
15978           "properties": {
15979             "instance-id": {
15980               "type": "string"
15981             },
15982             "machine-tag": {
15983               "type": "string"
15984             },
15985             "provider": {
15986               "type": "string"
15987             },
15988             "read-only": {
15989               "type": "boolean"
15990             },
15991             "volume-id": {
15992               "type": "string"
15993             },
15994             "volume-tag": {
15995               "type": "string"
15996             }
15997           },
15998           "additionalProperties": false,
15999           "required": [
16000             "volume-tag",
16001             "machine-tag",
16002             "provider"
16003           ]
16004         },
16005         "VolumeInfo": {
16006           "type": "object",
16007           "properties": {
16008             "hardware-id": {
16009               "type": "string"
16010             },
16011             "persistent": {
16012               "type": "boolean"
16013             },
16014             "size": {
16015               "type": "integer"
16016             },
16017             "volume-id": {
16018               "type": "string"
16019             }
16020           },
16021           "additionalProperties": false,
16022           "required": [
16023             "volume-id",
16024             "size",
16025             "persistent"
16026           ]
16027         },
16028         "VolumeParams": {
16029           "type": "object",
16030           "properties": {
16031             "attachment": {
16032               "$ref": "#/definitions/VolumeAttachmentParams"
16033             },
16034             "attributes": {
16035               "type": "object",
16036               "patternProperties": {
16037                 ".*": {
16038                   "type": "object",
16039                   "additionalProperties": true
16040                 }
16041               }
16042             },
16043             "provider": {
16044               "type": "string"
16045             },
16046             "size": {
16047               "type": "integer"
16048             },
16049             "tags": {
16050               "type": "object",
16051               "patternProperties": {
16052                 ".*": {
16053                   "type": "string"
16054                 }
16055               }
16056             },
16057             "volume-tag": {
16058               "type": "string"
16059             }
16060           },
16061           "additionalProperties": false,
16062           "required": [
16063             "volume-tag",
16064             "size",
16065             "provider"
16066           ]
16067         },
16068         "WatchContainer": {
16069           "type": "object",
16070           "properties": {
16071             "container-type": {
16072               "type": "string"
16073             },
16074             "machine-tag": {
16075               "type": "string"
16076             }
16077           },
16078           "additionalProperties": false,
16079           "required": [
16080             "machine-tag",
16081             "container-type"
16082           ]
16083         },
16084         "WatchContainers": {
16085           "type": "object",
16086           "properties": {
16087             "params": {
16088               "type": "array",
16089               "items": {
16090                 "$ref": "#/definitions/WatchContainer"
16091               }
16092             }
16093           },
16094           "additionalProperties": false,
16095           "required": [
16096             "params"
16097           ]
16098         }
16099       }
16100     }
16101   },
16102   {
16103     "Name": "ProxyUpdater",
16104     "Version": 1,
16105     "Schema": {
16106       "type": "object",
16107       "properties": {
16108         "ProxyConfig": {
16109           "type": "object",
16110           "properties": {
16111             "Params": {
16112               "$ref": "#/definitions/Entities"
16113             },
16114             "Result": {
16115               "$ref": "#/definitions/ProxyConfigResults"
16116             }
16117           }
16118         },
16119         "WatchForProxyConfigAndAPIHostPortChanges": {
16120           "type": "object",
16121           "properties": {
16122             "Params": {
16123               "$ref": "#/definitions/Entities"
16124             },
16125             "Result": {
16126               "$ref": "#/definitions/NotifyWatchResults"
16127             }
16128           }
16129         }
16130       },
16131       "definitions": {
16132         "Entities": {
16133           "type": "object",
16134           "properties": {
16135             "entities": {
16136               "type": "array",
16137               "items": {
16138                 "$ref": "#/definitions/Entity"
16139               }
16140             }
16141           },
16142           "additionalProperties": false,
16143           "required": [
16144             "entities"
16145           ]
16146         },
16147         "Entity": {
16148           "type": "object",
16149           "properties": {
16150             "tag": {
16151               "type": "string"
16152             }
16153           },
16154           "additionalProperties": false,
16155           "required": [
16156             "tag"
16157           ]
16158         },
16159         "Error": {
16160           "type": "object",
16161           "properties": {
16162             "code": {
16163               "type": "string"
16164             },
16165             "info": {
16166               "$ref": "#/definitions/ErrorInfo"
16167             },
16168             "message": {
16169               "type": "string"
16170             }
16171           },
16172           "additionalProperties": false,
16173           "required": [
16174             "message",
16175             "code"
16176           ]
16177         },
16178         "ErrorInfo": {
16179           "type": "object",
16180           "properties": {
16181             "macaroon": {
16182               "$ref": "#/definitions/Macaroon"
16183             },
16184             "macaroon-path": {
16185               "type": "string"
16186             }
16187           },
16188           "additionalProperties": false
16189         },
16190         "Macaroon": {
16191           "type": "object",
16192           "additionalProperties": false
16193         },
16194         "NotifyWatchResult": {
16195           "type": "object",
16196           "properties": {
16197             "NotifyWatcherId": {
16198               "type": "string"
16199             },
16200             "error": {
16201               "$ref": "#/definitions/Error"
16202             }
16203           },
16204           "additionalProperties": false,
16205           "required": [
16206             "NotifyWatcherId"
16207           ]
16208         },
16209         "NotifyWatchResults": {
16210           "type": "object",
16211           "properties": {
16212             "results": {
16213               "type": "array",
16214               "items": {
16215                 "$ref": "#/definitions/NotifyWatchResult"
16216               }
16217             }
16218           },
16219           "additionalProperties": false,
16220           "required": [
16221             "results"
16222           ]
16223         },
16224         "ProxyConfig": {
16225           "type": "object",
16226           "properties": {
16227             "ftp": {
16228               "type": "string"
16229             },
16230             "http": {
16231               "type": "string"
16232             },
16233             "https": {
16234               "type": "string"
16235             },
16236             "no-proxy": {
16237               "type": "string"
16238             }
16239           },
16240           "additionalProperties": false,
16241           "required": [
16242             "http",
16243             "https",
16244             "ftp",
16245             "no-proxy"
16246           ]
16247         },
16248         "ProxyConfigResult": {
16249           "type": "object",
16250           "properties": {
16251             "apt-proxy-settings": {
16252               "$ref": "#/definitions/ProxyConfig"
16253             },
16254             "error": {
16255               "$ref": "#/definitions/Error"
16256             },
16257             "proxy-settings": {
16258               "$ref": "#/definitions/ProxyConfig"
16259             }
16260           },
16261           "additionalProperties": false,
16262           "required": [
16263             "proxy-settings",
16264             "apt-proxy-settings"
16265           ]
16266         },
16267         "ProxyConfigResults": {
16268           "type": "object",
16269           "properties": {
16270             "results": {
16271               "type": "array",
16272               "items": {
16273                 "$ref": "#/definitions/ProxyConfigResult"
16274               }
16275             }
16276           },
16277           "additionalProperties": false,
16278           "required": [
16279             "results"
16280           ]
16281         }
16282       }
16283     }
16284   },
16285   {
16286     "Name": "Reboot",
16287     "Version": 2,
16288     "Schema": {
16289       "type": "object",
16290       "properties": {
16291         "ClearReboot": {
16292           "type": "object",
16293           "properties": {
16294             "Params": {
16295               "$ref": "#/definitions/Entities"
16296             },
16297             "Result": {
16298               "$ref": "#/definitions/ErrorResults"
16299             }
16300           }
16301         },
16302         "GetRebootAction": {
16303           "type": "object",
16304           "properties": {
16305             "Params": {
16306               "$ref": "#/definitions/Entities"
16307             },
16308             "Result": {
16309               "$ref": "#/definitions/RebootActionResults"
16310             }
16311           }
16312         },
16313         "RequestReboot": {
16314           "type": "object",
16315           "properties": {
16316             "Params": {
16317               "$ref": "#/definitions/Entities"
16318             },
16319             "Result": {
16320               "$ref": "#/definitions/ErrorResults"
16321             }
16322           }
16323         },
16324         "WatchForRebootEvent": {
16325           "type": "object",
16326           "properties": {
16327             "Result": {
16328               "$ref": "#/definitions/NotifyWatchResult"
16329             }
16330           }
16331         }
16332       },
16333       "definitions": {
16334         "Entities": {
16335           "type": "object",
16336           "properties": {
16337             "entities": {
16338               "type": "array",
16339               "items": {
16340                 "$ref": "#/definitions/Entity"
16341               }
16342             }
16343           },
16344           "additionalProperties": false,
16345           "required": [
16346             "entities"
16347           ]
16348         },
16349         "Entity": {
16350           "type": "object",
16351           "properties": {
16352             "tag": {
16353               "type": "string"
16354             }
16355           },
16356           "additionalProperties": false,
16357           "required": [
16358             "tag"
16359           ]
16360         },
16361         "Error": {
16362           "type": "object",
16363           "properties": {
16364             "code": {
16365               "type": "string"
16366             },
16367             "info": {
16368               "$ref": "#/definitions/ErrorInfo"
16369             },
16370             "message": {
16371               "type": "string"
16372             }
16373           },
16374           "additionalProperties": false,
16375           "required": [
16376             "message",
16377             "code"
16378           ]
16379         },
16380         "ErrorInfo": {
16381           "type": "object",
16382           "properties": {
16383             "macaroon": {
16384               "$ref": "#/definitions/Macaroon"
16385             },
16386             "macaroon-path": {
16387               "type": "string"
16388             }
16389           },
16390           "additionalProperties": false
16391         },
16392         "ErrorResult": {
16393           "type": "object",
16394           "properties": {
16395             "error": {
16396               "$ref": "#/definitions/Error"
16397             }
16398           },
16399           "additionalProperties": false
16400         },
16401         "ErrorResults": {
16402           "type": "object",
16403           "properties": {
16404             "results": {
16405               "type": "array",
16406               "items": {
16407                 "$ref": "#/definitions/ErrorResult"
16408               }
16409             }
16410           },
16411           "additionalProperties": false,
16412           "required": [
16413             "results"
16414           ]
16415         },
16416         "Macaroon": {
16417           "type": "object",
16418           "additionalProperties": false
16419         },
16420         "NotifyWatchResult": {
16421           "type": "object",
16422           "properties": {
16423             "NotifyWatcherId": {
16424               "type": "string"
16425             },
16426             "error": {
16427               "$ref": "#/definitions/Error"
16428             }
16429           },
16430           "additionalProperties": false,
16431           "required": [
16432             "NotifyWatcherId"
16433           ]
16434         },
16435         "RebootActionResult": {
16436           "type": "object",
16437           "properties": {
16438             "error": {
16439               "$ref": "#/definitions/Error"
16440             },
16441             "result": {
16442               "type": "string"
16443             }
16444           },
16445           "additionalProperties": false
16446         },
16447         "RebootActionResults": {
16448           "type": "object",
16449           "properties": {
16450             "results": {
16451               "type": "array",
16452               "items": {
16453                 "$ref": "#/definitions/RebootActionResult"
16454               }
16455             }
16456           },
16457           "additionalProperties": false
16458         }
16459       }
16460     }
16461   },
16462   {
16463     "Name": "RelationUnitsWatcher",
16464     "Version": 1,
16465     "Schema": {
16466       "type": "object",
16467       "properties": {
16468         "Next": {
16469           "type": "object",
16470           "properties": {
16471             "Result": {
16472               "$ref": "#/definitions/RelationUnitsWatchResult"
16473             }
16474           }
16475         },
16476         "Stop": {
16477           "type": "object"
16478         }
16479       },
16480       "definitions": {
16481         "Error": {
16482           "type": "object",
16483           "properties": {
16484             "code": {
16485               "type": "string"
16486             },
16487             "info": {
16488               "$ref": "#/definitions/ErrorInfo"
16489             },
16490             "message": {
16491               "type": "string"
16492             }
16493           },
16494           "additionalProperties": false,
16495           "required": [
16496             "message",
16497             "code"
16498           ]
16499         },
16500         "ErrorInfo": {
16501           "type": "object",
16502           "properties": {
16503             "macaroon": {
16504               "$ref": "#/definitions/Macaroon"
16505             },
16506             "macaroon-path": {
16507               "type": "string"
16508             }
16509           },
16510           "additionalProperties": false
16511         },
16512         "Macaroon": {
16513           "type": "object",
16514           "additionalProperties": false
16515         },
16516         "RelationUnitsChange": {
16517           "type": "object",
16518           "properties": {
16519             "changed": {
16520               "type": "object",
16521               "patternProperties": {
16522                 ".*": {
16523                   "$ref": "#/definitions/UnitSettings"
16524                 }
16525               }
16526             },
16527             "departed": {
16528               "type": "array",
16529               "items": {
16530                 "type": "string"
16531               }
16532             }
16533           },
16534           "additionalProperties": false,
16535           "required": [
16536             "changed"
16537           ]
16538         },
16539         "RelationUnitsWatchResult": {
16540           "type": "object",
16541           "properties": {
16542             "changes": {
16543               "$ref": "#/definitions/RelationUnitsChange"
16544             },
16545             "error": {
16546               "$ref": "#/definitions/Error"
16547             },
16548             "watcher-id": {
16549               "type": "string"
16550             }
16551           },
16552           "additionalProperties": false,
16553           "required": [
16554             "watcher-id",
16555             "changes"
16556           ]
16557         },
16558         "UnitSettings": {
16559           "type": "object",
16560           "properties": {
16561             "version": {
16562               "type": "integer"
16563             }
16564           },
16565           "additionalProperties": false,
16566           "required": [
16567             "version"
16568           ]
16569         }
16570       }
16571     }
16572   },
16573   {
16574     "Name": "Resumer",
16575     "Version": 2,
16576     "Schema": {
16577       "type": "object",
16578       "properties": {
16579         "ResumeTransactions": {
16580           "type": "object"
16581         }
16582       }
16583     }
16584   },
16585   {
16586     "Name": "RetryStrategy",
16587     "Version": 1,
16588     "Schema": {
16589       "type": "object",
16590       "properties": {
16591         "RetryStrategy": {
16592           "type": "object",
16593           "properties": {
16594             "Params": {
16595               "$ref": "#/definitions/Entities"
16596             },
16597             "Result": {
16598               "$ref": "#/definitions/RetryStrategyResults"
16599             }
16600           }
16601         },
16602         "WatchRetryStrategy": {
16603           "type": "object",
16604           "properties": {
16605             "Params": {
16606               "$ref": "#/definitions/Entities"
16607             },
16608             "Result": {
16609               "$ref": "#/definitions/NotifyWatchResults"
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         "NotifyWatchResult": {
16678           "type": "object",
16679           "properties": {
16680             "NotifyWatcherId": {
16681               "type": "string"
16682             },
16683             "error": {
16684               "$ref": "#/definitions/Error"
16685             }
16686           },
16687           "additionalProperties": false,
16688           "required": [
16689             "NotifyWatcherId"
16690           ]
16691         },
16692         "NotifyWatchResults": {
16693           "type": "object",
16694           "properties": {
16695             "results": {
16696               "type": "array",
16697               "items": {
16698                 "$ref": "#/definitions/NotifyWatchResult"
16699               }
16700             }
16701           },
16702           "additionalProperties": false,
16703           "required": [
16704             "results"
16705           ]
16706         },
16707         "RetryStrategy": {
16708           "type": "object",
16709           "properties": {
16710             "jitter-retry-time": {
16711               "type": "boolean"
16712             },
16713             "max-retry-time": {
16714               "type": "integer"
16715             },
16716             "min-retry-time": {
16717               "type": "integer"
16718             },
16719             "retry-time-factor": {
16720               "type": "integer"
16721             },
16722             "should-retry": {
16723               "type": "boolean"
16724             }
16725           },
16726           "additionalProperties": false,
16727           "required": [
16728             "should-retry",
16729             "min-retry-time",
16730             "max-retry-time",
16731             "jitter-retry-time",
16732             "retry-time-factor"
16733           ]
16734         },
16735         "RetryStrategyResult": {
16736           "type": "object",
16737           "properties": {
16738             "error": {
16739               "$ref": "#/definitions/Error"
16740             },
16741             "result": {
16742               "$ref": "#/definitions/RetryStrategy"
16743             }
16744           },
16745           "additionalProperties": false
16746         },
16747         "RetryStrategyResults": {
16748           "type": "object",
16749           "properties": {
16750             "results": {
16751               "type": "array",
16752               "items": {
16753                 "$ref": "#/definitions/RetryStrategyResult"
16754               }
16755             }
16756           },
16757           "additionalProperties": false,
16758           "required": [
16759             "results"
16760           ]
16761         }
16762       }
16763     }
16764   },
16765   {
16766     "Name": "SSHClient",
16767     "Version": 1,
16768     "Schema": {
16769       "type": "object",
16770       "properties": {
16771         "PrivateAddress": {
16772           "type": "object",
16773           "properties": {
16774             "Params": {
16775               "$ref": "#/definitions/Entities"
16776             },
16777             "Result": {
16778               "$ref": "#/definitions/SSHAddressResults"
16779             }
16780           }
16781         },
16782         "Proxy": {
16783           "type": "object",
16784           "properties": {
16785             "Result": {
16786               "$ref": "#/definitions/SSHProxyResult"
16787             }
16788           }
16789         },
16790         "PublicAddress": {
16791           "type": "object",
16792           "properties": {
16793             "Params": {
16794               "$ref": "#/definitions/Entities"
16795             },
16796             "Result": {
16797               "$ref": "#/definitions/SSHAddressResults"
16798             }
16799           }
16800         },
16801         "PublicKeys": {
16802           "type": "object",
16803           "properties": {
16804             "Params": {
16805               "$ref": "#/definitions/Entities"
16806             },
16807             "Result": {
16808               "$ref": "#/definitions/SSHPublicKeysResults"
16809             }
16810           }
16811         }
16812       },
16813       "definitions": {
16814         "Entities": {
16815           "type": "object",
16816           "properties": {
16817             "entities": {
16818               "type": "array",
16819               "items": {
16820                 "$ref": "#/definitions/Entity"
16821               }
16822             }
16823           },
16824           "additionalProperties": false,
16825           "required": [
16826             "entities"
16827           ]
16828         },
16829         "Entity": {
16830           "type": "object",
16831           "properties": {
16832             "tag": {
16833               "type": "string"
16834             }
16835           },
16836           "additionalProperties": false,
16837           "required": [
16838             "tag"
16839           ]
16840         },
16841         "Error": {
16842           "type": "object",
16843           "properties": {
16844             "code": {
16845               "type": "string"
16846             },
16847             "info": {
16848               "$ref": "#/definitions/ErrorInfo"
16849             },
16850             "message": {
16851               "type": "string"
16852             }
16853           },
16854           "additionalProperties": false,
16855           "required": [
16856             "message",
16857             "code"
16858           ]
16859         },
16860         "ErrorInfo": {
16861           "type": "object",
16862           "properties": {
16863             "macaroon": {
16864               "$ref": "#/definitions/Macaroon"
16865             },
16866             "macaroon-path": {
16867               "type": "string"
16868             }
16869           },
16870           "additionalProperties": false
16871         },
16872         "Macaroon": {
16873           "type": "object",
16874           "additionalProperties": false
16875         },
16876         "SSHAddressResult": {
16877           "type": "object",
16878           "properties": {
16879             "address": {
16880               "type": "string"
16881             },
16882             "error": {
16883               "$ref": "#/definitions/Error"
16884             }
16885           },
16886           "additionalProperties": false
16887         },
16888         "SSHAddressResults": {
16889           "type": "object",
16890           "properties": {
16891             "results": {
16892               "type": "array",
16893               "items": {
16894                 "$ref": "#/definitions/SSHAddressResult"
16895               }
16896             }
16897           },
16898           "additionalProperties": false,
16899           "required": [
16900             "results"
16901           ]
16902         },
16903         "SSHProxyResult": {
16904           "type": "object",
16905           "properties": {
16906             "use-proxy": {
16907               "type": "boolean"
16908             }
16909           },
16910           "additionalProperties": false,
16911           "required": [
16912             "use-proxy"
16913           ]
16914         },
16915         "SSHPublicKeysResult": {
16916           "type": "object",
16917           "properties": {
16918             "error": {
16919               "$ref": "#/definitions/Error"
16920             },
16921             "public-keys": {
16922               "type": "array",
16923               "items": {
16924                 "type": "string"
16925               }
16926             }
16927           },
16928           "additionalProperties": false
16929         },
16930         "SSHPublicKeysResults": {
16931           "type": "object",
16932           "properties": {
16933             "results": {
16934               "type": "array",
16935               "items": {
16936                 "$ref": "#/definitions/SSHPublicKeysResult"
16937               }
16938             }
16939           },
16940           "additionalProperties": false,
16941           "required": [
16942             "results"
16943           ]
16944         }
16945       }
16946     }
16947   },
16948   {
16949     "Name": "Singular",
16950     "Version": 1,
16951     "Schema": {
16952       "type": "object",
16953       "properties": {
16954         "Claim": {
16955           "type": "object",
16956           "properties": {
16957             "Params": {
16958               "$ref": "#/definitions/SingularClaims"
16959             },
16960             "Result": {
16961               "$ref": "#/definitions/ErrorResults"
16962             }
16963           }
16964         },
16965         "Wait": {
16966           "type": "object",
16967           "properties": {
16968             "Params": {
16969               "$ref": "#/definitions/Entities"
16970             },
16971             "Result": {
16972               "$ref": "#/definitions/ErrorResults"
16973             }
16974           }
16975         }
16976       },
16977       "definitions": {
16978         "Entities": {
16979           "type": "object",
16980           "properties": {
16981             "entities": {
16982               "type": "array",
16983               "items": {
16984                 "$ref": "#/definitions/Entity"
16985               }
16986             }
16987           },
16988           "additionalProperties": false,
16989           "required": [
16990             "entities"
16991           ]
16992         },
16993         "Entity": {
16994           "type": "object",
16995           "properties": {
16996             "tag": {
16997               "type": "string"
16998             }
16999           },
17000           "additionalProperties": false,
17001           "required": [
17002             "tag"
17003           ]
17004         },
17005         "Error": {
17006           "type": "object",
17007           "properties": {
17008             "code": {
17009               "type": "string"
17010             },
17011             "info": {
17012               "$ref": "#/definitions/ErrorInfo"
17013             },
17014             "message": {
17015               "type": "string"
17016             }
17017           },
17018           "additionalProperties": false,
17019           "required": [
17020             "message",
17021             "code"
17022           ]
17023         },
17024         "ErrorInfo": {
17025           "type": "object",
17026           "properties": {
17027             "macaroon": {
17028               "$ref": "#/definitions/Macaroon"
17029             },
17030             "macaroon-path": {
17031               "type": "string"
17032             }
17033           },
17034           "additionalProperties": false
17035         },
17036         "ErrorResult": {
17037           "type": "object",
17038           "properties": {
17039             "error": {
17040               "$ref": "#/definitions/Error"
17041             }
17042           },
17043           "additionalProperties": false
17044         },
17045         "ErrorResults": {
17046           "type": "object",
17047           "properties": {
17048             "results": {
17049               "type": "array",
17050               "items": {
17051                 "$ref": "#/definitions/ErrorResult"
17052               }
17053             }
17054           },
17055           "additionalProperties": false,
17056           "required": [
17057             "results"
17058           ]
17059         },
17060         "Macaroon": {
17061           "type": "object",
17062           "additionalProperties": false
17063         },
17064         "SingularClaim": {
17065           "type": "object",
17066           "properties": {
17067             "controller-tag": {
17068               "type": "string"
17069             },
17070             "duration": {
17071               "type": "integer"
17072             },
17073             "model-tag": {
17074               "type": "string"
17075             }
17076           },
17077           "additionalProperties": false,
17078           "required": [
17079             "model-tag",
17080             "controller-tag",
17081             "duration"
17082           ]
17083         },
17084         "SingularClaims": {
17085           "type": "object",
17086           "properties": {
17087             "claims": {
17088               "type": "array",
17089               "items": {
17090                 "$ref": "#/definitions/SingularClaim"
17091               }
17092             }
17093           },
17094           "additionalProperties": false,
17095           "required": [
17096             "claims"
17097           ]
17098         }
17099       }
17100     }
17101   },
17102   {
17103     "Name": "Spaces",
17104     "Version": 2,
17105     "Schema": {
17106       "type": "object",
17107       "properties": {
17108         "CreateSpaces": {
17109           "type": "object",
17110           "properties": {
17111             "Params": {
17112               "$ref": "#/definitions/CreateSpacesParams"
17113             },
17114             "Result": {
17115               "$ref": "#/definitions/ErrorResults"
17116             }
17117           }
17118         },
17119         "ListSpaces": {
17120           "type": "object",
17121           "properties": {
17122             "Result": {
17123               "$ref": "#/definitions/ListSpacesResults"
17124             }
17125           }
17126         }
17127       },
17128       "definitions": {
17129         "CreateSpaceParams": {
17130           "type": "object",
17131           "properties": {
17132             "provider-id": {
17133               "type": "string"
17134             },
17135             "public": {
17136               "type": "boolean"
17137             },
17138             "space-tag": {
17139               "type": "string"
17140             },
17141             "subnet-tags": {
17142               "type": "array",
17143               "items": {
17144                 "type": "string"
17145               }
17146             }
17147           },
17148           "additionalProperties": false,
17149           "required": [
17150             "subnet-tags",
17151             "space-tag",
17152             "public"
17153           ]
17154         },
17155         "CreateSpacesParams": {
17156           "type": "object",
17157           "properties": {
17158             "spaces": {
17159               "type": "array",
17160               "items": {
17161                 "$ref": "#/definitions/CreateSpaceParams"
17162               }
17163             }
17164           },
17165           "additionalProperties": false,
17166           "required": [
17167             "spaces"
17168           ]
17169         },
17170         "Error": {
17171           "type": "object",
17172           "properties": {
17173             "code": {
17174               "type": "string"
17175             },
17176             "info": {
17177               "$ref": "#/definitions/ErrorInfo"
17178             },
17179             "message": {
17180               "type": "string"
17181             }
17182           },
17183           "additionalProperties": false,
17184           "required": [
17185             "message",
17186             "code"
17187           ]
17188         },
17189         "ErrorInfo": {
17190           "type": "object",
17191           "properties": {
17192             "macaroon": {
17193               "$ref": "#/definitions/Macaroon"
17194             },
17195             "macaroon-path": {
17196               "type": "string"
17197             }
17198           },
17199           "additionalProperties": false
17200         },
17201         "ErrorResult": {
17202           "type": "object",
17203           "properties": {
17204             "error": {
17205               "$ref": "#/definitions/Error"
17206             }
17207           },
17208           "additionalProperties": false
17209         },
17210         "ErrorResults": {
17211           "type": "object",
17212           "properties": {
17213             "results": {
17214               "type": "array",
17215               "items": {
17216                 "$ref": "#/definitions/ErrorResult"
17217               }
17218             }
17219           },
17220           "additionalProperties": false,
17221           "required": [
17222             "results"
17223           ]
17224         },
17225         "ListSpacesResults": {
17226           "type": "object",
17227           "properties": {
17228             "results": {
17229               "type": "array",
17230               "items": {
17231                 "$ref": "#/definitions/Space"
17232               }
17233             }
17234           },
17235           "additionalProperties": false,
17236           "required": [
17237             "results"
17238           ]
17239         },
17240         "Macaroon": {
17241           "type": "object",
17242           "additionalProperties": false
17243         },
17244         "Space": {
17245           "type": "object",
17246           "properties": {
17247             "error": {
17248               "$ref": "#/definitions/Error"
17249             },
17250             "name": {
17251               "type": "string"
17252             },
17253             "subnets": {
17254               "type": "array",
17255               "items": {
17256                 "$ref": "#/definitions/Subnet"
17257               }
17258             }
17259           },
17260           "additionalProperties": false,
17261           "required": [
17262             "name",
17263             "subnets"
17264           ]
17265         },
17266         "Subnet": {
17267           "type": "object",
17268           "properties": {
17269             "cidr": {
17270               "type": "string"
17271             },
17272             "life": {
17273               "type": "string"
17274             },
17275             "provider-id": {
17276               "type": "string"
17277             },
17278             "space-tag": {
17279               "type": "string"
17280             },
17281             "status": {
17282               "type": "string"
17283             },
17284             "vlan-tag": {
17285               "type": "integer"
17286             },
17287             "zones": {
17288               "type": "array",
17289               "items": {
17290                 "type": "string"
17291               }
17292             }
17293           },
17294           "additionalProperties": false,
17295           "required": [
17296             "cidr",
17297             "vlan-tag",
17298             "life",
17299             "space-tag",
17300             "zones"
17301           ]
17302         }
17303       }
17304     }
17305   },
17306   {
17307     "Name": "StatusHistory",
17308     "Version": 2,
17309     "Schema": {
17310       "type": "object",
17311       "properties": {
17312         "Prune": {
17313           "type": "object",
17314           "properties": {
17315             "Params": {
17316               "$ref": "#/definitions/StatusHistoryPruneArgs"
17317             }
17318           }
17319         }
17320       },
17321       "definitions": {
17322         "StatusHistoryPruneArgs": {
17323           "type": "object",
17324           "properties": {
17325             "max-history-mb": {
17326               "type": "integer"
17327             },
17328             "max-history-time": {
17329               "type": "integer"
17330             }
17331           },
17332           "additionalProperties": false,
17333           "required": [
17334             "max-history-time",
17335             "max-history-mb"
17336           ]
17337         }
17338       }
17339     }
17340   },
17341   {
17342     "Name": "Storage",
17343     "Version": 3,
17344     "Schema": {
17345       "type": "object",
17346       "properties": {
17347         "AddToUnit": {
17348           "type": "object",
17349           "properties": {
17350             "Params": {
17351               "$ref": "#/definitions/StoragesAddParams"
17352             },
17353             "Result": {
17354               "$ref": "#/definitions/ErrorResults"
17355             }
17356           }
17357         },
17358         "CreatePool": {
17359           "type": "object",
17360           "properties": {
17361             "Params": {
17362               "$ref": "#/definitions/StoragePool"
17363             }
17364           }
17365         },
17366         "ListFilesystems": {
17367           "type": "object",
17368           "properties": {
17369             "Params": {
17370               "$ref": "#/definitions/FilesystemFilters"
17371             },
17372             "Result": {
17373               "$ref": "#/definitions/FilesystemDetailsListResults"
17374             }
17375           }
17376         },
17377         "ListPools": {
17378           "type": "object",
17379           "properties": {
17380             "Params": {
17381               "$ref": "#/definitions/StoragePoolFilters"
17382             },
17383             "Result": {
17384               "$ref": "#/definitions/StoragePoolsResults"
17385             }
17386           }
17387         },
17388         "ListStorageDetails": {
17389           "type": "object",
17390           "properties": {
17391             "Params": {
17392               "$ref": "#/definitions/StorageFilters"
17393             },
17394             "Result": {
17395               "$ref": "#/definitions/StorageDetailsListResults"
17396             }
17397           }
17398         },
17399         "ListVolumes": {
17400           "type": "object",
17401           "properties": {
17402             "Params": {
17403               "$ref": "#/definitions/VolumeFilters"
17404             },
17405             "Result": {
17406               "$ref": "#/definitions/VolumeDetailsListResults"
17407             }
17408           }
17409         },
17410         "StorageDetails": {
17411           "type": "object",
17412           "properties": {
17413             "Params": {
17414               "$ref": "#/definitions/Entities"
17415             },
17416             "Result": {
17417               "$ref": "#/definitions/StorageDetailsResults"
17418             }
17419           }
17420         }
17421       },
17422       "definitions": {
17423         "Entities": {
17424           "type": "object",
17425           "properties": {
17426             "entities": {
17427               "type": "array",
17428               "items": {
17429                 "$ref": "#/definitions/Entity"
17430               }
17431             }
17432           },
17433           "additionalProperties": false,
17434           "required": [
17435             "entities"
17436           ]
17437         },
17438         "Entity": {
17439           "type": "object",
17440           "properties": {
17441             "tag": {
17442               "type": "string"
17443             }
17444           },
17445           "additionalProperties": false,
17446           "required": [
17447             "tag"
17448           ]
17449         },
17450         "EntityStatus": {
17451           "type": "object",
17452           "properties": {
17453             "data": {
17454               "type": "object",
17455               "patternProperties": {
17456                 ".*": {
17457                   "type": "object",
17458                   "additionalProperties": true
17459                 }
17460               }
17461             },
17462             "info": {
17463               "type": "string"
17464             },
17465             "since": {
17466               "type": "string",
17467               "format": "date-time"
17468             },
17469             "status": {
17470               "type": "string"
17471             }
17472           },
17473           "additionalProperties": false,
17474           "required": [
17475             "status",
17476             "info",
17477             "since"
17478           ]
17479         },
17480         "Error": {
17481           "type": "object",
17482           "properties": {
17483             "code": {
17484               "type": "string"
17485             },
17486             "info": {
17487               "$ref": "#/definitions/ErrorInfo"
17488             },
17489             "message": {
17490               "type": "string"
17491             }
17492           },
17493           "additionalProperties": false,
17494           "required": [
17495             "message",
17496             "code"
17497           ]
17498         },
17499         "ErrorInfo": {
17500           "type": "object",
17501           "properties": {
17502             "macaroon": {
17503               "$ref": "#/definitions/Macaroon"
17504             },
17505             "macaroon-path": {
17506               "type": "string"
17507             }
17508           },
17509           "additionalProperties": false
17510         },
17511         "ErrorResult": {
17512           "type": "object",
17513           "properties": {
17514             "error": {
17515               "$ref": "#/definitions/Error"
17516             }
17517           },
17518           "additionalProperties": false
17519         },
17520         "ErrorResults": {
17521           "type": "object",
17522           "properties": {
17523             "results": {
17524               "type": "array",
17525               "items": {
17526                 "$ref": "#/definitions/ErrorResult"
17527               }
17528             }
17529           },
17530           "additionalProperties": false,
17531           "required": [
17532             "results"
17533           ]
17534         },
17535         "FilesystemAttachmentInfo": {
17536           "type": "object",
17537           "properties": {
17538             "mount-point": {
17539               "type": "string"
17540             },
17541             "read-only": {
17542               "type": "boolean"
17543             }
17544           },
17545           "additionalProperties": false
17546         },
17547         "FilesystemDetails": {
17548           "type": "object",
17549           "properties": {
17550             "filesystem-tag": {
17551               "type": "string"
17552             },
17553             "info": {
17554               "$ref": "#/definitions/FilesystemInfo"
17555             },
17556             "machine-attachments": {
17557               "type": "object",
17558               "patternProperties": {
17559                 ".*": {
17560                   "$ref": "#/definitions/FilesystemAttachmentInfo"
17561                 }
17562               }
17563             },
17564             "status": {
17565               "$ref": "#/definitions/EntityStatus"
17566             },
17567             "storage": {
17568               "$ref": "#/definitions/StorageDetails"
17569             },
17570             "volume-tag": {
17571               "type": "string"
17572             }
17573           },
17574           "additionalProperties": false,
17575           "required": [
17576             "filesystem-tag",
17577             "info",
17578             "status"
17579           ]
17580         },
17581         "FilesystemDetailsListResult": {
17582           "type": "object",
17583           "properties": {
17584             "error": {
17585               "$ref": "#/definitions/Error"
17586             },
17587             "result": {
17588               "type": "array",
17589               "items": {
17590                 "$ref": "#/definitions/FilesystemDetails"
17591               }
17592             }
17593           },
17594           "additionalProperties": false
17595         },
17596         "FilesystemDetailsListResults": {
17597           "type": "object",
17598           "properties": {
17599             "results": {
17600               "type": "array",
17601               "items": {
17602                 "$ref": "#/definitions/FilesystemDetailsListResult"
17603               }
17604             }
17605           },
17606           "additionalProperties": false
17607         },
17608         "FilesystemFilter": {
17609           "type": "object",
17610           "properties": {
17611             "machines": {
17612               "type": "array",
17613               "items": {
17614                 "type": "string"
17615               }
17616             }
17617           },
17618           "additionalProperties": false
17619         },
17620         "FilesystemFilters": {
17621           "type": "object",
17622           "properties": {
17623             "filters": {
17624               "type": "array",
17625               "items": {
17626                 "$ref": "#/definitions/FilesystemFilter"
17627               }
17628             }
17629           },
17630           "additionalProperties": false
17631         },
17632         "FilesystemInfo": {
17633           "type": "object",
17634           "properties": {
17635             "filesystem-id": {
17636               "type": "string"
17637             },
17638             "size": {
17639               "type": "integer"
17640             }
17641           },
17642           "additionalProperties": false,
17643           "required": [
17644             "filesystem-id",
17645             "size"
17646           ]
17647         },
17648         "Macaroon": {
17649           "type": "object",
17650           "additionalProperties": false
17651         },
17652         "StorageAddParams": {
17653           "type": "object",
17654           "properties": {
17655             "name": {
17656               "type": "string"
17657             },
17658             "storage": {
17659               "$ref": "#/definitions/StorageConstraints"
17660             },
17661             "unit": {
17662               "type": "string"
17663             }
17664           },
17665           "additionalProperties": false,
17666           "required": [
17667             "unit",
17668             "name",
17669             "storage"
17670           ]
17671         },
17672         "StorageAttachmentDetails": {
17673           "type": "object",
17674           "properties": {
17675             "location": {
17676               "type": "string"
17677             },
17678             "machine-tag": {
17679               "type": "string"
17680             },
17681             "storage-tag": {
17682               "type": "string"
17683             },
17684             "unit-tag": {
17685               "type": "string"
17686             }
17687           },
17688           "additionalProperties": false,
17689           "required": [
17690             "storage-tag",
17691             "unit-tag",
17692             "machine-tag"
17693           ]
17694         },
17695         "StorageConstraints": {
17696           "type": "object",
17697           "properties": {
17698             "count": {
17699               "type": "integer"
17700             },
17701             "pool": {
17702               "type": "string"
17703             },
17704             "size": {
17705               "type": "integer"
17706             }
17707           },
17708           "additionalProperties": false
17709         },
17710         "StorageDetails": {
17711           "type": "object",
17712           "properties": {
17713             "attachments": {
17714               "type": "object",
17715               "patternProperties": {
17716                 ".*": {
17717                   "$ref": "#/definitions/StorageAttachmentDetails"
17718                 }
17719               }
17720             },
17721             "kind": {
17722               "type": "integer"
17723             },
17724             "owner-tag": {
17725               "type": "string"
17726             },
17727             "persistent": {
17728               "type": "boolean"
17729             },
17730             "status": {
17731               "$ref": "#/definitions/EntityStatus"
17732             },
17733             "storage-tag": {
17734               "type": "string"
17735             }
17736           },
17737           "additionalProperties": false,
17738           "required": [
17739             "storage-tag",
17740             "owner-tag",
17741             "kind",
17742             "status",
17743             "persistent"
17744           ]
17745         },
17746         "StorageDetailsListResult": {
17747           "type": "object",
17748           "properties": {
17749             "error": {
17750               "$ref": "#/definitions/Error"
17751             },
17752             "result": {
17753               "type": "array",
17754               "items": {
17755                 "$ref": "#/definitions/StorageDetails"
17756               }
17757             }
17758           },
17759           "additionalProperties": false
17760         },
17761         "StorageDetailsListResults": {
17762           "type": "object",
17763           "properties": {
17764             "results": {
17765               "type": "array",
17766               "items": {
17767                 "$ref": "#/definitions/StorageDetailsListResult"
17768               }
17769             }
17770           },
17771           "additionalProperties": false
17772         },
17773         "StorageDetailsResult": {
17774           "type": "object",
17775           "properties": {
17776             "error": {
17777               "$ref": "#/definitions/Error"
17778             },
17779             "result": {
17780               "$ref": "#/definitions/StorageDetails"
17781             }
17782           },
17783           "additionalProperties": false
17784         },
17785         "StorageDetailsResults": {
17786           "type": "object",
17787           "properties": {
17788             "results": {
17789               "type": "array",
17790               "items": {
17791                 "$ref": "#/definitions/StorageDetailsResult"
17792               }
17793             }
17794           },
17795           "additionalProperties": false
17796         },
17797         "StorageFilter": {
17798           "type": "object",
17799           "additionalProperties": false
17800         },
17801         "StorageFilters": {
17802           "type": "object",
17803           "properties": {
17804             "filters": {
17805               "type": "array",
17806               "items": {
17807                 "$ref": "#/definitions/StorageFilter"
17808               }
17809             }
17810           },
17811           "additionalProperties": false
17812         },
17813         "StoragePool": {
17814           "type": "object",
17815           "properties": {
17816             "attrs": {
17817               "type": "object",
17818               "patternProperties": {
17819                 ".*": {
17820                   "type": "object",
17821                   "additionalProperties": true
17822                 }
17823               }
17824             },
17825             "name": {
17826               "type": "string"
17827             },
17828             "provider": {
17829               "type": "string"
17830             }
17831           },
17832           "additionalProperties": false,
17833           "required": [
17834             "name",
17835             "provider",
17836             "attrs"
17837           ]
17838         },
17839         "StoragePoolFilter": {
17840           "type": "object",
17841           "properties": {
17842             "names": {
17843               "type": "array",
17844               "items": {
17845                 "type": "string"
17846               }
17847             },
17848             "providers": {
17849               "type": "array",
17850               "items": {
17851                 "type": "string"
17852               }
17853             }
17854           },
17855           "additionalProperties": false
17856         },
17857         "StoragePoolFilters": {
17858           "type": "object",
17859           "properties": {
17860             "filters": {
17861               "type": "array",
17862               "items": {
17863                 "$ref": "#/definitions/StoragePoolFilter"
17864               }
17865             }
17866           },
17867           "additionalProperties": false
17868         },
17869         "StoragePoolsResult": {
17870           "type": "object",
17871           "properties": {
17872             "error": {
17873               "$ref": "#/definitions/Error"
17874             },
17875             "storage-pools": {
17876               "type": "array",
17877               "items": {
17878                 "$ref": "#/definitions/StoragePool"
17879               }
17880             }
17881           },
17882           "additionalProperties": false
17883         },
17884         "StoragePoolsResults": {
17885           "type": "object",
17886           "properties": {
17887             "results": {
17888               "type": "array",
17889               "items": {
17890                 "$ref": "#/definitions/StoragePoolsResult"
17891               }
17892             }
17893           },
17894           "additionalProperties": false
17895         },
17896         "StoragesAddParams": {
17897           "type": "object",
17898           "properties": {
17899             "storages": {
17900               "type": "array",
17901               "items": {
17902                 "$ref": "#/definitions/StorageAddParams"
17903               }
17904             }
17905           },
17906           "additionalProperties": false,
17907           "required": [
17908             "storages"
17909           ]
17910         },
17911         "VolumeAttachmentInfo": {
17912           "type": "object",
17913           "properties": {
17914             "bus-address": {
17915               "type": "string"
17916             },
17917             "device-link": {
17918               "type": "string"
17919             },
17920             "device-name": {
17921               "type": "string"
17922             },
17923             "read-only": {
17924               "type": "boolean"
17925             }
17926           },
17927           "additionalProperties": false
17928         },
17929         "VolumeDetails": {
17930           "type": "object",
17931           "properties": {
17932             "info": {
17933               "$ref": "#/definitions/VolumeInfo"
17934             },
17935             "machine-attachments": {
17936               "type": "object",
17937               "patternProperties": {
17938                 ".*": {
17939                   "$ref": "#/definitions/VolumeAttachmentInfo"
17940                 }
17941               }
17942             },
17943             "status": {
17944               "$ref": "#/definitions/EntityStatus"
17945             },
17946             "storage": {
17947               "$ref": "#/definitions/StorageDetails"
17948             },
17949             "volume-tag": {
17950               "type": "string"
17951             }
17952           },
17953           "additionalProperties": false,
17954           "required": [
17955             "volume-tag",
17956             "info",
17957             "status"
17958           ]
17959         },
17960         "VolumeDetailsListResult": {
17961           "type": "object",
17962           "properties": {
17963             "error": {
17964               "$ref": "#/definitions/Error"
17965             },
17966             "result": {
17967               "type": "array",
17968               "items": {
17969                 "$ref": "#/definitions/VolumeDetails"
17970               }
17971             }
17972           },
17973           "additionalProperties": false
17974         },
17975         "VolumeDetailsListResults": {
17976           "type": "object",
17977           "properties": {
17978             "results": {
17979               "type": "array",
17980               "items": {
17981                 "$ref": "#/definitions/VolumeDetailsListResult"
17982               }
17983             }
17984           },
17985           "additionalProperties": false
17986         },
17987         "VolumeFilter": {
17988           "type": "object",
17989           "properties": {
17990             "machines": {
17991               "type": "array",
17992               "items": {
17993                 "type": "string"
17994               }
17995             }
17996           },
17997           "additionalProperties": false
17998         },
17999         "VolumeFilters": {
18000           "type": "object",
18001           "properties": {
18002             "filters": {
18003               "type": "array",
18004               "items": {
18005                 "$ref": "#/definitions/VolumeFilter"
18006               }
18007             }
18008           },
18009           "additionalProperties": false
18010         },
18011         "VolumeInfo": {
18012           "type": "object",
18013           "properties": {
18014             "hardware-id": {
18015               "type": "string"
18016             },
18017             "persistent": {
18018               "type": "boolean"
18019             },
18020             "size": {
18021               "type": "integer"
18022             },
18023             "volume-id": {
18024               "type": "string"
18025             }
18026           },
18027           "additionalProperties": false,
18028           "required": [
18029             "volume-id",
18030             "size",
18031             "persistent"
18032           ]
18033         }
18034       }
18035     }
18036   },
18037   {
18038     "Name": "StorageProvisioner",
18039     "Version": 3,
18040     "Schema": {
18041       "type": "object",
18042       "properties": {
18043         "AttachmentLife": {
18044           "type": "object",
18045           "properties": {
18046             "Params": {
18047               "$ref": "#/definitions/MachineStorageIds"
18048             },
18049             "Result": {
18050               "$ref": "#/definitions/LifeResults"
18051             }
18052           }
18053         },
18054         "EnsureDead": {
18055           "type": "object",
18056           "properties": {
18057             "Params": {
18058               "$ref": "#/definitions/Entities"
18059             },
18060             "Result": {
18061               "$ref": "#/definitions/ErrorResults"
18062             }
18063           }
18064         },
18065         "FilesystemAttachmentParams": {
18066           "type": "object",
18067           "properties": {
18068             "Params": {
18069               "$ref": "#/definitions/MachineStorageIds"
18070             },
18071             "Result": {
18072               "$ref": "#/definitions/FilesystemAttachmentParamsResults"
18073             }
18074           }
18075         },
18076         "FilesystemAttachments": {
18077           "type": "object",
18078           "properties": {
18079             "Params": {
18080               "$ref": "#/definitions/MachineStorageIds"
18081             },
18082             "Result": {
18083               "$ref": "#/definitions/FilesystemAttachmentResults"
18084             }
18085           }
18086         },
18087         "FilesystemParams": {
18088           "type": "object",
18089           "properties": {
18090             "Params": {
18091               "$ref": "#/definitions/Entities"
18092             },
18093             "Result": {
18094               "$ref": "#/definitions/FilesystemParamsResults"
18095             }
18096           }
18097         },
18098         "Filesystems": {
18099           "type": "object",
18100           "properties": {
18101             "Params": {
18102               "$ref": "#/definitions/Entities"
18103             },
18104             "Result": {
18105               "$ref": "#/definitions/FilesystemResults"
18106             }
18107           }
18108         },
18109         "InstanceId": {
18110           "type": "object",
18111           "properties": {
18112             "Params": {
18113               "$ref": "#/definitions/Entities"
18114             },
18115             "Result": {
18116               "$ref": "#/definitions/StringResults"
18117             }
18118           }
18119         },
18120         "Life": {
18121           "type": "object",
18122           "properties": {
18123             "Params": {
18124               "$ref": "#/definitions/Entities"
18125             },
18126             "Result": {
18127               "$ref": "#/definitions/LifeResults"
18128             }
18129           }
18130         },
18131         "Remove": {
18132           "type": "object",
18133           "properties": {
18134             "Params": {
18135               "$ref": "#/definitions/Entities"
18136             },
18137             "Result": {
18138               "$ref": "#/definitions/ErrorResults"
18139             }
18140           }
18141         },
18142         "RemoveAttachment": {
18143           "type": "object",
18144           "properties": {
18145             "Params": {
18146               "$ref": "#/definitions/MachineStorageIds"
18147             },
18148             "Result": {
18149               "$ref": "#/definitions/ErrorResults"
18150             }
18151           }
18152         },
18153         "SetFilesystemAttachmentInfo": {
18154           "type": "object",
18155           "properties": {
18156             "Params": {
18157               "$ref": "#/definitions/FilesystemAttachments"
18158             },
18159             "Result": {
18160               "$ref": "#/definitions/ErrorResults"
18161             }
18162           }
18163         },
18164         "SetFilesystemInfo": {
18165           "type": "object",
18166           "properties": {
18167             "Params": {
18168               "$ref": "#/definitions/Filesystems"
18169             },
18170             "Result": {
18171               "$ref": "#/definitions/ErrorResults"
18172             }
18173           }
18174         },
18175         "SetStatus": {
18176           "type": "object",
18177           "properties": {
18178             "Params": {
18179               "$ref": "#/definitions/SetStatus"
18180             },
18181             "Result": {
18182               "$ref": "#/definitions/ErrorResults"
18183             }
18184           }
18185         },
18186         "SetVolumeAttachmentInfo": {
18187           "type": "object",
18188           "properties": {
18189             "Params": {
18190               "$ref": "#/definitions/VolumeAttachments"
18191             },
18192             "Result": {
18193               "$ref": "#/definitions/ErrorResults"
18194             }
18195           }
18196         },
18197         "SetVolumeInfo": {
18198           "type": "object",
18199           "properties": {
18200             "Params": {
18201               "$ref": "#/definitions/Volumes"
18202             },
18203             "Result": {
18204               "$ref": "#/definitions/ErrorResults"
18205             }
18206           }
18207         },
18208         "UpdateStatus": {
18209           "type": "object",
18210           "properties": {
18211             "Params": {
18212               "$ref": "#/definitions/SetStatus"
18213             },
18214             "Result": {
18215               "$ref": "#/definitions/ErrorResults"
18216             }
18217           }
18218         },
18219         "VolumeAttachmentParams": {
18220           "type": "object",
18221           "properties": {
18222             "Params": {
18223               "$ref": "#/definitions/MachineStorageIds"
18224             },
18225             "Result": {
18226               "$ref": "#/definitions/VolumeAttachmentParamsResults"
18227             }
18228           }
18229         },
18230         "VolumeAttachments": {
18231           "type": "object",
18232           "properties": {
18233             "Params": {
18234               "$ref": "#/definitions/MachineStorageIds"
18235             },
18236             "Result": {
18237               "$ref": "#/definitions/VolumeAttachmentResults"
18238             }
18239           }
18240         },
18241         "VolumeBlockDevices": {
18242           "type": "object",
18243           "properties": {
18244             "Params": {
18245               "$ref": "#/definitions/MachineStorageIds"
18246             },
18247             "Result": {
18248               "$ref": "#/definitions/BlockDeviceResults"
18249             }
18250           }
18251         },
18252         "VolumeParams": {
18253           "type": "object",
18254           "properties": {
18255             "Params": {
18256               "$ref": "#/definitions/Entities"
18257             },
18258             "Result": {
18259               "$ref": "#/definitions/VolumeParamsResults"
18260             }
18261           }
18262         },
18263         "Volumes": {
18264           "type": "object",
18265           "properties": {
18266             "Params": {
18267               "$ref": "#/definitions/Entities"
18268             },
18269             "Result": {
18270               "$ref": "#/definitions/VolumeResults"
18271             }
18272           }
18273         },
18274         "WatchBlockDevices": {
18275           "type": "object",
18276           "properties": {
18277             "Params": {
18278               "$ref": "#/definitions/Entities"
18279             },
18280             "Result": {
18281               "$ref": "#/definitions/NotifyWatchResults"
18282             }
18283           }
18284         },
18285         "WatchFilesystemAttachments": {
18286           "type": "object",
18287           "properties": {
18288             "Params": {
18289               "$ref": "#/definitions/Entities"
18290             },
18291             "Result": {
18292               "$ref": "#/definitions/MachineStorageIdsWatchResults"
18293             }
18294           }
18295         },
18296         "WatchFilesystems": {
18297           "type": "object",
18298           "properties": {
18299             "Params": {
18300               "$ref": "#/definitions/Entities"
18301             },
18302             "Result": {
18303               "$ref": "#/definitions/StringsWatchResults"
18304             }
18305           }
18306         },
18307         "WatchMachines": {
18308           "type": "object",
18309           "properties": {
18310             "Params": {
18311               "$ref": "#/definitions/Entities"
18312             },
18313             "Result": {
18314               "$ref": "#/definitions/NotifyWatchResults"
18315             }
18316           }
18317         },
18318         "WatchVolumeAttachments": {
18319           "type": "object",
18320           "properties": {
18321             "Params": {
18322               "$ref": "#/definitions/Entities"
18323             },
18324             "Result": {
18325               "$ref": "#/definitions/MachineStorageIdsWatchResults"
18326             }
18327           }
18328         },
18329         "WatchVolumes": {
18330           "type": "object",
18331           "properties": {
18332             "Params": {
18333               "$ref": "#/definitions/Entities"
18334             },
18335             "Result": {
18336               "$ref": "#/definitions/StringsWatchResults"
18337             }
18338           }
18339         }
18340       },
18341       "definitions": {
18342         "BlockDevice": {
18343           "type": "object",
18344           "properties": {
18345             "BusAddress": {
18346               "type": "string"
18347             },
18348             "DeviceLinks": {
18349               "type": "array",
18350               "items": {
18351                 "type": "string"
18352               }
18353             },
18354             "DeviceName": {
18355               "type": "string"
18356             },
18357             "FilesystemType": {
18358               "type": "string"
18359             },
18360             "HardwareId": {
18361               "type": "string"
18362             },
18363             "InUse": {
18364               "type": "boolean"
18365             },
18366             "Label": {
18367               "type": "string"
18368             },
18369             "MountPoint": {
18370               "type": "string"
18371             },
18372             "Size": {
18373               "type": "integer"
18374             },
18375             "UUID": {
18376               "type": "string"
18377             }
18378           },
18379           "additionalProperties": false,
18380           "required": [
18381             "DeviceName",
18382             "DeviceLinks",
18383             "Label",
18384             "UUID",
18385             "HardwareId",
18386             "BusAddress",
18387             "Size",
18388             "FilesystemType",
18389             "InUse",
18390             "MountPoint"
18391           ]
18392         },
18393         "BlockDeviceResult": {
18394           "type": "object",
18395           "properties": {
18396             "error": {
18397               "$ref": "#/definitions/Error"
18398             },
18399             "result": {
18400               "$ref": "#/definitions/BlockDevice"
18401             }
18402           },
18403           "additionalProperties": false,
18404           "required": [
18405             "result"
18406           ]
18407         },
18408         "BlockDeviceResults": {
18409           "type": "object",
18410           "properties": {
18411             "results": {
18412               "type": "array",
18413               "items": {
18414                 "$ref": "#/definitions/BlockDeviceResult"
18415               }
18416             }
18417           },
18418           "additionalProperties": false
18419         },
18420         "Entities": {
18421           "type": "object",
18422           "properties": {
18423             "entities": {
18424               "type": "array",
18425               "items": {
18426                 "$ref": "#/definitions/Entity"
18427               }
18428             }
18429           },
18430           "additionalProperties": false,
18431           "required": [
18432             "entities"
18433           ]
18434         },
18435         "Entity": {
18436           "type": "object",
18437           "properties": {
18438             "tag": {
18439               "type": "string"
18440             }
18441           },
18442           "additionalProperties": false,
18443           "required": [
18444             "tag"
18445           ]
18446         },
18447         "EntityStatusArgs": {
18448           "type": "object",
18449           "properties": {
18450             "data": {
18451               "type": "object",
18452               "patternProperties": {
18453                 ".*": {
18454                   "type": "object",
18455                   "additionalProperties": true
18456                 }
18457               }
18458             },
18459             "info": {
18460               "type": "string"
18461             },
18462             "status": {
18463               "type": "string"
18464             },
18465             "tag": {
18466               "type": "string"
18467             }
18468           },
18469           "additionalProperties": false,
18470           "required": [
18471             "tag",
18472             "status",
18473             "info",
18474             "data"
18475           ]
18476         },
18477         "Error": {
18478           "type": "object",
18479           "properties": {
18480             "code": {
18481               "type": "string"
18482             },
18483             "info": {
18484               "$ref": "#/definitions/ErrorInfo"
18485             },
18486             "message": {
18487               "type": "string"
18488             }
18489           },
18490           "additionalProperties": false,
18491           "required": [
18492             "message",
18493             "code"
18494           ]
18495         },
18496         "ErrorInfo": {
18497           "type": "object",
18498           "properties": {
18499             "macaroon": {
18500               "$ref": "#/definitions/Macaroon"
18501             },
18502             "macaroon-path": {
18503               "type": "string"
18504             }
18505           },
18506           "additionalProperties": false
18507         },
18508         "ErrorResult": {
18509           "type": "object",
18510           "properties": {
18511             "error": {
18512               "$ref": "#/definitions/Error"
18513             }
18514           },
18515           "additionalProperties": false
18516         },
18517         "ErrorResults": {
18518           "type": "object",
18519           "properties": {
18520             "results": {
18521               "type": "array",
18522               "items": {
18523                 "$ref": "#/definitions/ErrorResult"
18524               }
18525             }
18526           },
18527           "additionalProperties": false,
18528           "required": [
18529             "results"
18530           ]
18531         },
18532         "Filesystem": {
18533           "type": "object",
18534           "properties": {
18535             "filesystem-tag": {
18536               "type": "string"
18537             },
18538             "info": {
18539               "$ref": "#/definitions/FilesystemInfo"
18540             },
18541             "volume-tag": {
18542               "type": "string"
18543             }
18544           },
18545           "additionalProperties": false,
18546           "required": [
18547             "filesystem-tag",
18548             "info"
18549           ]
18550         },
18551         "FilesystemAttachment": {
18552           "type": "object",
18553           "properties": {
18554             "filesystem-tag": {
18555               "type": "string"
18556             },
18557             "info": {
18558               "$ref": "#/definitions/FilesystemAttachmentInfo"
18559             },
18560             "machine-tag": {
18561               "type": "string"
18562             }
18563           },
18564           "additionalProperties": false,
18565           "required": [
18566             "filesystem-tag",
18567             "machine-tag",
18568             "info"
18569           ]
18570         },
18571         "FilesystemAttachmentInfo": {
18572           "type": "object",
18573           "properties": {
18574             "mount-point": {
18575               "type": "string"
18576             },
18577             "read-only": {
18578               "type": "boolean"
18579             }
18580           },
18581           "additionalProperties": false
18582         },
18583         "FilesystemAttachmentParams": {
18584           "type": "object",
18585           "properties": {
18586             "filesystem-id": {
18587               "type": "string"
18588             },
18589             "filesystem-tag": {
18590               "type": "string"
18591             },
18592             "instance-id": {
18593               "type": "string"
18594             },
18595             "machine-tag": {
18596               "type": "string"
18597             },
18598             "mount-point": {
18599               "type": "string"
18600             },
18601             "provider": {
18602               "type": "string"
18603             },
18604             "read-only": {
18605               "type": "boolean"
18606             }
18607           },
18608           "additionalProperties": false,
18609           "required": [
18610             "filesystem-tag",
18611             "machine-tag",
18612             "provider"
18613           ]
18614         },
18615         "FilesystemAttachmentParamsResult": {
18616           "type": "object",
18617           "properties": {
18618             "error": {
18619               "$ref": "#/definitions/Error"
18620             },
18621             "result": {
18622               "$ref": "#/definitions/FilesystemAttachmentParams"
18623             }
18624           },
18625           "additionalProperties": false,
18626           "required": [
18627             "result"
18628           ]
18629         },
18630         "FilesystemAttachmentParamsResults": {
18631           "type": "object",
18632           "properties": {
18633             "results": {
18634               "type": "array",
18635               "items": {
18636                 "$ref": "#/definitions/FilesystemAttachmentParamsResult"
18637               }
18638             }
18639           },
18640           "additionalProperties": false
18641         },
18642         "FilesystemAttachmentResult": {
18643           "type": "object",
18644           "properties": {
18645             "error": {
18646               "$ref": "#/definitions/Error"
18647             },
18648             "result": {
18649               "$ref": "#/definitions/FilesystemAttachment"
18650             }
18651           },
18652           "additionalProperties": false,
18653           "required": [
18654             "result"
18655           ]
18656         },
18657         "FilesystemAttachmentResults": {
18658           "type": "object",
18659           "properties": {
18660             "results": {
18661               "type": "array",
18662               "items": {
18663                 "$ref": "#/definitions/FilesystemAttachmentResult"
18664               }
18665             }
18666           },
18667           "additionalProperties": false
18668         },
18669         "FilesystemAttachments": {
18670           "type": "object",
18671           "properties": {
18672             "filesystem-attachments": {
18673               "type": "array",
18674               "items": {
18675                 "$ref": "#/definitions/FilesystemAttachment"
18676               }
18677             }
18678           },
18679           "additionalProperties": false,
18680           "required": [
18681             "filesystem-attachments"
18682           ]
18683         },
18684         "FilesystemInfo": {
18685           "type": "object",
18686           "properties": {
18687             "filesystem-id": {
18688               "type": "string"
18689             },
18690             "size": {
18691               "type": "integer"
18692             }
18693           },
18694           "additionalProperties": false,
18695           "required": [
18696             "filesystem-id",
18697             "size"
18698           ]
18699         },
18700         "FilesystemParams": {
18701           "type": "object",
18702           "properties": {
18703             "attachment": {
18704               "$ref": "#/definitions/FilesystemAttachmentParams"
18705             },
18706             "attributes": {
18707               "type": "object",
18708               "patternProperties": {
18709                 ".*": {
18710                   "type": "object",
18711                   "additionalProperties": true
18712                 }
18713               }
18714             },
18715             "filesystem-tag": {
18716               "type": "string"
18717             },
18718             "provider": {
18719               "type": "string"
18720             },
18721             "size": {
18722               "type": "integer"
18723             },
18724             "tags": {
18725               "type": "object",
18726               "patternProperties": {
18727                 ".*": {
18728                   "type": "string"
18729                 }
18730               }
18731             },
18732             "volume-tag": {
18733               "type": "string"
18734             }
18735           },
18736           "additionalProperties": false,
18737           "required": [
18738             "filesystem-tag",
18739             "size",
18740             "provider"
18741           ]
18742         },
18743         "FilesystemParamsResult": {
18744           "type": "object",
18745           "properties": {
18746             "error": {
18747               "$ref": "#/definitions/Error"
18748             },
18749             "result": {
18750               "$ref": "#/definitions/FilesystemParams"
18751             }
18752           },
18753           "additionalProperties": false,
18754           "required": [
18755             "result"
18756           ]
18757         },
18758         "FilesystemParamsResults": {
18759           "type": "object",
18760           "properties": {
18761             "results": {
18762               "type": "array",
18763               "items": {
18764                 "$ref": "#/definitions/FilesystemParamsResult"
18765               }
18766             }
18767           },
18768           "additionalProperties": false
18769         },
18770         "FilesystemResult": {
18771           "type": "object",
18772           "properties": {
18773             "error": {
18774               "$ref": "#/definitions/Error"
18775             },
18776             "result": {
18777               "$ref": "#/definitions/Filesystem"
18778             }
18779           },
18780           "additionalProperties": false,
18781           "required": [
18782             "result"
18783           ]
18784         },
18785         "FilesystemResults": {
18786           "type": "object",
18787           "properties": {
18788             "results": {
18789               "type": "array",
18790               "items": {
18791                 "$ref": "#/definitions/FilesystemResult"
18792               }
18793             }
18794           },
18795           "additionalProperties": false
18796         },
18797         "Filesystems": {
18798           "type": "object",
18799           "properties": {
18800             "filesystems": {
18801               "type": "array",
18802               "items": {
18803                 "$ref": "#/definitions/Filesystem"
18804               }
18805             }
18806           },
18807           "additionalProperties": false,
18808           "required": [
18809             "filesystems"
18810           ]
18811         },
18812         "LifeResult": {
18813           "type": "object",
18814           "properties": {
18815             "error": {
18816               "$ref": "#/definitions/Error"
18817             },
18818             "life": {
18819               "type": "string"
18820             }
18821           },
18822           "additionalProperties": false,
18823           "required": [
18824             "life"
18825           ]
18826         },
18827         "LifeResults": {
18828           "type": "object",
18829           "properties": {
18830             "results": {
18831               "type": "array",
18832               "items": {
18833                 "$ref": "#/definitions/LifeResult"
18834               }
18835             }
18836           },
18837           "additionalProperties": false,
18838           "required": [
18839             "results"
18840           ]
18841         },
18842         "Macaroon": {
18843           "type": "object",
18844           "additionalProperties": false
18845         },
18846         "MachineStorageId": {
18847           "type": "object",
18848           "properties": {
18849             "attachment-tag": {
18850               "type": "string"
18851             },
18852             "machine-tag": {
18853               "type": "string"
18854             }
18855           },
18856           "additionalProperties": false,
18857           "required": [
18858             "machine-tag",
18859             "attachment-tag"
18860           ]
18861         },
18862         "MachineStorageIds": {
18863           "type": "object",
18864           "properties": {
18865             "ids": {
18866               "type": "array",
18867               "items": {
18868                 "$ref": "#/definitions/MachineStorageId"
18869               }
18870             }
18871           },
18872           "additionalProperties": false,
18873           "required": [
18874             "ids"
18875           ]
18876         },
18877         "MachineStorageIdsWatchResult": {
18878           "type": "object",
18879           "properties": {
18880             "changes": {
18881               "type": "array",
18882               "items": {
18883                 "$ref": "#/definitions/MachineStorageId"
18884               }
18885             },
18886             "error": {
18887               "$ref": "#/definitions/Error"
18888             },
18889             "watcher-id": {
18890               "type": "string"
18891             }
18892           },
18893           "additionalProperties": false,
18894           "required": [
18895             "watcher-id",
18896             "changes"
18897           ]
18898         },
18899         "MachineStorageIdsWatchResults": {
18900           "type": "object",
18901           "properties": {
18902             "results": {
18903               "type": "array",
18904               "items": {
18905                 "$ref": "#/definitions/MachineStorageIdsWatchResult"
18906               }
18907             }
18908           },
18909           "additionalProperties": false,
18910           "required": [
18911             "results"
18912           ]
18913         },
18914         "NotifyWatchResult": {
18915           "type": "object",
18916           "properties": {
18917             "NotifyWatcherId": {
18918               "type": "string"
18919             },
18920             "error": {
18921               "$ref": "#/definitions/Error"
18922             }
18923           },
18924           "additionalProperties": false,
18925           "required": [
18926             "NotifyWatcherId"
18927           ]
18928         },
18929         "NotifyWatchResults": {
18930           "type": "object",
18931           "properties": {
18932             "results": {
18933               "type": "array",
18934               "items": {
18935                 "$ref": "#/definitions/NotifyWatchResult"
18936               }
18937             }
18938           },
18939           "additionalProperties": false,
18940           "required": [
18941             "results"
18942           ]
18943         },
18944         "SetStatus": {
18945           "type": "object",
18946           "properties": {
18947             "entities": {
18948               "type": "array",
18949               "items": {
18950                 "$ref": "#/definitions/EntityStatusArgs"
18951               }
18952             }
18953           },
18954           "additionalProperties": false,
18955           "required": [
18956             "entities"
18957           ]
18958         },
18959         "StringResult": {
18960           "type": "object",
18961           "properties": {
18962             "error": {
18963               "$ref": "#/definitions/Error"
18964             },
18965             "result": {
18966               "type": "string"
18967             }
18968           },
18969           "additionalProperties": false,
18970           "required": [
18971             "result"
18972           ]
18973         },
18974         "StringResults": {
18975           "type": "object",
18976           "properties": {
18977             "results": {
18978               "type": "array",
18979               "items": {
18980                 "$ref": "#/definitions/StringResult"
18981               }
18982             }
18983           },
18984           "additionalProperties": false,
18985           "required": [
18986             "results"
18987           ]
18988         },
18989         "StringsWatchResult": {
18990           "type": "object",
18991           "properties": {
18992             "changes": {
18993               "type": "array",
18994               "items": {
18995                 "type": "string"
18996               }
18997             },
18998             "error": {
18999               "$ref": "#/definitions/Error"
19000             },
19001             "watcher-id": {
19002               "type": "string"
19003             }
19004           },
19005           "additionalProperties": false,
19006           "required": [
19007             "watcher-id"
19008           ]
19009         },
19010         "StringsWatchResults": {
19011           "type": "object",
19012           "properties": {
19013             "results": {
19014               "type": "array",
19015               "items": {
19016                 "$ref": "#/definitions/StringsWatchResult"
19017               }
19018             }
19019           },
19020           "additionalProperties": false,
19021           "required": [
19022             "results"
19023           ]
19024         },
19025         "Volume": {
19026           "type": "object",
19027           "properties": {
19028             "info": {
19029               "$ref": "#/definitions/VolumeInfo"
19030             },
19031             "volume-tag": {
19032               "type": "string"
19033             }
19034           },
19035           "additionalProperties": false,
19036           "required": [
19037             "volume-tag",
19038             "info"
19039           ]
19040         },
19041         "VolumeAttachment": {
19042           "type": "object",
19043           "properties": {
19044             "info": {
19045               "$ref": "#/definitions/VolumeAttachmentInfo"
19046             },
19047             "machine-tag": {
19048               "type": "string"
19049             },
19050             "volume-tag": {
19051               "type": "string"
19052             }
19053           },
19054           "additionalProperties": false,
19055           "required": [
19056             "volume-tag",
19057             "machine-tag",
19058             "info"
19059           ]
19060         },
19061         "VolumeAttachmentInfo": {
19062           "type": "object",
19063           "properties": {
19064             "bus-address": {
19065               "type": "string"
19066             },
19067             "device-link": {
19068               "type": "string"
19069             },
19070             "device-name": {
19071               "type": "string"
19072             },
19073             "read-only": {
19074               "type": "boolean"
19075             }
19076           },
19077           "additionalProperties": false
19078         },
19079         "VolumeAttachmentParams": {
19080           "type": "object",
19081           "properties": {
19082             "instance-id": {
19083               "type": "string"
19084             },
19085             "machine-tag": {
19086               "type": "string"
19087             },
19088             "provider": {
19089               "type": "string"
19090             },
19091             "read-only": {
19092               "type": "boolean"
19093             },
19094             "volume-id": {
19095               "type": "string"
19096             },
19097             "volume-tag": {
19098               "type": "string"
19099             }
19100           },
19101           "additionalProperties": false,
19102           "required": [
19103             "volume-tag",
19104             "machine-tag",
19105             "provider"
19106           ]
19107         },
19108         "VolumeAttachmentParamsResult": {
19109           "type": "object",
19110           "properties": {
19111             "error": {
19112               "$ref": "#/definitions/Error"
19113             },
19114             "result": {
19115               "$ref": "#/definitions/VolumeAttachmentParams"
19116             }
19117           },
19118           "additionalProperties": false,
19119           "required": [
19120             "result"
19121           ]
19122         },
19123         "VolumeAttachmentParamsResults": {
19124           "type": "object",
19125           "properties": {
19126             "results": {
19127               "type": "array",
19128               "items": {
19129                 "$ref": "#/definitions/VolumeAttachmentParamsResult"
19130               }
19131             }
19132           },
19133           "additionalProperties": false
19134         },
19135         "VolumeAttachmentResult": {
19136           "type": "object",
19137           "properties": {
19138             "error": {
19139               "$ref": "#/definitions/Error"
19140             },
19141             "result": {
19142               "$ref": "#/definitions/VolumeAttachment"
19143             }
19144           },
19145           "additionalProperties": false,
19146           "required": [
19147             "result"
19148           ]
19149         },
19150         "VolumeAttachmentResults": {
19151           "type": "object",
19152           "properties": {
19153             "results": {
19154               "type": "array",
19155               "items": {
19156                 "$ref": "#/definitions/VolumeAttachmentResult"
19157               }
19158             }
19159           },
19160           "additionalProperties": false
19161         },
19162         "VolumeAttachments": {
19163           "type": "object",
19164           "properties": {
19165             "volume-attachments": {
19166               "type": "array",
19167               "items": {
19168                 "$ref": "#/definitions/VolumeAttachment"
19169               }
19170             }
19171           },
19172           "additionalProperties": false,
19173           "required": [
19174             "volume-attachments"
19175           ]
19176         },
19177         "VolumeInfo": {
19178           "type": "object",
19179           "properties": {
19180             "hardware-id": {
19181               "type": "string"
19182             },
19183             "persistent": {
19184               "type": "boolean"
19185             },
19186             "size": {
19187               "type": "integer"
19188             },
19189             "volume-id": {
19190               "type": "string"
19191             }
19192           },
19193           "additionalProperties": false,
19194           "required": [
19195             "volume-id",
19196             "size",
19197             "persistent"
19198           ]
19199         },
19200         "VolumeParams": {
19201           "type": "object",
19202           "properties": {
19203             "attachment": {
19204               "$ref": "#/definitions/VolumeAttachmentParams"
19205             },
19206             "attributes": {
19207               "type": "object",
19208               "patternProperties": {
19209                 ".*": {
19210                   "type": "object",
19211                   "additionalProperties": true
19212                 }
19213               }
19214             },
19215             "provider": {
19216               "type": "string"
19217             },
19218             "size": {
19219               "type": "integer"
19220             },
19221             "tags": {
19222               "type": "object",
19223               "patternProperties": {
19224                 ".*": {
19225                   "type": "string"
19226                 }
19227               }
19228             },
19229             "volume-tag": {
19230               "type": "string"
19231             }
19232           },
19233           "additionalProperties": false,
19234           "required": [
19235             "volume-tag",
19236             "size",
19237             "provider"
19238           ]
19239         },
19240         "VolumeParamsResult": {
19241           "type": "object",
19242           "properties": {
19243             "error": {
19244               "$ref": "#/definitions/Error"
19245             },
19246             "result": {
19247               "$ref": "#/definitions/VolumeParams"
19248             }
19249           },
19250           "additionalProperties": false,
19251           "required": [
19252             "result"
19253           ]
19254         },
19255         "VolumeParamsResults": {
19256           "type": "object",
19257           "properties": {
19258             "results": {
19259               "type": "array",
19260               "items": {
19261                 "$ref": "#/definitions/VolumeParamsResult"
19262               }
19263             }
19264           },
19265           "additionalProperties": false
19266         },
19267         "VolumeResult": {
19268           "type": "object",
19269           "properties": {
19270             "error": {
19271               "$ref": "#/definitions/Error"
19272             },
19273             "result": {
19274               "$ref": "#/definitions/Volume"
19275             }
19276           },
19277           "additionalProperties": false,
19278           "required": [
19279             "result"
19280           ]
19281         },
19282         "VolumeResults": {
19283           "type": "object",
19284           "properties": {
19285             "results": {
19286               "type": "array",
19287               "items": {
19288                 "$ref": "#/definitions/VolumeResult"
19289               }
19290             }
19291           },
19292           "additionalProperties": false
19293         },
19294         "Volumes": {
19295           "type": "object",
19296           "properties": {
19297             "volumes": {
19298               "type": "array",
19299               "items": {
19300                 "$ref": "#/definitions/Volume"
19301               }
19302             }
19303           },
19304           "additionalProperties": false,
19305           "required": [
19306             "volumes"
19307           ]
19308         }
19309       }
19310     }
19311   },
19312   {
19313     "Name": "StringsWatcher",
19314     "Version": 1,
19315     "Schema": {
19316       "type": "object",
19317       "properties": {
19318         "Next": {
19319           "type": "object",
19320           "properties": {
19321             "Result": {
19322               "$ref": "#/definitions/StringsWatchResult"
19323             }
19324           }
19325         },
19326         "Stop": {
19327           "type": "object"
19328         }
19329       },
19330       "definitions": {
19331         "Error": {
19332           "type": "object",
19333           "properties": {
19334             "code": {
19335               "type": "string"
19336             },
19337             "info": {
19338               "$ref": "#/definitions/ErrorInfo"
19339             },
19340             "message": {
19341               "type": "string"
19342             }
19343           },
19344           "additionalProperties": false,
19345           "required": [
19346             "message",
19347             "code"
19348           ]
19349         },
19350         "ErrorInfo": {
19351           "type": "object",
19352           "properties": {
19353             "macaroon": {
19354               "$ref": "#/definitions/Macaroon"
19355             },
19356             "macaroon-path": {
19357               "type": "string"
19358             }
19359           },
19360           "additionalProperties": false
19361         },
19362         "Macaroon": {
19363           "type": "object",
19364           "additionalProperties": false
19365         },
19366         "StringsWatchResult": {
19367           "type": "object",
19368           "properties": {
19369             "changes": {
19370               "type": "array",
19371               "items": {
19372                 "type": "string"
19373               }
19374             },
19375             "error": {
19376               "$ref": "#/definitions/Error"
19377             },
19378             "watcher-id": {
19379               "type": "string"
19380             }
19381           },
19382           "additionalProperties": false,
19383           "required": [
19384             "watcher-id"
19385           ]
19386         }
19387       }
19388     }
19389   },
19390   {
19391     "Name": "Subnets",
19392     "Version": 2,
19393     "Schema": {
19394       "type": "object",
19395       "properties": {
19396         "AddSubnets": {
19397           "type": "object",
19398           "properties": {
19399             "Params": {
19400               "$ref": "#/definitions/AddSubnetsParams"
19401             },
19402             "Result": {
19403               "$ref": "#/definitions/ErrorResults"
19404             }
19405           }
19406         },
19407         "AllSpaces": {
19408           "type": "object",
19409           "properties": {
19410             "Result": {
19411               "$ref": "#/definitions/SpaceResults"
19412             }
19413           }
19414         },
19415         "AllZones": {
19416           "type": "object",
19417           "properties": {
19418             "Result": {
19419               "$ref": "#/definitions/ZoneResults"
19420             }
19421           }
19422         },
19423         "ListSubnets": {
19424           "type": "object",
19425           "properties": {
19426             "Params": {
19427               "$ref": "#/definitions/SubnetsFilters"
19428             },
19429             "Result": {
19430               "$ref": "#/definitions/ListSubnetsResults"
19431             }
19432           }
19433         }
19434       },
19435       "definitions": {
19436         "AddSubnetParams": {
19437           "type": "object",
19438           "properties": {
19439             "space-tag": {
19440               "type": "string"
19441             },
19442             "subnet-provider-id": {
19443               "type": "string"
19444             },
19445             "subnet-tag": {
19446               "type": "string"
19447             },
19448             "zones": {
19449               "type": "array",
19450               "items": {
19451                 "type": "string"
19452               }
19453             }
19454           },
19455           "additionalProperties": false,
19456           "required": [
19457             "space-tag"
19458           ]
19459         },
19460         "AddSubnetsParams": {
19461           "type": "object",
19462           "properties": {
19463             "subnets": {
19464               "type": "array",
19465               "items": {
19466                 "$ref": "#/definitions/AddSubnetParams"
19467               }
19468             }
19469           },
19470           "additionalProperties": false,
19471           "required": [
19472             "subnets"
19473           ]
19474         },
19475         "Error": {
19476           "type": "object",
19477           "properties": {
19478             "code": {
19479               "type": "string"
19480             },
19481             "info": {
19482               "$ref": "#/definitions/ErrorInfo"
19483             },
19484             "message": {
19485               "type": "string"
19486             }
19487           },
19488           "additionalProperties": false,
19489           "required": [
19490             "message",
19491             "code"
19492           ]
19493         },
19494         "ErrorInfo": {
19495           "type": "object",
19496           "properties": {
19497             "macaroon": {
19498               "$ref": "#/definitions/Macaroon"
19499             },
19500             "macaroon-path": {
19501               "type": "string"
19502             }
19503           },
19504           "additionalProperties": false
19505         },
19506         "ErrorResult": {
19507           "type": "object",
19508           "properties": {
19509             "error": {
19510               "$ref": "#/definitions/Error"
19511             }
19512           },
19513           "additionalProperties": false
19514         },
19515         "ErrorResults": {
19516           "type": "object",
19517           "properties": {
19518             "results": {
19519               "type": "array",
19520               "items": {
19521                 "$ref": "#/definitions/ErrorResult"
19522               }
19523             }
19524           },
19525           "additionalProperties": false,
19526           "required": [
19527             "results"
19528           ]
19529         },
19530         "ListSubnetsResults": {
19531           "type": "object",
19532           "properties": {
19533             "results": {
19534               "type": "array",
19535               "items": {
19536                 "$ref": "#/definitions/Subnet"
19537               }
19538             }
19539           },
19540           "additionalProperties": false,
19541           "required": [
19542             "results"
19543           ]
19544         },
19545         "Macaroon": {
19546           "type": "object",
19547           "additionalProperties": false
19548         },
19549         "SpaceResult": {
19550           "type": "object",
19551           "properties": {
19552             "error": {
19553               "$ref": "#/definitions/Error"
19554             },
19555             "tag": {
19556               "type": "string"
19557             }
19558           },
19559           "additionalProperties": false,
19560           "required": [
19561             "tag"
19562           ]
19563         },
19564         "SpaceResults": {
19565           "type": "object",
19566           "properties": {
19567             "results": {
19568               "type": "array",
19569               "items": {
19570                 "$ref": "#/definitions/SpaceResult"
19571               }
19572             }
19573           },
19574           "additionalProperties": false,
19575           "required": [
19576             "results"
19577           ]
19578         },
19579         "Subnet": {
19580           "type": "object",
19581           "properties": {
19582             "cidr": {
19583               "type": "string"
19584             },
19585             "life": {
19586               "type": "string"
19587             },
19588             "provider-id": {
19589               "type": "string"
19590             },
19591             "space-tag": {
19592               "type": "string"
19593             },
19594             "status": {
19595               "type": "string"
19596             },
19597             "vlan-tag": {
19598               "type": "integer"
19599             },
19600             "zones": {
19601               "type": "array",
19602               "items": {
19603                 "type": "string"
19604               }
19605             }
19606           },
19607           "additionalProperties": false,
19608           "required": [
19609             "cidr",
19610             "vlan-tag",
19611             "life",
19612             "space-tag",
19613             "zones"
19614           ]
19615         },
19616         "SubnetsFilters": {
19617           "type": "object",
19618           "properties": {
19619             "space-tag": {
19620               "type": "string"
19621             },
19622             "zone": {
19623               "type": "string"
19624             }
19625           },
19626           "additionalProperties": false
19627         },
19628         "ZoneResult": {
19629           "type": "object",
19630           "properties": {
19631             "available": {
19632               "type": "boolean"
19633             },
19634             "error": {
19635               "$ref": "#/definitions/Error"
19636             },
19637             "name": {
19638               "type": "string"
19639             }
19640           },
19641           "additionalProperties": false,
19642           "required": [
19643             "name",
19644             "available"
19645           ]
19646         },
19647         "ZoneResults": {
19648           "type": "object",
19649           "properties": {
19650             "results": {
19651               "type": "array",
19652               "items": {
19653                 "$ref": "#/definitions/ZoneResult"
19654               }
19655             }
19656           },
19657           "additionalProperties": false,
19658           "required": [
19659             "results"
19660           ]
19661         }
19662       }
19663     }
19664   },
19665   {
19666     "Name": "Undertaker",
19667     "Version": 1,
19668     "Schema": {
19669       "type": "object",
19670       "properties": {
19671         "ModelConfig": {
19672           "type": "object",
19673           "properties": {
19674             "Result": {
19675               "$ref": "#/definitions/ModelConfigResult"
19676             }
19677           }
19678         },
19679         "ModelInfo": {
19680           "type": "object",
19681           "properties": {
19682             "Result": {
19683               "$ref": "#/definitions/UndertakerModelInfoResult"
19684             }
19685           }
19686         },
19687         "ProcessDyingModel": {
19688           "type": "object"
19689         },
19690         "RemoveModel": {
19691           "type": "object"
19692         },
19693         "SetStatus": {
19694           "type": "object",
19695           "properties": {
19696             "Params": {
19697               "$ref": "#/definitions/SetStatus"
19698             },
19699             "Result": {
19700               "$ref": "#/definitions/ErrorResults"
19701             }
19702           }
19703         },
19704         "UpdateStatus": {
19705           "type": "object",
19706           "properties": {
19707             "Params": {
19708               "$ref": "#/definitions/SetStatus"
19709             },
19710             "Result": {
19711               "$ref": "#/definitions/ErrorResults"
19712             }
19713           }
19714         },
19715         "WatchModelResources": {
19716           "type": "object",
19717           "properties": {
19718             "Result": {
19719               "$ref": "#/definitions/NotifyWatchResults"
19720             }
19721           }
19722         }
19723       },
19724       "definitions": {
19725         "EntityStatusArgs": {
19726           "type": "object",
19727           "properties": {
19728             "data": {
19729               "type": "object",
19730               "patternProperties": {
19731                 ".*": {
19732                   "type": "object",
19733                   "additionalProperties": true
19734                 }
19735               }
19736             },
19737             "info": {
19738               "type": "string"
19739             },
19740             "status": {
19741               "type": "string"
19742             },
19743             "tag": {
19744               "type": "string"
19745             }
19746           },
19747           "additionalProperties": false,
19748           "required": [
19749             "tag",
19750             "status",
19751             "info",
19752             "data"
19753           ]
19754         },
19755         "Error": {
19756           "type": "object",
19757           "properties": {
19758             "code": {
19759               "type": "string"
19760             },
19761             "info": {
19762               "$ref": "#/definitions/ErrorInfo"
19763             },
19764             "message": {
19765               "type": "string"
19766             }
19767           },
19768           "additionalProperties": false,
19769           "required": [
19770             "message",
19771             "code"
19772           ]
19773         },
19774         "ErrorInfo": {
19775           "type": "object",
19776           "properties": {
19777             "macaroon": {
19778               "$ref": "#/definitions/Macaroon"
19779             },
19780             "macaroon-path": {
19781               "type": "string"
19782             }
19783           },
19784           "additionalProperties": false
19785         },
19786         "ErrorResult": {
19787           "type": "object",
19788           "properties": {
19789             "error": {
19790               "$ref": "#/definitions/Error"
19791             }
19792           },
19793           "additionalProperties": false
19794         },
19795         "ErrorResults": {
19796           "type": "object",
19797           "properties": {
19798             "results": {
19799               "type": "array",
19800               "items": {
19801                 "$ref": "#/definitions/ErrorResult"
19802               }
19803             }
19804           },
19805           "additionalProperties": false,
19806           "required": [
19807             "results"
19808           ]
19809         },
19810         "Macaroon": {
19811           "type": "object",
19812           "additionalProperties": false
19813         },
19814         "ModelConfigResult": {
19815           "type": "object",
19816           "properties": {
19817             "config": {
19818               "type": "object",
19819               "patternProperties": {
19820                 ".*": {
19821                   "type": "object",
19822                   "additionalProperties": true
19823                 }
19824               }
19825             }
19826           },
19827           "additionalProperties": false,
19828           "required": [
19829             "config"
19830           ]
19831         },
19832         "NotifyWatchResult": {
19833           "type": "object",
19834           "properties": {
19835             "NotifyWatcherId": {
19836               "type": "string"
19837             },
19838             "error": {
19839               "$ref": "#/definitions/Error"
19840             }
19841           },
19842           "additionalProperties": false,
19843           "required": [
19844             "NotifyWatcherId"
19845           ]
19846         },
19847         "NotifyWatchResults": {
19848           "type": "object",
19849           "properties": {
19850             "results": {
19851               "type": "array",
19852               "items": {
19853                 "$ref": "#/definitions/NotifyWatchResult"
19854               }
19855             }
19856           },
19857           "additionalProperties": false,
19858           "required": [
19859             "results"
19860           ]
19861         },
19862         "SetStatus": {
19863           "type": "object",
19864           "properties": {
19865             "entities": {
19866               "type": "array",
19867               "items": {
19868                 "$ref": "#/definitions/EntityStatusArgs"
19869               }
19870             }
19871           },
19872           "additionalProperties": false,
19873           "required": [
19874             "entities"
19875           ]
19876         },
19877         "UndertakerModelInfo": {
19878           "type": "object",
19879           "properties": {
19880             "global-name": {
19881               "type": "string"
19882             },
19883             "is-system": {
19884               "type": "boolean"
19885             },
19886             "life": {
19887               "type": "string"
19888             },
19889             "name": {
19890               "type": "string"
19891             },
19892             "uuid": {
19893               "type": "string"
19894             }
19895           },
19896           "additionalProperties": false,
19897           "required": [
19898             "uuid",
19899             "name",
19900             "global-name",
19901             "is-system",
19902             "life"
19903           ]
19904         },
19905         "UndertakerModelInfoResult": {
19906           "type": "object",
19907           "properties": {
19908             "error": {
19909               "$ref": "#/definitions/Error"
19910             },
19911             "result": {
19912               "$ref": "#/definitions/UndertakerModelInfo"
19913             }
19914           },
19915           "additionalProperties": false,
19916           "required": [
19917             "result"
19918           ]
19919         }
19920       }
19921     }
19922   },
19923   {
19924     "Name": "UnitAssigner",
19925     "Version": 1,
19926     "Schema": {
19927       "type": "object",
19928       "properties": {
19929         "AssignUnits": {
19930           "type": "object",
19931           "properties": {
19932             "Params": {
19933               "$ref": "#/definitions/Entities"
19934             },
19935             "Result": {
19936               "$ref": "#/definitions/ErrorResults"
19937             }
19938           }
19939         },
19940         "SetAgentStatus": {
19941           "type": "object",
19942           "properties": {
19943             "Params": {
19944               "$ref": "#/definitions/SetStatus"
19945             },
19946             "Result": {
19947               "$ref": "#/definitions/ErrorResults"
19948             }
19949           }
19950         },
19951         "WatchUnitAssignments": {
19952           "type": "object",
19953           "properties": {
19954             "Result": {
19955               "$ref": "#/definitions/StringsWatchResult"
19956             }
19957           }
19958         }
19959       },
19960       "definitions": {
19961         "Entities": {
19962           "type": "object",
19963           "properties": {
19964             "entities": {
19965               "type": "array",
19966               "items": {
19967                 "$ref": "#/definitions/Entity"
19968               }
19969             }
19970           },
19971           "additionalProperties": false,
19972           "required": [
19973             "entities"
19974           ]
19975         },
19976         "Entity": {
19977           "type": "object",
19978           "properties": {
19979             "tag": {
19980               "type": "string"
19981             }
19982           },
19983           "additionalProperties": false,
19984           "required": [
19985             "tag"
19986           ]
19987         },
19988         "EntityStatusArgs": {
19989           "type": "object",
19990           "properties": {
19991             "data": {
19992               "type": "object",
19993               "patternProperties": {
19994                 ".*": {
19995                   "type": "object",
19996                   "additionalProperties": true
19997                 }
19998               }
19999             },
20000             "info": {
20001               "type": "string"
20002             },
20003             "status": {
20004               "type": "string"
20005             },
20006             "tag": {
20007               "type": "string"
20008             }
20009           },
20010           "additionalProperties": false,
20011           "required": [
20012             "tag",
20013             "status",
20014             "info",
20015             "data"
20016           ]
20017         },
20018         "Error": {
20019           "type": "object",
20020           "properties": {
20021             "code": {
20022               "type": "string"
20023             },
20024             "info": {
20025               "$ref": "#/definitions/ErrorInfo"
20026             },
20027             "message": {
20028               "type": "string"
20029             }
20030           },
20031           "additionalProperties": false,
20032           "required": [
20033             "message",
20034             "code"
20035           ]
20036         },
20037         "ErrorInfo": {
20038           "type": "object",
20039           "properties": {
20040             "macaroon": {
20041               "$ref": "#/definitions/Macaroon"
20042             },
20043             "macaroon-path": {
20044               "type": "string"
20045             }
20046           },
20047           "additionalProperties": false
20048         },
20049         "ErrorResult": {
20050           "type": "object",
20051           "properties": {
20052             "error": {
20053               "$ref": "#/definitions/Error"
20054             }
20055           },
20056           "additionalProperties": false
20057         },
20058         "ErrorResults": {
20059           "type": "object",
20060           "properties": {
20061             "results": {
20062               "type": "array",
20063               "items": {
20064                 "$ref": "#/definitions/ErrorResult"
20065               }
20066             }
20067           },
20068           "additionalProperties": false,
20069           "required": [
20070             "results"
20071           ]
20072         },
20073         "Macaroon": {
20074           "type": "object",
20075           "additionalProperties": false
20076         },
20077         "SetStatus": {
20078           "type": "object",
20079           "properties": {
20080             "entities": {
20081               "type": "array",
20082               "items": {
20083                 "$ref": "#/definitions/EntityStatusArgs"
20084               }
20085             }
20086           },
20087           "additionalProperties": false,
20088           "required": [
20089             "entities"
20090           ]
20091         },
20092         "StringsWatchResult": {
20093           "type": "object",
20094           "properties": {
20095             "changes": {
20096               "type": "array",
20097               "items": {
20098                 "type": "string"
20099               }
20100             },
20101             "error": {
20102               "$ref": "#/definitions/Error"
20103             },
20104             "watcher-id": {
20105               "type": "string"
20106             }
20107           },
20108           "additionalProperties": false,
20109           "required": [
20110             "watcher-id"
20111           ]
20112         }
20113       }
20114     }
20115   },
20116   {
20117     "Name": "Uniter",
20118     "Version": 4,
20119     "Schema": {
20120       "type": "object",
20121       "properties": {
20122         "APIAddresses": {
20123           "type": "object",
20124           "properties": {
20125             "Result": {
20126               "$ref": "#/definitions/StringsResult"
20127             }
20128           }
20129         },
20130         "APIHostPorts": {
20131           "type": "object",
20132           "properties": {
20133             "Result": {
20134               "$ref": "#/definitions/APIHostPortsResult"
20135             }
20136           }
20137         },
20138         "Actions": {
20139           "type": "object",
20140           "properties": {
20141             "Params": {
20142               "$ref": "#/definitions/Entities"
20143             },
20144             "Result": {
20145               "$ref": "#/definitions/ActionResults"
20146             }
20147           }
20148         },
20149         "AddMetricBatches": {
20150           "type": "object",
20151           "properties": {
20152             "Params": {
20153               "$ref": "#/definitions/MetricBatchParams"
20154             },
20155             "Result": {
20156               "$ref": "#/definitions/ErrorResults"
20157             }
20158           }
20159         },
20160         "AddUnitStorage": {
20161           "type": "object",
20162           "properties": {
20163             "Params": {
20164               "$ref": "#/definitions/StoragesAddParams"
20165             },
20166             "Result": {
20167               "$ref": "#/definitions/ErrorResults"
20168             }
20169           }
20170         },
20171         "AllMachinePorts": {
20172           "type": "object",
20173           "properties": {
20174             "Params": {
20175               "$ref": "#/definitions/Entities"
20176             },
20177             "Result": {
20178               "$ref": "#/definitions/MachinePortsResults"
20179             }
20180           }
20181         },
20182         "ApplicationStatus": {
20183           "type": "object",
20184           "properties": {
20185             "Params": {
20186               "$ref": "#/definitions/Entities"
20187             },
20188             "Result": {
20189               "$ref": "#/definitions/ApplicationStatusResults"
20190             }
20191           }
20192         },
20193         "AssignedMachine": {
20194           "type": "object",
20195           "properties": {
20196             "Params": {
20197               "$ref": "#/definitions/Entities"
20198             },
20199             "Result": {
20200               "$ref": "#/definitions/StringResults"
20201             }
20202           }
20203         },
20204         "AvailabilityZone": {
20205           "type": "object",
20206           "properties": {
20207             "Params": {
20208               "$ref": "#/definitions/Entities"
20209             },
20210             "Result": {
20211               "$ref": "#/definitions/StringResults"
20212             }
20213           }
20214         },
20215         "BeginActions": {
20216           "type": "object",
20217           "properties": {
20218             "Params": {
20219               "$ref": "#/definitions/Entities"
20220             },
20221             "Result": {
20222               "$ref": "#/definitions/ErrorResults"
20223             }
20224           }
20225         },
20226         "CACert": {
20227           "type": "object",
20228           "properties": {
20229             "Result": {
20230               "$ref": "#/definitions/BytesResult"
20231             }
20232           }
20233         },
20234         "CharmArchiveSha256": {
20235           "type": "object",
20236           "properties": {
20237             "Params": {
20238               "$ref": "#/definitions/CharmURLs"
20239             },
20240             "Result": {
20241               "$ref": "#/definitions/StringResults"
20242             }
20243           }
20244         },
20245         "CharmModifiedVersion": {
20246           "type": "object",
20247           "properties": {
20248             "Params": {
20249               "$ref": "#/definitions/Entities"
20250             },
20251             "Result": {
20252               "$ref": "#/definitions/IntResults"
20253             }
20254           }
20255         },
20256         "CharmURL": {
20257           "type": "object",
20258           "properties": {
20259             "Params": {
20260               "$ref": "#/definitions/Entities"
20261             },
20262             "Result": {
20263               "$ref": "#/definitions/StringBoolResults"
20264             }
20265           }
20266         },
20267         "ClearResolved": {
20268           "type": "object",
20269           "properties": {
20270             "Params": {
20271               "$ref": "#/definitions/Entities"
20272             },
20273             "Result": {
20274               "$ref": "#/definitions/ErrorResults"
20275             }
20276           }
20277         },
20278         "ClosePorts": {
20279           "type": "object",
20280           "properties": {
20281             "Params": {
20282               "$ref": "#/definitions/EntitiesPortRanges"
20283             },
20284             "Result": {
20285               "$ref": "#/definitions/ErrorResults"
20286             }
20287           }
20288         },
20289         "ConfigSettings": {
20290           "type": "object",
20291           "properties": {
20292             "Params": {
20293               "$ref": "#/definitions/Entities"
20294             },
20295             "Result": {
20296               "$ref": "#/definitions/ConfigSettingsResults"
20297             }
20298           }
20299         },
20300         "CurrentModel": {
20301           "type": "object",
20302           "properties": {
20303             "Result": {
20304               "$ref": "#/definitions/ModelResult"
20305             }
20306           }
20307         },
20308         "Destroy": {
20309           "type": "object",
20310           "properties": {
20311             "Params": {
20312               "$ref": "#/definitions/Entities"
20313             },
20314             "Result": {
20315               "$ref": "#/definitions/ErrorResults"
20316             }
20317           }
20318         },
20319         "DestroyAllSubordinates": {
20320           "type": "object",
20321           "properties": {
20322             "Params": {
20323               "$ref": "#/definitions/Entities"
20324             },
20325             "Result": {
20326               "$ref": "#/definitions/ErrorResults"
20327             }
20328           }
20329         },
20330         "DestroyUnitStorageAttachments": {
20331           "type": "object",
20332           "properties": {
20333             "Params": {
20334               "$ref": "#/definitions/Entities"
20335             },
20336             "Result": {
20337               "$ref": "#/definitions/ErrorResults"
20338             }
20339           }
20340         },
20341         "EnsureDead": {
20342           "type": "object",
20343           "properties": {
20344             "Params": {
20345               "$ref": "#/definitions/Entities"
20346             },
20347             "Result": {
20348               "$ref": "#/definitions/ErrorResults"
20349             }
20350           }
20351         },
20352         "EnterScope": {
20353           "type": "object",
20354           "properties": {
20355             "Params": {
20356               "$ref": "#/definitions/RelationUnits"
20357             },
20358             "Result": {
20359               "$ref": "#/definitions/ErrorResults"
20360             }
20361           }
20362         },
20363         "FinishActions": {
20364           "type": "object",
20365           "properties": {
20366             "Params": {
20367               "$ref": "#/definitions/ActionExecutionResults"
20368             },
20369             "Result": {
20370               "$ref": "#/definitions/ErrorResults"
20371             }
20372           }
20373         },
20374         "GetMeterStatus": {
20375           "type": "object",
20376           "properties": {
20377             "Params": {
20378               "$ref": "#/definitions/Entities"
20379             },
20380             "Result": {
20381               "$ref": "#/definitions/MeterStatusResults"
20382             }
20383           }
20384         },
20385         "GetPrincipal": {
20386           "type": "object",
20387           "properties": {
20388             "Params": {
20389               "$ref": "#/definitions/Entities"
20390             },
20391             "Result": {
20392               "$ref": "#/definitions/StringBoolResults"
20393             }
20394           }
20395         },
20396         "HasSubordinates": {
20397           "type": "object",
20398           "properties": {
20399             "Params": {
20400               "$ref": "#/definitions/Entities"
20401             },
20402             "Result": {
20403               "$ref": "#/definitions/BoolResults"
20404             }
20405           }
20406         },
20407         "JoinedRelations": {
20408           "type": "object",
20409           "properties": {
20410             "Params": {
20411               "$ref": "#/definitions/Entities"
20412             },
20413             "Result": {
20414               "$ref": "#/definitions/StringsResults"
20415             }
20416           }
20417         },
20418         "LeaveScope": {
20419           "type": "object",
20420           "properties": {
20421             "Params": {
20422               "$ref": "#/definitions/RelationUnits"
20423             },
20424             "Result": {
20425               "$ref": "#/definitions/ErrorResults"
20426             }
20427           }
20428         },
20429         "Life": {
20430           "type": "object",
20431           "properties": {
20432             "Params": {
20433               "$ref": "#/definitions/Entities"
20434             },
20435             "Result": {
20436               "$ref": "#/definitions/LifeResults"
20437             }
20438           }
20439         },
20440         "Merge": {
20441           "type": "object",
20442           "properties": {
20443             "Params": {
20444               "$ref": "#/definitions/MergeLeadershipSettingsBulkParams"
20445             },
20446             "Result": {
20447               "$ref": "#/definitions/ErrorResults"
20448             }
20449           }
20450         },
20451         "ModelConfig": {
20452           "type": "object",
20453           "properties": {
20454             "Result": {
20455               "$ref": "#/definitions/ModelConfigResult"
20456             }
20457           }
20458         },
20459         "ModelUUID": {
20460           "type": "object",
20461           "properties": {
20462             "Result": {
20463               "$ref": "#/definitions/StringResult"
20464             }
20465           }
20466         },
20467         "NetworkConfig": {
20468           "type": "object",
20469           "properties": {
20470             "Params": {
20471               "$ref": "#/definitions/UnitsNetworkConfig"
20472             },
20473             "Result": {
20474               "$ref": "#/definitions/UnitNetworkConfigResults"
20475             }
20476           }
20477         },
20478         "OpenPorts": {
20479           "type": "object",
20480           "properties": {
20481             "Params": {
20482               "$ref": "#/definitions/EntitiesPortRanges"
20483             },
20484             "Result": {
20485               "$ref": "#/definitions/ErrorResults"
20486             }
20487           }
20488         },
20489         "PrivateAddress": {
20490           "type": "object",
20491           "properties": {
20492             "Params": {
20493               "$ref": "#/definitions/Entities"
20494             },
20495             "Result": {
20496               "$ref": "#/definitions/StringResults"
20497             }
20498           }
20499         },
20500         "ProviderType": {
20501           "type": "object",
20502           "properties": {
20503             "Result": {
20504               "$ref": "#/definitions/StringResult"
20505             }
20506           }
20507         },
20508         "PublicAddress": {
20509           "type": "object",
20510           "properties": {
20511             "Params": {
20512               "$ref": "#/definitions/Entities"
20513             },
20514             "Result": {
20515               "$ref": "#/definitions/StringResults"
20516             }
20517           }
20518         },
20519         "Read": {
20520           "type": "object",
20521           "properties": {
20522             "Params": {
20523               "$ref": "#/definitions/Entities"
20524             },
20525             "Result": {
20526               "$ref": "#/definitions/GetLeadershipSettingsBulkResults"
20527             }
20528           }
20529         },
20530         "ReadRemoteSettings": {
20531           "type": "object",
20532           "properties": {
20533             "Params": {
20534               "$ref": "#/definitions/RelationUnitPairs"
20535             },
20536             "Result": {
20537               "$ref": "#/definitions/SettingsResults"
20538             }
20539           }
20540         },
20541         "ReadSettings": {
20542           "type": "object",
20543           "properties": {
20544             "Params": {
20545               "$ref": "#/definitions/RelationUnits"
20546             },
20547             "Result": {
20548               "$ref": "#/definitions/SettingsResults"
20549             }
20550           }
20551         },
20552         "Relation": {
20553           "type": "object",
20554           "properties": {
20555             "Params": {
20556               "$ref": "#/definitions/RelationUnits"
20557             },
20558             "Result": {
20559               "$ref": "#/definitions/RelationResults"
20560             }
20561           }
20562         },
20563         "RelationById": {
20564           "type": "object",
20565           "properties": {
20566             "Params": {
20567               "$ref": "#/definitions/RelationIds"
20568             },
20569             "Result": {
20570               "$ref": "#/definitions/RelationResults"
20571             }
20572           }
20573         },
20574         "RemoveStorageAttachments": {
20575           "type": "object",
20576           "properties": {
20577             "Params": {
20578               "$ref": "#/definitions/StorageAttachmentIds"
20579             },
20580             "Result": {
20581               "$ref": "#/definitions/ErrorResults"
20582             }
20583           }
20584         },
20585         "RequestReboot": {
20586           "type": "object",
20587           "properties": {
20588             "Params": {
20589               "$ref": "#/definitions/Entities"
20590             },
20591             "Result": {
20592               "$ref": "#/definitions/ErrorResults"
20593             }
20594           }
20595         },
20596         "Resolved": {
20597           "type": "object",
20598           "properties": {
20599             "Params": {
20600               "$ref": "#/definitions/Entities"
20601             },
20602             "Result": {
20603               "$ref": "#/definitions/ResolvedModeResults"
20604             }
20605           }
20606         },
20607         "SetAgentStatus": {
20608           "type": "object",
20609           "properties": {
20610             "Params": {
20611               "$ref": "#/definitions/SetStatus"
20612             },
20613             "Result": {
20614               "$ref": "#/definitions/ErrorResults"
20615             }
20616           }
20617         },
20618         "SetApplicationStatus": {
20619           "type": "object",
20620           "properties": {
20621             "Params": {
20622               "$ref": "#/definitions/SetStatus"
20623             },
20624             "Result": {
20625               "$ref": "#/definitions/ErrorResults"
20626             }
20627           }
20628         },
20629         "SetCharmURL": {
20630           "type": "object",
20631           "properties": {
20632             "Params": {
20633               "$ref": "#/definitions/EntitiesCharmURL"
20634             },
20635             "Result": {
20636               "$ref": "#/definitions/ErrorResults"
20637             }
20638           }
20639         },
20640         "SetStatus": {
20641           "type": "object",
20642           "properties": {
20643             "Params": {
20644               "$ref": "#/definitions/SetStatus"
20645             },
20646             "Result": {
20647               "$ref": "#/definitions/ErrorResults"
20648             }
20649           }
20650         },
20651         "SetUnitStatus": {
20652           "type": "object",
20653           "properties": {
20654             "Params": {
20655               "$ref": "#/definitions/SetStatus"
20656             },
20657             "Result": {
20658               "$ref": "#/definitions/ErrorResults"
20659             }
20660           }
20661         },
20662         "SetWorkloadVersion": {
20663           "type": "object",
20664           "properties": {
20665             "Params": {
20666               "$ref": "#/definitions/EntityWorkloadVersions"
20667             },
20668             "Result": {
20669               "$ref": "#/definitions/ErrorResults"
20670             }
20671           }
20672         },
20673         "StorageAttachmentLife": {
20674           "type": "object",
20675           "properties": {
20676             "Params": {
20677               "$ref": "#/definitions/StorageAttachmentIds"
20678             },
20679             "Result": {
20680               "$ref": "#/definitions/LifeResults"
20681             }
20682           }
20683         },
20684         "StorageAttachments": {
20685           "type": "object",
20686           "properties": {
20687             "Params": {
20688               "$ref": "#/definitions/StorageAttachmentIds"
20689             },
20690             "Result": {
20691               "$ref": "#/definitions/StorageAttachmentResults"
20692             }
20693           }
20694         },
20695         "UnitStatus": {
20696           "type": "object",
20697           "properties": {
20698             "Params": {
20699               "$ref": "#/definitions/Entities"
20700             },
20701             "Result": {
20702               "$ref": "#/definitions/StatusResults"
20703             }
20704           }
20705         },
20706         "UnitStorageAttachments": {
20707           "type": "object",
20708           "properties": {
20709             "Params": {
20710               "$ref": "#/definitions/Entities"
20711             },
20712             "Result": {
20713               "$ref": "#/definitions/StorageAttachmentIdsResults"
20714             }
20715           }
20716         },
20717         "UpdateSettings": {
20718           "type": "object",
20719           "properties": {
20720             "Params": {
20721               "$ref": "#/definitions/RelationUnitsSettings"
20722             },
20723             "Result": {
20724               "$ref": "#/definitions/ErrorResults"
20725             }
20726           }
20727         },
20728         "Watch": {
20729           "type": "object",
20730           "properties": {
20731             "Params": {
20732               "$ref": "#/definitions/Entities"
20733             },
20734             "Result": {
20735               "$ref": "#/definitions/NotifyWatchResults"
20736             }
20737           }
20738         },
20739         "WatchAPIHostPorts": {
20740           "type": "object",
20741           "properties": {
20742             "Result": {
20743               "$ref": "#/definitions/NotifyWatchResult"
20744             }
20745           }
20746         },
20747         "WatchActionNotifications": {
20748           "type": "object",
20749           "properties": {
20750             "Params": {
20751               "$ref": "#/definitions/Entities"
20752             },
20753             "Result": {
20754               "$ref": "#/definitions/StringsWatchResults"
20755             }
20756           }
20757         },
20758         "WatchApplicationRelations": {
20759           "type": "object",
20760           "properties": {
20761             "Params": {
20762               "$ref": "#/definitions/Entities"
20763             },
20764             "Result": {
20765               "$ref": "#/definitions/StringsWatchResults"
20766             }
20767           }
20768         },
20769         "WatchConfigSettings": {
20770           "type": "object",
20771           "properties": {
20772             "Params": {
20773               "$ref": "#/definitions/Entities"
20774             },
20775             "Result": {
20776               "$ref": "#/definitions/NotifyWatchResults"
20777             }
20778           }
20779         },
20780         "WatchForModelConfigChanges": {
20781           "type": "object",
20782           "properties": {
20783             "Result": {
20784               "$ref": "#/definitions/NotifyWatchResult"
20785             }
20786           }
20787         },
20788         "WatchLeadershipSettings": {
20789           "type": "object",
20790           "properties": {
20791             "Params": {
20792               "$ref": "#/definitions/Entities"
20793             },
20794             "Result": {
20795               "$ref": "#/definitions/NotifyWatchResults"
20796             }
20797           }
20798         },
20799         "WatchMeterStatus": {
20800           "type": "object",
20801           "properties": {
20802             "Params": {
20803               "$ref": "#/definitions/Entities"
20804             },
20805             "Result": {
20806               "$ref": "#/definitions/NotifyWatchResults"
20807             }
20808           }
20809         },
20810         "WatchRelationUnits": {
20811           "type": "object",
20812           "properties": {
20813             "Params": {
20814               "$ref": "#/definitions/RelationUnits"
20815             },
20816             "Result": {
20817               "$ref": "#/definitions/RelationUnitsWatchResults"
20818             }
20819           }
20820         },
20821         "WatchStorageAttachments": {
20822           "type": "object",
20823           "properties": {
20824             "Params": {
20825               "$ref": "#/definitions/StorageAttachmentIds"
20826             },
20827             "Result": {
20828               "$ref": "#/definitions/NotifyWatchResults"
20829             }
20830           }
20831         },
20832         "WatchUnitAddresses": {
20833           "type": "object",
20834           "properties": {
20835             "Params": {
20836               "$ref": "#/definitions/Entities"
20837             },
20838             "Result": {
20839               "$ref": "#/definitions/NotifyWatchResults"
20840             }
20841           }
20842         },
20843         "WatchUnitStorageAttachments": {
20844           "type": "object",
20845           "properties": {
20846             "Params": {
20847               "$ref": "#/definitions/Entities"
20848             },
20849             "Result": {
20850               "$ref": "#/definitions/StringsWatchResults"
20851             }
20852           }
20853         },
20854         "WorkloadVersion": {
20855           "type": "object",
20856           "properties": {
20857             "Params": {
20858               "$ref": "#/definitions/Entities"
20859             },
20860             "Result": {
20861               "$ref": "#/definitions/StringResults"
20862             }
20863           }
20864         }
20865       },
20866       "definitions": {
20867         "APIHostPortsResult": {
20868           "type": "object",
20869           "properties": {
20870             "servers": {
20871               "type": "array",
20872               "items": {
20873                 "type": "array",
20874                 "items": {
20875                   "$ref": "#/definitions/HostPort"
20876                 }
20877               }
20878             }
20879           },
20880           "additionalProperties": false,
20881           "required": [
20882             "servers"
20883           ]
20884         },
20885         "Action": {
20886           "type": "object",
20887           "properties": {
20888             "name": {
20889               "type": "string"
20890             },
20891             "parameters": {
20892               "type": "object",
20893               "patternProperties": {
20894                 ".*": {
20895                   "type": "object",
20896                   "additionalProperties": true
20897                 }
20898               }
20899             },
20900             "receiver": {
20901               "type": "string"
20902             },
20903             "tag": {
20904               "type": "string"
20905             }
20906           },
20907           "additionalProperties": false,
20908           "required": [
20909             "tag",
20910             "receiver",
20911             "name"
20912           ]
20913         },
20914         "ActionExecutionResult": {
20915           "type": "object",
20916           "properties": {
20917             "action-tag": {
20918               "type": "string"
20919             },
20920             "message": {
20921               "type": "string"
20922             },
20923             "results": {
20924               "type": "object",
20925               "patternProperties": {
20926                 ".*": {
20927                   "type": "object",
20928                   "additionalProperties": true
20929                 }
20930               }
20931             },
20932             "status": {
20933               "type": "string"
20934             }
20935           },
20936           "additionalProperties": false,
20937           "required": [
20938             "action-tag",
20939             "status"
20940           ]
20941         },
20942         "ActionExecutionResults": {
20943           "type": "object",
20944           "properties": {
20945             "results": {
20946               "type": "array",
20947               "items": {
20948                 "$ref": "#/definitions/ActionExecutionResult"
20949               }
20950             }
20951           },
20952           "additionalProperties": false
20953         },
20954         "ActionResult": {
20955           "type": "object",
20956           "properties": {
20957             "action": {
20958               "$ref": "#/definitions/Action"
20959             },
20960             "completed": {
20961               "type": "string",
20962               "format": "date-time"
20963             },
20964             "enqueued": {
20965               "type": "string",
20966               "format": "date-time"
20967             },
20968             "error": {
20969               "$ref": "#/definitions/Error"
20970             },
20971             "message": {
20972               "type": "string"
20973             },
20974             "output": {
20975               "type": "object",
20976               "patternProperties": {
20977                 ".*": {
20978                   "type": "object",
20979                   "additionalProperties": true
20980                 }
20981               }
20982             },
20983             "started": {
20984               "type": "string",
20985               "format": "date-time"
20986             },
20987             "status": {
20988               "type": "string"
20989             }
20990           },
20991           "additionalProperties": false
20992         },
20993         "ActionResults": {
20994           "type": "object",
20995           "properties": {
20996             "results": {
20997               "type": "array",
20998               "items": {
20999                 "$ref": "#/definitions/ActionResult"
21000               }
21001             }
21002           },
21003           "additionalProperties": false
21004         },
21005         "Address": {
21006           "type": "object",
21007           "properties": {
21008             "scope": {
21009               "type": "string"
21010             },
21011             "space-name": {
21012               "type": "string"
21013             },
21014             "type": {
21015               "type": "string"
21016             },
21017             "value": {
21018               "type": "string"
21019             }
21020           },
21021           "additionalProperties": false,
21022           "required": [
21023             "value",
21024             "type",
21025             "scope"
21026           ]
21027         },
21028         "ApplicationStatusResult": {
21029           "type": "object",
21030           "properties": {
21031             "application": {
21032               "$ref": "#/definitions/StatusResult"
21033             },
21034             "error": {
21035               "$ref": "#/definitions/Error"
21036             },
21037             "units": {
21038               "type": "object",
21039               "patternProperties": {
21040                 ".*": {
21041                   "$ref": "#/definitions/StatusResult"
21042                 }
21043               }
21044             }
21045           },
21046           "additionalProperties": false,
21047           "required": [
21048             "application",
21049             "units"
21050           ]
21051         },
21052         "ApplicationStatusResults": {
21053           "type": "object",
21054           "properties": {
21055             "results": {
21056               "type": "array",
21057               "items": {
21058                 "$ref": "#/definitions/ApplicationStatusResult"
21059               }
21060             }
21061           },
21062           "additionalProperties": false,
21063           "required": [
21064             "results"
21065           ]
21066         },
21067         "BoolResult": {
21068           "type": "object",
21069           "properties": {
21070             "error": {
21071               "$ref": "#/definitions/Error"
21072             },
21073             "result": {
21074               "type": "boolean"
21075             }
21076           },
21077           "additionalProperties": false,
21078           "required": [
21079             "result"
21080           ]
21081         },
21082         "BoolResults": {
21083           "type": "object",
21084           "properties": {
21085             "results": {
21086               "type": "array",
21087               "items": {
21088                 "$ref": "#/definitions/BoolResult"
21089               }
21090             }
21091           },
21092           "additionalProperties": false,
21093           "required": [
21094             "results"
21095           ]
21096         },
21097         "BytesResult": {
21098           "type": "object",
21099           "properties": {
21100             "result": {
21101               "type": "array",
21102               "items": {
21103                 "type": "integer"
21104               }
21105             }
21106           },
21107           "additionalProperties": false,
21108           "required": [
21109             "result"
21110           ]
21111         },
21112         "CharmRelation": {
21113           "type": "object",
21114           "properties": {
21115             "interface": {
21116               "type": "string"
21117             },
21118             "limit": {
21119               "type": "integer"
21120             },
21121             "name": {
21122               "type": "string"
21123             },
21124             "optional": {
21125               "type": "boolean"
21126             },
21127             "role": {
21128               "type": "string"
21129             },
21130             "scope": {
21131               "type": "string"
21132             }
21133           },
21134           "additionalProperties": false,
21135           "required": [
21136             "name",
21137             "role",
21138             "interface",
21139             "optional",
21140             "limit",
21141             "scope"
21142           ]
21143         },
21144         "CharmURL": {
21145           "type": "object",
21146           "properties": {
21147             "url": {
21148               "type": "string"
21149             }
21150           },
21151           "additionalProperties": false,
21152           "required": [
21153             "url"
21154           ]
21155         },
21156         "CharmURLs": {
21157           "type": "object",
21158           "properties": {
21159             "urls": {
21160               "type": "array",
21161               "items": {
21162                 "$ref": "#/definitions/CharmURL"
21163               }
21164             }
21165           },
21166           "additionalProperties": false,
21167           "required": [
21168             "urls"
21169           ]
21170         },
21171         "ConfigSettingsResult": {
21172           "type": "object",
21173           "properties": {
21174             "error": {
21175               "$ref": "#/definitions/Error"
21176             },
21177             "settings": {
21178               "type": "object",
21179               "patternProperties": {
21180                 ".*": {
21181                   "type": "object",
21182                   "additionalProperties": true
21183                 }
21184               }
21185             }
21186           },
21187           "additionalProperties": false,
21188           "required": [
21189             "settings"
21190           ]
21191         },
21192         "ConfigSettingsResults": {
21193           "type": "object",
21194           "properties": {
21195             "results": {
21196               "type": "array",
21197               "items": {
21198                 "$ref": "#/definitions/ConfigSettingsResult"
21199               }
21200             }
21201           },
21202           "additionalProperties": false,
21203           "required": [
21204             "results"
21205           ]
21206         },
21207         "Endpoint": {
21208           "type": "object",
21209           "properties": {
21210             "application-name": {
21211               "type": "string"
21212             },
21213             "relation": {
21214               "$ref": "#/definitions/CharmRelation"
21215             }
21216           },
21217           "additionalProperties": false,
21218           "required": [
21219             "application-name",
21220             "relation"
21221           ]
21222         },
21223         "Entities": {
21224           "type": "object",
21225           "properties": {
21226             "entities": {
21227               "type": "array",
21228               "items": {
21229                 "$ref": "#/definitions/Entity"
21230               }
21231             }
21232           },
21233           "additionalProperties": false,
21234           "required": [
21235             "entities"
21236           ]
21237         },
21238         "EntitiesCharmURL": {
21239           "type": "object",
21240           "properties": {
21241             "entities": {
21242               "type": "array",
21243               "items": {
21244                 "$ref": "#/definitions/EntityCharmURL"
21245               }
21246             }
21247           },
21248           "additionalProperties": false,
21249           "required": [
21250             "entities"
21251           ]
21252         },
21253         "EntitiesPortRanges": {
21254           "type": "object",
21255           "properties": {
21256             "entities": {
21257               "type": "array",
21258               "items": {
21259                 "$ref": "#/definitions/EntityPortRange"
21260               }
21261             }
21262           },
21263           "additionalProperties": false,
21264           "required": [
21265             "entities"
21266           ]
21267         },
21268         "Entity": {
21269           "type": "object",
21270           "properties": {
21271             "tag": {
21272               "type": "string"
21273             }
21274           },
21275           "additionalProperties": false,
21276           "required": [
21277             "tag"
21278           ]
21279         },
21280         "EntityCharmURL": {
21281           "type": "object",
21282           "properties": {
21283             "charm-url": {
21284               "type": "string"
21285             },
21286             "tag": {
21287               "type": "string"
21288             }
21289           },
21290           "additionalProperties": false,
21291           "required": [
21292             "tag",
21293             "charm-url"
21294           ]
21295         },
21296         "EntityPortRange": {
21297           "type": "object",
21298           "properties": {
21299             "from-port": {
21300               "type": "integer"
21301             },
21302             "protocol": {
21303               "type": "string"
21304             },
21305             "tag": {
21306               "type": "string"
21307             },
21308             "to-port": {
21309               "type": "integer"
21310             }
21311           },
21312           "additionalProperties": false,
21313           "required": [
21314             "tag",
21315             "protocol",
21316             "from-port",
21317             "to-port"
21318           ]
21319         },
21320         "EntityStatusArgs": {
21321           "type": "object",
21322           "properties": {
21323             "data": {
21324               "type": "object",
21325               "patternProperties": {
21326                 ".*": {
21327                   "type": "object",
21328                   "additionalProperties": true
21329                 }
21330               }
21331             },
21332             "info": {
21333               "type": "string"
21334             },
21335             "status": {
21336               "type": "string"
21337             },
21338             "tag": {
21339               "type": "string"
21340             }
21341           },
21342           "additionalProperties": false,
21343           "required": [
21344             "tag",
21345             "status",
21346             "info",
21347             "data"
21348           ]
21349         },
21350         "EntityWorkloadVersion": {
21351           "type": "object",
21352           "properties": {
21353             "tag": {
21354               "type": "string"
21355             },
21356             "workload-version": {
21357               "type": "string"
21358             }
21359           },
21360           "additionalProperties": false,
21361           "required": [
21362             "tag",
21363             "workload-version"
21364           ]
21365         },
21366         "EntityWorkloadVersions": {
21367           "type": "object",
21368           "properties": {
21369             "entities": {
21370               "type": "array",
21371               "items": {
21372                 "$ref": "#/definitions/EntityWorkloadVersion"
21373               }
21374             }
21375           },
21376           "additionalProperties": false,
21377           "required": [
21378             "entities"
21379           ]
21380         },
21381         "Error": {
21382           "type": "object",
21383           "properties": {
21384             "code": {
21385               "type": "string"
21386             },
21387             "info": {
21388               "$ref": "#/definitions/ErrorInfo"
21389             },
21390             "message": {
21391               "type": "string"
21392             }
21393           },
21394           "additionalProperties": false,
21395           "required": [
21396             "message",
21397             "code"
21398           ]
21399         },
21400         "ErrorInfo": {
21401           "type": "object",
21402           "properties": {
21403             "macaroon": {
21404               "$ref": "#/definitions/Macaroon"
21405             },
21406             "macaroon-path": {
21407               "type": "string"
21408             }
21409           },
21410           "additionalProperties": false
21411         },
21412         "ErrorResult": {
21413           "type": "object",
21414           "properties": {
21415             "error": {
21416               "$ref": "#/definitions/Error"
21417             }
21418           },
21419           "additionalProperties": false
21420         },
21421         "ErrorResults": {
21422           "type": "object",
21423           "properties": {
21424             "results": {
21425               "type": "array",
21426               "items": {
21427                 "$ref": "#/definitions/ErrorResult"
21428               }
21429             }
21430           },
21431           "additionalProperties": false,
21432           "required": [
21433             "results"
21434           ]
21435         },
21436         "GetLeadershipSettingsBulkResults": {
21437           "type": "object",
21438           "properties": {
21439             "results": {
21440               "type": "array",
21441               "items": {
21442                 "$ref": "#/definitions/GetLeadershipSettingsResult"
21443               }
21444             }
21445           },
21446           "additionalProperties": false,
21447           "required": [
21448             "results"
21449           ]
21450         },
21451         "GetLeadershipSettingsResult": {
21452           "type": "object",
21453           "properties": {
21454             "error": {
21455               "$ref": "#/definitions/Error"
21456             },
21457             "settings": {
21458               "type": "object",
21459               "patternProperties": {
21460                 ".*": {
21461                   "type": "string"
21462                 }
21463               }
21464             }
21465           },
21466           "additionalProperties": false,
21467           "required": [
21468             "settings"
21469           ]
21470         },
21471         "HostPort": {
21472           "type": "object",
21473           "properties": {
21474             "Address": {
21475               "$ref": "#/definitions/Address"
21476             },
21477             "port": {
21478               "type": "integer"
21479             }
21480           },
21481           "additionalProperties": false,
21482           "required": [
21483             "Address",
21484             "port"
21485           ]
21486         },
21487         "IntResult": {
21488           "type": "object",
21489           "properties": {
21490             "error": {
21491               "$ref": "#/definitions/Error"
21492             },
21493             "result": {
21494               "type": "integer"
21495             }
21496           },
21497           "additionalProperties": false,
21498           "required": [
21499             "result"
21500           ]
21501         },
21502         "IntResults": {
21503           "type": "object",
21504           "properties": {
21505             "results": {
21506               "type": "array",
21507               "items": {
21508                 "$ref": "#/definitions/IntResult"
21509               }
21510             }
21511           },
21512           "additionalProperties": false,
21513           "required": [
21514             "results"
21515           ]
21516         },
21517         "LifeResult": {
21518           "type": "object",
21519           "properties": {
21520             "error": {
21521               "$ref": "#/definitions/Error"
21522             },
21523             "life": {
21524               "type": "string"
21525             }
21526           },
21527           "additionalProperties": false,
21528           "required": [
21529             "life"
21530           ]
21531         },
21532         "LifeResults": {
21533           "type": "object",
21534           "properties": {
21535             "results": {
21536               "type": "array",
21537               "items": {
21538                 "$ref": "#/definitions/LifeResult"
21539               }
21540             }
21541           },
21542           "additionalProperties": false,
21543           "required": [
21544             "results"
21545           ]
21546         },
21547         "Macaroon": {
21548           "type": "object",
21549           "additionalProperties": false
21550         },
21551         "MachinePortRange": {
21552           "type": "object",
21553           "properties": {
21554             "port-range": {
21555               "$ref": "#/definitions/PortRange"
21556             },
21557             "relation-tag": {
21558               "type": "string"
21559             },
21560             "unit-tag": {
21561               "type": "string"
21562             }
21563           },
21564           "additionalProperties": false,
21565           "required": [
21566             "unit-tag",
21567             "relation-tag",
21568             "port-range"
21569           ]
21570         },
21571         "MachinePortsResult": {
21572           "type": "object",
21573           "properties": {
21574             "error": {
21575               "$ref": "#/definitions/Error"
21576             },
21577             "ports": {
21578               "type": "array",
21579               "items": {
21580                 "$ref": "#/definitions/MachinePortRange"
21581               }
21582             }
21583           },
21584           "additionalProperties": false,
21585           "required": [
21586             "ports"
21587           ]
21588         },
21589         "MachinePortsResults": {
21590           "type": "object",
21591           "properties": {
21592             "results": {
21593               "type": "array",
21594               "items": {
21595                 "$ref": "#/definitions/MachinePortsResult"
21596               }
21597             }
21598           },
21599           "additionalProperties": false,
21600           "required": [
21601             "results"
21602           ]
21603         },
21604         "MergeLeadershipSettingsBulkParams": {
21605           "type": "object",
21606           "properties": {
21607             "params": {
21608               "type": "array",
21609               "items": {
21610                 "$ref": "#/definitions/MergeLeadershipSettingsParam"
21611               }
21612             }
21613           },
21614           "additionalProperties": false,
21615           "required": [
21616             "params"
21617           ]
21618         },
21619         "MergeLeadershipSettingsParam": {
21620           "type": "object",
21621           "properties": {
21622             "application-tag": {
21623               "type": "string"
21624             },
21625             "settings": {
21626               "type": "object",
21627               "patternProperties": {
21628                 ".*": {
21629                   "type": "string"
21630                 }
21631               }
21632             }
21633           },
21634           "additionalProperties": false,
21635           "required": [
21636             "application-tag",
21637             "settings"
21638           ]
21639         },
21640         "MeterStatusResult": {
21641           "type": "object",
21642           "properties": {
21643             "code": {
21644               "type": "string"
21645             },
21646             "error": {
21647               "$ref": "#/definitions/Error"
21648             },
21649             "info": {
21650               "type": "string"
21651             }
21652           },
21653           "additionalProperties": false,
21654           "required": [
21655             "code",
21656             "info"
21657           ]
21658         },
21659         "MeterStatusResults": {
21660           "type": "object",
21661           "properties": {
21662             "results": {
21663               "type": "array",
21664               "items": {
21665                 "$ref": "#/definitions/MeterStatusResult"
21666               }
21667             }
21668           },
21669           "additionalProperties": false,
21670           "required": [
21671             "results"
21672           ]
21673         },
21674         "Metric": {
21675           "type": "object",
21676           "properties": {
21677             "key": {
21678               "type": "string"
21679             },
21680             "time": {
21681               "type": "string",
21682               "format": "date-time"
21683             },
21684             "value": {
21685               "type": "string"
21686             }
21687           },
21688           "additionalProperties": false,
21689           "required": [
21690             "key",
21691             "value",
21692             "time"
21693           ]
21694         },
21695         "MetricBatch": {
21696           "type": "object",
21697           "properties": {
21698             "charm-url": {
21699               "type": "string"
21700             },
21701             "created": {
21702               "type": "string",
21703               "format": "date-time"
21704             },
21705             "metrics": {
21706               "type": "array",
21707               "items": {
21708                 "$ref": "#/definitions/Metric"
21709               }
21710             },
21711             "uuid": {
21712               "type": "string"
21713             }
21714           },
21715           "additionalProperties": false,
21716           "required": [
21717             "uuid",
21718             "charm-url",
21719             "created",
21720             "metrics"
21721           ]
21722         },
21723         "MetricBatchParam": {
21724           "type": "object",
21725           "properties": {
21726             "batch": {
21727               "$ref": "#/definitions/MetricBatch"
21728             },
21729             "tag": {
21730               "type": "string"
21731             }
21732           },
21733           "additionalProperties": false,
21734           "required": [
21735             "tag",
21736             "batch"
21737           ]
21738         },
21739         "MetricBatchParams": {
21740           "type": "object",
21741           "properties": {
21742             "batches": {
21743               "type": "array",
21744               "items": {
21745                 "$ref": "#/definitions/MetricBatchParam"
21746               }
21747             }
21748           },
21749           "additionalProperties": false,
21750           "required": [
21751             "batches"
21752           ]
21753         },
21754         "ModelConfigResult": {
21755           "type": "object",
21756           "properties": {
21757             "config": {
21758               "type": "object",
21759               "patternProperties": {
21760                 ".*": {
21761                   "type": "object",
21762                   "additionalProperties": true
21763                 }
21764               }
21765             }
21766           },
21767           "additionalProperties": false,
21768           "required": [
21769             "config"
21770           ]
21771         },
21772         "ModelResult": {
21773           "type": "object",
21774           "properties": {
21775             "error": {
21776               "$ref": "#/definitions/Error"
21777             },
21778             "name": {
21779               "type": "string"
21780             },
21781             "uuid": {
21782               "type": "string"
21783             }
21784           },
21785           "additionalProperties": false,
21786           "required": [
21787             "name",
21788             "uuid"
21789           ]
21790         },
21791         "NetworkConfig": {
21792           "type": "object",
21793           "properties": {
21794             "address": {
21795               "type": "string"
21796             },
21797             "cidr": {
21798               "type": "string"
21799             },
21800             "config-type": {
21801               "type": "string"
21802             },
21803             "device-index": {
21804               "type": "integer"
21805             },
21806             "disabled": {
21807               "type": "boolean"
21808             },
21809             "dns-search-domains": {
21810               "type": "array",
21811               "items": {
21812                 "type": "string"
21813               }
21814             },
21815             "dns-servers": {
21816               "type": "array",
21817               "items": {
21818                 "type": "string"
21819               }
21820             },
21821             "gateway-address": {
21822               "type": "string"
21823             },
21824             "interface-name": {
21825               "type": "string"
21826             },
21827             "interface-type": {
21828               "type": "string"
21829             },
21830             "mac-address": {
21831               "type": "string"
21832             },
21833             "mtu": {
21834               "type": "integer"
21835             },
21836             "no-auto-start": {
21837               "type": "boolean"
21838             },
21839             "parent-interface-name": {
21840               "type": "string"
21841             },
21842             "provider-address-id": {
21843               "type": "string"
21844             },
21845             "provider-id": {
21846               "type": "string"
21847             },
21848             "provider-space-id": {
21849               "type": "string"
21850             },
21851             "provider-subnet-id": {
21852               "type": "string"
21853             },
21854             "provider-vlan-id": {
21855               "type": "string"
21856             },
21857             "vlan-tag": {
21858               "type": "integer"
21859             }
21860           },
21861           "additionalProperties": false,
21862           "required": [
21863             "device-index",
21864             "mac-address",
21865             "cidr",
21866             "mtu",
21867             "provider-id",
21868             "provider-subnet-id",
21869             "provider-space-id",
21870             "provider-address-id",
21871             "provider-vlan-id",
21872             "vlan-tag",
21873             "interface-name",
21874             "parent-interface-name",
21875             "interface-type",
21876             "disabled"
21877           ]
21878         },
21879         "NotifyWatchResult": {
21880           "type": "object",
21881           "properties": {
21882             "NotifyWatcherId": {
21883               "type": "string"
21884             },
21885             "error": {
21886               "$ref": "#/definitions/Error"
21887             }
21888           },
21889           "additionalProperties": false,
21890           "required": [
21891             "NotifyWatcherId"
21892           ]
21893         },
21894         "NotifyWatchResults": {
21895           "type": "object",
21896           "properties": {
21897             "results": {
21898               "type": "array",
21899               "items": {
21900                 "$ref": "#/definitions/NotifyWatchResult"
21901               }
21902             }
21903           },
21904           "additionalProperties": false,
21905           "required": [
21906             "results"
21907           ]
21908         },
21909         "PortRange": {
21910           "type": "object",
21911           "properties": {
21912             "from-port": {
21913               "type": "integer"
21914             },
21915             "protocol": {
21916               "type": "string"
21917             },
21918             "to-port": {
21919               "type": "integer"
21920             }
21921           },
21922           "additionalProperties": false,
21923           "required": [
21924             "from-port",
21925             "to-port",
21926             "protocol"
21927           ]
21928         },
21929         "RelationIds": {
21930           "type": "object",
21931           "properties": {
21932             "relation-ids": {
21933               "type": "array",
21934               "items": {
21935                 "type": "integer"
21936               }
21937             }
21938           },
21939           "additionalProperties": false,
21940           "required": [
21941             "relation-ids"
21942           ]
21943         },
21944         "RelationResult": {
21945           "type": "object",
21946           "properties": {
21947             "endpoint": {
21948               "$ref": "#/definitions/Endpoint"
21949             },
21950             "error": {
21951               "$ref": "#/definitions/Error"
21952             },
21953             "id": {
21954               "type": "integer"
21955             },
21956             "key": {
21957               "type": "string"
21958             },
21959             "life": {
21960               "type": "string"
21961             }
21962           },
21963           "additionalProperties": false,
21964           "required": [
21965             "life",
21966             "id",
21967             "key",
21968             "endpoint"
21969           ]
21970         },
21971         "RelationResults": {
21972           "type": "object",
21973           "properties": {
21974             "results": {
21975               "type": "array",
21976               "items": {
21977                 "$ref": "#/definitions/RelationResult"
21978               }
21979             }
21980           },
21981           "additionalProperties": false,
21982           "required": [
21983             "results"
21984           ]
21985         },
21986         "RelationUnit": {
21987           "type": "object",
21988           "properties": {
21989             "relation": {
21990               "type": "string"
21991             },
21992             "unit": {
21993               "type": "string"
21994             }
21995           },
21996           "additionalProperties": false,
21997           "required": [
21998             "relation",
21999             "unit"
22000           ]
22001         },
22002         "RelationUnitPair": {
22003           "type": "object",
22004           "properties": {
22005             "local-unit": {
22006               "type": "string"
22007             },
22008             "relation": {
22009               "type": "string"
22010             },
22011             "remote-unit": {
22012               "type": "string"
22013             }
22014           },
22015           "additionalProperties": false,
22016           "required": [
22017             "relation",
22018             "local-unit",
22019             "remote-unit"
22020           ]
22021         },
22022         "RelationUnitPairs": {
22023           "type": "object",
22024           "properties": {
22025             "relation-unit-pairs": {
22026               "type": "array",
22027               "items": {
22028                 "$ref": "#/definitions/RelationUnitPair"
22029               }
22030             }
22031           },
22032           "additionalProperties": false,
22033           "required": [
22034             "relation-unit-pairs"
22035           ]
22036         },
22037         "RelationUnitSettings": {
22038           "type": "object",
22039           "properties": {
22040             "relation": {
22041               "type": "string"
22042             },
22043             "settings": {
22044               "type": "object",
22045               "patternProperties": {
22046                 ".*": {
22047                   "type": "string"
22048                 }
22049               }
22050             },
22051             "unit": {
22052               "type": "string"
22053             }
22054           },
22055           "additionalProperties": false,
22056           "required": [
22057             "relation",
22058             "unit",
22059             "settings"
22060           ]
22061         },
22062         "RelationUnits": {
22063           "type": "object",
22064           "properties": {
22065             "relation-units": {
22066               "type": "array",
22067               "items": {
22068                 "$ref": "#/definitions/RelationUnit"
22069               }
22070             }
22071           },
22072           "additionalProperties": false,
22073           "required": [
22074             "relation-units"
22075           ]
22076         },
22077         "RelationUnitsChange": {
22078           "type": "object",
22079           "properties": {
22080             "changed": {
22081               "type": "object",
22082               "patternProperties": {
22083                 ".*": {
22084                   "$ref": "#/definitions/UnitSettings"
22085                 }
22086               }
22087             },
22088             "departed": {
22089               "type": "array",
22090               "items": {
22091                 "type": "string"
22092               }
22093             }
22094           },
22095           "additionalProperties": false,
22096           "required": [
22097             "changed"
22098           ]
22099         },
22100         "RelationUnitsSettings": {
22101           "type": "object",
22102           "properties": {
22103             "relation-units": {
22104               "type": "array",
22105               "items": {
22106                 "$ref": "#/definitions/RelationUnitSettings"
22107               }
22108             }
22109           },
22110           "additionalProperties": false,
22111           "required": [
22112             "relation-units"
22113           ]
22114         },
22115         "RelationUnitsWatchResult": {
22116           "type": "object",
22117           "properties": {
22118             "changes": {
22119               "$ref": "#/definitions/RelationUnitsChange"
22120             },
22121             "error": {
22122               "$ref": "#/definitions/Error"
22123             },
22124             "watcher-id": {
22125               "type": "string"
22126             }
22127           },
22128           "additionalProperties": false,
22129           "required": [
22130             "watcher-id",
22131             "changes"
22132           ]
22133         },
22134         "RelationUnitsWatchResults": {
22135           "type": "object",
22136           "properties": {
22137             "results": {
22138               "type": "array",
22139               "items": {
22140                 "$ref": "#/definitions/RelationUnitsWatchResult"
22141               }
22142             }
22143           },
22144           "additionalProperties": false,
22145           "required": [
22146             "results"
22147           ]
22148         },
22149         "ResolvedModeResult": {
22150           "type": "object",
22151           "properties": {
22152             "error": {
22153               "$ref": "#/definitions/Error"
22154             },
22155             "mode": {
22156               "type": "string"
22157             }
22158           },
22159           "additionalProperties": false,
22160           "required": [
22161             "mode"
22162           ]
22163         },
22164         "ResolvedModeResults": {
22165           "type": "object",
22166           "properties": {
22167             "results": {
22168               "type": "array",
22169               "items": {
22170                 "$ref": "#/definitions/ResolvedModeResult"
22171               }
22172             }
22173           },
22174           "additionalProperties": false,
22175           "required": [
22176             "results"
22177           ]
22178         },
22179         "SetStatus": {
22180           "type": "object",
22181           "properties": {
22182             "entities": {
22183               "type": "array",
22184               "items": {
22185                 "$ref": "#/definitions/EntityStatusArgs"
22186               }
22187             }
22188           },
22189           "additionalProperties": false,
22190           "required": [
22191             "entities"
22192           ]
22193         },
22194         "SettingsResult": {
22195           "type": "object",
22196           "properties": {
22197             "error": {
22198               "$ref": "#/definitions/Error"
22199             },
22200             "settings": {
22201               "type": "object",
22202               "patternProperties": {
22203                 ".*": {
22204                   "type": "string"
22205                 }
22206               }
22207             }
22208           },
22209           "additionalProperties": false,
22210           "required": [
22211             "settings"
22212           ]
22213         },
22214         "SettingsResults": {
22215           "type": "object",
22216           "properties": {
22217             "results": {
22218               "type": "array",
22219               "items": {
22220                 "$ref": "#/definitions/SettingsResult"
22221               }
22222             }
22223           },
22224           "additionalProperties": false,
22225           "required": [
22226             "results"
22227           ]
22228         },
22229         "StatusResult": {
22230           "type": "object",
22231           "properties": {
22232             "data": {
22233               "type": "object",
22234               "patternProperties": {
22235                 ".*": {
22236                   "type": "object",
22237                   "additionalProperties": true
22238                 }
22239               }
22240             },
22241             "error": {
22242               "$ref": "#/definitions/Error"
22243             },
22244             "id": {
22245               "type": "string"
22246             },
22247             "info": {
22248               "type": "string"
22249             },
22250             "life": {
22251               "type": "string"
22252             },
22253             "since": {
22254               "type": "string",
22255               "format": "date-time"
22256             },
22257             "status": {
22258               "type": "string"
22259             }
22260           },
22261           "additionalProperties": false,
22262           "required": [
22263             "id",
22264             "life",
22265             "status",
22266             "info",
22267             "data",
22268             "since"
22269           ]
22270         },
22271         "StatusResults": {
22272           "type": "object",
22273           "properties": {
22274             "results": {
22275               "type": "array",
22276               "items": {
22277                 "$ref": "#/definitions/StatusResult"
22278               }
22279             }
22280           },
22281           "additionalProperties": false,
22282           "required": [
22283             "results"
22284           ]
22285         },
22286         "StorageAddParams": {
22287           "type": "object",
22288           "properties": {
22289             "name": {
22290               "type": "string"
22291             },
22292             "storage": {
22293               "$ref": "#/definitions/StorageConstraints"
22294             },
22295             "unit": {
22296               "type": "string"
22297             }
22298           },
22299           "additionalProperties": false,
22300           "required": [
22301             "unit",
22302             "name",
22303             "storage"
22304           ]
22305         },
22306         "StorageAttachment": {
22307           "type": "object",
22308           "properties": {
22309             "kind": {
22310               "type": "integer"
22311             },
22312             "life": {
22313               "type": "string"
22314             },
22315             "location": {
22316               "type": "string"
22317             },
22318             "owner-tag": {
22319               "type": "string"
22320             },
22321             "storage-tag": {
22322               "type": "string"
22323             },
22324             "unit-tag": {
22325               "type": "string"
22326             }
22327           },
22328           "additionalProperties": false,
22329           "required": [
22330             "storage-tag",
22331             "owner-tag",
22332             "unit-tag",
22333             "kind",
22334             "location",
22335             "life"
22336           ]
22337         },
22338         "StorageAttachmentId": {
22339           "type": "object",
22340           "properties": {
22341             "storage-tag": {
22342               "type": "string"
22343             },
22344             "unit-tag": {
22345               "type": "string"
22346             }
22347           },
22348           "additionalProperties": false,
22349           "required": [
22350             "storage-tag",
22351             "unit-tag"
22352           ]
22353         },
22354         "StorageAttachmentIds": {
22355           "type": "object",
22356           "properties": {
22357             "ids": {
22358               "type": "array",
22359               "items": {
22360                 "$ref": "#/definitions/StorageAttachmentId"
22361               }
22362             }
22363           },
22364           "additionalProperties": false,
22365           "required": [
22366             "ids"
22367           ]
22368         },
22369         "StorageAttachmentIdsResult": {
22370           "type": "object",
22371           "properties": {
22372             "error": {
22373               "$ref": "#/definitions/Error"
22374             },
22375             "result": {
22376               "$ref": "#/definitions/StorageAttachmentIds"
22377             }
22378           },
22379           "additionalProperties": false,
22380           "required": [
22381             "result"
22382           ]
22383         },
22384         "StorageAttachmentIdsResults": {
22385           "type": "object",
22386           "properties": {
22387             "results": {
22388               "type": "array",
22389               "items": {
22390                 "$ref": "#/definitions/StorageAttachmentIdsResult"
22391               }
22392             }
22393           },
22394           "additionalProperties": false
22395         },
22396         "StorageAttachmentResult": {
22397           "type": "object",
22398           "properties": {
22399             "error": {
22400               "$ref": "#/definitions/Error"
22401             },
22402             "result": {
22403               "$ref": "#/definitions/StorageAttachment"
22404             }
22405           },
22406           "additionalProperties": false,
22407           "required": [
22408             "result"
22409           ]
22410         },
22411         "StorageAttachmentResults": {
22412           "type": "object",
22413           "properties": {
22414             "results": {
22415               "type": "array",
22416               "items": {
22417                 "$ref": "#/definitions/StorageAttachmentResult"
22418               }
22419             }
22420           },
22421           "additionalProperties": false
22422         },
22423         "StorageConstraints": {
22424           "type": "object",
22425           "properties": {
22426             "count": {
22427               "type": "integer"
22428             },
22429             "pool": {
22430               "type": "string"
22431             },
22432             "size": {
22433               "type": "integer"
22434             }
22435           },
22436           "additionalProperties": false
22437         },
22438         "StoragesAddParams": {
22439           "type": "object",
22440           "properties": {
22441             "storages": {
22442               "type": "array",
22443               "items": {
22444                 "$ref": "#/definitions/StorageAddParams"
22445               }
22446             }
22447           },
22448           "additionalProperties": false,
22449           "required": [
22450             "storages"
22451           ]
22452         },
22453         "StringBoolResult": {
22454           "type": "object",
22455           "properties": {
22456             "error": {
22457               "$ref": "#/definitions/Error"
22458             },
22459             "ok": {
22460               "type": "boolean"
22461             },
22462             "result": {
22463               "type": "string"
22464             }
22465           },
22466           "additionalProperties": false,
22467           "required": [
22468             "result",
22469             "ok"
22470           ]
22471         },
22472         "StringBoolResults": {
22473           "type": "object",
22474           "properties": {
22475             "results": {
22476               "type": "array",
22477               "items": {
22478                 "$ref": "#/definitions/StringBoolResult"
22479               }
22480             }
22481           },
22482           "additionalProperties": false,
22483           "required": [
22484             "results"
22485           ]
22486         },
22487         "StringResult": {
22488           "type": "object",
22489           "properties": {
22490             "error": {
22491               "$ref": "#/definitions/Error"
22492             },
22493             "result": {
22494               "type": "string"
22495             }
22496           },
22497           "additionalProperties": false,
22498           "required": [
22499             "result"
22500           ]
22501         },
22502         "StringResults": {
22503           "type": "object",
22504           "properties": {
22505             "results": {
22506               "type": "array",
22507               "items": {
22508                 "$ref": "#/definitions/StringResult"
22509               }
22510             }
22511           },
22512           "additionalProperties": false,
22513           "required": [
22514             "results"
22515           ]
22516         },
22517         "StringsResult": {
22518           "type": "object",
22519           "properties": {
22520             "error": {
22521               "$ref": "#/definitions/Error"
22522             },
22523             "result": {
22524               "type": "array",
22525               "items": {
22526                 "type": "string"
22527               }
22528             }
22529           },
22530           "additionalProperties": false
22531         },
22532         "StringsResults": {
22533           "type": "object",
22534           "properties": {
22535             "results": {
22536               "type": "array",
22537               "items": {
22538                 "$ref": "#/definitions/StringsResult"
22539               }
22540             }
22541           },
22542           "additionalProperties": false,
22543           "required": [
22544             "results"
22545           ]
22546         },
22547         "StringsWatchResult": {
22548           "type": "object",
22549           "properties": {
22550             "changes": {
22551               "type": "array",
22552               "items": {
22553                 "type": "string"
22554               }
22555             },
22556             "error": {
22557               "$ref": "#/definitions/Error"
22558             },
22559             "watcher-id": {
22560               "type": "string"
22561             }
22562           },
22563           "additionalProperties": false,
22564           "required": [
22565             "watcher-id"
22566           ]
22567         },
22568         "StringsWatchResults": {
22569           "type": "object",
22570           "properties": {
22571             "results": {
22572               "type": "array",
22573               "items": {
22574                 "$ref": "#/definitions/StringsWatchResult"
22575               }
22576             }
22577           },
22578           "additionalProperties": false,
22579           "required": [
22580             "results"
22581           ]
22582         },
22583         "UnitNetworkConfig": {
22584           "type": "object",
22585           "properties": {
22586             "binding-name": {
22587               "type": "string"
22588             },
22589             "unit-tag": {
22590               "type": "string"
22591             }
22592           },
22593           "additionalProperties": false,
22594           "required": [
22595             "unit-tag",
22596             "binding-name"
22597           ]
22598         },
22599         "UnitNetworkConfigResult": {
22600           "type": "object",
22601           "properties": {
22602             "error": {
22603               "$ref": "#/definitions/Error"
22604             },
22605             "info": {
22606               "type": "array",
22607               "items": {
22608                 "$ref": "#/definitions/NetworkConfig"
22609               }
22610             }
22611           },
22612           "additionalProperties": false,
22613           "required": [
22614             "info"
22615           ]
22616         },
22617         "UnitNetworkConfigResults": {
22618           "type": "object",
22619           "properties": {
22620             "results": {
22621               "type": "array",
22622               "items": {
22623                 "$ref": "#/definitions/UnitNetworkConfigResult"
22624               }
22625             }
22626           },
22627           "additionalProperties": false,
22628           "required": [
22629             "results"
22630           ]
22631         },
22632         "UnitSettings": {
22633           "type": "object",
22634           "properties": {
22635             "version": {
22636               "type": "integer"
22637             }
22638           },
22639           "additionalProperties": false,
22640           "required": [
22641             "version"
22642           ]
22643         },
22644         "UnitsNetworkConfig": {
22645           "type": "object",
22646           "properties": {
22647             "args": {
22648               "type": "array",
22649               "items": {
22650                 "$ref": "#/definitions/UnitNetworkConfig"
22651               }
22652             }
22653           },
22654           "additionalProperties": false,
22655           "required": [
22656             "args"
22657           ]
22658         }
22659       }
22660     }
22661   },
22662   {
22663     "Name": "Upgrader",
22664     "Version": 1,
22665     "Schema": {
22666       "type": "object",
22667       "properties": {
22668         "DesiredVersion": {
22669           "type": "object",
22670           "properties": {
22671             "Params": {
22672               "$ref": "#/definitions/Entities"
22673             },
22674             "Result": {
22675               "$ref": "#/definitions/VersionResults"
22676             }
22677           }
22678         },
22679         "SetTools": {
22680           "type": "object",
22681           "properties": {
22682             "Params": {
22683               "$ref": "#/definitions/EntitiesVersion"
22684             },
22685             "Result": {
22686               "$ref": "#/definitions/ErrorResults"
22687             }
22688           }
22689         },
22690         "Tools": {
22691           "type": "object",
22692           "properties": {
22693             "Params": {
22694               "$ref": "#/definitions/Entities"
22695             },
22696             "Result": {
22697               "$ref": "#/definitions/ToolsResults"
22698             }
22699           }
22700         },
22701         "WatchAPIVersion": {
22702           "type": "object",
22703           "properties": {
22704             "Params": {
22705               "$ref": "#/definitions/Entities"
22706             },
22707             "Result": {
22708               "$ref": "#/definitions/NotifyWatchResults"
22709             }
22710           }
22711         }
22712       },
22713       "definitions": {
22714         "Binary": {
22715           "type": "object",
22716           "properties": {
22717             "Arch": {
22718               "type": "string"
22719             },
22720             "Number": {
22721               "$ref": "#/definitions/Number"
22722             },
22723             "Series": {
22724               "type": "string"
22725             }
22726           },
22727           "additionalProperties": false,
22728           "required": [
22729             "Number",
22730             "Series",
22731             "Arch"
22732           ]
22733         },
22734         "Entities": {
22735           "type": "object",
22736           "properties": {
22737             "entities": {
22738               "type": "array",
22739               "items": {
22740                 "$ref": "#/definitions/Entity"
22741               }
22742             }
22743           },
22744           "additionalProperties": false,
22745           "required": [
22746             "entities"
22747           ]
22748         },
22749         "EntitiesVersion": {
22750           "type": "object",
22751           "properties": {
22752             "agent-tools": {
22753               "type": "array",
22754               "items": {
22755                 "$ref": "#/definitions/EntityVersion"
22756               }
22757             }
22758           },
22759           "additionalProperties": false,
22760           "required": [
22761             "agent-tools"
22762           ]
22763         },
22764         "Entity": {
22765           "type": "object",
22766           "properties": {
22767             "tag": {
22768               "type": "string"
22769             }
22770           },
22771           "additionalProperties": false,
22772           "required": [
22773             "tag"
22774           ]
22775         },
22776         "EntityVersion": {
22777           "type": "object",
22778           "properties": {
22779             "tag": {
22780               "type": "string"
22781             },
22782             "tools": {
22783               "$ref": "#/definitions/Version"
22784             }
22785           },
22786           "additionalProperties": false,
22787           "required": [
22788             "tag",
22789             "tools"
22790           ]
22791         },
22792         "Error": {
22793           "type": "object",
22794           "properties": {
22795             "code": {
22796               "type": "string"
22797             },
22798             "info": {
22799               "$ref": "#/definitions/ErrorInfo"
22800             },
22801             "message": {
22802               "type": "string"
22803             }
22804           },
22805           "additionalProperties": false,
22806           "required": [
22807             "message",
22808             "code"
22809           ]
22810         },
22811         "ErrorInfo": {
22812           "type": "object",
22813           "properties": {
22814             "macaroon": {
22815               "$ref": "#/definitions/Macaroon"
22816             },
22817             "macaroon-path": {
22818               "type": "string"
22819             }
22820           },
22821           "additionalProperties": false
22822         },
22823         "ErrorResult": {
22824           "type": "object",
22825           "properties": {
22826             "error": {
22827               "$ref": "#/definitions/Error"
22828             }
22829           },
22830           "additionalProperties": false
22831         },
22832         "ErrorResults": {
22833           "type": "object",
22834           "properties": {
22835             "results": {
22836               "type": "array",
22837               "items": {
22838                 "$ref": "#/definitions/ErrorResult"
22839               }
22840             }
22841           },
22842           "additionalProperties": false,
22843           "required": [
22844             "results"
22845           ]
22846         },
22847         "Macaroon": {
22848           "type": "object",
22849           "additionalProperties": false
22850         },
22851         "NotifyWatchResult": {
22852           "type": "object",
22853           "properties": {
22854             "NotifyWatcherId": {
22855               "type": "string"
22856             },
22857             "error": {
22858               "$ref": "#/definitions/Error"
22859             }
22860           },
22861           "additionalProperties": false,
22862           "required": [
22863             "NotifyWatcherId"
22864           ]
22865         },
22866         "NotifyWatchResults": {
22867           "type": "object",
22868           "properties": {
22869             "results": {
22870               "type": "array",
22871               "items": {
22872                 "$ref": "#/definitions/NotifyWatchResult"
22873               }
22874             }
22875           },
22876           "additionalProperties": false,
22877           "required": [
22878             "results"
22879           ]
22880         },
22881         "Number": {
22882           "type": "object",
22883           "properties": {
22884             "Build": {
22885               "type": "integer"
22886             },
22887             "Major": {
22888               "type": "integer"
22889             },
22890             "Minor": {
22891               "type": "integer"
22892             },
22893             "Patch": {
22894               "type": "integer"
22895             },
22896             "Tag": {
22897               "type": "string"
22898             }
22899           },
22900           "additionalProperties": false,
22901           "required": [
22902             "Major",
22903             "Minor",
22904             "Tag",
22905             "Patch",
22906             "Build"
22907           ]
22908         },
22909         "Tools": {
22910           "type": "object",
22911           "properties": {
22912             "sha256": {
22913               "type": "string"
22914             },
22915             "size": {
22916               "type": "integer"
22917             },
22918             "url": {
22919               "type": "string"
22920             },
22921             "version": {
22922               "$ref": "#/definitions/Binary"
22923             }
22924           },
22925           "additionalProperties": false,
22926           "required": [
22927             "version",
22928             "url",
22929             "size"
22930           ]
22931         },
22932         "ToolsResult": {
22933           "type": "object",
22934           "properties": {
22935             "disable-ssl-hostname-verification": {
22936               "type": "boolean"
22937             },
22938             "error": {
22939               "$ref": "#/definitions/Error"
22940             },
22941             "tools": {
22942               "type": "array",
22943               "items": {
22944                 "$ref": "#/definitions/Tools"
22945               }
22946             }
22947           },
22948           "additionalProperties": false,
22949           "required": [
22950             "tools",
22951             "disable-ssl-hostname-verification"
22952           ]
22953         },
22954         "ToolsResults": {
22955           "type": "object",
22956           "properties": {
22957             "results": {
22958               "type": "array",
22959               "items": {
22960                 "$ref": "#/definitions/ToolsResult"
22961               }
22962             }
22963           },
22964           "additionalProperties": false,
22965           "required": [
22966             "results"
22967           ]
22968         },
22969         "Version": {
22970           "type": "object",
22971           "properties": {
22972             "version": {
22973               "$ref": "#/definitions/Binary"
22974             }
22975           },
22976           "additionalProperties": false,
22977           "required": [
22978             "version"
22979           ]
22980         },
22981         "VersionResult": {
22982           "type": "object",
22983           "properties": {
22984             "error": {
22985               "$ref": "#/definitions/Error"
22986             },
22987             "version": {
22988               "$ref": "#/definitions/Number"
22989             }
22990           },
22991           "additionalProperties": false
22992         },
22993         "VersionResults": {
22994           "type": "object",
22995           "properties": {
22996             "results": {
22997               "type": "array",
22998               "items": {
22999                 "$ref": "#/definitions/VersionResult"
23000               }
23001             }
23002           },
23003           "additionalProperties": false,
23004           "required": [
23005             "results"
23006           ]
23007         }
23008       }
23009     }
23010   },
23011   {
23012     "Name": "UserManager",
23013     "Version": 1,
23014     "Schema": {
23015       "type": "object",
23016       "properties": {
23017         "AddUser": {
23018           "type": "object",
23019           "properties": {
23020             "Params": {
23021               "$ref": "#/definitions/AddUsers"
23022             },
23023             "Result": {
23024               "$ref": "#/definitions/AddUserResults"
23025             }
23026           }
23027         },
23028         "CreateLocalLoginMacaroon": {
23029           "type": "object",
23030           "properties": {
23031             "Params": {
23032               "$ref": "#/definitions/Entities"
23033             },
23034             "Result": {
23035               "$ref": "#/definitions/MacaroonResults"
23036             }
23037           }
23038         },
23039         "DisableUser": {
23040           "type": "object",
23041           "properties": {
23042             "Params": {
23043               "$ref": "#/definitions/Entities"
23044             },
23045             "Result": {
23046               "$ref": "#/definitions/ErrorResults"
23047             }
23048           }
23049         },
23050         "EnableUser": {
23051           "type": "object",
23052           "properties": {
23053             "Params": {
23054               "$ref": "#/definitions/Entities"
23055             },
23056             "Result": {
23057               "$ref": "#/definitions/ErrorResults"
23058             }
23059           }
23060         },
23061         "RemoveUser": {
23062           "type": "object",
23063           "properties": {
23064             "Params": {
23065               "$ref": "#/definitions/Entities"
23066             },
23067             "Result": {
23068               "$ref": "#/definitions/ErrorResults"
23069             }
23070           }
23071         },
23072         "SetPassword": {
23073           "type": "object",
23074           "properties": {
23075             "Params": {
23076               "$ref": "#/definitions/EntityPasswords"
23077             },
23078             "Result": {
23079               "$ref": "#/definitions/ErrorResults"
23080             }
23081           }
23082         },
23083         "UserInfo": {
23084           "type": "object",
23085           "properties": {
23086             "Params": {
23087               "$ref": "#/definitions/UserInfoRequest"
23088             },
23089             "Result": {
23090               "$ref": "#/definitions/UserInfoResults"
23091             }
23092           }
23093         }
23094       },
23095       "definitions": {
23096         "AddUser": {
23097           "type": "object",
23098           "properties": {
23099             "display-name": {
23100               "type": "string"
23101             },
23102             "password": {
23103               "type": "string"
23104             },
23105             "username": {
23106               "type": "string"
23107             }
23108           },
23109           "additionalProperties": false,
23110           "required": [
23111             "username",
23112             "display-name"
23113           ]
23114         },
23115         "AddUserResult": {
23116           "type": "object",
23117           "properties": {
23118             "error": {
23119               "$ref": "#/definitions/Error"
23120             },
23121             "secret-key": {
23122               "type": "array",
23123               "items": {
23124                 "type": "integer"
23125               }
23126             },
23127             "tag": {
23128               "type": "string"
23129             }
23130           },
23131           "additionalProperties": false
23132         },
23133         "AddUserResults": {
23134           "type": "object",
23135           "properties": {
23136             "results": {
23137               "type": "array",
23138               "items": {
23139                 "$ref": "#/definitions/AddUserResult"
23140               }
23141             }
23142           },
23143           "additionalProperties": false,
23144           "required": [
23145             "results"
23146           ]
23147         },
23148         "AddUsers": {
23149           "type": "object",
23150           "properties": {
23151             "users": {
23152               "type": "array",
23153               "items": {
23154                 "$ref": "#/definitions/AddUser"
23155               }
23156             }
23157           },
23158           "additionalProperties": false,
23159           "required": [
23160             "users"
23161           ]
23162         },
23163         "Entities": {
23164           "type": "object",
23165           "properties": {
23166             "entities": {
23167               "type": "array",
23168               "items": {
23169                 "$ref": "#/definitions/Entity"
23170               }
23171             }
23172           },
23173           "additionalProperties": false,
23174           "required": [
23175             "entities"
23176           ]
23177         },
23178         "Entity": {
23179           "type": "object",
23180           "properties": {
23181             "tag": {
23182               "type": "string"
23183             }
23184           },
23185           "additionalProperties": false,
23186           "required": [
23187             "tag"
23188           ]
23189         },
23190         "EntityPassword": {
23191           "type": "object",
23192           "properties": {
23193             "password": {
23194               "type": "string"
23195             },
23196             "tag": {
23197               "type": "string"
23198             }
23199           },
23200           "additionalProperties": false,
23201           "required": [
23202             "tag",
23203             "password"
23204           ]
23205         },
23206         "EntityPasswords": {
23207           "type": "object",
23208           "properties": {
23209             "changes": {
23210               "type": "array",
23211               "items": {
23212                 "$ref": "#/definitions/EntityPassword"
23213               }
23214             }
23215           },
23216           "additionalProperties": false,
23217           "required": [
23218             "changes"
23219           ]
23220         },
23221         "Error": {
23222           "type": "object",
23223           "properties": {
23224             "code": {
23225               "type": "string"
23226             },
23227             "info": {
23228               "$ref": "#/definitions/ErrorInfo"
23229             },
23230             "message": {
23231               "type": "string"
23232             }
23233           },
23234           "additionalProperties": false,
23235           "required": [
23236             "message",
23237             "code"
23238           ]
23239         },
23240         "ErrorInfo": {
23241           "type": "object",
23242           "properties": {
23243             "macaroon": {
23244               "$ref": "#/definitions/Macaroon"
23245             },
23246             "macaroon-path": {
23247               "type": "string"
23248             }
23249           },
23250           "additionalProperties": false
23251         },
23252         "ErrorResult": {
23253           "type": "object",
23254           "properties": {
23255             "error": {
23256               "$ref": "#/definitions/Error"
23257             }
23258           },
23259           "additionalProperties": false
23260         },
23261         "ErrorResults": {
23262           "type": "object",
23263           "properties": {
23264             "results": {
23265               "type": "array",
23266               "items": {
23267                 "$ref": "#/definitions/ErrorResult"
23268               }
23269             }
23270           },
23271           "additionalProperties": false,
23272           "required": [
23273             "results"
23274           ]
23275         },
23276         "Macaroon": {
23277           "type": "object",
23278           "additionalProperties": false
23279         },
23280         "MacaroonResult": {
23281           "type": "object",
23282           "properties": {
23283             "error": {
23284               "$ref": "#/definitions/Error"
23285             },
23286             "result": {
23287               "$ref": "#/definitions/Macaroon"
23288             }
23289           },
23290           "additionalProperties": false
23291         },
23292         "MacaroonResults": {
23293           "type": "object",
23294           "properties": {
23295             "results": {
23296               "type": "array",
23297               "items": {
23298                 "$ref": "#/definitions/MacaroonResult"
23299               }
23300             }
23301           },
23302           "additionalProperties": false,
23303           "required": [
23304             "results"
23305           ]
23306         },
23307         "UserInfo": {
23308           "type": "object",
23309           "properties": {
23310             "access": {
23311               "type": "string"
23312             },
23313             "created-by": {
23314               "type": "string"
23315             },
23316             "date-created": {
23317               "type": "string",
23318               "format": "date-time"
23319             },
23320             "disabled": {
23321               "type": "boolean"
23322             },
23323             "display-name": {
23324               "type": "string"
23325             },
23326             "last-connection": {
23327               "type": "string",
23328               "format": "date-time"
23329             },
23330             "username": {
23331               "type": "string"
23332             }
23333           },
23334           "additionalProperties": false,
23335           "required": [
23336             "username",
23337             "display-name",
23338             "access",
23339             "created-by",
23340             "date-created",
23341             "disabled"
23342           ]
23343         },
23344         "UserInfoRequest": {
23345           "type": "object",
23346           "properties": {
23347             "entities": {
23348               "type": "array",
23349               "items": {
23350                 "$ref": "#/definitions/Entity"
23351               }
23352             },
23353             "include-disabled": {
23354               "type": "boolean"
23355             }
23356           },
23357           "additionalProperties": false,
23358           "required": [
23359             "entities",
23360             "include-disabled"
23361           ]
23362         },
23363         "UserInfoResult": {
23364           "type": "object",
23365           "properties": {
23366             "error": {
23367               "$ref": "#/definitions/Error"
23368             },
23369             "result": {
23370               "$ref": "#/definitions/UserInfo"
23371             }
23372           },
23373           "additionalProperties": false
23374         },
23375         "UserInfoResults": {
23376           "type": "object",
23377           "properties": {
23378             "results": {
23379               "type": "array",
23380               "items": {
23381                 "$ref": "#/definitions/UserInfoResult"
23382               }
23383             }
23384           },
23385           "additionalProperties": false,
23386           "required": [
23387             "results"
23388           ]
23389         }
23390       }
23391     }
23392   },
23393   {
23394     "Name": "VolumeAttachmentsWatcher",
23395     "Version": 2,
23396     "Schema": {
23397       "type": "object",
23398       "properties": {
23399         "Next": {
23400           "type": "object",
23401           "properties": {
23402             "Result": {
23403               "$ref": "#/definitions/MachineStorageIdsWatchResult"
23404             }
23405           }
23406         },
23407         "Stop": {
23408           "type": "object"
23409         }
23410       },
23411       "definitions": {
23412         "Error": {
23413           "type": "object",
23414           "properties": {
23415             "code": {
23416               "type": "string"
23417             },
23418             "info": {
23419               "$ref": "#/definitions/ErrorInfo"
23420             },
23421             "message": {
23422               "type": "string"
23423             }
23424           },
23425           "additionalProperties": false,
23426           "required": [
23427             "message",
23428             "code"
23429           ]
23430         },
23431         "ErrorInfo": {
23432           "type": "object",
23433           "properties": {
23434             "macaroon": {
23435               "$ref": "#/definitions/Macaroon"
23436             },
23437             "macaroon-path": {
23438               "type": "string"
23439             }
23440           },
23441           "additionalProperties": false
23442         },
23443         "Macaroon": {
23444           "type": "object",
23445           "additionalProperties": false
23446         },
23447         "MachineStorageId": {
23448           "type": "object",
23449           "properties": {
23450             "attachment-tag": {
23451               "type": "string"
23452             },
23453             "machine-tag": {
23454               "type": "string"
23455             }
23456           },
23457           "additionalProperties": false,
23458           "required": [
23459             "machine-tag",
23460             "attachment-tag"
23461           ]
23462         },
23463         "MachineStorageIdsWatchResult": {
23464           "type": "object",
23465           "properties": {
23466             "changes": {
23467               "type": "array",
23468               "items": {
23469                 "$ref": "#/definitions/MachineStorageId"
23470               }
23471             },
23472             "error": {
23473               "$ref": "#/definitions/Error"
23474             },
23475             "watcher-id": {
23476               "type": "string"
23477             }
23478           },
23479           "additionalProperties": false,
23480           "required": [
23481             "watcher-id",
23482             "changes"
23483           ]
23484         }
23485       }
23486     }
23487   }
23488 ]