[bug 581] Fix parameter checking if no data-type
[osm/N2VC.git] / modules / libjuju / juju / client / schemas-juju-2.1.0.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         "GetCloudSpec": {
531           "type": "object",
532           "properties": {
533             "Params": {
534               "$ref": "#/definitions/ModelTag"
535             },
536             "Result": {
537               "$ref": "#/definitions/CloudSpecResult"
538             }
539           }
540         },
541         "GetEntities": {
542           "type": "object",
543           "properties": {
544             "Params": {
545               "$ref": "#/definitions/Entities"
546             },
547             "Result": {
548               "$ref": "#/definitions/AgentGetEntitiesResults"
549             }
550           }
551         },
552         "IsMaster": {
553           "type": "object",
554           "properties": {
555             "Result": {
556               "$ref": "#/definitions/IsMasterResult"
557             }
558           }
559         },
560         "ModelConfig": {
561           "type": "object",
562           "properties": {
563             "Result": {
564               "$ref": "#/definitions/ModelConfigResult"
565             }
566           }
567         },
568         "SetPasswords": {
569           "type": "object",
570           "properties": {
571             "Params": {
572               "$ref": "#/definitions/EntityPasswords"
573             },
574             "Result": {
575               "$ref": "#/definitions/ErrorResults"
576             }
577           }
578         },
579         "StateServingInfo": {
580           "type": "object",
581           "properties": {
582             "Result": {
583               "$ref": "#/definitions/StateServingInfo"
584             }
585           }
586         },
587         "WatchCredentials": {
588           "type": "object",
589           "properties": {
590             "Params": {
591               "$ref": "#/definitions/Entities"
592             },
593             "Result": {
594               "$ref": "#/definitions/NotifyWatchResults"
595             }
596           }
597         },
598         "WatchForModelConfigChanges": {
599           "type": "object",
600           "properties": {
601             "Result": {
602               "$ref": "#/definitions/NotifyWatchResult"
603             }
604           }
605         }
606       },
607       "definitions": {
608         "AgentGetEntitiesResult": {
609           "type": "object",
610           "properties": {
611             "container-type": {
612               "type": "string"
613             },
614             "error": {
615               "$ref": "#/definitions/Error"
616             },
617             "jobs": {
618               "type": "array",
619               "items": {
620                 "type": "string"
621               }
622             },
623             "life": {
624               "type": "string"
625             }
626           },
627           "additionalProperties": false,
628           "required": [
629             "life",
630             "jobs",
631             "container-type"
632           ]
633         },
634         "AgentGetEntitiesResults": {
635           "type": "object",
636           "properties": {
637             "entities": {
638               "type": "array",
639               "items": {
640                 "$ref": "#/definitions/AgentGetEntitiesResult"
641               }
642             }
643           },
644           "additionalProperties": false,
645           "required": [
646             "entities"
647           ]
648         },
649         "CloudCredential": {
650           "type": "object",
651           "properties": {
652             "attrs": {
653               "type": "object",
654               "patternProperties": {
655                 ".*": {
656                   "type": "string"
657                 }
658               }
659             },
660             "auth-type": {
661               "type": "string"
662             },
663             "redacted": {
664               "type": "array",
665               "items": {
666                 "type": "string"
667               }
668             }
669           },
670           "additionalProperties": false,
671           "required": [
672             "auth-type"
673           ]
674         },
675         "CloudSpec": {
676           "type": "object",
677           "properties": {
678             "credential": {
679               "$ref": "#/definitions/CloudCredential"
680             },
681             "endpoint": {
682               "type": "string"
683             },
684             "identity-endpoint": {
685               "type": "string"
686             },
687             "name": {
688               "type": "string"
689             },
690             "region": {
691               "type": "string"
692             },
693             "storage-endpoint": {
694               "type": "string"
695             },
696             "type": {
697               "type": "string"
698             }
699           },
700           "additionalProperties": false,
701           "required": [
702             "type",
703             "name"
704           ]
705         },
706         "CloudSpecResult": {
707           "type": "object",
708           "properties": {
709             "error": {
710               "$ref": "#/definitions/Error"
711             },
712             "result": {
713               "$ref": "#/definitions/CloudSpec"
714             }
715           },
716           "additionalProperties": false
717         },
718         "CloudSpecResults": {
719           "type": "object",
720           "properties": {
721             "results": {
722               "type": "array",
723               "items": {
724                 "$ref": "#/definitions/CloudSpecResult"
725               }
726             }
727           },
728           "additionalProperties": false
729         },
730         "ControllerConfigResult": {
731           "type": "object",
732           "properties": {
733             "config": {
734               "type": "object",
735               "patternProperties": {
736                 ".*": {
737                   "type": "object",
738                   "additionalProperties": true
739                 }
740               }
741             }
742           },
743           "additionalProperties": false,
744           "required": [
745             "config"
746           ]
747         },
748         "Entities": {
749           "type": "object",
750           "properties": {
751             "entities": {
752               "type": "array",
753               "items": {
754                 "$ref": "#/definitions/Entity"
755               }
756             }
757           },
758           "additionalProperties": false,
759           "required": [
760             "entities"
761           ]
762         },
763         "Entity": {
764           "type": "object",
765           "properties": {
766             "tag": {
767               "type": "string"
768             }
769           },
770           "additionalProperties": false,
771           "required": [
772             "tag"
773           ]
774         },
775         "EntityPassword": {
776           "type": "object",
777           "properties": {
778             "password": {
779               "type": "string"
780             },
781             "tag": {
782               "type": "string"
783             }
784           },
785           "additionalProperties": false,
786           "required": [
787             "tag",
788             "password"
789           ]
790         },
791         "EntityPasswords": {
792           "type": "object",
793           "properties": {
794             "changes": {
795               "type": "array",
796               "items": {
797                 "$ref": "#/definitions/EntityPassword"
798               }
799             }
800           },
801           "additionalProperties": false,
802           "required": [
803             "changes"
804           ]
805         },
806         "Error": {
807           "type": "object",
808           "properties": {
809             "code": {
810               "type": "string"
811             },
812             "info": {
813               "$ref": "#/definitions/ErrorInfo"
814             },
815             "message": {
816               "type": "string"
817             }
818           },
819           "additionalProperties": false,
820           "required": [
821             "message",
822             "code"
823           ]
824         },
825         "ErrorInfo": {
826           "type": "object",
827           "properties": {
828             "macaroon": {
829               "$ref": "#/definitions/Macaroon"
830             },
831             "macaroon-path": {
832               "type": "string"
833             }
834           },
835           "additionalProperties": false
836         },
837         "ErrorResult": {
838           "type": "object",
839           "properties": {
840             "error": {
841               "$ref": "#/definitions/Error"
842             }
843           },
844           "additionalProperties": false
845         },
846         "ErrorResults": {
847           "type": "object",
848           "properties": {
849             "results": {
850               "type": "array",
851               "items": {
852                 "$ref": "#/definitions/ErrorResult"
853               }
854             }
855           },
856           "additionalProperties": false,
857           "required": [
858             "results"
859           ]
860         },
861         "IsMasterResult": {
862           "type": "object",
863           "properties": {
864             "master": {
865               "type": "boolean"
866             }
867           },
868           "additionalProperties": false,
869           "required": [
870             "master"
871           ]
872         },
873         "Macaroon": {
874           "type": "object",
875           "additionalProperties": false
876         },
877         "ModelConfigResult": {
878           "type": "object",
879           "properties": {
880             "config": {
881               "type": "object",
882               "patternProperties": {
883                 ".*": {
884                   "type": "object",
885                   "additionalProperties": true
886                 }
887               }
888             }
889           },
890           "additionalProperties": false,
891           "required": [
892             "config"
893           ]
894         },
895         "ModelTag": {
896           "type": "object",
897           "additionalProperties": false
898         },
899         "NotifyWatchResult": {
900           "type": "object",
901           "properties": {
902             "NotifyWatcherId": {
903               "type": "string"
904             },
905             "error": {
906               "$ref": "#/definitions/Error"
907             }
908           },
909           "additionalProperties": false,
910           "required": [
911             "NotifyWatcherId"
912           ]
913         },
914         "NotifyWatchResults": {
915           "type": "object",
916           "properties": {
917             "results": {
918               "type": "array",
919               "items": {
920                 "$ref": "#/definitions/NotifyWatchResult"
921               }
922             }
923           },
924           "additionalProperties": false,
925           "required": [
926             "results"
927           ]
928         },
929         "StateServingInfo": {
930           "type": "object",
931           "properties": {
932             "api-port": {
933               "type": "integer"
934             },
935             "ca-private-key": {
936               "type": "string"
937             },
938             "cert": {
939               "type": "string"
940             },
941             "private-key": {
942               "type": "string"
943             },
944             "shared-secret": {
945               "type": "string"
946             },
947             "state-port": {
948               "type": "integer"
949             },
950             "system-identity": {
951               "type": "string"
952             }
953           },
954           "additionalProperties": false,
955           "required": [
956             "api-port",
957             "state-port",
958             "cert",
959             "private-key",
960             "ca-private-key",
961             "shared-secret",
962             "system-identity"
963           ]
964         }
965       }
966     }
967   },
968   {
969     "Name": "AgentTools",
970     "Version": 1,
971     "Schema": {
972       "type": "object",
973       "properties": {
974         "UpdateToolsAvailable": {
975           "type": "object"
976         }
977       }
978     }
979   },
980   {
981     "Name": "AllModelWatcher",
982     "Version": 2,
983     "Schema": {
984       "type": "object",
985       "properties": {
986         "Next": {
987           "type": "object",
988           "properties": {
989             "Result": {
990               "$ref": "#/definitions/AllWatcherNextResults"
991             }
992           }
993         },
994         "Stop": {
995           "type": "object"
996         }
997       },
998       "definitions": {
999         "AllWatcherNextResults": {
1000           "type": "object",
1001           "properties": {
1002             "deltas": {
1003               "type": "array",
1004               "items": {
1005                 "$ref": "#/definitions/Delta"
1006               }
1007             }
1008           },
1009           "additionalProperties": false,
1010           "required": [
1011             "deltas"
1012           ]
1013         },
1014         "Delta": {
1015           "type": "object",
1016           "properties": {
1017             "entity": {
1018               "type": "object",
1019               "additionalProperties": true
1020             },
1021             "removed": {
1022               "type": "boolean"
1023             }
1024           },
1025           "additionalProperties": false,
1026           "required": [
1027             "removed",
1028             "entity"
1029           ]
1030         }
1031       }
1032     }
1033   },
1034   {
1035     "Name": "AllWatcher",
1036     "Version": 1,
1037     "Schema": {
1038       "type": "object",
1039       "properties": {
1040         "Next": {
1041           "type": "object",
1042           "properties": {
1043             "Result": {
1044               "$ref": "#/definitions/AllWatcherNextResults"
1045             }
1046           }
1047         },
1048         "Stop": {
1049           "type": "object"
1050         }
1051       },
1052       "definitions": {
1053         "AllWatcherNextResults": {
1054           "type": "object",
1055           "properties": {
1056             "deltas": {
1057               "type": "array",
1058               "items": {
1059                 "$ref": "#/definitions/Delta"
1060               }
1061             }
1062           },
1063           "additionalProperties": false,
1064           "required": [
1065             "deltas"
1066           ]
1067         },
1068         "Delta": {
1069           "type": "object",
1070           "properties": {
1071             "entity": {
1072               "type": "object",
1073               "additionalProperties": true
1074             },
1075             "removed": {
1076               "type": "boolean"
1077             }
1078           },
1079           "additionalProperties": false,
1080           "required": [
1081             "removed",
1082             "entity"
1083           ]
1084         }
1085       }
1086     }
1087   },
1088   {
1089     "Name": "Annotations",
1090     "Version": 2,
1091     "Schema": {
1092       "type": "object",
1093       "properties": {
1094         "Get": {
1095           "type": "object",
1096           "properties": {
1097             "Params": {
1098               "$ref": "#/definitions/Entities"
1099             },
1100             "Result": {
1101               "$ref": "#/definitions/AnnotationsGetResults"
1102             }
1103           }
1104         },
1105         "Set": {
1106           "type": "object",
1107           "properties": {
1108             "Params": {
1109               "$ref": "#/definitions/AnnotationsSet"
1110             },
1111             "Result": {
1112               "$ref": "#/definitions/ErrorResults"
1113             }
1114           }
1115         }
1116       },
1117       "definitions": {
1118         "AnnotationsGetResult": {
1119           "type": "object",
1120           "properties": {
1121             "annotations": {
1122               "type": "object",
1123               "patternProperties": {
1124                 ".*": {
1125                   "type": "string"
1126                 }
1127               }
1128             },
1129             "entity": {
1130               "type": "string"
1131             },
1132             "error": {
1133               "$ref": "#/definitions/ErrorResult"
1134             }
1135           },
1136           "additionalProperties": false,
1137           "required": [
1138             "entity",
1139             "annotations"
1140           ]
1141         },
1142         "AnnotationsGetResults": {
1143           "type": "object",
1144           "properties": {
1145             "results": {
1146               "type": "array",
1147               "items": {
1148                 "$ref": "#/definitions/AnnotationsGetResult"
1149               }
1150             }
1151           },
1152           "additionalProperties": false,
1153           "required": [
1154             "results"
1155           ]
1156         },
1157         "AnnotationsSet": {
1158           "type": "object",
1159           "properties": {
1160             "annotations": {
1161               "type": "array",
1162               "items": {
1163                 "$ref": "#/definitions/EntityAnnotations"
1164               }
1165             }
1166           },
1167           "additionalProperties": false,
1168           "required": [
1169             "annotations"
1170           ]
1171         },
1172         "Entities": {
1173           "type": "object",
1174           "properties": {
1175             "entities": {
1176               "type": "array",
1177               "items": {
1178                 "$ref": "#/definitions/Entity"
1179               }
1180             }
1181           },
1182           "additionalProperties": false,
1183           "required": [
1184             "entities"
1185           ]
1186         },
1187         "Entity": {
1188           "type": "object",
1189           "properties": {
1190             "tag": {
1191               "type": "string"
1192             }
1193           },
1194           "additionalProperties": false,
1195           "required": [
1196             "tag"
1197           ]
1198         },
1199         "EntityAnnotations": {
1200           "type": "object",
1201           "properties": {
1202             "annotations": {
1203               "type": "object",
1204               "patternProperties": {
1205                 ".*": {
1206                   "type": "string"
1207                 }
1208               }
1209             },
1210             "entity": {
1211               "type": "string"
1212             }
1213           },
1214           "additionalProperties": false,
1215           "required": [
1216             "entity",
1217             "annotations"
1218           ]
1219         },
1220         "Error": {
1221           "type": "object",
1222           "properties": {
1223             "code": {
1224               "type": "string"
1225             },
1226             "info": {
1227               "$ref": "#/definitions/ErrorInfo"
1228             },
1229             "message": {
1230               "type": "string"
1231             }
1232           },
1233           "additionalProperties": false,
1234           "required": [
1235             "message",
1236             "code"
1237           ]
1238         },
1239         "ErrorInfo": {
1240           "type": "object",
1241           "properties": {
1242             "macaroon": {
1243               "$ref": "#/definitions/Macaroon"
1244             },
1245             "macaroon-path": {
1246               "type": "string"
1247             }
1248           },
1249           "additionalProperties": false
1250         },
1251         "ErrorResult": {
1252           "type": "object",
1253           "properties": {
1254             "error": {
1255               "$ref": "#/definitions/Error"
1256             }
1257           },
1258           "additionalProperties": false
1259         },
1260         "ErrorResults": {
1261           "type": "object",
1262           "properties": {
1263             "results": {
1264               "type": "array",
1265               "items": {
1266                 "$ref": "#/definitions/ErrorResult"
1267               }
1268             }
1269           },
1270           "additionalProperties": false,
1271           "required": [
1272             "results"
1273           ]
1274         },
1275         "Macaroon": {
1276           "type": "object",
1277           "additionalProperties": false
1278         }
1279       }
1280     }
1281   },
1282   {
1283     "Name": "Application",
1284     "Version": 3,
1285     "Schema": {
1286       "type": "object",
1287       "properties": {
1288         "AddRelation": {
1289           "type": "object",
1290           "properties": {
1291             "Params": {
1292               "$ref": "#/definitions/AddRelation"
1293             },
1294             "Result": {
1295               "$ref": "#/definitions/AddRelationResults"
1296             }
1297           }
1298         },
1299         "AddUnits": {
1300           "type": "object",
1301           "properties": {
1302             "Params": {
1303               "$ref": "#/definitions/AddApplicationUnits"
1304             },
1305             "Result": {
1306               "$ref": "#/definitions/AddApplicationUnitsResults"
1307             }
1308           }
1309         },
1310         "CharmRelations": {
1311           "type": "object",
1312           "properties": {
1313             "Params": {
1314               "$ref": "#/definitions/ApplicationCharmRelations"
1315             },
1316             "Result": {
1317               "$ref": "#/definitions/ApplicationCharmRelationsResults"
1318             }
1319           }
1320         },
1321         "Deploy": {
1322           "type": "object",
1323           "properties": {
1324             "Params": {
1325               "$ref": "#/definitions/ApplicationsDeploy"
1326             },
1327             "Result": {
1328               "$ref": "#/definitions/ErrorResults"
1329             }
1330           }
1331         },
1332         "Destroy": {
1333           "type": "object",
1334           "properties": {
1335             "Params": {
1336               "$ref": "#/definitions/ApplicationDestroy"
1337             }
1338           }
1339         },
1340         "DestroyRelation": {
1341           "type": "object",
1342           "properties": {
1343             "Params": {
1344               "$ref": "#/definitions/DestroyRelation"
1345             }
1346           }
1347         },
1348         "DestroyUnits": {
1349           "type": "object",
1350           "properties": {
1351             "Params": {
1352               "$ref": "#/definitions/DestroyApplicationUnits"
1353             }
1354           }
1355         },
1356         "Expose": {
1357           "type": "object",
1358           "properties": {
1359             "Params": {
1360               "$ref": "#/definitions/ApplicationExpose"
1361             }
1362           }
1363         },
1364         "Get": {
1365           "type": "object",
1366           "properties": {
1367             "Params": {
1368               "$ref": "#/definitions/ApplicationGet"
1369             },
1370             "Result": {
1371               "$ref": "#/definitions/ApplicationGetResults"
1372             }
1373           }
1374         },
1375         "GetCharmURL": {
1376           "type": "object",
1377           "properties": {
1378             "Params": {
1379               "$ref": "#/definitions/ApplicationGet"
1380             },
1381             "Result": {
1382               "$ref": "#/definitions/StringResult"
1383             }
1384           }
1385         },
1386         "GetConstraints": {
1387           "type": "object",
1388           "properties": {
1389             "Params": {
1390               "$ref": "#/definitions/GetApplicationConstraints"
1391             },
1392             "Result": {
1393               "$ref": "#/definitions/GetConstraintsResults"
1394             }
1395           }
1396         },
1397         "Set": {
1398           "type": "object",
1399           "properties": {
1400             "Params": {
1401               "$ref": "#/definitions/ApplicationSet"
1402             }
1403           }
1404         },
1405         "SetCharm": {
1406           "type": "object",
1407           "properties": {
1408             "Params": {
1409               "$ref": "#/definitions/ApplicationSetCharm"
1410             }
1411           }
1412         },
1413         "SetConstraints": {
1414           "type": "object",
1415           "properties": {
1416             "Params": {
1417               "$ref": "#/definitions/SetConstraints"
1418             }
1419           }
1420         },
1421         "SetMetricCredentials": {
1422           "type": "object",
1423           "properties": {
1424             "Params": {
1425               "$ref": "#/definitions/ApplicationMetricCredentials"
1426             },
1427             "Result": {
1428               "$ref": "#/definitions/ErrorResults"
1429             }
1430           }
1431         },
1432         "Unexpose": {
1433           "type": "object",
1434           "properties": {
1435             "Params": {
1436               "$ref": "#/definitions/ApplicationUnexpose"
1437             }
1438           }
1439         },
1440         "Unset": {
1441           "type": "object",
1442           "properties": {
1443             "Params": {
1444               "$ref": "#/definitions/ApplicationUnset"
1445             }
1446           }
1447         },
1448         "Update": {
1449           "type": "object",
1450           "properties": {
1451             "Params": {
1452               "$ref": "#/definitions/ApplicationUpdate"
1453             }
1454           }
1455         }
1456       },
1457       "definitions": {
1458         "AddApplicationUnits": {
1459           "type": "object",
1460           "properties": {
1461             "application": {
1462               "type": "string"
1463             },
1464             "num-units": {
1465               "type": "integer"
1466             },
1467             "placement": {
1468               "type": "array",
1469               "items": {
1470                 "$ref": "#/definitions/Placement"
1471               }
1472             }
1473           },
1474           "additionalProperties": false,
1475           "required": [
1476             "application",
1477             "num-units",
1478             "placement"
1479           ]
1480         },
1481         "AddApplicationUnitsResults": {
1482           "type": "object",
1483           "properties": {
1484             "units": {
1485               "type": "array",
1486               "items": {
1487                 "type": "string"
1488               }
1489             }
1490           },
1491           "additionalProperties": false,
1492           "required": [
1493             "units"
1494           ]
1495         },
1496         "AddRelation": {
1497           "type": "object",
1498           "properties": {
1499             "endpoints": {
1500               "type": "array",
1501               "items": {
1502                 "type": "string"
1503               }
1504             }
1505           },
1506           "additionalProperties": false,
1507           "required": [
1508             "endpoints"
1509           ]
1510         },
1511         "AddRelationResults": {
1512           "type": "object",
1513           "properties": {
1514             "endpoints": {
1515               "type": "object",
1516               "patternProperties": {
1517                 ".*": {
1518                   "$ref": "#/definitions/CharmRelation"
1519                 }
1520               }
1521             }
1522           },
1523           "additionalProperties": false,
1524           "required": [
1525             "endpoints"
1526           ]
1527         },
1528         "ApplicationCharmRelations": {
1529           "type": "object",
1530           "properties": {
1531             "application": {
1532               "type": "string"
1533             }
1534           },
1535           "additionalProperties": false,
1536           "required": [
1537             "application"
1538           ]
1539         },
1540         "ApplicationCharmRelationsResults": {
1541           "type": "object",
1542           "properties": {
1543             "charm-relations": {
1544               "type": "array",
1545               "items": {
1546                 "type": "string"
1547               }
1548             }
1549           },
1550           "additionalProperties": false,
1551           "required": [
1552             "charm-relations"
1553           ]
1554         },
1555         "ApplicationDeploy": {
1556           "type": "object",
1557           "properties": {
1558             "application": {
1559               "type": "string"
1560             },
1561             "channel": {
1562               "type": "string"
1563             },
1564             "charm-url": {
1565               "type": "string"
1566             },
1567             "config": {
1568               "type": "object",
1569               "patternProperties": {
1570                 ".*": {
1571                   "type": "string"
1572                 }
1573               }
1574             },
1575             "config-yaml": {
1576               "type": "string"
1577             },
1578             "constraints": {
1579               "$ref": "#/definitions/Value"
1580             },
1581             "endpoint-bindings": {
1582               "type": "object",
1583               "patternProperties": {
1584                 ".*": {
1585                   "type": "string"
1586                 }
1587               }
1588             },
1589             "num-units": {
1590               "type": "integer"
1591             },
1592             "placement": {
1593               "type": "array",
1594               "items": {
1595                 "$ref": "#/definitions/Placement"
1596               }
1597             },
1598             "resources": {
1599               "type": "object",
1600               "patternProperties": {
1601                 ".*": {
1602                   "type": "string"
1603                 }
1604               }
1605             },
1606             "series": {
1607               "type": "string"
1608             },
1609             "storage": {
1610               "type": "object",
1611               "patternProperties": {
1612                 ".*": {
1613                   "$ref": "#/definitions/Constraints"
1614                 }
1615               }
1616             }
1617           },
1618           "additionalProperties": false,
1619           "required": [
1620             "application",
1621             "series",
1622             "charm-url",
1623             "channel",
1624             "num-units",
1625             "config-yaml",
1626             "constraints"
1627           ]
1628         },
1629         "ApplicationDestroy": {
1630           "type": "object",
1631           "properties": {
1632             "application": {
1633               "type": "string"
1634             }
1635           },
1636           "additionalProperties": false,
1637           "required": [
1638             "application"
1639           ]
1640         },
1641         "ApplicationExpose": {
1642           "type": "object",
1643           "properties": {
1644             "application": {
1645               "type": "string"
1646             }
1647           },
1648           "additionalProperties": false,
1649           "required": [
1650             "application"
1651           ]
1652         },
1653         "ApplicationGet": {
1654           "type": "object",
1655           "properties": {
1656             "application": {
1657               "type": "string"
1658             }
1659           },
1660           "additionalProperties": false,
1661           "required": [
1662             "application"
1663           ]
1664         },
1665         "ApplicationGetResults": {
1666           "type": "object",
1667           "properties": {
1668             "application": {
1669               "type": "string"
1670             },
1671             "charm": {
1672               "type": "string"
1673             },
1674             "config": {
1675               "type": "object",
1676               "patternProperties": {
1677                 ".*": {
1678                   "type": "object",
1679                   "additionalProperties": true
1680                 }
1681               }
1682             },
1683             "constraints": {
1684               "$ref": "#/definitions/Value"
1685             },
1686             "series": {
1687               "type": "string"
1688             }
1689           },
1690           "additionalProperties": false,
1691           "required": [
1692             "application",
1693             "charm",
1694             "config",
1695             "constraints",
1696             "series"
1697           ]
1698         },
1699         "ApplicationMetricCredential": {
1700           "type": "object",
1701           "properties": {
1702             "application": {
1703               "type": "string"
1704             },
1705             "metrics-credentials": {
1706               "type": "array",
1707               "items": {
1708                 "type": "integer"
1709               }
1710             }
1711           },
1712           "additionalProperties": false,
1713           "required": [
1714             "application",
1715             "metrics-credentials"
1716           ]
1717         },
1718         "ApplicationMetricCredentials": {
1719           "type": "object",
1720           "properties": {
1721             "creds": {
1722               "type": "array",
1723               "items": {
1724                 "$ref": "#/definitions/ApplicationMetricCredential"
1725               }
1726             }
1727           },
1728           "additionalProperties": false,
1729           "required": [
1730             "creds"
1731           ]
1732         },
1733         "ApplicationSet": {
1734           "type": "object",
1735           "properties": {
1736             "application": {
1737               "type": "string"
1738             },
1739             "options": {
1740               "type": "object",
1741               "patternProperties": {
1742                 ".*": {
1743                   "type": "string"
1744                 }
1745               }
1746             }
1747           },
1748           "additionalProperties": false,
1749           "required": [
1750             "application",
1751             "options"
1752           ]
1753         },
1754         "ApplicationSetCharm": {
1755           "type": "object",
1756           "properties": {
1757             "application": {
1758               "type": "string"
1759             },
1760             "channel": {
1761               "type": "string"
1762             },
1763             "charm-url": {
1764               "type": "string"
1765             },
1766             "config-settings": {
1767               "type": "object",
1768               "patternProperties": {
1769                 ".*": {
1770                   "type": "string"
1771                 }
1772               }
1773             },
1774             "config-settings-yaml": {
1775               "type": "string"
1776             },
1777             "force-series": {
1778               "type": "boolean"
1779             },
1780             "force-units": {
1781               "type": "boolean"
1782             },
1783             "resource-ids": {
1784               "type": "object",
1785               "patternProperties": {
1786                 ".*": {
1787                   "type": "string"
1788                 }
1789               }
1790             },
1791             "storage-constraints": {
1792               "type": "object",
1793               "patternProperties": {
1794                 ".*": {
1795                   "$ref": "#/definitions/StorageConstraints"
1796                 }
1797               }
1798             }
1799           },
1800           "additionalProperties": false,
1801           "required": [
1802             "application",
1803             "charm-url",
1804             "channel",
1805             "force-units",
1806             "force-series"
1807           ]
1808         },
1809         "ApplicationUnexpose": {
1810           "type": "object",
1811           "properties": {
1812             "application": {
1813               "type": "string"
1814             }
1815           },
1816           "additionalProperties": false,
1817           "required": [
1818             "application"
1819           ]
1820         },
1821         "ApplicationUnset": {
1822           "type": "object",
1823           "properties": {
1824             "application": {
1825               "type": "string"
1826             },
1827             "options": {
1828               "type": "array",
1829               "items": {
1830                 "type": "string"
1831               }
1832             }
1833           },
1834           "additionalProperties": false,
1835           "required": [
1836             "application",
1837             "options"
1838           ]
1839         },
1840         "ApplicationUpdate": {
1841           "type": "object",
1842           "properties": {
1843             "application": {
1844               "type": "string"
1845             },
1846             "charm-url": {
1847               "type": "string"
1848             },
1849             "constraints": {
1850               "$ref": "#/definitions/Value"
1851             },
1852             "force-charm-url": {
1853               "type": "boolean"
1854             },
1855             "force-series": {
1856               "type": "boolean"
1857             },
1858             "min-units": {
1859               "type": "integer"
1860             },
1861             "settings": {
1862               "type": "object",
1863               "patternProperties": {
1864                 ".*": {
1865                   "type": "string"
1866                 }
1867               }
1868             },
1869             "settings-yaml": {
1870               "type": "string"
1871             }
1872           },
1873           "additionalProperties": false,
1874           "required": [
1875             "application",
1876             "charm-url",
1877             "force-charm-url",
1878             "force-series",
1879             "settings-yaml"
1880           ]
1881         },
1882         "ApplicationsDeploy": {
1883           "type": "object",
1884           "properties": {
1885             "applications": {
1886               "type": "array",
1887               "items": {
1888                 "$ref": "#/definitions/ApplicationDeploy"
1889               }
1890             }
1891           },
1892           "additionalProperties": false,
1893           "required": [
1894             "applications"
1895           ]
1896         },
1897         "CharmRelation": {
1898           "type": "object",
1899           "properties": {
1900             "interface": {
1901               "type": "string"
1902             },
1903             "limit": {
1904               "type": "integer"
1905             },
1906             "name": {
1907               "type": "string"
1908             },
1909             "optional": {
1910               "type": "boolean"
1911             },
1912             "role": {
1913               "type": "string"
1914             },
1915             "scope": {
1916               "type": "string"
1917             }
1918           },
1919           "additionalProperties": false,
1920           "required": [
1921             "name",
1922             "role",
1923             "interface",
1924             "optional",
1925             "limit",
1926             "scope"
1927           ]
1928         },
1929         "Constraints": {
1930           "type": "object",
1931           "properties": {
1932             "Count": {
1933               "type": "integer"
1934             },
1935             "Pool": {
1936               "type": "string"
1937             },
1938             "Size": {
1939               "type": "integer"
1940             }
1941           },
1942           "additionalProperties": false,
1943           "required": [
1944             "Pool",
1945             "Size",
1946             "Count"
1947           ]
1948         },
1949         "DestroyApplicationUnits": {
1950           "type": "object",
1951           "properties": {
1952             "unit-names": {
1953               "type": "array",
1954               "items": {
1955                 "type": "string"
1956               }
1957             }
1958           },
1959           "additionalProperties": false,
1960           "required": [
1961             "unit-names"
1962           ]
1963         },
1964         "DestroyRelation": {
1965           "type": "object",
1966           "properties": {
1967             "endpoints": {
1968               "type": "array",
1969               "items": {
1970                 "type": "string"
1971               }
1972             }
1973           },
1974           "additionalProperties": false,
1975           "required": [
1976             "endpoints"
1977           ]
1978         },
1979         "Error": {
1980           "type": "object",
1981           "properties": {
1982             "code": {
1983               "type": "string"
1984             },
1985             "info": {
1986               "$ref": "#/definitions/ErrorInfo"
1987             },
1988             "message": {
1989               "type": "string"
1990             }
1991           },
1992           "additionalProperties": false,
1993           "required": [
1994             "message",
1995             "code"
1996           ]
1997         },
1998         "ErrorInfo": {
1999           "type": "object",
2000           "properties": {
2001             "macaroon": {
2002               "$ref": "#/definitions/Macaroon"
2003             },
2004             "macaroon-path": {
2005               "type": "string"
2006             }
2007           },
2008           "additionalProperties": false
2009         },
2010         "ErrorResult": {
2011           "type": "object",
2012           "properties": {
2013             "error": {
2014               "$ref": "#/definitions/Error"
2015             }
2016           },
2017           "additionalProperties": false
2018         },
2019         "ErrorResults": {
2020           "type": "object",
2021           "properties": {
2022             "results": {
2023               "type": "array",
2024               "items": {
2025                 "$ref": "#/definitions/ErrorResult"
2026               }
2027             }
2028           },
2029           "additionalProperties": false,
2030           "required": [
2031             "results"
2032           ]
2033         },
2034         "GetApplicationConstraints": {
2035           "type": "object",
2036           "properties": {
2037             "application": {
2038               "type": "string"
2039             }
2040           },
2041           "additionalProperties": false,
2042           "required": [
2043             "application"
2044           ]
2045         },
2046         "GetConstraintsResults": {
2047           "type": "object",
2048           "properties": {
2049             "constraints": {
2050               "$ref": "#/definitions/Value"
2051             }
2052           },
2053           "additionalProperties": false,
2054           "required": [
2055             "constraints"
2056           ]
2057         },
2058         "Macaroon": {
2059           "type": "object",
2060           "additionalProperties": false
2061         },
2062         "Placement": {
2063           "type": "object",
2064           "properties": {
2065             "directive": {
2066               "type": "string"
2067             },
2068             "scope": {
2069               "type": "string"
2070             }
2071           },
2072           "additionalProperties": false,
2073           "required": [
2074             "scope",
2075             "directive"
2076           ]
2077         },
2078         "SetConstraints": {
2079           "type": "object",
2080           "properties": {
2081             "application": {
2082               "type": "string"
2083             },
2084             "constraints": {
2085               "$ref": "#/definitions/Value"
2086             }
2087           },
2088           "additionalProperties": false,
2089           "required": [
2090             "application",
2091             "constraints"
2092           ]
2093         },
2094         "StorageConstraints": {
2095           "type": "object",
2096           "properties": {
2097             "count": {
2098               "type": "integer"
2099             },
2100             "pool": {
2101               "type": "string"
2102             },
2103             "size": {
2104               "type": "integer"
2105             }
2106           },
2107           "additionalProperties": false
2108         },
2109         "StringResult": {
2110           "type": "object",
2111           "properties": {
2112             "error": {
2113               "$ref": "#/definitions/Error"
2114             },
2115             "result": {
2116               "type": "string"
2117             }
2118           },
2119           "additionalProperties": false,
2120           "required": [
2121             "result"
2122           ]
2123         },
2124         "Value": {
2125           "type": "object",
2126           "properties": {
2127             "arch": {
2128               "type": "string"
2129             },
2130             "container": {
2131               "type": "string"
2132             },
2133             "cores": {
2134               "type": "integer"
2135             },
2136             "cpu-power": {
2137               "type": "integer"
2138             },
2139             "instance-type": {
2140               "type": "string"
2141             },
2142             "mem": {
2143               "type": "integer"
2144             },
2145             "root-disk": {
2146               "type": "integer"
2147             },
2148             "spaces": {
2149               "type": "array",
2150               "items": {
2151                 "type": "string"
2152               }
2153             },
2154             "tags": {
2155               "type": "array",
2156               "items": {
2157                 "type": "string"
2158               }
2159             },
2160             "virt-type": {
2161               "type": "string"
2162             }
2163           },
2164           "additionalProperties": false
2165         }
2166       }
2167     }
2168   },
2169   {
2170     "Name": "ApplicationScaler",
2171     "Version": 1,
2172     "Schema": {
2173       "type": "object",
2174       "properties": {
2175         "Rescale": {
2176           "type": "object",
2177           "properties": {
2178             "Params": {
2179               "$ref": "#/definitions/Entities"
2180             },
2181             "Result": {
2182               "$ref": "#/definitions/ErrorResults"
2183             }
2184           }
2185         },
2186         "Watch": {
2187           "type": "object",
2188           "properties": {
2189             "Result": {
2190               "$ref": "#/definitions/StringsWatchResult"
2191             }
2192           }
2193         }
2194       },
2195       "definitions": {
2196         "Entities": {
2197           "type": "object",
2198           "properties": {
2199             "entities": {
2200               "type": "array",
2201               "items": {
2202                 "$ref": "#/definitions/Entity"
2203               }
2204             }
2205           },
2206           "additionalProperties": false,
2207           "required": [
2208             "entities"
2209           ]
2210         },
2211         "Entity": {
2212           "type": "object",
2213           "properties": {
2214             "tag": {
2215               "type": "string"
2216             }
2217           },
2218           "additionalProperties": false,
2219           "required": [
2220             "tag"
2221           ]
2222         },
2223         "Error": {
2224           "type": "object",
2225           "properties": {
2226             "code": {
2227               "type": "string"
2228             },
2229             "info": {
2230               "$ref": "#/definitions/ErrorInfo"
2231             },
2232             "message": {
2233               "type": "string"
2234             }
2235           },
2236           "additionalProperties": false,
2237           "required": [
2238             "message",
2239             "code"
2240           ]
2241         },
2242         "ErrorInfo": {
2243           "type": "object",
2244           "properties": {
2245             "macaroon": {
2246               "$ref": "#/definitions/Macaroon"
2247             },
2248             "macaroon-path": {
2249               "type": "string"
2250             }
2251           },
2252           "additionalProperties": false
2253         },
2254         "ErrorResult": {
2255           "type": "object",
2256           "properties": {
2257             "error": {
2258               "$ref": "#/definitions/Error"
2259             }
2260           },
2261           "additionalProperties": false
2262         },
2263         "ErrorResults": {
2264           "type": "object",
2265           "properties": {
2266             "results": {
2267               "type": "array",
2268               "items": {
2269                 "$ref": "#/definitions/ErrorResult"
2270               }
2271             }
2272           },
2273           "additionalProperties": false,
2274           "required": [
2275             "results"
2276           ]
2277         },
2278         "Macaroon": {
2279           "type": "object",
2280           "additionalProperties": false
2281         },
2282         "StringsWatchResult": {
2283           "type": "object",
2284           "properties": {
2285             "changes": {
2286               "type": "array",
2287               "items": {
2288                 "type": "string"
2289               }
2290             },
2291             "error": {
2292               "$ref": "#/definitions/Error"
2293             },
2294             "watcher-id": {
2295               "type": "string"
2296             }
2297           },
2298           "additionalProperties": false,
2299           "required": [
2300             "watcher-id"
2301           ]
2302         }
2303       }
2304     }
2305   },
2306   {
2307     "Name": "Backups",
2308     "Version": 1,
2309     "Schema": {
2310       "type": "object",
2311       "properties": {
2312         "Create": {
2313           "type": "object",
2314           "properties": {
2315             "Params": {
2316               "$ref": "#/definitions/BackupsCreateArgs"
2317             },
2318             "Result": {
2319               "$ref": "#/definitions/BackupsMetadataResult"
2320             }
2321           }
2322         },
2323         "FinishRestore": {
2324           "type": "object"
2325         },
2326         "Info": {
2327           "type": "object",
2328           "properties": {
2329             "Params": {
2330               "$ref": "#/definitions/BackupsInfoArgs"
2331             },
2332             "Result": {
2333               "$ref": "#/definitions/BackupsMetadataResult"
2334             }
2335           }
2336         },
2337         "List": {
2338           "type": "object",
2339           "properties": {
2340             "Params": {
2341               "$ref": "#/definitions/BackupsListArgs"
2342             },
2343             "Result": {
2344               "$ref": "#/definitions/BackupsListResult"
2345             }
2346           }
2347         },
2348         "PrepareRestore": {
2349           "type": "object"
2350         },
2351         "Remove": {
2352           "type": "object",
2353           "properties": {
2354             "Params": {
2355               "$ref": "#/definitions/BackupsRemoveArgs"
2356             }
2357           }
2358         },
2359         "Restore": {
2360           "type": "object",
2361           "properties": {
2362             "Params": {
2363               "$ref": "#/definitions/RestoreArgs"
2364             }
2365           }
2366         }
2367       },
2368       "definitions": {
2369         "BackupsCreateArgs": {
2370           "type": "object",
2371           "properties": {
2372             "notes": {
2373               "type": "string"
2374             }
2375           },
2376           "additionalProperties": false,
2377           "required": [
2378             "notes"
2379           ]
2380         },
2381         "BackupsInfoArgs": {
2382           "type": "object",
2383           "properties": {
2384             "id": {
2385               "type": "string"
2386             }
2387           },
2388           "additionalProperties": false,
2389           "required": [
2390             "id"
2391           ]
2392         },
2393         "BackupsListArgs": {
2394           "type": "object",
2395           "additionalProperties": false
2396         },
2397         "BackupsListResult": {
2398           "type": "object",
2399           "properties": {
2400             "list": {
2401               "type": "array",
2402               "items": {
2403                 "$ref": "#/definitions/BackupsMetadataResult"
2404               }
2405             }
2406           },
2407           "additionalProperties": false,
2408           "required": [
2409             "list"
2410           ]
2411         },
2412         "BackupsMetadataResult": {
2413           "type": "object",
2414           "properties": {
2415             "ca-cert": {
2416               "type": "string"
2417             },
2418             "ca-private-key": {
2419               "type": "string"
2420             },
2421             "checksum": {
2422               "type": "string"
2423             },
2424             "checksum-format": {
2425               "type": "string"
2426             },
2427             "finished": {
2428               "type": "string",
2429               "format": "date-time"
2430             },
2431             "hostname": {
2432               "type": "string"
2433             },
2434             "id": {
2435               "type": "string"
2436             },
2437             "machine": {
2438               "type": "string"
2439             },
2440             "model": {
2441               "type": "string"
2442             },
2443             "notes": {
2444               "type": "string"
2445             },
2446             "series": {
2447               "type": "string"
2448             },
2449             "size": {
2450               "type": "integer"
2451             },
2452             "started": {
2453               "type": "string",
2454               "format": "date-time"
2455             },
2456             "stored": {
2457               "type": "string",
2458               "format": "date-time"
2459             },
2460             "version": {
2461               "$ref": "#/definitions/Number"
2462             }
2463           },
2464           "additionalProperties": false,
2465           "required": [
2466             "id",
2467             "checksum",
2468             "checksum-format",
2469             "size",
2470             "stored",
2471             "started",
2472             "finished",
2473             "notes",
2474             "model",
2475             "machine",
2476             "hostname",
2477             "version",
2478             "series",
2479             "ca-cert",
2480             "ca-private-key"
2481           ]
2482         },
2483         "BackupsRemoveArgs": {
2484           "type": "object",
2485           "properties": {
2486             "id": {
2487               "type": "string"
2488             }
2489           },
2490           "additionalProperties": false,
2491           "required": [
2492             "id"
2493           ]
2494         },
2495         "Number": {
2496           "type": "object",
2497           "properties": {
2498             "Build": {
2499               "type": "integer"
2500             },
2501             "Major": {
2502               "type": "integer"
2503             },
2504             "Minor": {
2505               "type": "integer"
2506             },
2507             "Patch": {
2508               "type": "integer"
2509             },
2510             "Tag": {
2511               "type": "string"
2512             }
2513           },
2514           "additionalProperties": false,
2515           "required": [
2516             "Major",
2517             "Minor",
2518             "Tag",
2519             "Patch",
2520             "Build"
2521           ]
2522         },
2523         "RestoreArgs": {
2524           "type": "object",
2525           "properties": {
2526             "backup-id": {
2527               "type": "string"
2528             }
2529           },
2530           "additionalProperties": false,
2531           "required": [
2532             "backup-id"
2533           ]
2534         }
2535       }
2536     }
2537   },
2538   {
2539     "Name": "Block",
2540     "Version": 2,
2541     "Schema": {
2542       "type": "object",
2543       "properties": {
2544         "List": {
2545           "type": "object",
2546           "properties": {
2547             "Result": {
2548               "$ref": "#/definitions/BlockResults"
2549             }
2550           }
2551         },
2552         "SwitchBlockOff": {
2553           "type": "object",
2554           "properties": {
2555             "Params": {
2556               "$ref": "#/definitions/BlockSwitchParams"
2557             },
2558             "Result": {
2559               "$ref": "#/definitions/ErrorResult"
2560             }
2561           }
2562         },
2563         "SwitchBlockOn": {
2564           "type": "object",
2565           "properties": {
2566             "Params": {
2567               "$ref": "#/definitions/BlockSwitchParams"
2568             },
2569             "Result": {
2570               "$ref": "#/definitions/ErrorResult"
2571             }
2572           }
2573         }
2574       },
2575       "definitions": {
2576         "Block": {
2577           "type": "object",
2578           "properties": {
2579             "id": {
2580               "type": "string"
2581             },
2582             "message": {
2583               "type": "string"
2584             },
2585             "tag": {
2586               "type": "string"
2587             },
2588             "type": {
2589               "type": "string"
2590             }
2591           },
2592           "additionalProperties": false,
2593           "required": [
2594             "id",
2595             "tag",
2596             "type"
2597           ]
2598         },
2599         "BlockResult": {
2600           "type": "object",
2601           "properties": {
2602             "error": {
2603               "$ref": "#/definitions/Error"
2604             },
2605             "result": {
2606               "$ref": "#/definitions/Block"
2607             }
2608           },
2609           "additionalProperties": false,
2610           "required": [
2611             "result"
2612           ]
2613         },
2614         "BlockResults": {
2615           "type": "object",
2616           "properties": {
2617             "results": {
2618               "type": "array",
2619               "items": {
2620                 "$ref": "#/definitions/BlockResult"
2621               }
2622             }
2623           },
2624           "additionalProperties": false
2625         },
2626         "BlockSwitchParams": {
2627           "type": "object",
2628           "properties": {
2629             "message": {
2630               "type": "string"
2631             },
2632             "type": {
2633               "type": "string"
2634             }
2635           },
2636           "additionalProperties": false,
2637           "required": [
2638             "type"
2639           ]
2640         },
2641         "Error": {
2642           "type": "object",
2643           "properties": {
2644             "code": {
2645               "type": "string"
2646             },
2647             "info": {
2648               "$ref": "#/definitions/ErrorInfo"
2649             },
2650             "message": {
2651               "type": "string"
2652             }
2653           },
2654           "additionalProperties": false,
2655           "required": [
2656             "message",
2657             "code"
2658           ]
2659         },
2660         "ErrorInfo": {
2661           "type": "object",
2662           "properties": {
2663             "macaroon": {
2664               "$ref": "#/definitions/Macaroon"
2665             },
2666             "macaroon-path": {
2667               "type": "string"
2668             }
2669           },
2670           "additionalProperties": false
2671         },
2672         "ErrorResult": {
2673           "type": "object",
2674           "properties": {
2675             "error": {
2676               "$ref": "#/definitions/Error"
2677             }
2678           },
2679           "additionalProperties": false
2680         },
2681         "Macaroon": {
2682           "type": "object",
2683           "additionalProperties": false
2684         }
2685       }
2686     }
2687   },
2688   {
2689     "Name": "Bundle",
2690     "Version": 1,
2691     "Schema": {
2692       "type": "object",
2693       "properties": {
2694         "GetChanges": {
2695           "type": "object",
2696           "properties": {
2697             "Params": {
2698               "$ref": "#/definitions/BundleChangesParams"
2699             },
2700             "Result": {
2701               "$ref": "#/definitions/BundleChangesResults"
2702             }
2703           }
2704         }
2705       },
2706       "definitions": {
2707         "BundleChange": {
2708           "type": "object",
2709           "properties": {
2710             "args": {
2711               "type": "array",
2712               "items": {
2713                 "type": "object",
2714                 "additionalProperties": true
2715               }
2716             },
2717             "id": {
2718               "type": "string"
2719             },
2720             "method": {
2721               "type": "string"
2722             },
2723             "requires": {
2724               "type": "array",
2725               "items": {
2726                 "type": "string"
2727               }
2728             }
2729           },
2730           "additionalProperties": false,
2731           "required": [
2732             "id",
2733             "method",
2734             "args",
2735             "requires"
2736           ]
2737         },
2738         "BundleChangesParams": {
2739           "type": "object",
2740           "properties": {
2741             "yaml": {
2742               "type": "string"
2743             }
2744           },
2745           "additionalProperties": false,
2746           "required": [
2747             "yaml"
2748           ]
2749         },
2750         "BundleChangesResults": {
2751           "type": "object",
2752           "properties": {
2753             "changes": {
2754               "type": "array",
2755               "items": {
2756                 "$ref": "#/definitions/BundleChange"
2757               }
2758             },
2759             "errors": {
2760               "type": "array",
2761               "items": {
2762                 "type": "string"
2763               }
2764             }
2765           },
2766           "additionalProperties": false
2767         }
2768       }
2769     }
2770   },
2771   {
2772     "Name": "CharmRevisionUpdater",
2773     "Version": 2,
2774     "Schema": {
2775       "type": "object",
2776       "properties": {
2777         "UpdateLatestRevisions": {
2778           "type": "object",
2779           "properties": {
2780             "Result": {
2781               "$ref": "#/definitions/ErrorResult"
2782             }
2783           }
2784         }
2785       },
2786       "definitions": {
2787         "Error": {
2788           "type": "object",
2789           "properties": {
2790             "code": {
2791               "type": "string"
2792             },
2793             "info": {
2794               "$ref": "#/definitions/ErrorInfo"
2795             },
2796             "message": {
2797               "type": "string"
2798             }
2799           },
2800           "additionalProperties": false,
2801           "required": [
2802             "message",
2803             "code"
2804           ]
2805         },
2806         "ErrorInfo": {
2807           "type": "object",
2808           "properties": {
2809             "macaroon": {
2810               "$ref": "#/definitions/Macaroon"
2811             },
2812             "macaroon-path": {
2813               "type": "string"
2814             }
2815           },
2816           "additionalProperties": false
2817         },
2818         "ErrorResult": {
2819           "type": "object",
2820           "properties": {
2821             "error": {
2822               "$ref": "#/definitions/Error"
2823             }
2824           },
2825           "additionalProperties": false
2826         },
2827         "Macaroon": {
2828           "type": "object",
2829           "additionalProperties": false
2830         }
2831       }
2832     }
2833   },
2834   {
2835     "Name": "Charms",
2836     "Version": 2,
2837     "Schema": {
2838       "type": "object",
2839       "properties": {
2840         "CharmInfo": {
2841           "type": "object",
2842           "properties": {
2843             "Params": {
2844               "$ref": "#/definitions/CharmURL"
2845             },
2846             "Result": {
2847               "$ref": "#/definitions/CharmInfo"
2848             }
2849           }
2850         },
2851         "IsMetered": {
2852           "type": "object",
2853           "properties": {
2854             "Params": {
2855               "$ref": "#/definitions/CharmURL"
2856             },
2857             "Result": {
2858               "$ref": "#/definitions/IsMeteredResult"
2859             }
2860           }
2861         },
2862         "List": {
2863           "type": "object",
2864           "properties": {
2865             "Params": {
2866               "$ref": "#/definitions/CharmsList"
2867             },
2868             "Result": {
2869               "$ref": "#/definitions/CharmsListResult"
2870             }
2871           }
2872         }
2873       },
2874       "definitions": {
2875         "CharmActionSpec": {
2876           "type": "object",
2877           "properties": {
2878             "description": {
2879               "type": "string"
2880             },
2881             "params": {
2882               "type": "object",
2883               "patternProperties": {
2884                 ".*": {
2885                   "type": "object",
2886                   "additionalProperties": true
2887                 }
2888               }
2889             }
2890           },
2891           "additionalProperties": false,
2892           "required": [
2893             "description",
2894             "params"
2895           ]
2896         },
2897         "CharmActions": {
2898           "type": "object",
2899           "properties": {
2900             "specs": {
2901               "type": "object",
2902               "patternProperties": {
2903                 ".*": {
2904                   "$ref": "#/definitions/CharmActionSpec"
2905                 }
2906               }
2907             }
2908           },
2909           "additionalProperties": false
2910         },
2911         "CharmInfo": {
2912           "type": "object",
2913           "properties": {
2914             "actions": {
2915               "$ref": "#/definitions/CharmActions"
2916             },
2917             "config": {
2918               "type": "object",
2919               "patternProperties": {
2920                 ".*": {
2921                   "$ref": "#/definitions/CharmOption"
2922                 }
2923               }
2924             },
2925             "meta": {
2926               "$ref": "#/definitions/CharmMeta"
2927             },
2928             "metrics": {
2929               "$ref": "#/definitions/CharmMetrics"
2930             },
2931             "revision": {
2932               "type": "integer"
2933             },
2934             "url": {
2935               "type": "string"
2936             }
2937           },
2938           "additionalProperties": false,
2939           "required": [
2940             "revision",
2941             "url",
2942             "config"
2943           ]
2944         },
2945         "CharmMeta": {
2946           "type": "object",
2947           "properties": {
2948             "categories": {
2949               "type": "array",
2950               "items": {
2951                 "type": "string"
2952               }
2953             },
2954             "description": {
2955               "type": "string"
2956             },
2957             "extra-bindings": {
2958               "type": "object",
2959               "patternProperties": {
2960                 ".*": {
2961                   "type": "string"
2962                 }
2963               }
2964             },
2965             "min-juju-version": {
2966               "type": "string"
2967             },
2968             "name": {
2969               "type": "string"
2970             },
2971             "payload-classes": {
2972               "type": "object",
2973               "patternProperties": {
2974                 ".*": {
2975                   "$ref": "#/definitions/CharmPayloadClass"
2976                 }
2977               }
2978             },
2979             "peers": {
2980               "type": "object",
2981               "patternProperties": {
2982                 ".*": {
2983                   "$ref": "#/definitions/CharmRelation"
2984                 }
2985               }
2986             },
2987             "provides": {
2988               "type": "object",
2989               "patternProperties": {
2990                 ".*": {
2991                   "$ref": "#/definitions/CharmRelation"
2992                 }
2993               }
2994             },
2995             "requires": {
2996               "type": "object",
2997               "patternProperties": {
2998                 ".*": {
2999                   "$ref": "#/definitions/CharmRelation"
3000                 }
3001               }
3002             },
3003             "resources": {
3004               "type": "object",
3005               "patternProperties": {
3006                 ".*": {
3007                   "$ref": "#/definitions/CharmResourceMeta"
3008                 }
3009               }
3010             },
3011             "series": {
3012               "type": "array",
3013               "items": {
3014                 "type": "string"
3015               }
3016             },
3017             "storage": {
3018               "type": "object",
3019               "patternProperties": {
3020                 ".*": {
3021                   "$ref": "#/definitions/CharmStorage"
3022                 }
3023               }
3024             },
3025             "subordinate": {
3026               "type": "boolean"
3027             },
3028             "summary": {
3029               "type": "string"
3030             },
3031             "tags": {
3032               "type": "array",
3033               "items": {
3034                 "type": "string"
3035               }
3036             },
3037             "terms": {
3038               "type": "array",
3039               "items": {
3040                 "type": "string"
3041               }
3042             }
3043           },
3044           "additionalProperties": false,
3045           "required": [
3046             "name",
3047             "summary",
3048             "description",
3049             "subordinate"
3050           ]
3051         },
3052         "CharmMetric": {
3053           "type": "object",
3054           "properties": {
3055             "description": {
3056               "type": "string"
3057             },
3058             "type": {
3059               "type": "string"
3060             }
3061           },
3062           "additionalProperties": false,
3063           "required": [
3064             "type",
3065             "description"
3066           ]
3067         },
3068         "CharmMetrics": {
3069           "type": "object",
3070           "properties": {
3071             "metrics": {
3072               "type": "object",
3073               "patternProperties": {
3074                 ".*": {
3075                   "$ref": "#/definitions/CharmMetric"
3076                 }
3077               }
3078             },
3079             "plan": {
3080               "$ref": "#/definitions/CharmPlan"
3081             }
3082           },
3083           "additionalProperties": false,
3084           "required": [
3085             "metrics",
3086             "plan"
3087           ]
3088         },
3089         "CharmOption": {
3090           "type": "object",
3091           "properties": {
3092             "default": {
3093               "type": "object",
3094               "additionalProperties": true
3095             },
3096             "description": {
3097               "type": "string"
3098             },
3099             "type": {
3100               "type": "string"
3101             }
3102           },
3103           "additionalProperties": false,
3104           "required": [
3105             "type"
3106           ]
3107         },
3108         "CharmPayloadClass": {
3109           "type": "object",
3110           "properties": {
3111             "name": {
3112               "type": "string"
3113             },
3114             "type": {
3115               "type": "string"
3116             }
3117           },
3118           "additionalProperties": false,
3119           "required": [
3120             "name",
3121             "type"
3122           ]
3123         },
3124         "CharmPlan": {
3125           "type": "object",
3126           "properties": {
3127             "required": {
3128               "type": "boolean"
3129             }
3130           },
3131           "additionalProperties": false,
3132           "required": [
3133             "required"
3134           ]
3135         },
3136         "CharmRelation": {
3137           "type": "object",
3138           "properties": {
3139             "interface": {
3140               "type": "string"
3141             },
3142             "limit": {
3143               "type": "integer"
3144             },
3145             "name": {
3146               "type": "string"
3147             },
3148             "optional": {
3149               "type": "boolean"
3150             },
3151             "role": {
3152               "type": "string"
3153             },
3154             "scope": {
3155               "type": "string"
3156             }
3157           },
3158           "additionalProperties": false,
3159           "required": [
3160             "name",
3161             "role",
3162             "interface",
3163             "optional",
3164             "limit",
3165             "scope"
3166           ]
3167         },
3168         "CharmResourceMeta": {
3169           "type": "object",
3170           "properties": {
3171             "description": {
3172               "type": "string"
3173             },
3174             "name": {
3175               "type": "string"
3176             },
3177             "path": {
3178               "type": "string"
3179             },
3180             "type": {
3181               "type": "string"
3182             }
3183           },
3184           "additionalProperties": false,
3185           "required": [
3186             "name",
3187             "type",
3188             "path",
3189             "description"
3190           ]
3191         },
3192         "CharmStorage": {
3193           "type": "object",
3194           "properties": {
3195             "count-max": {
3196               "type": "integer"
3197             },
3198             "count-min": {
3199               "type": "integer"
3200             },
3201             "description": {
3202               "type": "string"
3203             },
3204             "location": {
3205               "type": "string"
3206             },
3207             "minimum-size": {
3208               "type": "integer"
3209             },
3210             "name": {
3211               "type": "string"
3212             },
3213             "properties": {
3214               "type": "array",
3215               "items": {
3216                 "type": "string"
3217               }
3218             },
3219             "read-only": {
3220               "type": "boolean"
3221             },
3222             "shared": {
3223               "type": "boolean"
3224             },
3225             "type": {
3226               "type": "string"
3227             }
3228           },
3229           "additionalProperties": false,
3230           "required": [
3231             "name",
3232             "description",
3233             "type",
3234             "shared",
3235             "read-only",
3236             "count-min",
3237             "count-max",
3238             "minimum-size"
3239           ]
3240         },
3241         "CharmURL": {
3242           "type": "object",
3243           "properties": {
3244             "url": {
3245               "type": "string"
3246             }
3247           },
3248           "additionalProperties": false,
3249           "required": [
3250             "url"
3251           ]
3252         },
3253         "CharmsList": {
3254           "type": "object",
3255           "properties": {
3256             "names": {
3257               "type": "array",
3258               "items": {
3259                 "type": "string"
3260               }
3261             }
3262           },
3263           "additionalProperties": false,
3264           "required": [
3265             "names"
3266           ]
3267         },
3268         "CharmsListResult": {
3269           "type": "object",
3270           "properties": {
3271             "charm-urls": {
3272               "type": "array",
3273               "items": {
3274                 "type": "string"
3275               }
3276             }
3277           },
3278           "additionalProperties": false,
3279           "required": [
3280             "charm-urls"
3281           ]
3282         },
3283         "IsMeteredResult": {
3284           "type": "object",
3285           "properties": {
3286             "metered": {
3287               "type": "boolean"
3288             }
3289           },
3290           "additionalProperties": false,
3291           "required": [
3292             "metered"
3293           ]
3294         }
3295       }
3296     }
3297   },
3298   {
3299     "Name": "Cleaner",
3300     "Version": 2,
3301     "Schema": {
3302       "type": "object",
3303       "properties": {
3304         "Cleanup": {
3305           "type": "object"
3306         },
3307         "WatchCleanups": {
3308           "type": "object",
3309           "properties": {
3310             "Result": {
3311               "$ref": "#/definitions/NotifyWatchResult"
3312             }
3313           }
3314         }
3315       },
3316       "definitions": {
3317         "Error": {
3318           "type": "object",
3319           "properties": {
3320             "code": {
3321               "type": "string"
3322             },
3323             "info": {
3324               "$ref": "#/definitions/ErrorInfo"
3325             },
3326             "message": {
3327               "type": "string"
3328             }
3329           },
3330           "additionalProperties": false,
3331           "required": [
3332             "message",
3333             "code"
3334           ]
3335         },
3336         "ErrorInfo": {
3337           "type": "object",
3338           "properties": {
3339             "macaroon": {
3340               "$ref": "#/definitions/Macaroon"
3341             },
3342             "macaroon-path": {
3343               "type": "string"
3344             }
3345           },
3346           "additionalProperties": false
3347         },
3348         "Macaroon": {
3349           "type": "object",
3350           "additionalProperties": false
3351         },
3352         "NotifyWatchResult": {
3353           "type": "object",
3354           "properties": {
3355             "NotifyWatcherId": {
3356               "type": "string"
3357             },
3358             "error": {
3359               "$ref": "#/definitions/Error"
3360             }
3361           },
3362           "additionalProperties": false,
3363           "required": [
3364             "NotifyWatcherId"
3365           ]
3366         }
3367       }
3368     }
3369   },
3370   {
3371     "Name": "Client",
3372     "Version": 1,
3373     "Schema": {
3374       "type": "object",
3375       "properties": {
3376         "APIHostPorts": {
3377           "type": "object",
3378           "properties": {
3379             "Result": {
3380               "$ref": "#/definitions/APIHostPortsResult"
3381             }
3382           }
3383         },
3384         "AbortCurrentUpgrade": {
3385           "type": "object"
3386         },
3387         "AddCharm": {
3388           "type": "object",
3389           "properties": {
3390             "Params": {
3391               "$ref": "#/definitions/AddCharm"
3392             }
3393           }
3394         },
3395         "AddCharmWithAuthorization": {
3396           "type": "object",
3397           "properties": {
3398             "Params": {
3399               "$ref": "#/definitions/AddCharmWithAuthorization"
3400             }
3401           }
3402         },
3403         "AddMachines": {
3404           "type": "object",
3405           "properties": {
3406             "Params": {
3407               "$ref": "#/definitions/AddMachines"
3408             },
3409             "Result": {
3410               "$ref": "#/definitions/AddMachinesResults"
3411             }
3412           }
3413         },
3414         "AddMachinesV2": {
3415           "type": "object",
3416           "properties": {
3417             "Params": {
3418               "$ref": "#/definitions/AddMachines"
3419             },
3420             "Result": {
3421               "$ref": "#/definitions/AddMachinesResults"
3422             }
3423           }
3424         },
3425         "AgentVersion": {
3426           "type": "object",
3427           "properties": {
3428             "Result": {
3429               "$ref": "#/definitions/AgentVersionResult"
3430             }
3431           }
3432         },
3433         "DestroyMachines": {
3434           "type": "object",
3435           "properties": {
3436             "Params": {
3437               "$ref": "#/definitions/DestroyMachines"
3438             }
3439           }
3440         },
3441         "FindTools": {
3442           "type": "object",
3443           "properties": {
3444             "Params": {
3445               "$ref": "#/definitions/FindToolsParams"
3446             },
3447             "Result": {
3448               "$ref": "#/definitions/FindToolsResult"
3449             }
3450           }
3451         },
3452         "FullStatus": {
3453           "type": "object",
3454           "properties": {
3455             "Params": {
3456               "$ref": "#/definitions/StatusParams"
3457             },
3458             "Result": {
3459               "$ref": "#/definitions/FullStatus"
3460             }
3461           }
3462         },
3463         "GetBundleChanges": {
3464           "type": "object",
3465           "properties": {
3466             "Params": {
3467               "$ref": "#/definitions/BundleChangesParams"
3468             },
3469             "Result": {
3470               "$ref": "#/definitions/BundleChangesResults"
3471             }
3472           }
3473         },
3474         "GetModelConstraints": {
3475           "type": "object",
3476           "properties": {
3477             "Result": {
3478               "$ref": "#/definitions/GetConstraintsResults"
3479             }
3480           }
3481         },
3482         "InjectMachines": {
3483           "type": "object",
3484           "properties": {
3485             "Params": {
3486               "$ref": "#/definitions/AddMachines"
3487             },
3488             "Result": {
3489               "$ref": "#/definitions/AddMachinesResults"
3490             }
3491           }
3492         },
3493         "ModelGet": {
3494           "type": "object",
3495           "properties": {
3496             "Result": {
3497               "$ref": "#/definitions/ModelConfigResults"
3498             }
3499           }
3500         },
3501         "ModelInfo": {
3502           "type": "object",
3503           "properties": {
3504             "Result": {
3505               "$ref": "#/definitions/ModelInfo"
3506             }
3507           }
3508         },
3509         "ModelSet": {
3510           "type": "object",
3511           "properties": {
3512             "Params": {
3513               "$ref": "#/definitions/ModelSet"
3514             }
3515           }
3516         },
3517         "ModelUnset": {
3518           "type": "object",
3519           "properties": {
3520             "Params": {
3521               "$ref": "#/definitions/ModelUnset"
3522             }
3523           }
3524         },
3525         "ModelUserInfo": {
3526           "type": "object",
3527           "properties": {
3528             "Result": {
3529               "$ref": "#/definitions/ModelUserInfoResults"
3530             }
3531           }
3532         },
3533         "PrivateAddress": {
3534           "type": "object",
3535           "properties": {
3536             "Params": {
3537               "$ref": "#/definitions/PrivateAddress"
3538             },
3539             "Result": {
3540               "$ref": "#/definitions/PrivateAddressResults"
3541             }
3542           }
3543         },
3544         "ProvisioningScript": {
3545           "type": "object",
3546           "properties": {
3547             "Params": {
3548               "$ref": "#/definitions/ProvisioningScriptParams"
3549             },
3550             "Result": {
3551               "$ref": "#/definitions/ProvisioningScriptResult"
3552             }
3553           }
3554         },
3555         "PublicAddress": {
3556           "type": "object",
3557           "properties": {
3558             "Params": {
3559               "$ref": "#/definitions/PublicAddress"
3560             },
3561             "Result": {
3562               "$ref": "#/definitions/PublicAddressResults"
3563             }
3564           }
3565         },
3566         "ResolveCharms": {
3567           "type": "object",
3568           "properties": {
3569             "Params": {
3570               "$ref": "#/definitions/ResolveCharms"
3571             },
3572             "Result": {
3573               "$ref": "#/definitions/ResolveCharmResults"
3574             }
3575           }
3576         },
3577         "Resolved": {
3578           "type": "object",
3579           "properties": {
3580             "Params": {
3581               "$ref": "#/definitions/Resolved"
3582             }
3583           }
3584         },
3585         "RetryProvisioning": {
3586           "type": "object",
3587           "properties": {
3588             "Params": {
3589               "$ref": "#/definitions/Entities"
3590             },
3591             "Result": {
3592               "$ref": "#/definitions/ErrorResults"
3593             }
3594           }
3595         },
3596         "SetModelAgentVersion": {
3597           "type": "object",
3598           "properties": {
3599             "Params": {
3600               "$ref": "#/definitions/SetModelAgentVersion"
3601             }
3602           }
3603         },
3604         "SetModelConstraints": {
3605           "type": "object",
3606           "properties": {
3607             "Params": {
3608               "$ref": "#/definitions/SetConstraints"
3609             }
3610           }
3611         },
3612         "StatusHistory": {
3613           "type": "object",
3614           "properties": {
3615             "Params": {
3616               "$ref": "#/definitions/StatusHistoryRequests"
3617             },
3618             "Result": {
3619               "$ref": "#/definitions/StatusHistoryResults"
3620             }
3621           }
3622         },
3623         "WatchAll": {
3624           "type": "object",
3625           "properties": {
3626             "Result": {
3627               "$ref": "#/definitions/AllWatcherId"
3628             }
3629           }
3630         }
3631       },
3632       "definitions": {
3633         "APIHostPortsResult": {
3634           "type": "object",
3635           "properties": {
3636             "servers": {
3637               "type": "array",
3638               "items": {
3639                 "type": "array",
3640                 "items": {
3641                   "$ref": "#/definitions/HostPort"
3642                 }
3643               }
3644             }
3645           },
3646           "additionalProperties": false,
3647           "required": [
3648             "servers"
3649           ]
3650         },
3651         "AddCharm": {
3652           "type": "object",
3653           "properties": {
3654             "channel": {
3655               "type": "string"
3656             },
3657             "url": {
3658               "type": "string"
3659             }
3660           },
3661           "additionalProperties": false,
3662           "required": [
3663             "url",
3664             "channel"
3665           ]
3666         },
3667         "AddCharmWithAuthorization": {
3668           "type": "object",
3669           "properties": {
3670             "channel": {
3671               "type": "string"
3672             },
3673             "macaroon": {
3674               "$ref": "#/definitions/Macaroon"
3675             },
3676             "url": {
3677               "type": "string"
3678             }
3679           },
3680           "additionalProperties": false,
3681           "required": [
3682             "url",
3683             "channel",
3684             "macaroon"
3685           ]
3686         },
3687         "AddMachineParams": {
3688           "type": "object",
3689           "properties": {
3690             "addresses": {
3691               "type": "array",
3692               "items": {
3693                 "$ref": "#/definitions/Address"
3694               }
3695             },
3696             "constraints": {
3697               "$ref": "#/definitions/Value"
3698             },
3699             "container-type": {
3700               "type": "string"
3701             },
3702             "disks": {
3703               "type": "array",
3704               "items": {
3705                 "$ref": "#/definitions/Constraints"
3706               }
3707             },
3708             "hardware-characteristics": {
3709               "$ref": "#/definitions/HardwareCharacteristics"
3710             },
3711             "instance-id": {
3712               "type": "string"
3713             },
3714             "jobs": {
3715               "type": "array",
3716               "items": {
3717                 "type": "string"
3718               }
3719             },
3720             "nonce": {
3721               "type": "string"
3722             },
3723             "parent-id": {
3724               "type": "string"
3725             },
3726             "placement": {
3727               "$ref": "#/definitions/Placement"
3728             },
3729             "series": {
3730               "type": "string"
3731             }
3732           },
3733           "additionalProperties": false,
3734           "required": [
3735             "series",
3736             "constraints",
3737             "jobs",
3738             "parent-id",
3739             "container-type",
3740             "instance-id",
3741             "nonce",
3742             "hardware-characteristics",
3743             "addresses"
3744           ]
3745         },
3746         "AddMachines": {
3747           "type": "object",
3748           "properties": {
3749             "params": {
3750               "type": "array",
3751               "items": {
3752                 "$ref": "#/definitions/AddMachineParams"
3753               }
3754             }
3755           },
3756           "additionalProperties": false,
3757           "required": [
3758             "params"
3759           ]
3760         },
3761         "AddMachinesResult": {
3762           "type": "object",
3763           "properties": {
3764             "error": {
3765               "$ref": "#/definitions/Error"
3766             },
3767             "machine": {
3768               "type": "string"
3769             }
3770           },
3771           "additionalProperties": false,
3772           "required": [
3773             "machine"
3774           ]
3775         },
3776         "AddMachinesResults": {
3777           "type": "object",
3778           "properties": {
3779             "machines": {
3780               "type": "array",
3781               "items": {
3782                 "$ref": "#/definitions/AddMachinesResult"
3783               }
3784             }
3785           },
3786           "additionalProperties": false,
3787           "required": [
3788             "machines"
3789           ]
3790         },
3791         "Address": {
3792           "type": "object",
3793           "properties": {
3794             "scope": {
3795               "type": "string"
3796             },
3797             "space-name": {
3798               "type": "string"
3799             },
3800             "type": {
3801               "type": "string"
3802             },
3803             "value": {
3804               "type": "string"
3805             }
3806           },
3807           "additionalProperties": false,
3808           "required": [
3809             "value",
3810             "type",
3811             "scope"
3812           ]
3813         },
3814         "AgentVersionResult": {
3815           "type": "object",
3816           "properties": {
3817             "version": {
3818               "$ref": "#/definitions/Number"
3819             }
3820           },
3821           "additionalProperties": false,
3822           "required": [
3823             "version"
3824           ]
3825         },
3826         "AllWatcherId": {
3827           "type": "object",
3828           "properties": {
3829             "watcher-id": {
3830               "type": "string"
3831             }
3832           },
3833           "additionalProperties": false,
3834           "required": [
3835             "watcher-id"
3836           ]
3837         },
3838         "ApplicationStatus": {
3839           "type": "object",
3840           "properties": {
3841             "can-upgrade-to": {
3842               "type": "string"
3843             },
3844             "charm": {
3845               "type": "string"
3846             },
3847             "err": {
3848               "type": "object",
3849               "additionalProperties": true
3850             },
3851             "exposed": {
3852               "type": "boolean"
3853             },
3854             "life": {
3855               "type": "string"
3856             },
3857             "meter-statuses": {
3858               "type": "object",
3859               "patternProperties": {
3860                 ".*": {
3861                   "$ref": "#/definitions/MeterStatus"
3862                 }
3863               }
3864             },
3865             "relations": {
3866               "type": "object",
3867               "patternProperties": {
3868                 ".*": {
3869                   "type": "array",
3870                   "items": {
3871                     "type": "string"
3872                   }
3873                 }
3874               }
3875             },
3876             "series": {
3877               "type": "string"
3878             },
3879             "status": {
3880               "$ref": "#/definitions/DetailedStatus"
3881             },
3882             "subordinate-to": {
3883               "type": "array",
3884               "items": {
3885                 "type": "string"
3886               }
3887             },
3888             "units": {
3889               "type": "object",
3890               "patternProperties": {
3891                 ".*": {
3892                   "$ref": "#/definitions/UnitStatus"
3893                 }
3894               }
3895             },
3896             "workload-version": {
3897               "type": "string"
3898             }
3899           },
3900           "additionalProperties": false,
3901           "required": [
3902             "charm",
3903             "series",
3904             "exposed",
3905             "life",
3906             "relations",
3907             "can-upgrade-to",
3908             "subordinate-to",
3909             "units",
3910             "meter-statuses",
3911             "status",
3912             "workload-version"
3913           ]
3914         },
3915         "Binary": {
3916           "type": "object",
3917           "properties": {
3918             "Arch": {
3919               "type": "string"
3920             },
3921             "Number": {
3922               "$ref": "#/definitions/Number"
3923             },
3924             "Series": {
3925               "type": "string"
3926             }
3927           },
3928           "additionalProperties": false,
3929           "required": [
3930             "Number",
3931             "Series",
3932             "Arch"
3933           ]
3934         },
3935         "BundleChange": {
3936           "type": "object",
3937           "properties": {
3938             "args": {
3939               "type": "array",
3940               "items": {
3941                 "type": "object",
3942                 "additionalProperties": true
3943               }
3944             },
3945             "id": {
3946               "type": "string"
3947             },
3948             "method": {
3949               "type": "string"
3950             },
3951             "requires": {
3952               "type": "array",
3953               "items": {
3954                 "type": "string"
3955               }
3956             }
3957           },
3958           "additionalProperties": false,
3959           "required": [
3960             "id",
3961             "method",
3962             "args",
3963             "requires"
3964           ]
3965         },
3966         "BundleChangesParams": {
3967           "type": "object",
3968           "properties": {
3969             "yaml": {
3970               "type": "string"
3971             }
3972           },
3973           "additionalProperties": false,
3974           "required": [
3975             "yaml"
3976           ]
3977         },
3978         "BundleChangesResults": {
3979           "type": "object",
3980           "properties": {
3981             "changes": {
3982               "type": "array",
3983               "items": {
3984                 "$ref": "#/definitions/BundleChange"
3985               }
3986             },
3987             "errors": {
3988               "type": "array",
3989               "items": {
3990                 "type": "string"
3991               }
3992             }
3993           },
3994           "additionalProperties": false
3995         },
3996         "ConfigValue": {
3997           "type": "object",
3998           "properties": {
3999             "source": {
4000               "type": "string"
4001             },
4002             "value": {
4003               "type": "object",
4004               "additionalProperties": true
4005             }
4006           },
4007           "additionalProperties": false,
4008           "required": [
4009             "value",
4010             "source"
4011           ]
4012         },
4013         "Constraints": {
4014           "type": "object",
4015           "properties": {
4016             "Count": {
4017               "type": "integer"
4018             },
4019             "Pool": {
4020               "type": "string"
4021             },
4022             "Size": {
4023               "type": "integer"
4024             }
4025           },
4026           "additionalProperties": false,
4027           "required": [
4028             "Pool",
4029             "Size",
4030             "Count"
4031           ]
4032         },
4033         "DestroyMachines": {
4034           "type": "object",
4035           "properties": {
4036             "force": {
4037               "type": "boolean"
4038             },
4039             "machine-names": {
4040               "type": "array",
4041               "items": {
4042                 "type": "string"
4043               }
4044             }
4045           },
4046           "additionalProperties": false,
4047           "required": [
4048             "machine-names",
4049             "force"
4050           ]
4051         },
4052         "DetailedStatus": {
4053           "type": "object",
4054           "properties": {
4055             "data": {
4056               "type": "object",
4057               "patternProperties": {
4058                 ".*": {
4059                   "type": "object",
4060                   "additionalProperties": true
4061                 }
4062               }
4063             },
4064             "err": {
4065               "type": "object",
4066               "additionalProperties": true
4067             },
4068             "info": {
4069               "type": "string"
4070             },
4071             "kind": {
4072               "type": "string"
4073             },
4074             "life": {
4075               "type": "string"
4076             },
4077             "since": {
4078               "type": "string",
4079               "format": "date-time"
4080             },
4081             "status": {
4082               "type": "string"
4083             },
4084             "version": {
4085               "type": "string"
4086             }
4087           },
4088           "additionalProperties": false,
4089           "required": [
4090             "status",
4091             "info",
4092             "data",
4093             "since",
4094             "kind",
4095             "version",
4096             "life"
4097           ]
4098         },
4099         "EndpointStatus": {
4100           "type": "object",
4101           "properties": {
4102             "application": {
4103               "type": "string"
4104             },
4105             "name": {
4106               "type": "string"
4107             },
4108             "role": {
4109               "type": "string"
4110             },
4111             "subordinate": {
4112               "type": "boolean"
4113             }
4114           },
4115           "additionalProperties": false,
4116           "required": [
4117             "application",
4118             "name",
4119             "role",
4120             "subordinate"
4121           ]
4122         },
4123         "Entities": {
4124           "type": "object",
4125           "properties": {
4126             "entities": {
4127               "type": "array",
4128               "items": {
4129                 "$ref": "#/definitions/Entity"
4130               }
4131             }
4132           },
4133           "additionalProperties": false,
4134           "required": [
4135             "entities"
4136           ]
4137         },
4138         "Entity": {
4139           "type": "object",
4140           "properties": {
4141             "tag": {
4142               "type": "string"
4143             }
4144           },
4145           "additionalProperties": false,
4146           "required": [
4147             "tag"
4148           ]
4149         },
4150         "EntityStatus": {
4151           "type": "object",
4152           "properties": {
4153             "data": {
4154               "type": "object",
4155               "patternProperties": {
4156                 ".*": {
4157                   "type": "object",
4158                   "additionalProperties": true
4159                 }
4160               }
4161             },
4162             "info": {
4163               "type": "string"
4164             },
4165             "since": {
4166               "type": "string",
4167               "format": "date-time"
4168             },
4169             "status": {
4170               "type": "string"
4171             }
4172           },
4173           "additionalProperties": false,
4174           "required": [
4175             "status",
4176             "info",
4177             "since"
4178           ]
4179         },
4180         "Error": {
4181           "type": "object",
4182           "properties": {
4183             "code": {
4184               "type": "string"
4185             },
4186             "info": {
4187               "$ref": "#/definitions/ErrorInfo"
4188             },
4189             "message": {
4190               "type": "string"
4191             }
4192           },
4193           "additionalProperties": false,
4194           "required": [
4195             "message",
4196             "code"
4197           ]
4198         },
4199         "ErrorInfo": {
4200           "type": "object",
4201           "properties": {
4202             "macaroon": {
4203               "$ref": "#/definitions/Macaroon"
4204             },
4205             "macaroon-path": {
4206               "type": "string"
4207             }
4208           },
4209           "additionalProperties": false
4210         },
4211         "ErrorResult": {
4212           "type": "object",
4213           "properties": {
4214             "error": {
4215               "$ref": "#/definitions/Error"
4216             }
4217           },
4218           "additionalProperties": false
4219         },
4220         "ErrorResults": {
4221           "type": "object",
4222           "properties": {
4223             "results": {
4224               "type": "array",
4225               "items": {
4226                 "$ref": "#/definitions/ErrorResult"
4227               }
4228             }
4229           },
4230           "additionalProperties": false,
4231           "required": [
4232             "results"
4233           ]
4234         },
4235         "FindToolsParams": {
4236           "type": "object",
4237           "properties": {
4238             "arch": {
4239               "type": "string"
4240             },
4241             "major": {
4242               "type": "integer"
4243             },
4244             "minor": {
4245               "type": "integer"
4246             },
4247             "number": {
4248               "$ref": "#/definitions/Number"
4249             },
4250             "series": {
4251               "type": "string"
4252             }
4253           },
4254           "additionalProperties": false,
4255           "required": [
4256             "number",
4257             "major",
4258             "minor",
4259             "arch",
4260             "series"
4261           ]
4262         },
4263         "FindToolsResult": {
4264           "type": "object",
4265           "properties": {
4266             "error": {
4267               "$ref": "#/definitions/Error"
4268             },
4269             "list": {
4270               "type": "array",
4271               "items": {
4272                 "$ref": "#/definitions/Tools"
4273               }
4274             }
4275           },
4276           "additionalProperties": false,
4277           "required": [
4278             "list"
4279           ]
4280         },
4281         "FullStatus": {
4282           "type": "object",
4283           "properties": {
4284             "applications": {
4285               "type": "object",
4286               "patternProperties": {
4287                 ".*": {
4288                   "$ref": "#/definitions/ApplicationStatus"
4289                 }
4290               }
4291             },
4292             "machines": {
4293               "type": "object",
4294               "patternProperties": {
4295                 ".*": {
4296                   "$ref": "#/definitions/MachineStatus"
4297                 }
4298               }
4299             },
4300             "model": {
4301               "$ref": "#/definitions/ModelStatusInfo"
4302             },
4303             "relations": {
4304               "type": "array",
4305               "items": {
4306                 "$ref": "#/definitions/RelationStatus"
4307               }
4308             },
4309             "remote-applications": {
4310               "type": "object",
4311               "patternProperties": {
4312                 ".*": {
4313                   "$ref": "#/definitions/RemoteApplicationStatus"
4314                 }
4315               }
4316             }
4317           },
4318           "additionalProperties": false,
4319           "required": [
4320             "model",
4321             "machines",
4322             "applications",
4323             "remote-applications",
4324             "relations"
4325           ]
4326         },
4327         "GetConstraintsResults": {
4328           "type": "object",
4329           "properties": {
4330             "constraints": {
4331               "$ref": "#/definitions/Value"
4332             }
4333           },
4334           "additionalProperties": false,
4335           "required": [
4336             "constraints"
4337           ]
4338         },
4339         "HardwareCharacteristics": {
4340           "type": "object",
4341           "properties": {
4342             "arch": {
4343               "type": "string"
4344             },
4345             "availability-zone": {
4346               "type": "string"
4347             },
4348             "cpu-cores": {
4349               "type": "integer"
4350             },
4351             "cpu-power": {
4352               "type": "integer"
4353             },
4354             "mem": {
4355               "type": "integer"
4356             },
4357             "root-disk": {
4358               "type": "integer"
4359             },
4360             "tags": {
4361               "type": "array",
4362               "items": {
4363                 "type": "string"
4364               }
4365             }
4366           },
4367           "additionalProperties": false
4368         },
4369         "History": {
4370           "type": "object",
4371           "properties": {
4372             "error": {
4373               "$ref": "#/definitions/Error"
4374             },
4375             "statuses": {
4376               "type": "array",
4377               "items": {
4378                 "$ref": "#/definitions/DetailedStatus"
4379               }
4380             }
4381           },
4382           "additionalProperties": false,
4383           "required": [
4384             "statuses"
4385           ]
4386         },
4387         "HostPort": {
4388           "type": "object",
4389           "properties": {
4390             "Address": {
4391               "$ref": "#/definitions/Address"
4392             },
4393             "port": {
4394               "type": "integer"
4395             }
4396           },
4397           "additionalProperties": false,
4398           "required": [
4399             "Address",
4400             "port"
4401           ]
4402         },
4403         "Macaroon": {
4404           "type": "object",
4405           "additionalProperties": false
4406         },
4407         "MachineHardware": {
4408           "type": "object",
4409           "properties": {
4410             "arch": {
4411               "type": "string"
4412             },
4413             "availability-zone": {
4414               "type": "string"
4415             },
4416             "cores": {
4417               "type": "integer"
4418             },
4419             "cpu-power": {
4420               "type": "integer"
4421             },
4422             "mem": {
4423               "type": "integer"
4424             },
4425             "root-disk": {
4426               "type": "integer"
4427             },
4428             "tags": {
4429               "type": "array",
4430               "items": {
4431                 "type": "string"
4432               }
4433             }
4434           },
4435           "additionalProperties": false
4436         },
4437         "MachineStatus": {
4438           "type": "object",
4439           "properties": {
4440             "agent-status": {
4441               "$ref": "#/definitions/DetailedStatus"
4442             },
4443             "constraints": {
4444               "type": "string"
4445             },
4446             "containers": {
4447               "type": "object",
4448               "patternProperties": {
4449                 ".*": {
4450                   "$ref": "#/definitions/MachineStatus"
4451                 }
4452               }
4453             },
4454             "dns-name": {
4455               "type": "string"
4456             },
4457             "hardware": {
4458               "type": "string"
4459             },
4460             "has-vote": {
4461               "type": "boolean"
4462             },
4463             "id": {
4464               "type": "string"
4465             },
4466             "instance-id": {
4467               "type": "string"
4468             },
4469             "instance-status": {
4470               "$ref": "#/definitions/DetailedStatus"
4471             },
4472             "ip-addresses": {
4473               "type": "array",
4474               "items": {
4475                 "type": "string"
4476               }
4477             },
4478             "jobs": {
4479               "type": "array",
4480               "items": {
4481                 "type": "string"
4482               }
4483             },
4484             "series": {
4485               "type": "string"
4486             },
4487             "wants-vote": {
4488               "type": "boolean"
4489             }
4490           },
4491           "additionalProperties": false,
4492           "required": [
4493             "agent-status",
4494             "instance-status",
4495             "dns-name",
4496             "ip-addresses",
4497             "instance-id",
4498             "series",
4499             "id",
4500             "containers",
4501             "constraints",
4502             "hardware",
4503             "jobs",
4504             "has-vote",
4505             "wants-vote"
4506           ]
4507         },
4508         "MeterStatus": {
4509           "type": "object",
4510           "properties": {
4511             "color": {
4512               "type": "string"
4513             },
4514             "message": {
4515               "type": "string"
4516             }
4517           },
4518           "additionalProperties": false,
4519           "required": [
4520             "color",
4521             "message"
4522           ]
4523         },
4524         "ModelConfigResults": {
4525           "type": "object",
4526           "properties": {
4527             "config": {
4528               "type": "object",
4529               "patternProperties": {
4530                 ".*": {
4531                   "$ref": "#/definitions/ConfigValue"
4532                 }
4533               }
4534             }
4535           },
4536           "additionalProperties": false,
4537           "required": [
4538             "config"
4539           ]
4540         },
4541         "ModelInfo": {
4542           "type": "object",
4543           "properties": {
4544             "cloud-credential-tag": {
4545               "type": "string"
4546             },
4547             "cloud-region": {
4548               "type": "string"
4549             },
4550             "cloud-tag": {
4551               "type": "string"
4552             },
4553             "controller-uuid": {
4554               "type": "string"
4555             },
4556             "default-series": {
4557               "type": "string"
4558             },
4559             "life": {
4560               "type": "string"
4561             },
4562             "machines": {
4563               "type": "array",
4564               "items": {
4565                 "$ref": "#/definitions/ModelMachineInfo"
4566               }
4567             },
4568             "migration": {
4569               "$ref": "#/definitions/ModelMigrationStatus"
4570             },
4571             "name": {
4572               "type": "string"
4573             },
4574             "owner-tag": {
4575               "type": "string"
4576             },
4577             "provider-type": {
4578               "type": "string"
4579             },
4580             "status": {
4581               "$ref": "#/definitions/EntityStatus"
4582             },
4583             "users": {
4584               "type": "array",
4585               "items": {
4586                 "$ref": "#/definitions/ModelUserInfo"
4587               }
4588             },
4589             "uuid": {
4590               "type": "string"
4591             }
4592           },
4593           "additionalProperties": false,
4594           "required": [
4595             "name",
4596             "uuid",
4597             "controller-uuid",
4598             "provider-type",
4599             "default-series",
4600             "cloud-tag",
4601             "owner-tag",
4602             "life",
4603             "status",
4604             "users",
4605             "machines"
4606           ]
4607         },
4608         "ModelMachineInfo": {
4609           "type": "object",
4610           "properties": {
4611             "hardware": {
4612               "$ref": "#/definitions/MachineHardware"
4613             },
4614             "has-vote": {
4615               "type": "boolean"
4616             },
4617             "id": {
4618               "type": "string"
4619             },
4620             "instance-id": {
4621               "type": "string"
4622             },
4623             "status": {
4624               "type": "string"
4625             },
4626             "wants-vote": {
4627               "type": "boolean"
4628             }
4629           },
4630           "additionalProperties": false,
4631           "required": [
4632             "id"
4633           ]
4634         },
4635         "ModelMigrationStatus": {
4636           "type": "object",
4637           "properties": {
4638             "end": {
4639               "type": "string",
4640               "format": "date-time"
4641             },
4642             "start": {
4643               "type": "string",
4644               "format": "date-time"
4645             },
4646             "status": {
4647               "type": "string"
4648             }
4649           },
4650           "additionalProperties": false,
4651           "required": [
4652             "status",
4653             "start"
4654           ]
4655         },
4656         "ModelSet": {
4657           "type": "object",
4658           "properties": {
4659             "config": {
4660               "type": "object",
4661               "patternProperties": {
4662                 ".*": {
4663                   "type": "object",
4664                   "additionalProperties": true
4665                 }
4666               }
4667             }
4668           },
4669           "additionalProperties": false,
4670           "required": [
4671             "config"
4672           ]
4673         },
4674         "ModelStatusInfo": {
4675           "type": "object",
4676           "properties": {
4677             "available-version": {
4678               "type": "string"
4679             },
4680             "cloud-tag": {
4681               "type": "string"
4682             },
4683             "migration": {
4684               "type": "string"
4685             },
4686             "name": {
4687               "type": "string"
4688             },
4689             "region": {
4690               "type": "string"
4691             },
4692             "version": {
4693               "type": "string"
4694             }
4695           },
4696           "additionalProperties": false,
4697           "required": [
4698             "name",
4699             "cloud-tag",
4700             "version",
4701             "available-version"
4702           ]
4703         },
4704         "ModelUnset": {
4705           "type": "object",
4706           "properties": {
4707             "keys": {
4708               "type": "array",
4709               "items": {
4710                 "type": "string"
4711               }
4712             }
4713           },
4714           "additionalProperties": false,
4715           "required": [
4716             "keys"
4717           ]
4718         },
4719         "ModelUserInfo": {
4720           "type": "object",
4721           "properties": {
4722             "access": {
4723               "type": "string"
4724             },
4725             "display-name": {
4726               "type": "string"
4727             },
4728             "last-connection": {
4729               "type": "string",
4730               "format": "date-time"
4731             },
4732             "user": {
4733               "type": "string"
4734             }
4735           },
4736           "additionalProperties": false,
4737           "required": [
4738             "user",
4739             "display-name",
4740             "last-connection",
4741             "access"
4742           ]
4743         },
4744         "ModelUserInfoResult": {
4745           "type": "object",
4746           "properties": {
4747             "error": {
4748               "$ref": "#/definitions/Error"
4749             },
4750             "result": {
4751               "$ref": "#/definitions/ModelUserInfo"
4752             }
4753           },
4754           "additionalProperties": false
4755         },
4756         "ModelUserInfoResults": {
4757           "type": "object",
4758           "properties": {
4759             "results": {
4760               "type": "array",
4761               "items": {
4762                 "$ref": "#/definitions/ModelUserInfoResult"
4763               }
4764             }
4765           },
4766           "additionalProperties": false,
4767           "required": [
4768             "results"
4769           ]
4770         },
4771         "Number": {
4772           "type": "object",
4773           "properties": {
4774             "Build": {
4775               "type": "integer"
4776             },
4777             "Major": {
4778               "type": "integer"
4779             },
4780             "Minor": {
4781               "type": "integer"
4782             },
4783             "Patch": {
4784               "type": "integer"
4785             },
4786             "Tag": {
4787               "type": "string"
4788             }
4789           },
4790           "additionalProperties": false,
4791           "required": [
4792             "Major",
4793             "Minor",
4794             "Tag",
4795             "Patch",
4796             "Build"
4797           ]
4798         },
4799         "Placement": {
4800           "type": "object",
4801           "properties": {
4802             "directive": {
4803               "type": "string"
4804             },
4805             "scope": {
4806               "type": "string"
4807             }
4808           },
4809           "additionalProperties": false,
4810           "required": [
4811             "scope",
4812             "directive"
4813           ]
4814         },
4815         "PrivateAddress": {
4816           "type": "object",
4817           "properties": {
4818             "target": {
4819               "type": "string"
4820             }
4821           },
4822           "additionalProperties": false,
4823           "required": [
4824             "target"
4825           ]
4826         },
4827         "PrivateAddressResults": {
4828           "type": "object",
4829           "properties": {
4830             "private-address": {
4831               "type": "string"
4832             }
4833           },
4834           "additionalProperties": false,
4835           "required": [
4836             "private-address"
4837           ]
4838         },
4839         "ProvisioningScriptParams": {
4840           "type": "object",
4841           "properties": {
4842             "data-dir": {
4843               "type": "string"
4844             },
4845             "disable-package-commands": {
4846               "type": "boolean"
4847             },
4848             "machine-id": {
4849               "type": "string"
4850             },
4851             "nonce": {
4852               "type": "string"
4853             }
4854           },
4855           "additionalProperties": false,
4856           "required": [
4857             "machine-id",
4858             "nonce",
4859             "data-dir",
4860             "disable-package-commands"
4861           ]
4862         },
4863         "ProvisioningScriptResult": {
4864           "type": "object",
4865           "properties": {
4866             "script": {
4867               "type": "string"
4868             }
4869           },
4870           "additionalProperties": false,
4871           "required": [
4872             "script"
4873           ]
4874         },
4875         "PublicAddress": {
4876           "type": "object",
4877           "properties": {
4878             "target": {
4879               "type": "string"
4880             }
4881           },
4882           "additionalProperties": false,
4883           "required": [
4884             "target"
4885           ]
4886         },
4887         "PublicAddressResults": {
4888           "type": "object",
4889           "properties": {
4890             "public-address": {
4891               "type": "string"
4892             }
4893           },
4894           "additionalProperties": false,
4895           "required": [
4896             "public-address"
4897           ]
4898         },
4899         "RelationStatus": {
4900           "type": "object",
4901           "properties": {
4902             "endpoints": {
4903               "type": "array",
4904               "items": {
4905                 "$ref": "#/definitions/EndpointStatus"
4906               }
4907             },
4908             "id": {
4909               "type": "integer"
4910             },
4911             "interface": {
4912               "type": "string"
4913             },
4914             "key": {
4915               "type": "string"
4916             },
4917             "scope": {
4918               "type": "string"
4919             }
4920           },
4921           "additionalProperties": false,
4922           "required": [
4923             "id",
4924             "key",
4925             "interface",
4926             "scope",
4927             "endpoints"
4928           ]
4929         },
4930         "RemoteApplicationStatus": {
4931           "type": "object",
4932           "properties": {
4933             "application-name": {
4934               "type": "string"
4935             },
4936             "application-url": {
4937               "type": "string"
4938             },
4939             "endpoints": {
4940               "type": "array",
4941               "items": {
4942                 "$ref": "#/definitions/RemoteEndpoint"
4943               }
4944             },
4945             "err": {
4946               "type": "object",
4947               "additionalProperties": true
4948             },
4949             "life": {
4950               "type": "string"
4951             },
4952             "relations": {
4953               "type": "object",
4954               "patternProperties": {
4955                 ".*": {
4956                   "type": "array",
4957                   "items": {
4958                     "type": "string"
4959                   }
4960                 }
4961               }
4962             },
4963             "status": {
4964               "$ref": "#/definitions/DetailedStatus"
4965             }
4966           },
4967           "additionalProperties": false,
4968           "required": [
4969             "application-url",
4970             "application-name",
4971             "endpoints",
4972             "life",
4973             "relations",
4974             "status"
4975           ]
4976         },
4977         "RemoteEndpoint": {
4978           "type": "object",
4979           "properties": {
4980             "interface": {
4981               "type": "string"
4982             },
4983             "limit": {
4984               "type": "integer"
4985             },
4986             "name": {
4987               "type": "string"
4988             },
4989             "role": {
4990               "type": "string"
4991             },
4992             "scope": {
4993               "type": "string"
4994             }
4995           },
4996           "additionalProperties": false,
4997           "required": [
4998             "name",
4999             "role",
5000             "interface",
5001             "limit",
5002             "scope"
5003           ]
5004         },
5005         "ResolveCharmResult": {
5006           "type": "object",
5007           "properties": {
5008             "error": {
5009               "type": "string"
5010             },
5011             "url": {
5012               "type": "string"
5013             }
5014           },
5015           "additionalProperties": false
5016         },
5017         "ResolveCharmResults": {
5018           "type": "object",
5019           "properties": {
5020             "urls": {
5021               "type": "array",
5022               "items": {
5023                 "$ref": "#/definitions/ResolveCharmResult"
5024               }
5025             }
5026           },
5027           "additionalProperties": false,
5028           "required": [
5029             "urls"
5030           ]
5031         },
5032         "ResolveCharms": {
5033           "type": "object",
5034           "properties": {
5035             "references": {
5036               "type": "array",
5037               "items": {
5038                 "type": "string"
5039               }
5040             }
5041           },
5042           "additionalProperties": false,
5043           "required": [
5044             "references"
5045           ]
5046         },
5047         "Resolved": {
5048           "type": "object",
5049           "properties": {
5050             "retry": {
5051               "type": "boolean"
5052             },
5053             "unit-name": {
5054               "type": "string"
5055             }
5056           },
5057           "additionalProperties": false,
5058           "required": [
5059             "unit-name",
5060             "retry"
5061           ]
5062         },
5063         "SetConstraints": {
5064           "type": "object",
5065           "properties": {
5066             "application": {
5067               "type": "string"
5068             },
5069             "constraints": {
5070               "$ref": "#/definitions/Value"
5071             }
5072           },
5073           "additionalProperties": false,
5074           "required": [
5075             "application",
5076             "constraints"
5077           ]
5078         },
5079         "SetModelAgentVersion": {
5080           "type": "object",
5081           "properties": {
5082             "version": {
5083               "$ref": "#/definitions/Number"
5084             }
5085           },
5086           "additionalProperties": false,
5087           "required": [
5088             "version"
5089           ]
5090         },
5091         "StatusHistoryFilter": {
5092           "type": "object",
5093           "properties": {
5094             "date": {
5095               "type": "string",
5096               "format": "date-time"
5097             },
5098             "delta": {
5099               "type": "integer"
5100             },
5101             "size": {
5102               "type": "integer"
5103             }
5104           },
5105           "additionalProperties": false,
5106           "required": [
5107             "size",
5108             "date",
5109             "delta"
5110           ]
5111         },
5112         "StatusHistoryRequest": {
5113           "type": "object",
5114           "properties": {
5115             "filter": {
5116               "$ref": "#/definitions/StatusHistoryFilter"
5117             },
5118             "historyKind": {
5119               "type": "string"
5120             },
5121             "size": {
5122               "type": "integer"
5123             },
5124             "tag": {
5125               "type": "string"
5126             }
5127           },
5128           "additionalProperties": false,
5129           "required": [
5130             "historyKind",
5131             "size",
5132             "filter",
5133             "tag"
5134           ]
5135         },
5136         "StatusHistoryRequests": {
5137           "type": "object",
5138           "properties": {
5139             "requests": {
5140               "type": "array",
5141               "items": {
5142                 "$ref": "#/definitions/StatusHistoryRequest"
5143               }
5144             }
5145           },
5146           "additionalProperties": false,
5147           "required": [
5148             "requests"
5149           ]
5150         },
5151         "StatusHistoryResult": {
5152           "type": "object",
5153           "properties": {
5154             "error": {
5155               "$ref": "#/definitions/Error"
5156             },
5157             "history": {
5158               "$ref": "#/definitions/History"
5159             }
5160           },
5161           "additionalProperties": false,
5162           "required": [
5163             "history"
5164           ]
5165         },
5166         "StatusHistoryResults": {
5167           "type": "object",
5168           "properties": {
5169             "results": {
5170               "type": "array",
5171               "items": {
5172                 "$ref": "#/definitions/StatusHistoryResult"
5173               }
5174             }
5175           },
5176           "additionalProperties": false,
5177           "required": [
5178             "results"
5179           ]
5180         },
5181         "StatusParams": {
5182           "type": "object",
5183           "properties": {
5184             "patterns": {
5185               "type": "array",
5186               "items": {
5187                 "type": "string"
5188               }
5189             }
5190           },
5191           "additionalProperties": false,
5192           "required": [
5193             "patterns"
5194           ]
5195         },
5196         "Tools": {
5197           "type": "object",
5198           "properties": {
5199             "sha256": {
5200               "type": "string"
5201             },
5202             "size": {
5203               "type": "integer"
5204             },
5205             "url": {
5206               "type": "string"
5207             },
5208             "version": {
5209               "$ref": "#/definitions/Binary"
5210             }
5211           },
5212           "additionalProperties": false,
5213           "required": [
5214             "version",
5215             "url",
5216             "size"
5217           ]
5218         },
5219         "UnitStatus": {
5220           "type": "object",
5221           "properties": {
5222             "agent-status": {
5223               "$ref": "#/definitions/DetailedStatus"
5224             },
5225             "charm": {
5226               "type": "string"
5227             },
5228             "leader": {
5229               "type": "boolean"
5230             },
5231             "machine": {
5232               "type": "string"
5233             },
5234             "opened-ports": {
5235               "type": "array",
5236               "items": {
5237                 "type": "string"
5238               }
5239             },
5240             "public-address": {
5241               "type": "string"
5242             },
5243             "subordinates": {
5244               "type": "object",
5245               "patternProperties": {
5246                 ".*": {
5247                   "$ref": "#/definitions/UnitStatus"
5248                 }
5249               }
5250             },
5251             "workload-status": {
5252               "$ref": "#/definitions/DetailedStatus"
5253             },
5254             "workload-version": {
5255               "type": "string"
5256             }
5257           },
5258           "additionalProperties": false,
5259           "required": [
5260             "agent-status",
5261             "workload-status",
5262             "workload-version",
5263             "machine",
5264             "opened-ports",
5265             "public-address",
5266             "charm",
5267             "subordinates"
5268           ]
5269         },
5270         "Value": {
5271           "type": "object",
5272           "properties": {
5273             "arch": {
5274               "type": "string"
5275             },
5276             "container": {
5277               "type": "string"
5278             },
5279             "cores": {
5280               "type": "integer"
5281             },
5282             "cpu-power": {
5283               "type": "integer"
5284             },
5285             "instance-type": {
5286               "type": "string"
5287             },
5288             "mem": {
5289               "type": "integer"
5290             },
5291             "root-disk": {
5292               "type": "integer"
5293             },
5294             "spaces": {
5295               "type": "array",
5296               "items": {
5297                 "type": "string"
5298               }
5299             },
5300             "tags": {
5301               "type": "array",
5302               "items": {
5303                 "type": "string"
5304               }
5305             },
5306             "virt-type": {
5307               "type": "string"
5308             }
5309           },
5310           "additionalProperties": false
5311         }
5312       }
5313     }
5314   },
5315   {
5316     "Name": "Cloud",
5317     "Version": 1,
5318     "Schema": {
5319       "type": "object",
5320       "properties": {
5321         "Cloud": {
5322           "type": "object",
5323           "properties": {
5324             "Params": {
5325               "$ref": "#/definitions/Entities"
5326             },
5327             "Result": {
5328               "$ref": "#/definitions/CloudResults"
5329             }
5330           }
5331         },
5332         "Clouds": {
5333           "type": "object",
5334           "properties": {
5335             "Result": {
5336               "$ref": "#/definitions/CloudsResult"
5337             }
5338           }
5339         },
5340         "Credential": {
5341           "type": "object",
5342           "properties": {
5343             "Params": {
5344               "$ref": "#/definitions/Entities"
5345             },
5346             "Result": {
5347               "$ref": "#/definitions/CloudCredentialResults"
5348             }
5349           }
5350         },
5351         "DefaultCloud": {
5352           "type": "object",
5353           "properties": {
5354             "Result": {
5355               "$ref": "#/definitions/StringResult"
5356             }
5357           }
5358         },
5359         "InstanceTypes": {
5360           "type": "object",
5361           "properties": {
5362             "Params": {
5363               "$ref": "#/definitions/CloudInstanceTypesConstraints"
5364             },
5365             "Result": {
5366               "$ref": "#/definitions/InstanceTypesResults"
5367             }
5368           }
5369         },
5370         "RevokeCredentials": {
5371           "type": "object",
5372           "properties": {
5373             "Params": {
5374               "$ref": "#/definitions/Entities"
5375             },
5376             "Result": {
5377               "$ref": "#/definitions/ErrorResults"
5378             }
5379           }
5380         },
5381         "UpdateCredentials": {
5382           "type": "object",
5383           "properties": {
5384             "Params": {
5385               "$ref": "#/definitions/UpdateCloudCredentials"
5386             },
5387             "Result": {
5388               "$ref": "#/definitions/ErrorResults"
5389             }
5390           }
5391         },
5392         "UserCredentials": {
5393           "type": "object",
5394           "properties": {
5395             "Params": {
5396               "$ref": "#/definitions/UserClouds"
5397             },
5398             "Result": {
5399               "$ref": "#/definitions/StringsResults"
5400             }
5401           }
5402         }
5403       },
5404       "definitions": {
5405         "Cloud": {
5406           "type": "object",
5407           "properties": {
5408             "auth-types": {
5409               "type": "array",
5410               "items": {
5411                 "type": "string"
5412               }
5413             },
5414             "endpoint": {
5415               "type": "string"
5416             },
5417             "identity-endpoint": {
5418               "type": "string"
5419             },
5420             "regions": {
5421               "type": "array",
5422               "items": {
5423                 "$ref": "#/definitions/CloudRegion"
5424               }
5425             },
5426             "storage-endpoint": {
5427               "type": "string"
5428             },
5429             "type": {
5430               "type": "string"
5431             }
5432           },
5433           "additionalProperties": false,
5434           "required": [
5435             "type"
5436           ]
5437         },
5438         "CloudCredential": {
5439           "type": "object",
5440           "properties": {
5441             "attrs": {
5442               "type": "object",
5443               "patternProperties": {
5444                 ".*": {
5445                   "type": "string"
5446                 }
5447               }
5448             },
5449             "auth-type": {
5450               "type": "string"
5451             },
5452             "redacted": {
5453               "type": "array",
5454               "items": {
5455                 "type": "string"
5456               }
5457             }
5458           },
5459           "additionalProperties": false,
5460           "required": [
5461             "auth-type"
5462           ]
5463         },
5464         "CloudCredentialResult": {
5465           "type": "object",
5466           "properties": {
5467             "error": {
5468               "$ref": "#/definitions/Error"
5469             },
5470             "result": {
5471               "$ref": "#/definitions/CloudCredential"
5472             }
5473           },
5474           "additionalProperties": false
5475         },
5476         "CloudCredentialResults": {
5477           "type": "object",
5478           "properties": {
5479             "results": {
5480               "type": "array",
5481               "items": {
5482                 "$ref": "#/definitions/CloudCredentialResult"
5483               }
5484             }
5485           },
5486           "additionalProperties": false
5487         },
5488         "CloudInstanceTypesConstraint": {
5489           "type": "object",
5490           "properties": {
5491             "cloud-tag": {
5492               "type": "string"
5493             },
5494             "constraints": {
5495               "$ref": "#/definitions/Value"
5496             },
5497             "region": {
5498               "type": "string"
5499             }
5500           },
5501           "additionalProperties": false,
5502           "required": [
5503             "cloud-tag",
5504             "region"
5505           ]
5506         },
5507         "CloudInstanceTypesConstraints": {
5508           "type": "object",
5509           "properties": {
5510             "constraints": {
5511               "type": "array",
5512               "items": {
5513                 "$ref": "#/definitions/CloudInstanceTypesConstraint"
5514               }
5515             }
5516           },
5517           "additionalProperties": false,
5518           "required": [
5519             "constraints"
5520           ]
5521         },
5522         "CloudRegion": {
5523           "type": "object",
5524           "properties": {
5525             "endpoint": {
5526               "type": "string"
5527             },
5528             "identity-endpoint": {
5529               "type": "string"
5530             },
5531             "name": {
5532               "type": "string"
5533             },
5534             "storage-endpoint": {
5535               "type": "string"
5536             }
5537           },
5538           "additionalProperties": false,
5539           "required": [
5540             "name"
5541           ]
5542         },
5543         "CloudResult": {
5544           "type": "object",
5545           "properties": {
5546             "cloud": {
5547               "$ref": "#/definitions/Cloud"
5548             },
5549             "error": {
5550               "$ref": "#/definitions/Error"
5551             }
5552           },
5553           "additionalProperties": false
5554         },
5555         "CloudResults": {
5556           "type": "object",
5557           "properties": {
5558             "results": {
5559               "type": "array",
5560               "items": {
5561                 "$ref": "#/definitions/CloudResult"
5562               }
5563             }
5564           },
5565           "additionalProperties": false
5566         },
5567         "CloudsResult": {
5568           "type": "object",
5569           "properties": {
5570             "clouds": {
5571               "type": "object",
5572               "patternProperties": {
5573                 ".*": {
5574                   "$ref": "#/definitions/Cloud"
5575                 }
5576               }
5577             }
5578           },
5579           "additionalProperties": false
5580         },
5581         "Entities": {
5582           "type": "object",
5583           "properties": {
5584             "entities": {
5585               "type": "array",
5586               "items": {
5587                 "$ref": "#/definitions/Entity"
5588               }
5589             }
5590           },
5591           "additionalProperties": false,
5592           "required": [
5593             "entities"
5594           ]
5595         },
5596         "Entity": {
5597           "type": "object",
5598           "properties": {
5599             "tag": {
5600               "type": "string"
5601             }
5602           },
5603           "additionalProperties": false,
5604           "required": [
5605             "tag"
5606           ]
5607         },
5608         "Error": {
5609           "type": "object",
5610           "properties": {
5611             "code": {
5612               "type": "string"
5613             },
5614             "info": {
5615               "$ref": "#/definitions/ErrorInfo"
5616             },
5617             "message": {
5618               "type": "string"
5619             }
5620           },
5621           "additionalProperties": false,
5622           "required": [
5623             "message",
5624             "code"
5625           ]
5626         },
5627         "ErrorInfo": {
5628           "type": "object",
5629           "properties": {
5630             "macaroon": {
5631               "$ref": "#/definitions/Macaroon"
5632             },
5633             "macaroon-path": {
5634               "type": "string"
5635             }
5636           },
5637           "additionalProperties": false
5638         },
5639         "ErrorResult": {
5640           "type": "object",
5641           "properties": {
5642             "error": {
5643               "$ref": "#/definitions/Error"
5644             }
5645           },
5646           "additionalProperties": false
5647         },
5648         "ErrorResults": {
5649           "type": "object",
5650           "properties": {
5651             "results": {
5652               "type": "array",
5653               "items": {
5654                 "$ref": "#/definitions/ErrorResult"
5655               }
5656             }
5657           },
5658           "additionalProperties": false,
5659           "required": [
5660             "results"
5661           ]
5662         },
5663         "InstanceType": {
5664           "type": "object",
5665           "properties": {
5666             "arches": {
5667               "type": "array",
5668               "items": {
5669                 "type": "string"
5670               }
5671             },
5672             "cost": {
5673               "type": "integer"
5674             },
5675             "cpu-cores": {
5676               "type": "integer"
5677             },
5678             "deprecated": {
5679               "type": "boolean"
5680             },
5681             "memory": {
5682               "type": "integer"
5683             },
5684             "name": {
5685               "type": "string"
5686             },
5687             "root-disk": {
5688               "type": "integer"
5689             },
5690             "virt-type": {
5691               "type": "string"
5692             }
5693           },
5694           "additionalProperties": false,
5695           "required": [
5696             "arches",
5697             "cpu-cores",
5698             "memory"
5699           ]
5700         },
5701         "InstanceTypesResult": {
5702           "type": "object",
5703           "properties": {
5704             "cost-currency": {
5705               "type": "string"
5706             },
5707             "cost-divisor": {
5708               "type": "integer"
5709             },
5710             "cost-unit": {
5711               "type": "string"
5712             },
5713             "error": {
5714               "$ref": "#/definitions/Error"
5715             },
5716             "instance-types": {
5717               "type": "array",
5718               "items": {
5719                 "$ref": "#/definitions/InstanceType"
5720               }
5721             }
5722           },
5723           "additionalProperties": false
5724         },
5725         "InstanceTypesResults": {
5726           "type": "object",
5727           "properties": {
5728             "results": {
5729               "type": "array",
5730               "items": {
5731                 "$ref": "#/definitions/InstanceTypesResult"
5732               }
5733             }
5734           },
5735           "additionalProperties": false,
5736           "required": [
5737             "results"
5738           ]
5739         },
5740         "Macaroon": {
5741           "type": "object",
5742           "additionalProperties": false
5743         },
5744         "StringResult": {
5745           "type": "object",
5746           "properties": {
5747             "error": {
5748               "$ref": "#/definitions/Error"
5749             },
5750             "result": {
5751               "type": "string"
5752             }
5753           },
5754           "additionalProperties": false,
5755           "required": [
5756             "result"
5757           ]
5758         },
5759         "StringsResult": {
5760           "type": "object",
5761           "properties": {
5762             "error": {
5763               "$ref": "#/definitions/Error"
5764             },
5765             "result": {
5766               "type": "array",
5767               "items": {
5768                 "type": "string"
5769               }
5770             }
5771           },
5772           "additionalProperties": false
5773         },
5774         "StringsResults": {
5775           "type": "object",
5776           "properties": {
5777             "results": {
5778               "type": "array",
5779               "items": {
5780                 "$ref": "#/definitions/StringsResult"
5781               }
5782             }
5783           },
5784           "additionalProperties": false,
5785           "required": [
5786             "results"
5787           ]
5788         },
5789         "UpdateCloudCredential": {
5790           "type": "object",
5791           "properties": {
5792             "credential": {
5793               "$ref": "#/definitions/CloudCredential"
5794             },
5795             "tag": {
5796               "type": "string"
5797             }
5798           },
5799           "additionalProperties": false,
5800           "required": [
5801             "tag",
5802             "credential"
5803           ]
5804         },
5805         "UpdateCloudCredentials": {
5806           "type": "object",
5807           "properties": {
5808             "credentials": {
5809               "type": "array",
5810               "items": {
5811                 "$ref": "#/definitions/UpdateCloudCredential"
5812               }
5813             }
5814           },
5815           "additionalProperties": false
5816         },
5817         "UserCloud": {
5818           "type": "object",
5819           "properties": {
5820             "cloud-tag": {
5821               "type": "string"
5822             },
5823             "user-tag": {
5824               "type": "string"
5825             }
5826           },
5827           "additionalProperties": false,
5828           "required": [
5829             "user-tag",
5830             "cloud-tag"
5831           ]
5832         },
5833         "UserClouds": {
5834           "type": "object",
5835           "properties": {
5836             "user-clouds": {
5837               "type": "array",
5838               "items": {
5839                 "$ref": "#/definitions/UserCloud"
5840               }
5841             }
5842           },
5843           "additionalProperties": false
5844         },
5845         "Value": {
5846           "type": "object",
5847           "properties": {
5848             "arch": {
5849               "type": "string"
5850             },
5851             "container": {
5852               "type": "string"
5853             },
5854             "cores": {
5855               "type": "integer"
5856             },
5857             "cpu-power": {
5858               "type": "integer"
5859             },
5860             "instance-type": {
5861               "type": "string"
5862             },
5863             "mem": {
5864               "type": "integer"
5865             },
5866             "root-disk": {
5867               "type": "integer"
5868             },
5869             "spaces": {
5870               "type": "array",
5871               "items": {
5872                 "type": "string"
5873               }
5874             },
5875             "tags": {
5876               "type": "array",
5877               "items": {
5878                 "type": "string"
5879               }
5880             },
5881             "virt-type": {
5882               "type": "string"
5883             }
5884           },
5885           "additionalProperties": false
5886         }
5887       }
5888     }
5889   },
5890   {
5891     "Name": "Controller",
5892     "Version": 3,
5893     "Schema": {
5894       "type": "object",
5895       "properties": {
5896         "AllModels": {
5897           "type": "object",
5898           "properties": {
5899             "Result": {
5900               "$ref": "#/definitions/UserModelList"
5901             }
5902           }
5903         },
5904         "CloudSpec": {
5905           "type": "object",
5906           "properties": {
5907             "Params": {
5908               "$ref": "#/definitions/Entities"
5909             },
5910             "Result": {
5911               "$ref": "#/definitions/CloudSpecResults"
5912             }
5913           }
5914         },
5915         "ControllerConfig": {
5916           "type": "object",
5917           "properties": {
5918             "Result": {
5919               "$ref": "#/definitions/ControllerConfigResult"
5920             }
5921           }
5922         },
5923         "DestroyController": {
5924           "type": "object",
5925           "properties": {
5926             "Params": {
5927               "$ref": "#/definitions/DestroyControllerArgs"
5928             }
5929           }
5930         },
5931         "GetCloudSpec": {
5932           "type": "object",
5933           "properties": {
5934             "Params": {
5935               "$ref": "#/definitions/ModelTag"
5936             },
5937             "Result": {
5938               "$ref": "#/definitions/CloudSpecResult"
5939             }
5940           }
5941         },
5942         "GetControllerAccess": {
5943           "type": "object",
5944           "properties": {
5945             "Params": {
5946               "$ref": "#/definitions/Entities"
5947             },
5948             "Result": {
5949               "$ref": "#/definitions/UserAccessResults"
5950             }
5951           }
5952         },
5953         "HostedModelConfigs": {
5954           "type": "object",
5955           "properties": {
5956             "Result": {
5957               "$ref": "#/definitions/HostedModelConfigsResults"
5958             }
5959           }
5960         },
5961         "InitiateMigration": {
5962           "type": "object",
5963           "properties": {
5964             "Params": {
5965               "$ref": "#/definitions/InitiateMigrationArgs"
5966             },
5967             "Result": {
5968               "$ref": "#/definitions/InitiateMigrationResults"
5969             }
5970           }
5971         },
5972         "ListBlockedModels": {
5973           "type": "object",
5974           "properties": {
5975             "Result": {
5976               "$ref": "#/definitions/ModelBlockInfoList"
5977             }
5978           }
5979         },
5980         "ModelConfig": {
5981           "type": "object",
5982           "properties": {
5983             "Result": {
5984               "$ref": "#/definitions/ModelConfigResults"
5985             }
5986           }
5987         },
5988         "ModelStatus": {
5989           "type": "object",
5990           "properties": {
5991             "Params": {
5992               "$ref": "#/definitions/Entities"
5993             },
5994             "Result": {
5995               "$ref": "#/definitions/ModelStatusResults"
5996             }
5997           }
5998         },
5999         "ModifyControllerAccess": {
6000           "type": "object",
6001           "properties": {
6002             "Params": {
6003               "$ref": "#/definitions/ModifyControllerAccessRequest"
6004             },
6005             "Result": {
6006               "$ref": "#/definitions/ErrorResults"
6007             }
6008           }
6009         },
6010         "RemoveBlocks": {
6011           "type": "object",
6012           "properties": {
6013             "Params": {
6014               "$ref": "#/definitions/RemoveBlocksArgs"
6015             }
6016           }
6017         },
6018         "WatchAllModels": {
6019           "type": "object",
6020           "properties": {
6021             "Result": {
6022               "$ref": "#/definitions/AllWatcherId"
6023             }
6024           }
6025         }
6026       },
6027       "definitions": {
6028         "AllWatcherId": {
6029           "type": "object",
6030           "properties": {
6031             "watcher-id": {
6032               "type": "string"
6033             }
6034           },
6035           "additionalProperties": false,
6036           "required": [
6037             "watcher-id"
6038           ]
6039         },
6040         "CloudCredential": {
6041           "type": "object",
6042           "properties": {
6043             "attrs": {
6044               "type": "object",
6045               "patternProperties": {
6046                 ".*": {
6047                   "type": "string"
6048                 }
6049               }
6050             },
6051             "auth-type": {
6052               "type": "string"
6053             },
6054             "redacted": {
6055               "type": "array",
6056               "items": {
6057                 "type": "string"
6058               }
6059             }
6060           },
6061           "additionalProperties": false,
6062           "required": [
6063             "auth-type"
6064           ]
6065         },
6066         "CloudSpec": {
6067           "type": "object",
6068           "properties": {
6069             "credential": {
6070               "$ref": "#/definitions/CloudCredential"
6071             },
6072             "endpoint": {
6073               "type": "string"
6074             },
6075             "identity-endpoint": {
6076               "type": "string"
6077             },
6078             "name": {
6079               "type": "string"
6080             },
6081             "region": {
6082               "type": "string"
6083             },
6084             "storage-endpoint": {
6085               "type": "string"
6086             },
6087             "type": {
6088               "type": "string"
6089             }
6090           },
6091           "additionalProperties": false,
6092           "required": [
6093             "type",
6094             "name"
6095           ]
6096         },
6097         "CloudSpecResult": {
6098           "type": "object",
6099           "properties": {
6100             "error": {
6101               "$ref": "#/definitions/Error"
6102             },
6103             "result": {
6104               "$ref": "#/definitions/CloudSpec"
6105             }
6106           },
6107           "additionalProperties": false
6108         },
6109         "CloudSpecResults": {
6110           "type": "object",
6111           "properties": {
6112             "results": {
6113               "type": "array",
6114               "items": {
6115                 "$ref": "#/definitions/CloudSpecResult"
6116               }
6117             }
6118           },
6119           "additionalProperties": false
6120         },
6121         "ConfigValue": {
6122           "type": "object",
6123           "properties": {
6124             "source": {
6125               "type": "string"
6126             },
6127             "value": {
6128               "type": "object",
6129               "additionalProperties": true
6130             }
6131           },
6132           "additionalProperties": false,
6133           "required": [
6134             "value",
6135             "source"
6136           ]
6137         },
6138         "ControllerConfigResult": {
6139           "type": "object",
6140           "properties": {
6141             "config": {
6142               "type": "object",
6143               "patternProperties": {
6144                 ".*": {
6145                   "type": "object",
6146                   "additionalProperties": true
6147                 }
6148               }
6149             }
6150           },
6151           "additionalProperties": false,
6152           "required": [
6153             "config"
6154           ]
6155         },
6156         "DestroyControllerArgs": {
6157           "type": "object",
6158           "properties": {
6159             "destroy-models": {
6160               "type": "boolean"
6161             }
6162           },
6163           "additionalProperties": false,
6164           "required": [
6165             "destroy-models"
6166           ]
6167         },
6168         "Entities": {
6169           "type": "object",
6170           "properties": {
6171             "entities": {
6172               "type": "array",
6173               "items": {
6174                 "$ref": "#/definitions/Entity"
6175               }
6176             }
6177           },
6178           "additionalProperties": false,
6179           "required": [
6180             "entities"
6181           ]
6182         },
6183         "Entity": {
6184           "type": "object",
6185           "properties": {
6186             "tag": {
6187               "type": "string"
6188             }
6189           },
6190           "additionalProperties": false,
6191           "required": [
6192             "tag"
6193           ]
6194         },
6195         "Error": {
6196           "type": "object",
6197           "properties": {
6198             "code": {
6199               "type": "string"
6200             },
6201             "info": {
6202               "$ref": "#/definitions/ErrorInfo"
6203             },
6204             "message": {
6205               "type": "string"
6206             }
6207           },
6208           "additionalProperties": false,
6209           "required": [
6210             "message",
6211             "code"
6212           ]
6213         },
6214         "ErrorInfo": {
6215           "type": "object",
6216           "properties": {
6217             "macaroon": {
6218               "$ref": "#/definitions/Macaroon"
6219             },
6220             "macaroon-path": {
6221               "type": "string"
6222             }
6223           },
6224           "additionalProperties": false
6225         },
6226         "ErrorResult": {
6227           "type": "object",
6228           "properties": {
6229             "error": {
6230               "$ref": "#/definitions/Error"
6231             }
6232           },
6233           "additionalProperties": false
6234         },
6235         "ErrorResults": {
6236           "type": "object",
6237           "properties": {
6238             "results": {
6239               "type": "array",
6240               "items": {
6241                 "$ref": "#/definitions/ErrorResult"
6242               }
6243             }
6244           },
6245           "additionalProperties": false,
6246           "required": [
6247             "results"
6248           ]
6249         },
6250         "HostedModelConfig": {
6251           "type": "object",
6252           "properties": {
6253             "cloud-spec": {
6254               "$ref": "#/definitions/CloudSpec"
6255             },
6256             "config": {
6257               "type": "object",
6258               "patternProperties": {
6259                 ".*": {
6260                   "type": "object",
6261                   "additionalProperties": true
6262                 }
6263               }
6264             },
6265             "error": {
6266               "$ref": "#/definitions/Error"
6267             },
6268             "name": {
6269               "type": "string"
6270             },
6271             "owner": {
6272               "type": "string"
6273             }
6274           },
6275           "additionalProperties": false,
6276           "required": [
6277             "name",
6278             "owner"
6279           ]
6280         },
6281         "HostedModelConfigsResults": {
6282           "type": "object",
6283           "properties": {
6284             "models": {
6285               "type": "array",
6286               "items": {
6287                 "$ref": "#/definitions/HostedModelConfig"
6288               }
6289             }
6290           },
6291           "additionalProperties": false,
6292           "required": [
6293             "models"
6294           ]
6295         },
6296         "InitiateMigrationArgs": {
6297           "type": "object",
6298           "properties": {
6299             "specs": {
6300               "type": "array",
6301               "items": {
6302                 "$ref": "#/definitions/MigrationSpec"
6303               }
6304             }
6305           },
6306           "additionalProperties": false,
6307           "required": [
6308             "specs"
6309           ]
6310         },
6311         "InitiateMigrationResult": {
6312           "type": "object",
6313           "properties": {
6314             "error": {
6315               "$ref": "#/definitions/Error"
6316             },
6317             "migration-id": {
6318               "type": "string"
6319             },
6320             "model-tag": {
6321               "type": "string"
6322             }
6323           },
6324           "additionalProperties": false,
6325           "required": [
6326             "model-tag",
6327             "migration-id"
6328           ]
6329         },
6330         "InitiateMigrationResults": {
6331           "type": "object",
6332           "properties": {
6333             "results": {
6334               "type": "array",
6335               "items": {
6336                 "$ref": "#/definitions/InitiateMigrationResult"
6337               }
6338             }
6339           },
6340           "additionalProperties": false,
6341           "required": [
6342             "results"
6343           ]
6344         },
6345         "Macaroon": {
6346           "type": "object",
6347           "additionalProperties": false
6348         },
6349         "MachineHardware": {
6350           "type": "object",
6351           "properties": {
6352             "arch": {
6353               "type": "string"
6354             },
6355             "availability-zone": {
6356               "type": "string"
6357             },
6358             "cores": {
6359               "type": "integer"
6360             },
6361             "cpu-power": {
6362               "type": "integer"
6363             },
6364             "mem": {
6365               "type": "integer"
6366             },
6367             "root-disk": {
6368               "type": "integer"
6369             },
6370             "tags": {
6371               "type": "array",
6372               "items": {
6373                 "type": "string"
6374               }
6375             }
6376           },
6377           "additionalProperties": false
6378         },
6379         "MigrationSpec": {
6380           "type": "object",
6381           "properties": {
6382             "external-control": {
6383               "type": "boolean"
6384             },
6385             "model-tag": {
6386               "type": "string"
6387             },
6388             "skip-initial-prechecks": {
6389               "type": "boolean"
6390             },
6391             "target-info": {
6392               "$ref": "#/definitions/MigrationTargetInfo"
6393             }
6394           },
6395           "additionalProperties": false,
6396           "required": [
6397             "model-tag",
6398             "target-info",
6399             "external-control",
6400             "skip-initial-prechecks"
6401           ]
6402         },
6403         "MigrationTargetInfo": {
6404           "type": "object",
6405           "properties": {
6406             "addrs": {
6407               "type": "array",
6408               "items": {
6409                 "type": "string"
6410               }
6411             },
6412             "auth-tag": {
6413               "type": "string"
6414             },
6415             "ca-cert": {
6416               "type": "string"
6417             },
6418             "controller-tag": {
6419               "type": "string"
6420             },
6421             "macaroons": {
6422               "type": "string"
6423             },
6424             "password": {
6425               "type": "string"
6426             }
6427           },
6428           "additionalProperties": false,
6429           "required": [
6430             "controller-tag",
6431             "addrs",
6432             "ca-cert",
6433             "auth-tag"
6434           ]
6435         },
6436         "Model": {
6437           "type": "object",
6438           "properties": {
6439             "name": {
6440               "type": "string"
6441             },
6442             "owner-tag": {
6443               "type": "string"
6444             },
6445             "uuid": {
6446               "type": "string"
6447             }
6448           },
6449           "additionalProperties": false,
6450           "required": [
6451             "name",
6452             "uuid",
6453             "owner-tag"
6454           ]
6455         },
6456         "ModelBlockInfo": {
6457           "type": "object",
6458           "properties": {
6459             "blocks": {
6460               "type": "array",
6461               "items": {
6462                 "type": "string"
6463               }
6464             },
6465             "model-uuid": {
6466               "type": "string"
6467             },
6468             "name": {
6469               "type": "string"
6470             },
6471             "owner-tag": {
6472               "type": "string"
6473             }
6474           },
6475           "additionalProperties": false,
6476           "required": [
6477             "name",
6478             "model-uuid",
6479             "owner-tag",
6480             "blocks"
6481           ]
6482         },
6483         "ModelBlockInfoList": {
6484           "type": "object",
6485           "properties": {
6486             "models": {
6487               "type": "array",
6488               "items": {
6489                 "$ref": "#/definitions/ModelBlockInfo"
6490               }
6491             }
6492           },
6493           "additionalProperties": false
6494         },
6495         "ModelConfigResults": {
6496           "type": "object",
6497           "properties": {
6498             "config": {
6499               "type": "object",
6500               "patternProperties": {
6501                 ".*": {
6502                   "$ref": "#/definitions/ConfigValue"
6503                 }
6504               }
6505             }
6506           },
6507           "additionalProperties": false,
6508           "required": [
6509             "config"
6510           ]
6511         },
6512         "ModelMachineInfo": {
6513           "type": "object",
6514           "properties": {
6515             "hardware": {
6516               "$ref": "#/definitions/MachineHardware"
6517             },
6518             "has-vote": {
6519               "type": "boolean"
6520             },
6521             "id": {
6522               "type": "string"
6523             },
6524             "instance-id": {
6525               "type": "string"
6526             },
6527             "status": {
6528               "type": "string"
6529             },
6530             "wants-vote": {
6531               "type": "boolean"
6532             }
6533           },
6534           "additionalProperties": false,
6535           "required": [
6536             "id"
6537           ]
6538         },
6539         "ModelStatus": {
6540           "type": "object",
6541           "properties": {
6542             "application-count": {
6543               "type": "integer"
6544             },
6545             "hosted-machine-count": {
6546               "type": "integer"
6547             },
6548             "life": {
6549               "type": "string"
6550             },
6551             "machines": {
6552               "type": "array",
6553               "items": {
6554                 "$ref": "#/definitions/ModelMachineInfo"
6555               }
6556             },
6557             "model-tag": {
6558               "type": "string"
6559             },
6560             "owner-tag": {
6561               "type": "string"
6562             }
6563           },
6564           "additionalProperties": false,
6565           "required": [
6566             "model-tag",
6567             "life",
6568             "hosted-machine-count",
6569             "application-count",
6570             "owner-tag"
6571           ]
6572         },
6573         "ModelStatusResults": {
6574           "type": "object",
6575           "properties": {
6576             "models": {
6577               "type": "array",
6578               "items": {
6579                 "$ref": "#/definitions/ModelStatus"
6580               }
6581             }
6582           },
6583           "additionalProperties": false,
6584           "required": [
6585             "models"
6586           ]
6587         },
6588         "ModelTag": {
6589           "type": "object",
6590           "additionalProperties": false
6591         },
6592         "ModifyControllerAccess": {
6593           "type": "object",
6594           "properties": {
6595             "access": {
6596               "type": "string"
6597             },
6598             "action": {
6599               "type": "string"
6600             },
6601             "user-tag": {
6602               "type": "string"
6603             }
6604           },
6605           "additionalProperties": false,
6606           "required": [
6607             "user-tag",
6608             "action",
6609             "access"
6610           ]
6611         },
6612         "ModifyControllerAccessRequest": {
6613           "type": "object",
6614           "properties": {
6615             "changes": {
6616               "type": "array",
6617               "items": {
6618                 "$ref": "#/definitions/ModifyControllerAccess"
6619               }
6620             }
6621           },
6622           "additionalProperties": false,
6623           "required": [
6624             "changes"
6625           ]
6626         },
6627         "RemoveBlocksArgs": {
6628           "type": "object",
6629           "properties": {
6630             "all": {
6631               "type": "boolean"
6632             }
6633           },
6634           "additionalProperties": false,
6635           "required": [
6636             "all"
6637           ]
6638         },
6639         "UserAccess": {
6640           "type": "object",
6641           "properties": {
6642             "access": {
6643               "type": "string"
6644             },
6645             "user-tag": {
6646               "type": "string"
6647             }
6648           },
6649           "additionalProperties": false,
6650           "required": [
6651             "user-tag",
6652             "access"
6653           ]
6654         },
6655         "UserAccessResult": {
6656           "type": "object",
6657           "properties": {
6658             "error": {
6659               "$ref": "#/definitions/Error"
6660             },
6661             "result": {
6662               "$ref": "#/definitions/UserAccess"
6663             }
6664           },
6665           "additionalProperties": false
6666         },
6667         "UserAccessResults": {
6668           "type": "object",
6669           "properties": {
6670             "results": {
6671               "type": "array",
6672               "items": {
6673                 "$ref": "#/definitions/UserAccessResult"
6674               }
6675             }
6676           },
6677           "additionalProperties": false
6678         },
6679         "UserModel": {
6680           "type": "object",
6681           "properties": {
6682             "last-connection": {
6683               "type": "string",
6684               "format": "date-time"
6685             },
6686             "model": {
6687               "$ref": "#/definitions/Model"
6688             }
6689           },
6690           "additionalProperties": false,
6691           "required": [
6692             "model",
6693             "last-connection"
6694           ]
6695         },
6696         "UserModelList": {
6697           "type": "object",
6698           "properties": {
6699             "user-models": {
6700               "type": "array",
6701               "items": {
6702                 "$ref": "#/definitions/UserModel"
6703               }
6704             }
6705           },
6706           "additionalProperties": false,
6707           "required": [
6708             "user-models"
6709           ]
6710         }
6711       }
6712     }
6713   },
6714   {
6715     "Name": "Deployer",
6716     "Version": 1,
6717     "Schema": {
6718       "type": "object",
6719       "properties": {
6720         "APIAddresses": {
6721           "type": "object",
6722           "properties": {
6723             "Result": {
6724               "$ref": "#/definitions/StringsResult"
6725             }
6726           }
6727         },
6728         "APIHostPorts": {
6729           "type": "object",
6730           "properties": {
6731             "Result": {
6732               "$ref": "#/definitions/APIHostPortsResult"
6733             }
6734           }
6735         },
6736         "CACert": {
6737           "type": "object",
6738           "properties": {
6739             "Result": {
6740               "$ref": "#/definitions/BytesResult"
6741             }
6742           }
6743         },
6744         "ConnectionInfo": {
6745           "type": "object",
6746           "properties": {
6747             "Result": {
6748               "$ref": "#/definitions/DeployerConnectionValues"
6749             }
6750           }
6751         },
6752         "Life": {
6753           "type": "object",
6754           "properties": {
6755             "Params": {
6756               "$ref": "#/definitions/Entities"
6757             },
6758             "Result": {
6759               "$ref": "#/definitions/LifeResults"
6760             }
6761           }
6762         },
6763         "ModelUUID": {
6764           "type": "object",
6765           "properties": {
6766             "Result": {
6767               "$ref": "#/definitions/StringResult"
6768             }
6769           }
6770         },
6771         "Remove": {
6772           "type": "object",
6773           "properties": {
6774             "Params": {
6775               "$ref": "#/definitions/Entities"
6776             },
6777             "Result": {
6778               "$ref": "#/definitions/ErrorResults"
6779             }
6780           }
6781         },
6782         "SetPasswords": {
6783           "type": "object",
6784           "properties": {
6785             "Params": {
6786               "$ref": "#/definitions/EntityPasswords"
6787             },
6788             "Result": {
6789               "$ref": "#/definitions/ErrorResults"
6790             }
6791           }
6792         },
6793         "SetStatus": {
6794           "type": "object",
6795           "properties": {
6796             "Params": {
6797               "$ref": "#/definitions/SetStatus"
6798             },
6799             "Result": {
6800               "$ref": "#/definitions/ErrorResults"
6801             }
6802           }
6803         },
6804         "StateAddresses": {
6805           "type": "object",
6806           "properties": {
6807             "Result": {
6808               "$ref": "#/definitions/StringsResult"
6809             }
6810           }
6811         },
6812         "UpdateStatus": {
6813           "type": "object",
6814           "properties": {
6815             "Params": {
6816               "$ref": "#/definitions/SetStatus"
6817             },
6818             "Result": {
6819               "$ref": "#/definitions/ErrorResults"
6820             }
6821           }
6822         },
6823         "WatchAPIHostPorts": {
6824           "type": "object",
6825           "properties": {
6826             "Result": {
6827               "$ref": "#/definitions/NotifyWatchResult"
6828             }
6829           }
6830         },
6831         "WatchUnits": {
6832           "type": "object",
6833           "properties": {
6834             "Params": {
6835               "$ref": "#/definitions/Entities"
6836             },
6837             "Result": {
6838               "$ref": "#/definitions/StringsWatchResults"
6839             }
6840           }
6841         }
6842       },
6843       "definitions": {
6844         "APIHostPortsResult": {
6845           "type": "object",
6846           "properties": {
6847             "servers": {
6848               "type": "array",
6849               "items": {
6850                 "type": "array",
6851                 "items": {
6852                   "$ref": "#/definitions/HostPort"
6853                 }
6854               }
6855             }
6856           },
6857           "additionalProperties": false,
6858           "required": [
6859             "servers"
6860           ]
6861         },
6862         "Address": {
6863           "type": "object",
6864           "properties": {
6865             "scope": {
6866               "type": "string"
6867             },
6868             "space-name": {
6869               "type": "string"
6870             },
6871             "type": {
6872               "type": "string"
6873             },
6874             "value": {
6875               "type": "string"
6876             }
6877           },
6878           "additionalProperties": false,
6879           "required": [
6880             "value",
6881             "type",
6882             "scope"
6883           ]
6884         },
6885         "BytesResult": {
6886           "type": "object",
6887           "properties": {
6888             "result": {
6889               "type": "array",
6890               "items": {
6891                 "type": "integer"
6892               }
6893             }
6894           },
6895           "additionalProperties": false,
6896           "required": [
6897             "result"
6898           ]
6899         },
6900         "DeployerConnectionValues": {
6901           "type": "object",
6902           "properties": {
6903             "api-addresses": {
6904               "type": "array",
6905               "items": {
6906                 "type": "string"
6907               }
6908             },
6909             "state-addresses": {
6910               "type": "array",
6911               "items": {
6912                 "type": "string"
6913               }
6914             }
6915           },
6916           "additionalProperties": false,
6917           "required": [
6918             "state-addresses",
6919             "api-addresses"
6920           ]
6921         },
6922         "Entities": {
6923           "type": "object",
6924           "properties": {
6925             "entities": {
6926               "type": "array",
6927               "items": {
6928                 "$ref": "#/definitions/Entity"
6929               }
6930             }
6931           },
6932           "additionalProperties": false,
6933           "required": [
6934             "entities"
6935           ]
6936         },
6937         "Entity": {
6938           "type": "object",
6939           "properties": {
6940             "tag": {
6941               "type": "string"
6942             }
6943           },
6944           "additionalProperties": false,
6945           "required": [
6946             "tag"
6947           ]
6948         },
6949         "EntityPassword": {
6950           "type": "object",
6951           "properties": {
6952             "password": {
6953               "type": "string"
6954             },
6955             "tag": {
6956               "type": "string"
6957             }
6958           },
6959           "additionalProperties": false,
6960           "required": [
6961             "tag",
6962             "password"
6963           ]
6964         },
6965         "EntityPasswords": {
6966           "type": "object",
6967           "properties": {
6968             "changes": {
6969               "type": "array",
6970               "items": {
6971                 "$ref": "#/definitions/EntityPassword"
6972               }
6973             }
6974           },
6975           "additionalProperties": false,
6976           "required": [
6977             "changes"
6978           ]
6979         },
6980         "EntityStatusArgs": {
6981           "type": "object",
6982           "properties": {
6983             "data": {
6984               "type": "object",
6985               "patternProperties": {
6986                 ".*": {
6987                   "type": "object",
6988                   "additionalProperties": true
6989                 }
6990               }
6991             },
6992             "info": {
6993               "type": "string"
6994             },
6995             "status": {
6996               "type": "string"
6997             },
6998             "tag": {
6999               "type": "string"
7000             }
7001           },
7002           "additionalProperties": false,
7003           "required": [
7004             "tag",
7005             "status",
7006             "info",
7007             "data"
7008           ]
7009         },
7010         "Error": {
7011           "type": "object",
7012           "properties": {
7013             "code": {
7014               "type": "string"
7015             },
7016             "info": {
7017               "$ref": "#/definitions/ErrorInfo"
7018             },
7019             "message": {
7020               "type": "string"
7021             }
7022           },
7023           "additionalProperties": false,
7024           "required": [
7025             "message",
7026             "code"
7027           ]
7028         },
7029         "ErrorInfo": {
7030           "type": "object",
7031           "properties": {
7032             "macaroon": {
7033               "$ref": "#/definitions/Macaroon"
7034             },
7035             "macaroon-path": {
7036               "type": "string"
7037             }
7038           },
7039           "additionalProperties": false
7040         },
7041         "ErrorResult": {
7042           "type": "object",
7043           "properties": {
7044             "error": {
7045               "$ref": "#/definitions/Error"
7046             }
7047           },
7048           "additionalProperties": false
7049         },
7050         "ErrorResults": {
7051           "type": "object",
7052           "properties": {
7053             "results": {
7054               "type": "array",
7055               "items": {
7056                 "$ref": "#/definitions/ErrorResult"
7057               }
7058             }
7059           },
7060           "additionalProperties": false,
7061           "required": [
7062             "results"
7063           ]
7064         },
7065         "HostPort": {
7066           "type": "object",
7067           "properties": {
7068             "Address": {
7069               "$ref": "#/definitions/Address"
7070             },
7071             "port": {
7072               "type": "integer"
7073             }
7074           },
7075           "additionalProperties": false,
7076           "required": [
7077             "Address",
7078             "port"
7079           ]
7080         },
7081         "LifeResult": {
7082           "type": "object",
7083           "properties": {
7084             "error": {
7085               "$ref": "#/definitions/Error"
7086             },
7087             "life": {
7088               "type": "string"
7089             }
7090           },
7091           "additionalProperties": false,
7092           "required": [
7093             "life"
7094           ]
7095         },
7096         "LifeResults": {
7097           "type": "object",
7098           "properties": {
7099             "results": {
7100               "type": "array",
7101               "items": {
7102                 "$ref": "#/definitions/LifeResult"
7103               }
7104             }
7105           },
7106           "additionalProperties": false,
7107           "required": [
7108             "results"
7109           ]
7110         },
7111         "Macaroon": {
7112           "type": "object",
7113           "additionalProperties": false
7114         },
7115         "NotifyWatchResult": {
7116           "type": "object",
7117           "properties": {
7118             "NotifyWatcherId": {
7119               "type": "string"
7120             },
7121             "error": {
7122               "$ref": "#/definitions/Error"
7123             }
7124           },
7125           "additionalProperties": false,
7126           "required": [
7127             "NotifyWatcherId"
7128           ]
7129         },
7130         "SetStatus": {
7131           "type": "object",
7132           "properties": {
7133             "entities": {
7134               "type": "array",
7135               "items": {
7136                 "$ref": "#/definitions/EntityStatusArgs"
7137               }
7138             }
7139           },
7140           "additionalProperties": false,
7141           "required": [
7142             "entities"
7143           ]
7144         },
7145         "StringResult": {
7146           "type": "object",
7147           "properties": {
7148             "error": {
7149               "$ref": "#/definitions/Error"
7150             },
7151             "result": {
7152               "type": "string"
7153             }
7154           },
7155           "additionalProperties": false,
7156           "required": [
7157             "result"
7158           ]
7159         },
7160         "StringsResult": {
7161           "type": "object",
7162           "properties": {
7163             "error": {
7164               "$ref": "#/definitions/Error"
7165             },
7166             "result": {
7167               "type": "array",
7168               "items": {
7169                 "type": "string"
7170               }
7171             }
7172           },
7173           "additionalProperties": false
7174         },
7175         "StringsWatchResult": {
7176           "type": "object",
7177           "properties": {
7178             "changes": {
7179               "type": "array",
7180               "items": {
7181                 "type": "string"
7182               }
7183             },
7184             "error": {
7185               "$ref": "#/definitions/Error"
7186             },
7187             "watcher-id": {
7188               "type": "string"
7189             }
7190           },
7191           "additionalProperties": false,
7192           "required": [
7193             "watcher-id"
7194           ]
7195         },
7196         "StringsWatchResults": {
7197           "type": "object",
7198           "properties": {
7199             "results": {
7200               "type": "array",
7201               "items": {
7202                 "$ref": "#/definitions/StringsWatchResult"
7203               }
7204             }
7205           },
7206           "additionalProperties": false,
7207           "required": [
7208             "results"
7209           ]
7210         }
7211       }
7212     }
7213   },
7214   {
7215     "Name": "DiscoverSpaces",
7216     "Version": 2,
7217     "Schema": {
7218       "type": "object",
7219       "properties": {
7220         "AddSubnets": {
7221           "type": "object",
7222           "properties": {
7223             "Params": {
7224               "$ref": "#/definitions/AddSubnetsParams"
7225             },
7226             "Result": {
7227               "$ref": "#/definitions/ErrorResults"
7228             }
7229           }
7230         },
7231         "CreateSpaces": {
7232           "type": "object",
7233           "properties": {
7234             "Params": {
7235               "$ref": "#/definitions/CreateSpacesParams"
7236             },
7237             "Result": {
7238               "$ref": "#/definitions/ErrorResults"
7239             }
7240           }
7241         },
7242         "ListSpaces": {
7243           "type": "object",
7244           "properties": {
7245             "Result": {
7246               "$ref": "#/definitions/DiscoverSpacesResults"
7247             }
7248           }
7249         },
7250         "ListSubnets": {
7251           "type": "object",
7252           "properties": {
7253             "Params": {
7254               "$ref": "#/definitions/SubnetsFilters"
7255             },
7256             "Result": {
7257               "$ref": "#/definitions/ListSubnetsResults"
7258             }
7259           }
7260         },
7261         "ModelConfig": {
7262           "type": "object",
7263           "properties": {
7264             "Result": {
7265               "$ref": "#/definitions/ModelConfigResult"
7266             }
7267           }
7268         }
7269       },
7270       "definitions": {
7271         "AddSubnetParams": {
7272           "type": "object",
7273           "properties": {
7274             "space-tag": {
7275               "type": "string"
7276             },
7277             "subnet-provider-id": {
7278               "type": "string"
7279             },
7280             "subnet-tag": {
7281               "type": "string"
7282             },
7283             "zones": {
7284               "type": "array",
7285               "items": {
7286                 "type": "string"
7287               }
7288             }
7289           },
7290           "additionalProperties": false,
7291           "required": [
7292             "space-tag"
7293           ]
7294         },
7295         "AddSubnetsParams": {
7296           "type": "object",
7297           "properties": {
7298             "subnets": {
7299               "type": "array",
7300               "items": {
7301                 "$ref": "#/definitions/AddSubnetParams"
7302               }
7303             }
7304           },
7305           "additionalProperties": false,
7306           "required": [
7307             "subnets"
7308           ]
7309         },
7310         "CreateSpaceParams": {
7311           "type": "object",
7312           "properties": {
7313             "provider-id": {
7314               "type": "string"
7315             },
7316             "public": {
7317               "type": "boolean"
7318             },
7319             "space-tag": {
7320               "type": "string"
7321             },
7322             "subnet-tags": {
7323               "type": "array",
7324               "items": {
7325                 "type": "string"
7326               }
7327             }
7328           },
7329           "additionalProperties": false,
7330           "required": [
7331             "subnet-tags",
7332             "space-tag",
7333             "public"
7334           ]
7335         },
7336         "CreateSpacesParams": {
7337           "type": "object",
7338           "properties": {
7339             "spaces": {
7340               "type": "array",
7341               "items": {
7342                 "$ref": "#/definitions/CreateSpaceParams"
7343               }
7344             }
7345           },
7346           "additionalProperties": false,
7347           "required": [
7348             "spaces"
7349           ]
7350         },
7351         "DiscoverSpacesResults": {
7352           "type": "object",
7353           "properties": {
7354             "results": {
7355               "type": "array",
7356               "items": {
7357                 "$ref": "#/definitions/ProviderSpace"
7358               }
7359             }
7360           },
7361           "additionalProperties": false,
7362           "required": [
7363             "results"
7364           ]
7365         },
7366         "Error": {
7367           "type": "object",
7368           "properties": {
7369             "code": {
7370               "type": "string"
7371             },
7372             "info": {
7373               "$ref": "#/definitions/ErrorInfo"
7374             },
7375             "message": {
7376               "type": "string"
7377             }
7378           },
7379           "additionalProperties": false,
7380           "required": [
7381             "message",
7382             "code"
7383           ]
7384         },
7385         "ErrorInfo": {
7386           "type": "object",
7387           "properties": {
7388             "macaroon": {
7389               "$ref": "#/definitions/Macaroon"
7390             },
7391             "macaroon-path": {
7392               "type": "string"
7393             }
7394           },
7395           "additionalProperties": false
7396         },
7397         "ErrorResult": {
7398           "type": "object",
7399           "properties": {
7400             "error": {
7401               "$ref": "#/definitions/Error"
7402             }
7403           },
7404           "additionalProperties": false
7405         },
7406         "ErrorResults": {
7407           "type": "object",
7408           "properties": {
7409             "results": {
7410               "type": "array",
7411               "items": {
7412                 "$ref": "#/definitions/ErrorResult"
7413               }
7414             }
7415           },
7416           "additionalProperties": false,
7417           "required": [
7418             "results"
7419           ]
7420         },
7421         "ListSubnetsResults": {
7422           "type": "object",
7423           "properties": {
7424             "results": {
7425               "type": "array",
7426               "items": {
7427                 "$ref": "#/definitions/Subnet"
7428               }
7429             }
7430           },
7431           "additionalProperties": false,
7432           "required": [
7433             "results"
7434           ]
7435         },
7436         "Macaroon": {
7437           "type": "object",
7438           "additionalProperties": false
7439         },
7440         "ModelConfigResult": {
7441           "type": "object",
7442           "properties": {
7443             "config": {
7444               "type": "object",
7445               "patternProperties": {
7446                 ".*": {
7447                   "type": "object",
7448                   "additionalProperties": true
7449                 }
7450               }
7451             }
7452           },
7453           "additionalProperties": false,
7454           "required": [
7455             "config"
7456           ]
7457         },
7458         "ProviderSpace": {
7459           "type": "object",
7460           "properties": {
7461             "error": {
7462               "$ref": "#/definitions/Error"
7463             },
7464             "name": {
7465               "type": "string"
7466             },
7467             "provider-id": {
7468               "type": "string"
7469             },
7470             "subnets": {
7471               "type": "array",
7472               "items": {
7473                 "$ref": "#/definitions/Subnet"
7474               }
7475             }
7476           },
7477           "additionalProperties": false,
7478           "required": [
7479             "name",
7480             "provider-id",
7481             "subnets"
7482           ]
7483         },
7484         "Subnet": {
7485           "type": "object",
7486           "properties": {
7487             "cidr": {
7488               "type": "string"
7489             },
7490             "life": {
7491               "type": "string"
7492             },
7493             "provider-id": {
7494               "type": "string"
7495             },
7496             "space-tag": {
7497               "type": "string"
7498             },
7499             "status": {
7500               "type": "string"
7501             },
7502             "vlan-tag": {
7503               "type": "integer"
7504             },
7505             "zones": {
7506               "type": "array",
7507               "items": {
7508                 "type": "string"
7509               }
7510             }
7511           },
7512           "additionalProperties": false,
7513           "required": [
7514             "cidr",
7515             "vlan-tag",
7516             "life",
7517             "space-tag",
7518             "zones"
7519           ]
7520         },
7521         "SubnetsFilters": {
7522           "type": "object",
7523           "properties": {
7524             "space-tag": {
7525               "type": "string"
7526             },
7527             "zone": {
7528               "type": "string"
7529             }
7530           },
7531           "additionalProperties": false
7532         }
7533       }
7534     }
7535   },
7536   {
7537     "Name": "DiskManager",
7538     "Version": 2,
7539     "Schema": {
7540       "type": "object",
7541       "properties": {
7542         "SetMachineBlockDevices": {
7543           "type": "object",
7544           "properties": {
7545             "Params": {
7546               "$ref": "#/definitions/SetMachineBlockDevices"
7547             },
7548             "Result": {
7549               "$ref": "#/definitions/ErrorResults"
7550             }
7551           }
7552         }
7553       },
7554       "definitions": {
7555         "BlockDevice": {
7556           "type": "object",
7557           "properties": {
7558             "BusAddress": {
7559               "type": "string"
7560             },
7561             "DeviceLinks": {
7562               "type": "array",
7563               "items": {
7564                 "type": "string"
7565               }
7566             },
7567             "DeviceName": {
7568               "type": "string"
7569             },
7570             "FilesystemType": {
7571               "type": "string"
7572             },
7573             "HardwareId": {
7574               "type": "string"
7575             },
7576             "InUse": {
7577               "type": "boolean"
7578             },
7579             "Label": {
7580               "type": "string"
7581             },
7582             "MountPoint": {
7583               "type": "string"
7584             },
7585             "Size": {
7586               "type": "integer"
7587             },
7588             "UUID": {
7589               "type": "string"
7590             }
7591           },
7592           "additionalProperties": false,
7593           "required": [
7594             "DeviceName",
7595             "DeviceLinks",
7596             "Label",
7597             "UUID",
7598             "HardwareId",
7599             "BusAddress",
7600             "Size",
7601             "FilesystemType",
7602             "InUse",
7603             "MountPoint"
7604           ]
7605         },
7606         "Error": {
7607           "type": "object",
7608           "properties": {
7609             "code": {
7610               "type": "string"
7611             },
7612             "info": {
7613               "$ref": "#/definitions/ErrorInfo"
7614             },
7615             "message": {
7616               "type": "string"
7617             }
7618           },
7619           "additionalProperties": false,
7620           "required": [
7621             "message",
7622             "code"
7623           ]
7624         },
7625         "ErrorInfo": {
7626           "type": "object",
7627           "properties": {
7628             "macaroon": {
7629               "$ref": "#/definitions/Macaroon"
7630             },
7631             "macaroon-path": {
7632               "type": "string"
7633             }
7634           },
7635           "additionalProperties": false
7636         },
7637         "ErrorResult": {
7638           "type": "object",
7639           "properties": {
7640             "error": {
7641               "$ref": "#/definitions/Error"
7642             }
7643           },
7644           "additionalProperties": false
7645         },
7646         "ErrorResults": {
7647           "type": "object",
7648           "properties": {
7649             "results": {
7650               "type": "array",
7651               "items": {
7652                 "$ref": "#/definitions/ErrorResult"
7653               }
7654             }
7655           },
7656           "additionalProperties": false,
7657           "required": [
7658             "results"
7659           ]
7660         },
7661         "Macaroon": {
7662           "type": "object",
7663           "additionalProperties": false
7664         },
7665         "MachineBlockDevices": {
7666           "type": "object",
7667           "properties": {
7668             "block-devices": {
7669               "type": "array",
7670               "items": {
7671                 "$ref": "#/definitions/BlockDevice"
7672               }
7673             },
7674             "machine": {
7675               "type": "string"
7676             }
7677           },
7678           "additionalProperties": false,
7679           "required": [
7680             "machine"
7681           ]
7682         },
7683         "SetMachineBlockDevices": {
7684           "type": "object",
7685           "properties": {
7686             "machine-block-devices": {
7687               "type": "array",
7688               "items": {
7689                 "$ref": "#/definitions/MachineBlockDevices"
7690               }
7691             }
7692           },
7693           "additionalProperties": false,
7694           "required": [
7695             "machine-block-devices"
7696           ]
7697         }
7698       }
7699     }
7700   },
7701   {
7702     "Name": "EntityWatcher",
7703     "Version": 2,
7704     "Schema": {
7705       "type": "object",
7706       "properties": {
7707         "Next": {
7708           "type": "object",
7709           "properties": {
7710             "Result": {
7711               "$ref": "#/definitions/EntitiesWatchResult"
7712             }
7713           }
7714         },
7715         "Stop": {
7716           "type": "object"
7717         }
7718       },
7719       "definitions": {
7720         "EntitiesWatchResult": {
7721           "type": "object",
7722           "properties": {
7723             "changes": {
7724               "type": "array",
7725               "items": {
7726                 "type": "string"
7727               }
7728             },
7729             "error": {
7730               "$ref": "#/definitions/Error"
7731             },
7732             "watcher-id": {
7733               "type": "string"
7734             }
7735           },
7736           "additionalProperties": false,
7737           "required": [
7738             "watcher-id"
7739           ]
7740         },
7741         "Error": {
7742           "type": "object",
7743           "properties": {
7744             "code": {
7745               "type": "string"
7746             },
7747             "info": {
7748               "$ref": "#/definitions/ErrorInfo"
7749             },
7750             "message": {
7751               "type": "string"
7752             }
7753           },
7754           "additionalProperties": false,
7755           "required": [
7756             "message",
7757             "code"
7758           ]
7759         },
7760         "ErrorInfo": {
7761           "type": "object",
7762           "properties": {
7763             "macaroon": {
7764               "$ref": "#/definitions/Macaroon"
7765             },
7766             "macaroon-path": {
7767               "type": "string"
7768             }
7769           },
7770           "additionalProperties": false
7771         },
7772         "Macaroon": {
7773           "type": "object",
7774           "additionalProperties": false
7775         }
7776       }
7777     }
7778   },
7779   {
7780     "Name": "FilesystemAttachmentsWatcher",
7781     "Version": 2,
7782     "Schema": {
7783       "type": "object",
7784       "properties": {
7785         "Next": {
7786           "type": "object",
7787           "properties": {
7788             "Result": {
7789               "$ref": "#/definitions/MachineStorageIdsWatchResult"
7790             }
7791           }
7792         },
7793         "Stop": {
7794           "type": "object"
7795         }
7796       },
7797       "definitions": {
7798         "Error": {
7799           "type": "object",
7800           "properties": {
7801             "code": {
7802               "type": "string"
7803             },
7804             "info": {
7805               "$ref": "#/definitions/ErrorInfo"
7806             },
7807             "message": {
7808               "type": "string"
7809             }
7810           },
7811           "additionalProperties": false,
7812           "required": [
7813             "message",
7814             "code"
7815           ]
7816         },
7817         "ErrorInfo": {
7818           "type": "object",
7819           "properties": {
7820             "macaroon": {
7821               "$ref": "#/definitions/Macaroon"
7822             },
7823             "macaroon-path": {
7824               "type": "string"
7825             }
7826           },
7827           "additionalProperties": false
7828         },
7829         "Macaroon": {
7830           "type": "object",
7831           "additionalProperties": false
7832         },
7833         "MachineStorageId": {
7834           "type": "object",
7835           "properties": {
7836             "attachment-tag": {
7837               "type": "string"
7838             },
7839             "machine-tag": {
7840               "type": "string"
7841             }
7842           },
7843           "additionalProperties": false,
7844           "required": [
7845             "machine-tag",
7846             "attachment-tag"
7847           ]
7848         },
7849         "MachineStorageIdsWatchResult": {
7850           "type": "object",
7851           "properties": {
7852             "changes": {
7853               "type": "array",
7854               "items": {
7855                 "$ref": "#/definitions/MachineStorageId"
7856               }
7857             },
7858             "error": {
7859               "$ref": "#/definitions/Error"
7860             },
7861             "watcher-id": {
7862               "type": "string"
7863             }
7864           },
7865           "additionalProperties": false,
7866           "required": [
7867             "watcher-id",
7868             "changes"
7869           ]
7870         }
7871       }
7872     }
7873   },
7874   {
7875     "Name": "Firewaller",
7876     "Version": 3,
7877     "Schema": {
7878       "type": "object",
7879       "properties": {
7880         "CloudSpec": {
7881           "type": "object",
7882           "properties": {
7883             "Params": {
7884               "$ref": "#/definitions/Entities"
7885             },
7886             "Result": {
7887               "$ref": "#/definitions/CloudSpecResults"
7888             }
7889           }
7890         },
7891         "GetAssignedMachine": {
7892           "type": "object",
7893           "properties": {
7894             "Params": {
7895               "$ref": "#/definitions/Entities"
7896             },
7897             "Result": {
7898               "$ref": "#/definitions/StringResults"
7899             }
7900           }
7901         },
7902         "GetCloudSpec": {
7903           "type": "object",
7904           "properties": {
7905             "Params": {
7906               "$ref": "#/definitions/ModelTag"
7907             },
7908             "Result": {
7909               "$ref": "#/definitions/CloudSpecResult"
7910             }
7911           }
7912         },
7913         "GetExposed": {
7914           "type": "object",
7915           "properties": {
7916             "Params": {
7917               "$ref": "#/definitions/Entities"
7918             },
7919             "Result": {
7920               "$ref": "#/definitions/BoolResults"
7921             }
7922           }
7923         },
7924         "GetMachineActiveSubnets": {
7925           "type": "object",
7926           "properties": {
7927             "Params": {
7928               "$ref": "#/definitions/Entities"
7929             },
7930             "Result": {
7931               "$ref": "#/definitions/StringsResults"
7932             }
7933           }
7934         },
7935         "GetMachinePorts": {
7936           "type": "object",
7937           "properties": {
7938             "Params": {
7939               "$ref": "#/definitions/MachinePortsParams"
7940             },
7941             "Result": {
7942               "$ref": "#/definitions/MachinePortsResults"
7943             }
7944           }
7945         },
7946         "InstanceId": {
7947           "type": "object",
7948           "properties": {
7949             "Params": {
7950               "$ref": "#/definitions/Entities"
7951             },
7952             "Result": {
7953               "$ref": "#/definitions/StringResults"
7954             }
7955           }
7956         },
7957         "Life": {
7958           "type": "object",
7959           "properties": {
7960             "Params": {
7961               "$ref": "#/definitions/Entities"
7962             },
7963             "Result": {
7964               "$ref": "#/definitions/LifeResults"
7965             }
7966           }
7967         },
7968         "ModelConfig": {
7969           "type": "object",
7970           "properties": {
7971             "Result": {
7972               "$ref": "#/definitions/ModelConfigResult"
7973             }
7974           }
7975         },
7976         "Watch": {
7977           "type": "object",
7978           "properties": {
7979             "Params": {
7980               "$ref": "#/definitions/Entities"
7981             },
7982             "Result": {
7983               "$ref": "#/definitions/NotifyWatchResults"
7984             }
7985           }
7986         },
7987         "WatchForModelConfigChanges": {
7988           "type": "object",
7989           "properties": {
7990             "Result": {
7991               "$ref": "#/definitions/NotifyWatchResult"
7992             }
7993           }
7994         },
7995         "WatchModelMachines": {
7996           "type": "object",
7997           "properties": {
7998             "Result": {
7999               "$ref": "#/definitions/StringsWatchResult"
8000             }
8001           }
8002         },
8003         "WatchOpenedPorts": {
8004           "type": "object",
8005           "properties": {
8006             "Params": {
8007               "$ref": "#/definitions/Entities"
8008             },
8009             "Result": {
8010               "$ref": "#/definitions/StringsWatchResults"
8011             }
8012           }
8013         },
8014         "WatchUnits": {
8015           "type": "object",
8016           "properties": {
8017             "Params": {
8018               "$ref": "#/definitions/Entities"
8019             },
8020             "Result": {
8021               "$ref": "#/definitions/StringsWatchResults"
8022             }
8023           }
8024         }
8025       },
8026       "definitions": {
8027         "BoolResult": {
8028           "type": "object",
8029           "properties": {
8030             "error": {
8031               "$ref": "#/definitions/Error"
8032             },
8033             "result": {
8034               "type": "boolean"
8035             }
8036           },
8037           "additionalProperties": false,
8038           "required": [
8039             "result"
8040           ]
8041         },
8042         "BoolResults": {
8043           "type": "object",
8044           "properties": {
8045             "results": {
8046               "type": "array",
8047               "items": {
8048                 "$ref": "#/definitions/BoolResult"
8049               }
8050             }
8051           },
8052           "additionalProperties": false,
8053           "required": [
8054             "results"
8055           ]
8056         },
8057         "CloudCredential": {
8058           "type": "object",
8059           "properties": {
8060             "attrs": {
8061               "type": "object",
8062               "patternProperties": {
8063                 ".*": {
8064                   "type": "string"
8065                 }
8066               }
8067             },
8068             "auth-type": {
8069               "type": "string"
8070             },
8071             "redacted": {
8072               "type": "array",
8073               "items": {
8074                 "type": "string"
8075               }
8076             }
8077           },
8078           "additionalProperties": false,
8079           "required": [
8080             "auth-type"
8081           ]
8082         },
8083         "CloudSpec": {
8084           "type": "object",
8085           "properties": {
8086             "credential": {
8087               "$ref": "#/definitions/CloudCredential"
8088             },
8089             "endpoint": {
8090               "type": "string"
8091             },
8092             "identity-endpoint": {
8093               "type": "string"
8094             },
8095             "name": {
8096               "type": "string"
8097             },
8098             "region": {
8099               "type": "string"
8100             },
8101             "storage-endpoint": {
8102               "type": "string"
8103             },
8104             "type": {
8105               "type": "string"
8106             }
8107           },
8108           "additionalProperties": false,
8109           "required": [
8110             "type",
8111             "name"
8112           ]
8113         },
8114         "CloudSpecResult": {
8115           "type": "object",
8116           "properties": {
8117             "error": {
8118               "$ref": "#/definitions/Error"
8119             },
8120             "result": {
8121               "$ref": "#/definitions/CloudSpec"
8122             }
8123           },
8124           "additionalProperties": false
8125         },
8126         "CloudSpecResults": {
8127           "type": "object",
8128           "properties": {
8129             "results": {
8130               "type": "array",
8131               "items": {
8132                 "$ref": "#/definitions/CloudSpecResult"
8133               }
8134             }
8135           },
8136           "additionalProperties": false
8137         },
8138         "Entities": {
8139           "type": "object",
8140           "properties": {
8141             "entities": {
8142               "type": "array",
8143               "items": {
8144                 "$ref": "#/definitions/Entity"
8145               }
8146             }
8147           },
8148           "additionalProperties": false,
8149           "required": [
8150             "entities"
8151           ]
8152         },
8153         "Entity": {
8154           "type": "object",
8155           "properties": {
8156             "tag": {
8157               "type": "string"
8158             }
8159           },
8160           "additionalProperties": false,
8161           "required": [
8162             "tag"
8163           ]
8164         },
8165         "Error": {
8166           "type": "object",
8167           "properties": {
8168             "code": {
8169               "type": "string"
8170             },
8171             "info": {
8172               "$ref": "#/definitions/ErrorInfo"
8173             },
8174             "message": {
8175               "type": "string"
8176             }
8177           },
8178           "additionalProperties": false,
8179           "required": [
8180             "message",
8181             "code"
8182           ]
8183         },
8184         "ErrorInfo": {
8185           "type": "object",
8186           "properties": {
8187             "macaroon": {
8188               "$ref": "#/definitions/Macaroon"
8189             },
8190             "macaroon-path": {
8191               "type": "string"
8192             }
8193           },
8194           "additionalProperties": false
8195         },
8196         "LifeResult": {
8197           "type": "object",
8198           "properties": {
8199             "error": {
8200               "$ref": "#/definitions/Error"
8201             },
8202             "life": {
8203               "type": "string"
8204             }
8205           },
8206           "additionalProperties": false,
8207           "required": [
8208             "life"
8209           ]
8210         },
8211         "LifeResults": {
8212           "type": "object",
8213           "properties": {
8214             "results": {
8215               "type": "array",
8216               "items": {
8217                 "$ref": "#/definitions/LifeResult"
8218               }
8219             }
8220           },
8221           "additionalProperties": false,
8222           "required": [
8223             "results"
8224           ]
8225         },
8226         "Macaroon": {
8227           "type": "object",
8228           "additionalProperties": false
8229         },
8230         "MachinePortRange": {
8231           "type": "object",
8232           "properties": {
8233             "port-range": {
8234               "$ref": "#/definitions/PortRange"
8235             },
8236             "relation-tag": {
8237               "type": "string"
8238             },
8239             "unit-tag": {
8240               "type": "string"
8241             }
8242           },
8243           "additionalProperties": false,
8244           "required": [
8245             "unit-tag",
8246             "relation-tag",
8247             "port-range"
8248           ]
8249         },
8250         "MachinePorts": {
8251           "type": "object",
8252           "properties": {
8253             "machine-tag": {
8254               "type": "string"
8255             },
8256             "subnet-tag": {
8257               "type": "string"
8258             }
8259           },
8260           "additionalProperties": false,
8261           "required": [
8262             "machine-tag",
8263             "subnet-tag"
8264           ]
8265         },
8266         "MachinePortsParams": {
8267           "type": "object",
8268           "properties": {
8269             "params": {
8270               "type": "array",
8271               "items": {
8272                 "$ref": "#/definitions/MachinePorts"
8273               }
8274             }
8275           },
8276           "additionalProperties": false,
8277           "required": [
8278             "params"
8279           ]
8280         },
8281         "MachinePortsResult": {
8282           "type": "object",
8283           "properties": {
8284             "error": {
8285               "$ref": "#/definitions/Error"
8286             },
8287             "ports": {
8288               "type": "array",
8289               "items": {
8290                 "$ref": "#/definitions/MachinePortRange"
8291               }
8292             }
8293           },
8294           "additionalProperties": false,
8295           "required": [
8296             "ports"
8297           ]
8298         },
8299         "MachinePortsResults": {
8300           "type": "object",
8301           "properties": {
8302             "results": {
8303               "type": "array",
8304               "items": {
8305                 "$ref": "#/definitions/MachinePortsResult"
8306               }
8307             }
8308           },
8309           "additionalProperties": false,
8310           "required": [
8311             "results"
8312           ]
8313         },
8314         "ModelConfigResult": {
8315           "type": "object",
8316           "properties": {
8317             "config": {
8318               "type": "object",
8319               "patternProperties": {
8320                 ".*": {
8321                   "type": "object",
8322                   "additionalProperties": true
8323                 }
8324               }
8325             }
8326           },
8327           "additionalProperties": false,
8328           "required": [
8329             "config"
8330           ]
8331         },
8332         "ModelTag": {
8333           "type": "object",
8334           "additionalProperties": false
8335         },
8336         "NotifyWatchResult": {
8337           "type": "object",
8338           "properties": {
8339             "NotifyWatcherId": {
8340               "type": "string"
8341             },
8342             "error": {
8343               "$ref": "#/definitions/Error"
8344             }
8345           },
8346           "additionalProperties": false,
8347           "required": [
8348             "NotifyWatcherId"
8349           ]
8350         },
8351         "NotifyWatchResults": {
8352           "type": "object",
8353           "properties": {
8354             "results": {
8355               "type": "array",
8356               "items": {
8357                 "$ref": "#/definitions/NotifyWatchResult"
8358               }
8359             }
8360           },
8361           "additionalProperties": false,
8362           "required": [
8363             "results"
8364           ]
8365         },
8366         "PortRange": {
8367           "type": "object",
8368           "properties": {
8369             "from-port": {
8370               "type": "integer"
8371             },
8372             "protocol": {
8373               "type": "string"
8374             },
8375             "to-port": {
8376               "type": "integer"
8377             }
8378           },
8379           "additionalProperties": false,
8380           "required": [
8381             "from-port",
8382             "to-port",
8383             "protocol"
8384           ]
8385         },
8386         "StringResult": {
8387           "type": "object",
8388           "properties": {
8389             "error": {
8390               "$ref": "#/definitions/Error"
8391             },
8392             "result": {
8393               "type": "string"
8394             }
8395           },
8396           "additionalProperties": false,
8397           "required": [
8398             "result"
8399           ]
8400         },
8401         "StringResults": {
8402           "type": "object",
8403           "properties": {
8404             "results": {
8405               "type": "array",
8406               "items": {
8407                 "$ref": "#/definitions/StringResult"
8408               }
8409             }
8410           },
8411           "additionalProperties": false,
8412           "required": [
8413             "results"
8414           ]
8415         },
8416         "StringsResult": {
8417           "type": "object",
8418           "properties": {
8419             "error": {
8420               "$ref": "#/definitions/Error"
8421             },
8422             "result": {
8423               "type": "array",
8424               "items": {
8425                 "type": "string"
8426               }
8427             }
8428           },
8429           "additionalProperties": false
8430         },
8431         "StringsResults": {
8432           "type": "object",
8433           "properties": {
8434             "results": {
8435               "type": "array",
8436               "items": {
8437                 "$ref": "#/definitions/StringsResult"
8438               }
8439             }
8440           },
8441           "additionalProperties": false,
8442           "required": [
8443             "results"
8444           ]
8445         },
8446         "StringsWatchResult": {
8447           "type": "object",
8448           "properties": {
8449             "changes": {
8450               "type": "array",
8451               "items": {
8452                 "type": "string"
8453               }
8454             },
8455             "error": {
8456               "$ref": "#/definitions/Error"
8457             },
8458             "watcher-id": {
8459               "type": "string"
8460             }
8461           },
8462           "additionalProperties": false,
8463           "required": [
8464             "watcher-id"
8465           ]
8466         },
8467         "StringsWatchResults": {
8468           "type": "object",
8469           "properties": {
8470             "results": {
8471               "type": "array",
8472               "items": {
8473                 "$ref": "#/definitions/StringsWatchResult"
8474               }
8475             }
8476           },
8477           "additionalProperties": false,
8478           "required": [
8479             "results"
8480           ]
8481         }
8482       }
8483     }
8484   },
8485   {
8486     "Name": "HighAvailability",
8487     "Version": 2,
8488     "Schema": {
8489       "type": "object",
8490       "properties": {
8491         "EnableHA": {
8492           "type": "object",
8493           "properties": {
8494             "Params": {
8495               "$ref": "#/definitions/ControllersSpecs"
8496             },
8497             "Result": {
8498               "$ref": "#/definitions/ControllersChangeResults"
8499             }
8500           }
8501         },
8502         "ResumeHAReplicationAfterUpgrade": {
8503           "type": "object",
8504           "properties": {
8505             "Params": {
8506               "$ref": "#/definitions/ResumeReplicationParams"
8507             }
8508           }
8509         },
8510         "StopHAReplicationForUpgrade": {
8511           "type": "object",
8512           "properties": {
8513             "Params": {
8514               "$ref": "#/definitions/UpgradeMongoParams"
8515             },
8516             "Result": {
8517               "$ref": "#/definitions/MongoUpgradeResults"
8518             }
8519           }
8520         }
8521       },
8522       "definitions": {
8523         "Address": {
8524           "type": "object",
8525           "properties": {
8526             "Scope": {
8527               "type": "string"
8528             },
8529             "SpaceName": {
8530               "type": "string"
8531             },
8532             "SpaceProviderId": {
8533               "type": "string"
8534             },
8535             "Type": {
8536               "type": "string"
8537             },
8538             "Value": {
8539               "type": "string"
8540             }
8541           },
8542           "additionalProperties": false,
8543           "required": [
8544             "Value",
8545             "Type",
8546             "Scope",
8547             "SpaceName",
8548             "SpaceProviderId"
8549           ]
8550         },
8551         "ControllersChangeResult": {
8552           "type": "object",
8553           "properties": {
8554             "error": {
8555               "$ref": "#/definitions/Error"
8556             },
8557             "result": {
8558               "$ref": "#/definitions/ControllersChanges"
8559             }
8560           },
8561           "additionalProperties": false,
8562           "required": [
8563             "result"
8564           ]
8565         },
8566         "ControllersChangeResults": {
8567           "type": "object",
8568           "properties": {
8569             "results": {
8570               "type": "array",
8571               "items": {
8572                 "$ref": "#/definitions/ControllersChangeResult"
8573               }
8574             }
8575           },
8576           "additionalProperties": false,
8577           "required": [
8578             "results"
8579           ]
8580         },
8581         "ControllersChanges": {
8582           "type": "object",
8583           "properties": {
8584             "added": {
8585               "type": "array",
8586               "items": {
8587                 "type": "string"
8588               }
8589             },
8590             "converted": {
8591               "type": "array",
8592               "items": {
8593                 "type": "string"
8594               }
8595             },
8596             "demoted": {
8597               "type": "array",
8598               "items": {
8599                 "type": "string"
8600               }
8601             },
8602             "maintained": {
8603               "type": "array",
8604               "items": {
8605                 "type": "string"
8606               }
8607             },
8608             "promoted": {
8609               "type": "array",
8610               "items": {
8611                 "type": "string"
8612               }
8613             },
8614             "removed": {
8615               "type": "array",
8616               "items": {
8617                 "type": "string"
8618               }
8619             }
8620           },
8621           "additionalProperties": false
8622         },
8623         "ControllersSpec": {
8624           "type": "object",
8625           "properties": {
8626             "constraints": {
8627               "$ref": "#/definitions/Value"
8628             },
8629             "num-controllers": {
8630               "type": "integer"
8631             },
8632             "placement": {
8633               "type": "array",
8634               "items": {
8635                 "type": "string"
8636               }
8637             },
8638             "series": {
8639               "type": "string"
8640             }
8641           },
8642           "additionalProperties": false,
8643           "required": [
8644             "num-controllers"
8645           ]
8646         },
8647         "ControllersSpecs": {
8648           "type": "object",
8649           "properties": {
8650             "specs": {
8651               "type": "array",
8652               "items": {
8653                 "$ref": "#/definitions/ControllersSpec"
8654               }
8655             }
8656           },
8657           "additionalProperties": false,
8658           "required": [
8659             "specs"
8660           ]
8661         },
8662         "Error": {
8663           "type": "object",
8664           "properties": {
8665             "code": {
8666               "type": "string"
8667             },
8668             "info": {
8669               "$ref": "#/definitions/ErrorInfo"
8670             },
8671             "message": {
8672               "type": "string"
8673             }
8674           },
8675           "additionalProperties": false,
8676           "required": [
8677             "message",
8678             "code"
8679           ]
8680         },
8681         "ErrorInfo": {
8682           "type": "object",
8683           "properties": {
8684             "macaroon": {
8685               "$ref": "#/definitions/Macaroon"
8686             },
8687             "macaroon-path": {
8688               "type": "string"
8689             }
8690           },
8691           "additionalProperties": false
8692         },
8693         "HAMember": {
8694           "type": "object",
8695           "properties": {
8696             "public-address": {
8697               "$ref": "#/definitions/Address"
8698             },
8699             "series": {
8700               "type": "string"
8701             },
8702             "tag": {
8703               "type": "string"
8704             }
8705           },
8706           "additionalProperties": false,
8707           "required": [
8708             "tag",
8709             "public-address",
8710             "series"
8711           ]
8712         },
8713         "Macaroon": {
8714           "type": "object",
8715           "additionalProperties": false
8716         },
8717         "Member": {
8718           "type": "object",
8719           "properties": {
8720             "Address": {
8721               "type": "string"
8722             },
8723             "Arbiter": {
8724               "type": "boolean"
8725             },
8726             "BuildIndexes": {
8727               "type": "boolean"
8728             },
8729             "Hidden": {
8730               "type": "boolean"
8731             },
8732             "Id": {
8733               "type": "integer"
8734             },
8735             "Priority": {
8736               "type": "number"
8737             },
8738             "SlaveDelay": {
8739               "type": "integer"
8740             },
8741             "Tags": {
8742               "type": "object",
8743               "patternProperties": {
8744                 ".*": {
8745                   "type": "string"
8746                 }
8747               }
8748             },
8749             "Votes": {
8750               "type": "integer"
8751             }
8752           },
8753           "additionalProperties": false,
8754           "required": [
8755             "Id",
8756             "Address",
8757             "Arbiter",
8758             "BuildIndexes",
8759             "Hidden",
8760             "Priority",
8761             "Tags",
8762             "SlaveDelay",
8763             "Votes"
8764           ]
8765         },
8766         "MongoUpgradeResults": {
8767           "type": "object",
8768           "properties": {
8769             "ha-members": {
8770               "type": "array",
8771               "items": {
8772                 "$ref": "#/definitions/HAMember"
8773               }
8774             },
8775             "master": {
8776               "$ref": "#/definitions/HAMember"
8777             },
8778             "rs-members": {
8779               "type": "array",
8780               "items": {
8781                 "$ref": "#/definitions/Member"
8782               }
8783             }
8784           },
8785           "additionalProperties": false,
8786           "required": [
8787             "rs-members",
8788             "master",
8789             "ha-members"
8790           ]
8791         },
8792         "MongoVersion": {
8793           "type": "object",
8794           "properties": {
8795             "engine": {
8796               "type": "string"
8797             },
8798             "major": {
8799               "type": "integer"
8800             },
8801             "minor": {
8802               "type": "integer"
8803             },
8804             "patch": {
8805               "type": "string"
8806             }
8807           },
8808           "additionalProperties": false,
8809           "required": [
8810             "major",
8811             "minor",
8812             "patch",
8813             "engine"
8814           ]
8815         },
8816         "ResumeReplicationParams": {
8817           "type": "object",
8818           "properties": {
8819             "members": {
8820               "type": "array",
8821               "items": {
8822                 "$ref": "#/definitions/Member"
8823               }
8824             }
8825           },
8826           "additionalProperties": false,
8827           "required": [
8828             "members"
8829           ]
8830         },
8831         "UpgradeMongoParams": {
8832           "type": "object",
8833           "properties": {
8834             "target": {
8835               "$ref": "#/definitions/MongoVersion"
8836             }
8837           },
8838           "additionalProperties": false,
8839           "required": [
8840             "target"
8841           ]
8842         },
8843         "Value": {
8844           "type": "object",
8845           "properties": {
8846             "arch": {
8847               "type": "string"
8848             },
8849             "container": {
8850               "type": "string"
8851             },
8852             "cores": {
8853               "type": "integer"
8854             },
8855             "cpu-power": {
8856               "type": "integer"
8857             },
8858             "instance-type": {
8859               "type": "string"
8860             },
8861             "mem": {
8862               "type": "integer"
8863             },
8864             "root-disk": {
8865               "type": "integer"
8866             },
8867             "spaces": {
8868               "type": "array",
8869               "items": {
8870                 "type": "string"
8871               }
8872             },
8873             "tags": {
8874               "type": "array",
8875               "items": {
8876                 "type": "string"
8877               }
8878             },
8879             "virt-type": {
8880               "type": "string"
8881             }
8882           },
8883           "additionalProperties": false
8884         }
8885       }
8886     }
8887   },
8888   {
8889     "Name": "HostKeyReporter",
8890     "Version": 1,
8891     "Schema": {
8892       "type": "object",
8893       "properties": {
8894         "ReportKeys": {
8895           "type": "object",
8896           "properties": {
8897             "Params": {
8898               "$ref": "#/definitions/SSHHostKeySet"
8899             },
8900             "Result": {
8901               "$ref": "#/definitions/ErrorResults"
8902             }
8903           }
8904         }
8905       },
8906       "definitions": {
8907         "Error": {
8908           "type": "object",
8909           "properties": {
8910             "code": {
8911               "type": "string"
8912             },
8913             "info": {
8914               "$ref": "#/definitions/ErrorInfo"
8915             },
8916             "message": {
8917               "type": "string"
8918             }
8919           },
8920           "additionalProperties": false,
8921           "required": [
8922             "message",
8923             "code"
8924           ]
8925         },
8926         "ErrorInfo": {
8927           "type": "object",
8928           "properties": {
8929             "macaroon": {
8930               "$ref": "#/definitions/Macaroon"
8931             },
8932             "macaroon-path": {
8933               "type": "string"
8934             }
8935           },
8936           "additionalProperties": false
8937         },
8938         "ErrorResult": {
8939           "type": "object",
8940           "properties": {
8941             "error": {
8942               "$ref": "#/definitions/Error"
8943             }
8944           },
8945           "additionalProperties": false
8946         },
8947         "ErrorResults": {
8948           "type": "object",
8949           "properties": {
8950             "results": {
8951               "type": "array",
8952               "items": {
8953                 "$ref": "#/definitions/ErrorResult"
8954               }
8955             }
8956           },
8957           "additionalProperties": false,
8958           "required": [
8959             "results"
8960           ]
8961         },
8962         "Macaroon": {
8963           "type": "object",
8964           "additionalProperties": false
8965         },
8966         "SSHHostKeySet": {
8967           "type": "object",
8968           "properties": {
8969             "entity-keys": {
8970               "type": "array",
8971               "items": {
8972                 "$ref": "#/definitions/SSHHostKeys"
8973               }
8974             }
8975           },
8976           "additionalProperties": false,
8977           "required": [
8978             "entity-keys"
8979           ]
8980         },
8981         "SSHHostKeys": {
8982           "type": "object",
8983           "properties": {
8984             "public-keys": {
8985               "type": "array",
8986               "items": {
8987                 "type": "string"
8988               }
8989             },
8990             "tag": {
8991               "type": "string"
8992             }
8993           },
8994           "additionalProperties": false,
8995           "required": [
8996             "tag",
8997             "public-keys"
8998           ]
8999         }
9000       }
9001     }
9002   },
9003   {
9004     "Name": "ImageManager",
9005     "Version": 2,
9006     "Schema": {
9007       "type": "object",
9008       "properties": {
9009         "DeleteImages": {
9010           "type": "object",
9011           "properties": {
9012             "Params": {
9013               "$ref": "#/definitions/ImageFilterParams"
9014             },
9015             "Result": {
9016               "$ref": "#/definitions/ErrorResults"
9017             }
9018           }
9019         },
9020         "ListImages": {
9021           "type": "object",
9022           "properties": {
9023             "Params": {
9024               "$ref": "#/definitions/ImageFilterParams"
9025             },
9026             "Result": {
9027               "$ref": "#/definitions/ListImageResult"
9028             }
9029           }
9030         }
9031       },
9032       "definitions": {
9033         "Error": {
9034           "type": "object",
9035           "properties": {
9036             "code": {
9037               "type": "string"
9038             },
9039             "info": {
9040               "$ref": "#/definitions/ErrorInfo"
9041             },
9042             "message": {
9043               "type": "string"
9044             }
9045           },
9046           "additionalProperties": false,
9047           "required": [
9048             "message",
9049             "code"
9050           ]
9051         },
9052         "ErrorInfo": {
9053           "type": "object",
9054           "properties": {
9055             "macaroon": {
9056               "$ref": "#/definitions/Macaroon"
9057             },
9058             "macaroon-path": {
9059               "type": "string"
9060             }
9061           },
9062           "additionalProperties": false
9063         },
9064         "ErrorResult": {
9065           "type": "object",
9066           "properties": {
9067             "error": {
9068               "$ref": "#/definitions/Error"
9069             }
9070           },
9071           "additionalProperties": false
9072         },
9073         "ErrorResults": {
9074           "type": "object",
9075           "properties": {
9076             "results": {
9077               "type": "array",
9078               "items": {
9079                 "$ref": "#/definitions/ErrorResult"
9080               }
9081             }
9082           },
9083           "additionalProperties": false,
9084           "required": [
9085             "results"
9086           ]
9087         },
9088         "ImageFilterParams": {
9089           "type": "object",
9090           "properties": {
9091             "images": {
9092               "type": "array",
9093               "items": {
9094                 "$ref": "#/definitions/ImageSpec"
9095               }
9096             }
9097           },
9098           "additionalProperties": false,
9099           "required": [
9100             "images"
9101           ]
9102         },
9103         "ImageMetadata": {
9104           "type": "object",
9105           "properties": {
9106             "arch": {
9107               "type": "string"
9108             },
9109             "created": {
9110               "type": "string",
9111               "format": "date-time"
9112             },
9113             "kind": {
9114               "type": "string"
9115             },
9116             "series": {
9117               "type": "string"
9118             },
9119             "url": {
9120               "type": "string"
9121             }
9122           },
9123           "additionalProperties": false,
9124           "required": [
9125             "kind",
9126             "arch",
9127             "series",
9128             "url",
9129             "created"
9130           ]
9131         },
9132         "ImageSpec": {
9133           "type": "object",
9134           "properties": {
9135             "arch": {
9136               "type": "string"
9137             },
9138             "kind": {
9139               "type": "string"
9140             },
9141             "series": {
9142               "type": "string"
9143             }
9144           },
9145           "additionalProperties": false,
9146           "required": [
9147             "kind",
9148             "arch",
9149             "series"
9150           ]
9151         },
9152         "ListImageResult": {
9153           "type": "object",
9154           "properties": {
9155             "result": {
9156               "type": "array",
9157               "items": {
9158                 "$ref": "#/definitions/ImageMetadata"
9159               }
9160             }
9161           },
9162           "additionalProperties": false,
9163           "required": [
9164             "result"
9165           ]
9166         },
9167         "Macaroon": {
9168           "type": "object",
9169           "additionalProperties": false
9170         }
9171       }
9172     }
9173   },
9174   {
9175     "Name": "ImageMetadata",
9176     "Version": 2,
9177     "Schema": {
9178       "type": "object",
9179       "properties": {
9180         "Delete": {
9181           "type": "object",
9182           "properties": {
9183             "Params": {
9184               "$ref": "#/definitions/MetadataImageIds"
9185             },
9186             "Result": {
9187               "$ref": "#/definitions/ErrorResults"
9188             }
9189           }
9190         },
9191         "List": {
9192           "type": "object",
9193           "properties": {
9194             "Params": {
9195               "$ref": "#/definitions/ImageMetadataFilter"
9196             },
9197             "Result": {
9198               "$ref": "#/definitions/ListCloudImageMetadataResult"
9199             }
9200           }
9201         },
9202         "Save": {
9203           "type": "object",
9204           "properties": {
9205             "Params": {
9206               "$ref": "#/definitions/MetadataSaveParams"
9207             },
9208             "Result": {
9209               "$ref": "#/definitions/ErrorResults"
9210             }
9211           }
9212         },
9213         "UpdateFromPublishedImages": {
9214           "type": "object"
9215         }
9216       },
9217       "definitions": {
9218         "CloudImageMetadata": {
9219           "type": "object",
9220           "properties": {
9221             "arch": {
9222               "type": "string"
9223             },
9224             "image-id": {
9225               "type": "string"
9226             },
9227             "priority": {
9228               "type": "integer"
9229             },
9230             "region": {
9231               "type": "string"
9232             },
9233             "root-storage-size": {
9234               "type": "integer"
9235             },
9236             "root-storage-type": {
9237               "type": "string"
9238             },
9239             "series": {
9240               "type": "string"
9241             },
9242             "source": {
9243               "type": "string"
9244             },
9245             "stream": {
9246               "type": "string"
9247             },
9248             "version": {
9249               "type": "string"
9250             },
9251             "virt-type": {
9252               "type": "string"
9253             }
9254           },
9255           "additionalProperties": false,
9256           "required": [
9257             "image-id",
9258             "region",
9259             "version",
9260             "series",
9261             "arch",
9262             "source",
9263             "priority"
9264           ]
9265         },
9266         "CloudImageMetadataList": {
9267           "type": "object",
9268           "properties": {
9269             "metadata": {
9270               "type": "array",
9271               "items": {
9272                 "$ref": "#/definitions/CloudImageMetadata"
9273               }
9274             }
9275           },
9276           "additionalProperties": false
9277         },
9278         "Error": {
9279           "type": "object",
9280           "properties": {
9281             "code": {
9282               "type": "string"
9283             },
9284             "info": {
9285               "$ref": "#/definitions/ErrorInfo"
9286             },
9287             "message": {
9288               "type": "string"
9289             }
9290           },
9291           "additionalProperties": false,
9292           "required": [
9293             "message",
9294             "code"
9295           ]
9296         },
9297         "ErrorInfo": {
9298           "type": "object",
9299           "properties": {
9300             "macaroon": {
9301               "$ref": "#/definitions/Macaroon"
9302             },
9303             "macaroon-path": {
9304               "type": "string"
9305             }
9306           },
9307           "additionalProperties": false
9308         },
9309         "ErrorResult": {
9310           "type": "object",
9311           "properties": {
9312             "error": {
9313               "$ref": "#/definitions/Error"
9314             }
9315           },
9316           "additionalProperties": false
9317         },
9318         "ErrorResults": {
9319           "type": "object",
9320           "properties": {
9321             "results": {
9322               "type": "array",
9323               "items": {
9324                 "$ref": "#/definitions/ErrorResult"
9325               }
9326             }
9327           },
9328           "additionalProperties": false,
9329           "required": [
9330             "results"
9331           ]
9332         },
9333         "ImageMetadataFilter": {
9334           "type": "object",
9335           "properties": {
9336             "arches": {
9337               "type": "array",
9338               "items": {
9339                 "type": "string"
9340               }
9341             },
9342             "region": {
9343               "type": "string"
9344             },
9345             "root-storage-type": {
9346               "type": "string"
9347             },
9348             "series": {
9349               "type": "array",
9350               "items": {
9351                 "type": "string"
9352               }
9353             },
9354             "stream": {
9355               "type": "string"
9356             },
9357             "virt-type": {
9358               "type": "string"
9359             }
9360           },
9361           "additionalProperties": false
9362         },
9363         "ListCloudImageMetadataResult": {
9364           "type": "object",
9365           "properties": {
9366             "result": {
9367               "type": "array",
9368               "items": {
9369                 "$ref": "#/definitions/CloudImageMetadata"
9370               }
9371             }
9372           },
9373           "additionalProperties": false,
9374           "required": [
9375             "result"
9376           ]
9377         },
9378         "Macaroon": {
9379           "type": "object",
9380           "additionalProperties": false
9381         },
9382         "MetadataImageIds": {
9383           "type": "object",
9384           "properties": {
9385             "image-ids": {
9386               "type": "array",
9387               "items": {
9388                 "type": "string"
9389               }
9390             }
9391           },
9392           "additionalProperties": false,
9393           "required": [
9394             "image-ids"
9395           ]
9396         },
9397         "MetadataSaveParams": {
9398           "type": "object",
9399           "properties": {
9400             "metadata": {
9401               "type": "array",
9402               "items": {
9403                 "$ref": "#/definitions/CloudImageMetadataList"
9404               }
9405             }
9406           },
9407           "additionalProperties": false
9408         }
9409       }
9410     }
9411   },
9412   {
9413     "Name": "InstancePoller",
9414     "Version": 3,
9415     "Schema": {
9416       "type": "object",
9417       "properties": {
9418         "AreManuallyProvisioned": {
9419           "type": "object",
9420           "properties": {
9421             "Params": {
9422               "$ref": "#/definitions/Entities"
9423             },
9424             "Result": {
9425               "$ref": "#/definitions/BoolResults"
9426             }
9427           }
9428         },
9429         "InstanceId": {
9430           "type": "object",
9431           "properties": {
9432             "Params": {
9433               "$ref": "#/definitions/Entities"
9434             },
9435             "Result": {
9436               "$ref": "#/definitions/StringResults"
9437             }
9438           }
9439         },
9440         "InstanceStatus": {
9441           "type": "object",
9442           "properties": {
9443             "Params": {
9444               "$ref": "#/definitions/Entities"
9445             },
9446             "Result": {
9447               "$ref": "#/definitions/StatusResults"
9448             }
9449           }
9450         },
9451         "Life": {
9452           "type": "object",
9453           "properties": {
9454             "Params": {
9455               "$ref": "#/definitions/Entities"
9456             },
9457             "Result": {
9458               "$ref": "#/definitions/LifeResults"
9459             }
9460           }
9461         },
9462         "ModelConfig": {
9463           "type": "object",
9464           "properties": {
9465             "Result": {
9466               "$ref": "#/definitions/ModelConfigResult"
9467             }
9468           }
9469         },
9470         "ProviderAddresses": {
9471           "type": "object",
9472           "properties": {
9473             "Params": {
9474               "$ref": "#/definitions/Entities"
9475             },
9476             "Result": {
9477               "$ref": "#/definitions/MachineAddressesResults"
9478             }
9479           }
9480         },
9481         "SetInstanceStatus": {
9482           "type": "object",
9483           "properties": {
9484             "Params": {
9485               "$ref": "#/definitions/SetStatus"
9486             },
9487             "Result": {
9488               "$ref": "#/definitions/ErrorResults"
9489             }
9490           }
9491         },
9492         "SetProviderAddresses": {
9493           "type": "object",
9494           "properties": {
9495             "Params": {
9496               "$ref": "#/definitions/SetMachinesAddresses"
9497             },
9498             "Result": {
9499               "$ref": "#/definitions/ErrorResults"
9500             }
9501           }
9502         },
9503         "Status": {
9504           "type": "object",
9505           "properties": {
9506             "Params": {
9507               "$ref": "#/definitions/Entities"
9508             },
9509             "Result": {
9510               "$ref": "#/definitions/StatusResults"
9511             }
9512           }
9513         },
9514         "WatchForModelConfigChanges": {
9515           "type": "object",
9516           "properties": {
9517             "Result": {
9518               "$ref": "#/definitions/NotifyWatchResult"
9519             }
9520           }
9521         },
9522         "WatchModelMachines": {
9523           "type": "object",
9524           "properties": {
9525             "Result": {
9526               "$ref": "#/definitions/StringsWatchResult"
9527             }
9528           }
9529         }
9530       },
9531       "definitions": {
9532         "Address": {
9533           "type": "object",
9534           "properties": {
9535             "scope": {
9536               "type": "string"
9537             },
9538             "space-name": {
9539               "type": "string"
9540             },
9541             "type": {
9542               "type": "string"
9543             },
9544             "value": {
9545               "type": "string"
9546             }
9547           },
9548           "additionalProperties": false,
9549           "required": [
9550             "value",
9551             "type",
9552             "scope"
9553           ]
9554         },
9555         "BoolResult": {
9556           "type": "object",
9557           "properties": {
9558             "error": {
9559               "$ref": "#/definitions/Error"
9560             },
9561             "result": {
9562               "type": "boolean"
9563             }
9564           },
9565           "additionalProperties": false,
9566           "required": [
9567             "result"
9568           ]
9569         },
9570         "BoolResults": {
9571           "type": "object",
9572           "properties": {
9573             "results": {
9574               "type": "array",
9575               "items": {
9576                 "$ref": "#/definitions/BoolResult"
9577               }
9578             }
9579           },
9580           "additionalProperties": false,
9581           "required": [
9582             "results"
9583           ]
9584         },
9585         "Entities": {
9586           "type": "object",
9587           "properties": {
9588             "entities": {
9589               "type": "array",
9590               "items": {
9591                 "$ref": "#/definitions/Entity"
9592               }
9593             }
9594           },
9595           "additionalProperties": false,
9596           "required": [
9597             "entities"
9598           ]
9599         },
9600         "Entity": {
9601           "type": "object",
9602           "properties": {
9603             "tag": {
9604               "type": "string"
9605             }
9606           },
9607           "additionalProperties": false,
9608           "required": [
9609             "tag"
9610           ]
9611         },
9612         "EntityStatusArgs": {
9613           "type": "object",
9614           "properties": {
9615             "data": {
9616               "type": "object",
9617               "patternProperties": {
9618                 ".*": {
9619                   "type": "object",
9620                   "additionalProperties": true
9621                 }
9622               }
9623             },
9624             "info": {
9625               "type": "string"
9626             },
9627             "status": {
9628               "type": "string"
9629             },
9630             "tag": {
9631               "type": "string"
9632             }
9633           },
9634           "additionalProperties": false,
9635           "required": [
9636             "tag",
9637             "status",
9638             "info",
9639             "data"
9640           ]
9641         },
9642         "Error": {
9643           "type": "object",
9644           "properties": {
9645             "code": {
9646               "type": "string"
9647             },
9648             "info": {
9649               "$ref": "#/definitions/ErrorInfo"
9650             },
9651             "message": {
9652               "type": "string"
9653             }
9654           },
9655           "additionalProperties": false,
9656           "required": [
9657             "message",
9658             "code"
9659           ]
9660         },
9661         "ErrorInfo": {
9662           "type": "object",
9663           "properties": {
9664             "macaroon": {
9665               "$ref": "#/definitions/Macaroon"
9666             },
9667             "macaroon-path": {
9668               "type": "string"
9669             }
9670           },
9671           "additionalProperties": false
9672         },
9673         "ErrorResult": {
9674           "type": "object",
9675           "properties": {
9676             "error": {
9677               "$ref": "#/definitions/Error"
9678             }
9679           },
9680           "additionalProperties": false
9681         },
9682         "ErrorResults": {
9683           "type": "object",
9684           "properties": {
9685             "results": {
9686               "type": "array",
9687               "items": {
9688                 "$ref": "#/definitions/ErrorResult"
9689               }
9690             }
9691           },
9692           "additionalProperties": false,
9693           "required": [
9694             "results"
9695           ]
9696         },
9697         "LifeResult": {
9698           "type": "object",
9699           "properties": {
9700             "error": {
9701               "$ref": "#/definitions/Error"
9702             },
9703             "life": {
9704               "type": "string"
9705             }
9706           },
9707           "additionalProperties": false,
9708           "required": [
9709             "life"
9710           ]
9711         },
9712         "LifeResults": {
9713           "type": "object",
9714           "properties": {
9715             "results": {
9716               "type": "array",
9717               "items": {
9718                 "$ref": "#/definitions/LifeResult"
9719               }
9720             }
9721           },
9722           "additionalProperties": false,
9723           "required": [
9724             "results"
9725           ]
9726         },
9727         "Macaroon": {
9728           "type": "object",
9729           "additionalProperties": false
9730         },
9731         "MachineAddresses": {
9732           "type": "object",
9733           "properties": {
9734             "addresses": {
9735               "type": "array",
9736               "items": {
9737                 "$ref": "#/definitions/Address"
9738               }
9739             },
9740             "tag": {
9741               "type": "string"
9742             }
9743           },
9744           "additionalProperties": false,
9745           "required": [
9746             "tag",
9747             "addresses"
9748           ]
9749         },
9750         "MachineAddressesResult": {
9751           "type": "object",
9752           "properties": {
9753             "addresses": {
9754               "type": "array",
9755               "items": {
9756                 "$ref": "#/definitions/Address"
9757               }
9758             },
9759             "error": {
9760               "$ref": "#/definitions/Error"
9761             }
9762           },
9763           "additionalProperties": false,
9764           "required": [
9765             "addresses"
9766           ]
9767         },
9768         "MachineAddressesResults": {
9769           "type": "object",
9770           "properties": {
9771             "results": {
9772               "type": "array",
9773               "items": {
9774                 "$ref": "#/definitions/MachineAddressesResult"
9775               }
9776             }
9777           },
9778           "additionalProperties": false,
9779           "required": [
9780             "results"
9781           ]
9782         },
9783         "ModelConfigResult": {
9784           "type": "object",
9785           "properties": {
9786             "config": {
9787               "type": "object",
9788               "patternProperties": {
9789                 ".*": {
9790                   "type": "object",
9791                   "additionalProperties": true
9792                 }
9793               }
9794             }
9795           },
9796           "additionalProperties": false,
9797           "required": [
9798             "config"
9799           ]
9800         },
9801         "NotifyWatchResult": {
9802           "type": "object",
9803           "properties": {
9804             "NotifyWatcherId": {
9805               "type": "string"
9806             },
9807             "error": {
9808               "$ref": "#/definitions/Error"
9809             }
9810           },
9811           "additionalProperties": false,
9812           "required": [
9813             "NotifyWatcherId"
9814           ]
9815         },
9816         "SetMachinesAddresses": {
9817           "type": "object",
9818           "properties": {
9819             "machine-addresses": {
9820               "type": "array",
9821               "items": {
9822                 "$ref": "#/definitions/MachineAddresses"
9823               }
9824             }
9825           },
9826           "additionalProperties": false,
9827           "required": [
9828             "machine-addresses"
9829           ]
9830         },
9831         "SetStatus": {
9832           "type": "object",
9833           "properties": {
9834             "entities": {
9835               "type": "array",
9836               "items": {
9837                 "$ref": "#/definitions/EntityStatusArgs"
9838               }
9839             }
9840           },
9841           "additionalProperties": false,
9842           "required": [
9843             "entities"
9844           ]
9845         },
9846         "StatusResult": {
9847           "type": "object",
9848           "properties": {
9849             "data": {
9850               "type": "object",
9851               "patternProperties": {
9852                 ".*": {
9853                   "type": "object",
9854                   "additionalProperties": true
9855                 }
9856               }
9857             },
9858             "error": {
9859               "$ref": "#/definitions/Error"
9860             },
9861             "id": {
9862               "type": "string"
9863             },
9864             "info": {
9865               "type": "string"
9866             },
9867             "life": {
9868               "type": "string"
9869             },
9870             "since": {
9871               "type": "string",
9872               "format": "date-time"
9873             },
9874             "status": {
9875               "type": "string"
9876             }
9877           },
9878           "additionalProperties": false,
9879           "required": [
9880             "id",
9881             "life",
9882             "status",
9883             "info",
9884             "data",
9885             "since"
9886           ]
9887         },
9888         "StatusResults": {
9889           "type": "object",
9890           "properties": {
9891             "results": {
9892               "type": "array",
9893               "items": {
9894                 "$ref": "#/definitions/StatusResult"
9895               }
9896             }
9897           },
9898           "additionalProperties": false,
9899           "required": [
9900             "results"
9901           ]
9902         },
9903         "StringResult": {
9904           "type": "object",
9905           "properties": {
9906             "error": {
9907               "$ref": "#/definitions/Error"
9908             },
9909             "result": {
9910               "type": "string"
9911             }
9912           },
9913           "additionalProperties": false,
9914           "required": [
9915             "result"
9916           ]
9917         },
9918         "StringResults": {
9919           "type": "object",
9920           "properties": {
9921             "results": {
9922               "type": "array",
9923               "items": {
9924                 "$ref": "#/definitions/StringResult"
9925               }
9926             }
9927           },
9928           "additionalProperties": false,
9929           "required": [
9930             "results"
9931           ]
9932         },
9933         "StringsWatchResult": {
9934           "type": "object",
9935           "properties": {
9936             "changes": {
9937               "type": "array",
9938               "items": {
9939                 "type": "string"
9940               }
9941             },
9942             "error": {
9943               "$ref": "#/definitions/Error"
9944             },
9945             "watcher-id": {
9946               "type": "string"
9947             }
9948           },
9949           "additionalProperties": false,
9950           "required": [
9951             "watcher-id"
9952           ]
9953         }
9954       }
9955     }
9956   },
9957   {
9958     "Name": "KeyManager",
9959     "Version": 1,
9960     "Schema": {
9961       "type": "object",
9962       "properties": {
9963         "AddKeys": {
9964           "type": "object",
9965           "properties": {
9966             "Params": {
9967               "$ref": "#/definitions/ModifyUserSSHKeys"
9968             },
9969             "Result": {
9970               "$ref": "#/definitions/ErrorResults"
9971             }
9972           }
9973         },
9974         "DeleteKeys": {
9975           "type": "object",
9976           "properties": {
9977             "Params": {
9978               "$ref": "#/definitions/ModifyUserSSHKeys"
9979             },
9980             "Result": {
9981               "$ref": "#/definitions/ErrorResults"
9982             }
9983           }
9984         },
9985         "ImportKeys": {
9986           "type": "object",
9987           "properties": {
9988             "Params": {
9989               "$ref": "#/definitions/ModifyUserSSHKeys"
9990             },
9991             "Result": {
9992               "$ref": "#/definitions/ErrorResults"
9993             }
9994           }
9995         },
9996         "ListKeys": {
9997           "type": "object",
9998           "properties": {
9999             "Params": {
10000               "$ref": "#/definitions/ListSSHKeys"
10001             },
10002             "Result": {
10003               "$ref": "#/definitions/StringsResults"
10004             }
10005           }
10006         }
10007       },
10008       "definitions": {
10009         "Entities": {
10010           "type": "object",
10011           "properties": {
10012             "entities": {
10013               "type": "array",
10014               "items": {
10015                 "$ref": "#/definitions/Entity"
10016               }
10017             }
10018           },
10019           "additionalProperties": false,
10020           "required": [
10021             "entities"
10022           ]
10023         },
10024         "Entity": {
10025           "type": "object",
10026           "properties": {
10027             "tag": {
10028               "type": "string"
10029             }
10030           },
10031           "additionalProperties": false,
10032           "required": [
10033             "tag"
10034           ]
10035         },
10036         "Error": {
10037           "type": "object",
10038           "properties": {
10039             "code": {
10040               "type": "string"
10041             },
10042             "info": {
10043               "$ref": "#/definitions/ErrorInfo"
10044             },
10045             "message": {
10046               "type": "string"
10047             }
10048           },
10049           "additionalProperties": false,
10050           "required": [
10051             "message",
10052             "code"
10053           ]
10054         },
10055         "ErrorInfo": {
10056           "type": "object",
10057           "properties": {
10058             "macaroon": {
10059               "$ref": "#/definitions/Macaroon"
10060             },
10061             "macaroon-path": {
10062               "type": "string"
10063             }
10064           },
10065           "additionalProperties": false
10066         },
10067         "ErrorResult": {
10068           "type": "object",
10069           "properties": {
10070             "error": {
10071               "$ref": "#/definitions/Error"
10072             }
10073           },
10074           "additionalProperties": false
10075         },
10076         "ErrorResults": {
10077           "type": "object",
10078           "properties": {
10079             "results": {
10080               "type": "array",
10081               "items": {
10082                 "$ref": "#/definitions/ErrorResult"
10083               }
10084             }
10085           },
10086           "additionalProperties": false,
10087           "required": [
10088             "results"
10089           ]
10090         },
10091         "ListSSHKeys": {
10092           "type": "object",
10093           "properties": {
10094             "entities": {
10095               "$ref": "#/definitions/Entities"
10096             },
10097             "mode": {
10098               "type": "boolean"
10099             }
10100           },
10101           "additionalProperties": false,
10102           "required": [
10103             "entities",
10104             "mode"
10105           ]
10106         },
10107         "Macaroon": {
10108           "type": "object",
10109           "additionalProperties": false
10110         },
10111         "ModifyUserSSHKeys": {
10112           "type": "object",
10113           "properties": {
10114             "ssh-keys": {
10115               "type": "array",
10116               "items": {
10117                 "type": "string"
10118               }
10119             },
10120             "user": {
10121               "type": "string"
10122             }
10123           },
10124           "additionalProperties": false,
10125           "required": [
10126             "user",
10127             "ssh-keys"
10128           ]
10129         },
10130         "StringsResult": {
10131           "type": "object",
10132           "properties": {
10133             "error": {
10134               "$ref": "#/definitions/Error"
10135             },
10136             "result": {
10137               "type": "array",
10138               "items": {
10139                 "type": "string"
10140               }
10141             }
10142           },
10143           "additionalProperties": false
10144         },
10145         "StringsResults": {
10146           "type": "object",
10147           "properties": {
10148             "results": {
10149               "type": "array",
10150               "items": {
10151                 "$ref": "#/definitions/StringsResult"
10152               }
10153             }
10154           },
10155           "additionalProperties": false,
10156           "required": [
10157             "results"
10158           ]
10159         }
10160       }
10161     }
10162   },
10163   {
10164     "Name": "KeyUpdater",
10165     "Version": 1,
10166     "Schema": {
10167       "type": "object",
10168       "properties": {
10169         "AuthorisedKeys": {
10170           "type": "object",
10171           "properties": {
10172             "Params": {
10173               "$ref": "#/definitions/Entities"
10174             },
10175             "Result": {
10176               "$ref": "#/definitions/StringsResults"
10177             }
10178           }
10179         },
10180         "WatchAuthorisedKeys": {
10181           "type": "object",
10182           "properties": {
10183             "Params": {
10184               "$ref": "#/definitions/Entities"
10185             },
10186             "Result": {
10187               "$ref": "#/definitions/NotifyWatchResults"
10188             }
10189           }
10190         }
10191       },
10192       "definitions": {
10193         "Entities": {
10194           "type": "object",
10195           "properties": {
10196             "entities": {
10197               "type": "array",
10198               "items": {
10199                 "$ref": "#/definitions/Entity"
10200               }
10201             }
10202           },
10203           "additionalProperties": false,
10204           "required": [
10205             "entities"
10206           ]
10207         },
10208         "Entity": {
10209           "type": "object",
10210           "properties": {
10211             "tag": {
10212               "type": "string"
10213             }
10214           },
10215           "additionalProperties": false,
10216           "required": [
10217             "tag"
10218           ]
10219         },
10220         "Error": {
10221           "type": "object",
10222           "properties": {
10223             "code": {
10224               "type": "string"
10225             },
10226             "info": {
10227               "$ref": "#/definitions/ErrorInfo"
10228             },
10229             "message": {
10230               "type": "string"
10231             }
10232           },
10233           "additionalProperties": false,
10234           "required": [
10235             "message",
10236             "code"
10237           ]
10238         },
10239         "ErrorInfo": {
10240           "type": "object",
10241           "properties": {
10242             "macaroon": {
10243               "$ref": "#/definitions/Macaroon"
10244             },
10245             "macaroon-path": {
10246               "type": "string"
10247             }
10248           },
10249           "additionalProperties": false
10250         },
10251         "Macaroon": {
10252           "type": "object",
10253           "additionalProperties": false
10254         },
10255         "NotifyWatchResult": {
10256           "type": "object",
10257           "properties": {
10258             "NotifyWatcherId": {
10259               "type": "string"
10260             },
10261             "error": {
10262               "$ref": "#/definitions/Error"
10263             }
10264           },
10265           "additionalProperties": false,
10266           "required": [
10267             "NotifyWatcherId"
10268           ]
10269         },
10270         "NotifyWatchResults": {
10271           "type": "object",
10272           "properties": {
10273             "results": {
10274               "type": "array",
10275               "items": {
10276                 "$ref": "#/definitions/NotifyWatchResult"
10277               }
10278             }
10279           },
10280           "additionalProperties": false,
10281           "required": [
10282             "results"
10283           ]
10284         },
10285         "StringsResult": {
10286           "type": "object",
10287           "properties": {
10288             "error": {
10289               "$ref": "#/definitions/Error"
10290             },
10291             "result": {
10292               "type": "array",
10293               "items": {
10294                 "type": "string"
10295               }
10296             }
10297           },
10298           "additionalProperties": false
10299         },
10300         "StringsResults": {
10301           "type": "object",
10302           "properties": {
10303             "results": {
10304               "type": "array",
10305               "items": {
10306                 "$ref": "#/definitions/StringsResult"
10307               }
10308             }
10309           },
10310           "additionalProperties": false,
10311           "required": [
10312             "results"
10313           ]
10314         }
10315       }
10316     }
10317   },
10318   {
10319     "Name": "LeadershipService",
10320     "Version": 2,
10321     "Schema": {
10322       "type": "object",
10323       "properties": {
10324         "BlockUntilLeadershipReleased": {
10325           "type": "object",
10326           "properties": {
10327             "Params": {
10328               "$ref": "#/definitions/ApplicationTag"
10329             },
10330             "Result": {
10331               "$ref": "#/definitions/ErrorResult"
10332             }
10333           }
10334         },
10335         "ClaimLeadership": {
10336           "type": "object",
10337           "properties": {
10338             "Params": {
10339               "$ref": "#/definitions/ClaimLeadershipBulkParams"
10340             },
10341             "Result": {
10342               "$ref": "#/definitions/ClaimLeadershipBulkResults"
10343             }
10344           }
10345         }
10346       },
10347       "definitions": {
10348         "ApplicationTag": {
10349           "type": "object",
10350           "properties": {
10351             "Name": {
10352               "type": "string"
10353             }
10354           },
10355           "additionalProperties": false,
10356           "required": [
10357             "Name"
10358           ]
10359         },
10360         "ClaimLeadershipBulkParams": {
10361           "type": "object",
10362           "properties": {
10363             "params": {
10364               "type": "array",
10365               "items": {
10366                 "$ref": "#/definitions/ClaimLeadershipParams"
10367               }
10368             }
10369           },
10370           "additionalProperties": false,
10371           "required": [
10372             "params"
10373           ]
10374         },
10375         "ClaimLeadershipBulkResults": {
10376           "type": "object",
10377           "properties": {
10378             "results": {
10379               "type": "array",
10380               "items": {
10381                 "$ref": "#/definitions/ErrorResult"
10382               }
10383             }
10384           },
10385           "additionalProperties": false,
10386           "required": [
10387             "results"
10388           ]
10389         },
10390         "ClaimLeadershipParams": {
10391           "type": "object",
10392           "properties": {
10393             "application-tag": {
10394               "type": "string"
10395             },
10396             "duration": {
10397               "type": "number"
10398             },
10399             "unit-tag": {
10400               "type": "string"
10401             }
10402           },
10403           "additionalProperties": false,
10404           "required": [
10405             "application-tag",
10406             "unit-tag",
10407             "duration"
10408           ]
10409         },
10410         "Error": {
10411           "type": "object",
10412           "properties": {
10413             "code": {
10414               "type": "string"
10415             },
10416             "info": {
10417               "$ref": "#/definitions/ErrorInfo"
10418             },
10419             "message": {
10420               "type": "string"
10421             }
10422           },
10423           "additionalProperties": false,
10424           "required": [
10425             "message",
10426             "code"
10427           ]
10428         },
10429         "ErrorInfo": {
10430           "type": "object",
10431           "properties": {
10432             "macaroon": {
10433               "$ref": "#/definitions/Macaroon"
10434             },
10435             "macaroon-path": {
10436               "type": "string"
10437             }
10438           },
10439           "additionalProperties": false
10440         },
10441         "ErrorResult": {
10442           "type": "object",
10443           "properties": {
10444             "error": {
10445               "$ref": "#/definitions/Error"
10446             }
10447           },
10448           "additionalProperties": false
10449         },
10450         "Macaroon": {
10451           "type": "object",
10452           "additionalProperties": false
10453         }
10454       }
10455     }
10456   },
10457   {
10458     "Name": "LifeFlag",
10459     "Version": 1,
10460     "Schema": {
10461       "type": "object",
10462       "properties": {
10463         "Life": {
10464           "type": "object",
10465           "properties": {
10466             "Params": {
10467               "$ref": "#/definitions/Entities"
10468             },
10469             "Result": {
10470               "$ref": "#/definitions/LifeResults"
10471             }
10472           }
10473         },
10474         "Watch": {
10475           "type": "object",
10476           "properties": {
10477             "Params": {
10478               "$ref": "#/definitions/Entities"
10479             },
10480             "Result": {
10481               "$ref": "#/definitions/NotifyWatchResults"
10482             }
10483           }
10484         }
10485       },
10486       "definitions": {
10487         "Entities": {
10488           "type": "object",
10489           "properties": {
10490             "entities": {
10491               "type": "array",
10492               "items": {
10493                 "$ref": "#/definitions/Entity"
10494               }
10495             }
10496           },
10497           "additionalProperties": false,
10498           "required": [
10499             "entities"
10500           ]
10501         },
10502         "Entity": {
10503           "type": "object",
10504           "properties": {
10505             "tag": {
10506               "type": "string"
10507             }
10508           },
10509           "additionalProperties": false,
10510           "required": [
10511             "tag"
10512           ]
10513         },
10514         "Error": {
10515           "type": "object",
10516           "properties": {
10517             "code": {
10518               "type": "string"
10519             },
10520             "info": {
10521               "$ref": "#/definitions/ErrorInfo"
10522             },
10523             "message": {
10524               "type": "string"
10525             }
10526           },
10527           "additionalProperties": false,
10528           "required": [
10529             "message",
10530             "code"
10531           ]
10532         },
10533         "ErrorInfo": {
10534           "type": "object",
10535           "properties": {
10536             "macaroon": {
10537               "$ref": "#/definitions/Macaroon"
10538             },
10539             "macaroon-path": {
10540               "type": "string"
10541             }
10542           },
10543           "additionalProperties": false
10544         },
10545         "LifeResult": {
10546           "type": "object",
10547           "properties": {
10548             "error": {
10549               "$ref": "#/definitions/Error"
10550             },
10551             "life": {
10552               "type": "string"
10553             }
10554           },
10555           "additionalProperties": false,
10556           "required": [
10557             "life"
10558           ]
10559         },
10560         "LifeResults": {
10561           "type": "object",
10562           "properties": {
10563             "results": {
10564               "type": "array",
10565               "items": {
10566                 "$ref": "#/definitions/LifeResult"
10567               }
10568             }
10569           },
10570           "additionalProperties": false,
10571           "required": [
10572             "results"
10573           ]
10574         },
10575         "Macaroon": {
10576           "type": "object",
10577           "additionalProperties": false
10578         },
10579         "NotifyWatchResult": {
10580           "type": "object",
10581           "properties": {
10582             "NotifyWatcherId": {
10583               "type": "string"
10584             },
10585             "error": {
10586               "$ref": "#/definitions/Error"
10587             }
10588           },
10589           "additionalProperties": false,
10590           "required": [
10591             "NotifyWatcherId"
10592           ]
10593         },
10594         "NotifyWatchResults": {
10595           "type": "object",
10596           "properties": {
10597             "results": {
10598               "type": "array",
10599               "items": {
10600                 "$ref": "#/definitions/NotifyWatchResult"
10601               }
10602             }
10603           },
10604           "additionalProperties": false,
10605           "required": [
10606             "results"
10607           ]
10608         }
10609       }
10610     }
10611   },
10612   {
10613     "Name": "LogForwarding",
10614     "Version": 1,
10615     "Schema": {
10616       "type": "object",
10617       "properties": {
10618         "GetLastSent": {
10619           "type": "object",
10620           "properties": {
10621             "Params": {
10622               "$ref": "#/definitions/LogForwardingGetLastSentParams"
10623             },
10624             "Result": {
10625               "$ref": "#/definitions/LogForwardingGetLastSentResults"
10626             }
10627           }
10628         },
10629         "SetLastSent": {
10630           "type": "object",
10631           "properties": {
10632             "Params": {
10633               "$ref": "#/definitions/LogForwardingSetLastSentParams"
10634             },
10635             "Result": {
10636               "$ref": "#/definitions/ErrorResults"
10637             }
10638           }
10639         }
10640       },
10641       "definitions": {
10642         "Error": {
10643           "type": "object",
10644           "properties": {
10645             "code": {
10646               "type": "string"
10647             },
10648             "info": {
10649               "$ref": "#/definitions/ErrorInfo"
10650             },
10651             "message": {
10652               "type": "string"
10653             }
10654           },
10655           "additionalProperties": false,
10656           "required": [
10657             "message",
10658             "code"
10659           ]
10660         },
10661         "ErrorInfo": {
10662           "type": "object",
10663           "properties": {
10664             "macaroon": {
10665               "$ref": "#/definitions/Macaroon"
10666             },
10667             "macaroon-path": {
10668               "type": "string"
10669             }
10670           },
10671           "additionalProperties": false
10672         },
10673         "ErrorResult": {
10674           "type": "object",
10675           "properties": {
10676             "error": {
10677               "$ref": "#/definitions/Error"
10678             }
10679           },
10680           "additionalProperties": false
10681         },
10682         "ErrorResults": {
10683           "type": "object",
10684           "properties": {
10685             "results": {
10686               "type": "array",
10687               "items": {
10688                 "$ref": "#/definitions/ErrorResult"
10689               }
10690             }
10691           },
10692           "additionalProperties": false,
10693           "required": [
10694             "results"
10695           ]
10696         },
10697         "LogForwardingGetLastSentParams": {
10698           "type": "object",
10699           "properties": {
10700             "ids": {
10701               "type": "array",
10702               "items": {
10703                 "$ref": "#/definitions/LogForwardingID"
10704               }
10705             }
10706           },
10707           "additionalProperties": false,
10708           "required": [
10709             "ids"
10710           ]
10711         },
10712         "LogForwardingGetLastSentResult": {
10713           "type": "object",
10714           "properties": {
10715             "err": {
10716               "$ref": "#/definitions/Error"
10717             },
10718             "record-id": {
10719               "type": "integer"
10720             },
10721             "record-timestamp": {
10722               "type": "integer"
10723             }
10724           },
10725           "additionalProperties": false,
10726           "required": [
10727             "record-id",
10728             "record-timestamp",
10729             "err"
10730           ]
10731         },
10732         "LogForwardingGetLastSentResults": {
10733           "type": "object",
10734           "properties": {
10735             "results": {
10736               "type": "array",
10737               "items": {
10738                 "$ref": "#/definitions/LogForwardingGetLastSentResult"
10739               }
10740             }
10741           },
10742           "additionalProperties": false,
10743           "required": [
10744             "results"
10745           ]
10746         },
10747         "LogForwardingID": {
10748           "type": "object",
10749           "properties": {
10750             "model": {
10751               "type": "string"
10752             },
10753             "sink": {
10754               "type": "string"
10755             }
10756           },
10757           "additionalProperties": false,
10758           "required": [
10759             "model",
10760             "sink"
10761           ]
10762         },
10763         "LogForwardingSetLastSentParam": {
10764           "type": "object",
10765           "properties": {
10766             "LogForwardingID": {
10767               "$ref": "#/definitions/LogForwardingID"
10768             },
10769             "record-id": {
10770               "type": "integer"
10771             },
10772             "record-timestamp": {
10773               "type": "integer"
10774             }
10775           },
10776           "additionalProperties": false,
10777           "required": [
10778             "LogForwardingID",
10779             "record-id",
10780             "record-timestamp"
10781           ]
10782         },
10783         "LogForwardingSetLastSentParams": {
10784           "type": "object",
10785           "properties": {
10786             "params": {
10787               "type": "array",
10788               "items": {
10789                 "$ref": "#/definitions/LogForwardingSetLastSentParam"
10790               }
10791             }
10792           },
10793           "additionalProperties": false,
10794           "required": [
10795             "params"
10796           ]
10797         },
10798         "Macaroon": {
10799           "type": "object",
10800           "additionalProperties": false
10801         }
10802       }
10803     }
10804   },
10805   {
10806     "Name": "Logger",
10807     "Version": 1,
10808     "Schema": {
10809       "type": "object",
10810       "properties": {
10811         "LoggingConfig": {
10812           "type": "object",
10813           "properties": {
10814             "Params": {
10815               "$ref": "#/definitions/Entities"
10816             },
10817             "Result": {
10818               "$ref": "#/definitions/StringResults"
10819             }
10820           }
10821         },
10822         "WatchLoggingConfig": {
10823           "type": "object",
10824           "properties": {
10825             "Params": {
10826               "$ref": "#/definitions/Entities"
10827             },
10828             "Result": {
10829               "$ref": "#/definitions/NotifyWatchResults"
10830             }
10831           }
10832         }
10833       },
10834       "definitions": {
10835         "Entities": {
10836           "type": "object",
10837           "properties": {
10838             "entities": {
10839               "type": "array",
10840               "items": {
10841                 "$ref": "#/definitions/Entity"
10842               }
10843             }
10844           },
10845           "additionalProperties": false,
10846           "required": [
10847             "entities"
10848           ]
10849         },
10850         "Entity": {
10851           "type": "object",
10852           "properties": {
10853             "tag": {
10854               "type": "string"
10855             }
10856           },
10857           "additionalProperties": false,
10858           "required": [
10859             "tag"
10860           ]
10861         },
10862         "Error": {
10863           "type": "object",
10864           "properties": {
10865             "code": {
10866               "type": "string"
10867             },
10868             "info": {
10869               "$ref": "#/definitions/ErrorInfo"
10870             },
10871             "message": {
10872               "type": "string"
10873             }
10874           },
10875           "additionalProperties": false,
10876           "required": [
10877             "message",
10878             "code"
10879           ]
10880         },
10881         "ErrorInfo": {
10882           "type": "object",
10883           "properties": {
10884             "macaroon": {
10885               "$ref": "#/definitions/Macaroon"
10886             },
10887             "macaroon-path": {
10888               "type": "string"
10889             }
10890           },
10891           "additionalProperties": false
10892         },
10893         "Macaroon": {
10894           "type": "object",
10895           "additionalProperties": false
10896         },
10897         "NotifyWatchResult": {
10898           "type": "object",
10899           "properties": {
10900             "NotifyWatcherId": {
10901               "type": "string"
10902             },
10903             "error": {
10904               "$ref": "#/definitions/Error"
10905             }
10906           },
10907           "additionalProperties": false,
10908           "required": [
10909             "NotifyWatcherId"
10910           ]
10911         },
10912         "NotifyWatchResults": {
10913           "type": "object",
10914           "properties": {
10915             "results": {
10916               "type": "array",
10917               "items": {
10918                 "$ref": "#/definitions/NotifyWatchResult"
10919               }
10920             }
10921           },
10922           "additionalProperties": false,
10923           "required": [
10924             "results"
10925           ]
10926         },
10927         "StringResult": {
10928           "type": "object",
10929           "properties": {
10930             "error": {
10931               "$ref": "#/definitions/Error"
10932             },
10933             "result": {
10934               "type": "string"
10935             }
10936           },
10937           "additionalProperties": false,
10938           "required": [
10939             "result"
10940           ]
10941         },
10942         "StringResults": {
10943           "type": "object",
10944           "properties": {
10945             "results": {
10946               "type": "array",
10947               "items": {
10948                 "$ref": "#/definitions/StringResult"
10949               }
10950             }
10951           },
10952           "additionalProperties": false,
10953           "required": [
10954             "results"
10955           ]
10956         }
10957       }
10958     }
10959   },
10960   {
10961     "Name": "MachineActions",
10962     "Version": 1,
10963     "Schema": {
10964       "type": "object",
10965       "properties": {
10966         "Actions": {
10967           "type": "object",
10968           "properties": {
10969             "Params": {
10970               "$ref": "#/definitions/Entities"
10971             },
10972             "Result": {
10973               "$ref": "#/definitions/ActionResults"
10974             }
10975           }
10976         },
10977         "BeginActions": {
10978           "type": "object",
10979           "properties": {
10980             "Params": {
10981               "$ref": "#/definitions/Entities"
10982             },
10983             "Result": {
10984               "$ref": "#/definitions/ErrorResults"
10985             }
10986           }
10987         },
10988         "FinishActions": {
10989           "type": "object",
10990           "properties": {
10991             "Params": {
10992               "$ref": "#/definitions/ActionExecutionResults"
10993             },
10994             "Result": {
10995               "$ref": "#/definitions/ErrorResults"
10996             }
10997           }
10998         },
10999         "RunningActions": {
11000           "type": "object",
11001           "properties": {
11002             "Params": {
11003               "$ref": "#/definitions/Entities"
11004             },
11005             "Result": {
11006               "$ref": "#/definitions/ActionsByReceivers"
11007             }
11008           }
11009         },
11010         "WatchActionNotifications": {
11011           "type": "object",
11012           "properties": {
11013             "Params": {
11014               "$ref": "#/definitions/Entities"
11015             },
11016             "Result": {
11017               "$ref": "#/definitions/StringsWatchResults"
11018             }
11019           }
11020         }
11021       },
11022       "definitions": {
11023         "Action": {
11024           "type": "object",
11025           "properties": {
11026             "name": {
11027               "type": "string"
11028             },
11029             "parameters": {
11030               "type": "object",
11031               "patternProperties": {
11032                 ".*": {
11033                   "type": "object",
11034                   "additionalProperties": true
11035                 }
11036               }
11037             },
11038             "receiver": {
11039               "type": "string"
11040             },
11041             "tag": {
11042               "type": "string"
11043             }
11044           },
11045           "additionalProperties": false,
11046           "required": [
11047             "tag",
11048             "receiver",
11049             "name"
11050           ]
11051         },
11052         "ActionExecutionResult": {
11053           "type": "object",
11054           "properties": {
11055             "action-tag": {
11056               "type": "string"
11057             },
11058             "message": {
11059               "type": "string"
11060             },
11061             "results": {
11062               "type": "object",
11063               "patternProperties": {
11064                 ".*": {
11065                   "type": "object",
11066                   "additionalProperties": true
11067                 }
11068               }
11069             },
11070             "status": {
11071               "type": "string"
11072             }
11073           },
11074           "additionalProperties": false,
11075           "required": [
11076             "action-tag",
11077             "status"
11078           ]
11079         },
11080         "ActionExecutionResults": {
11081           "type": "object",
11082           "properties": {
11083             "results": {
11084               "type": "array",
11085               "items": {
11086                 "$ref": "#/definitions/ActionExecutionResult"
11087               }
11088             }
11089           },
11090           "additionalProperties": false
11091         },
11092         "ActionResult": {
11093           "type": "object",
11094           "properties": {
11095             "action": {
11096               "$ref": "#/definitions/Action"
11097             },
11098             "completed": {
11099               "type": "string",
11100               "format": "date-time"
11101             },
11102             "enqueued": {
11103               "type": "string",
11104               "format": "date-time"
11105             },
11106             "error": {
11107               "$ref": "#/definitions/Error"
11108             },
11109             "message": {
11110               "type": "string"
11111             },
11112             "output": {
11113               "type": "object",
11114               "patternProperties": {
11115                 ".*": {
11116                   "type": "object",
11117                   "additionalProperties": true
11118                 }
11119               }
11120             },
11121             "started": {
11122               "type": "string",
11123               "format": "date-time"
11124             },
11125             "status": {
11126               "type": "string"
11127             }
11128           },
11129           "additionalProperties": false
11130         },
11131         "ActionResults": {
11132           "type": "object",
11133           "properties": {
11134             "results": {
11135               "type": "array",
11136               "items": {
11137                 "$ref": "#/definitions/ActionResult"
11138               }
11139             }
11140           },
11141           "additionalProperties": false
11142         },
11143         "ActionsByReceiver": {
11144           "type": "object",
11145           "properties": {
11146             "actions": {
11147               "type": "array",
11148               "items": {
11149                 "$ref": "#/definitions/ActionResult"
11150               }
11151             },
11152             "error": {
11153               "$ref": "#/definitions/Error"
11154             },
11155             "receiver": {
11156               "type": "string"
11157             }
11158           },
11159           "additionalProperties": false
11160         },
11161         "ActionsByReceivers": {
11162           "type": "object",
11163           "properties": {
11164             "actions": {
11165               "type": "array",
11166               "items": {
11167                 "$ref": "#/definitions/ActionsByReceiver"
11168               }
11169             }
11170           },
11171           "additionalProperties": false
11172         },
11173         "Entities": {
11174           "type": "object",
11175           "properties": {
11176             "entities": {
11177               "type": "array",
11178               "items": {
11179                 "$ref": "#/definitions/Entity"
11180               }
11181             }
11182           },
11183           "additionalProperties": false,
11184           "required": [
11185             "entities"
11186           ]
11187         },
11188         "Entity": {
11189           "type": "object",
11190           "properties": {
11191             "tag": {
11192               "type": "string"
11193             }
11194           },
11195           "additionalProperties": false,
11196           "required": [
11197             "tag"
11198           ]
11199         },
11200         "Error": {
11201           "type": "object",
11202           "properties": {
11203             "code": {
11204               "type": "string"
11205             },
11206             "info": {
11207               "$ref": "#/definitions/ErrorInfo"
11208             },
11209             "message": {
11210               "type": "string"
11211             }
11212           },
11213           "additionalProperties": false,
11214           "required": [
11215             "message",
11216             "code"
11217           ]
11218         },
11219         "ErrorInfo": {
11220           "type": "object",
11221           "properties": {
11222             "macaroon": {
11223               "$ref": "#/definitions/Macaroon"
11224             },
11225             "macaroon-path": {
11226               "type": "string"
11227             }
11228           },
11229           "additionalProperties": false
11230         },
11231         "ErrorResult": {
11232           "type": "object",
11233           "properties": {
11234             "error": {
11235               "$ref": "#/definitions/Error"
11236             }
11237           },
11238           "additionalProperties": false
11239         },
11240         "ErrorResults": {
11241           "type": "object",
11242           "properties": {
11243             "results": {
11244               "type": "array",
11245               "items": {
11246                 "$ref": "#/definitions/ErrorResult"
11247               }
11248             }
11249           },
11250           "additionalProperties": false,
11251           "required": [
11252             "results"
11253           ]
11254         },
11255         "Macaroon": {
11256           "type": "object",
11257           "additionalProperties": false
11258         },
11259         "StringsWatchResult": {
11260           "type": "object",
11261           "properties": {
11262             "changes": {
11263               "type": "array",
11264               "items": {
11265                 "type": "string"
11266               }
11267             },
11268             "error": {
11269               "$ref": "#/definitions/Error"
11270             },
11271             "watcher-id": {
11272               "type": "string"
11273             }
11274           },
11275           "additionalProperties": false,
11276           "required": [
11277             "watcher-id"
11278           ]
11279         },
11280         "StringsWatchResults": {
11281           "type": "object",
11282           "properties": {
11283             "results": {
11284               "type": "array",
11285               "items": {
11286                 "$ref": "#/definitions/StringsWatchResult"
11287               }
11288             }
11289           },
11290           "additionalProperties": false,
11291           "required": [
11292             "results"
11293           ]
11294         }
11295       }
11296     }
11297   },
11298   {
11299     "Name": "MachineManager",
11300     "Version": 2,
11301     "Schema": {
11302       "type": "object",
11303       "properties": {
11304         "AddMachines": {
11305           "type": "object",
11306           "properties": {
11307             "Params": {
11308               "$ref": "#/definitions/AddMachines"
11309             },
11310             "Result": {
11311               "$ref": "#/definitions/AddMachinesResults"
11312             }
11313           }
11314         },
11315         "InstanceTypes": {
11316           "type": "object",
11317           "properties": {
11318             "Params": {
11319               "$ref": "#/definitions/ModelInstanceTypesConstraints"
11320             },
11321             "Result": {
11322               "$ref": "#/definitions/InstanceTypesResults"
11323             }
11324           }
11325         }
11326       },
11327       "definitions": {
11328         "AddMachineParams": {
11329           "type": "object",
11330           "properties": {
11331             "addresses": {
11332               "type": "array",
11333               "items": {
11334                 "$ref": "#/definitions/Address"
11335               }
11336             },
11337             "constraints": {
11338               "$ref": "#/definitions/Value"
11339             },
11340             "container-type": {
11341               "type": "string"
11342             },
11343             "disks": {
11344               "type": "array",
11345               "items": {
11346                 "$ref": "#/definitions/Constraints"
11347               }
11348             },
11349             "hardware-characteristics": {
11350               "$ref": "#/definitions/HardwareCharacteristics"
11351             },
11352             "instance-id": {
11353               "type": "string"
11354             },
11355             "jobs": {
11356               "type": "array",
11357               "items": {
11358                 "type": "string"
11359               }
11360             },
11361             "nonce": {
11362               "type": "string"
11363             },
11364             "parent-id": {
11365               "type": "string"
11366             },
11367             "placement": {
11368               "$ref": "#/definitions/Placement"
11369             },
11370             "series": {
11371               "type": "string"
11372             }
11373           },
11374           "additionalProperties": false,
11375           "required": [
11376             "series",
11377             "constraints",
11378             "jobs",
11379             "parent-id",
11380             "container-type",
11381             "instance-id",
11382             "nonce",
11383             "hardware-characteristics",
11384             "addresses"
11385           ]
11386         },
11387         "AddMachines": {
11388           "type": "object",
11389           "properties": {
11390             "params": {
11391               "type": "array",
11392               "items": {
11393                 "$ref": "#/definitions/AddMachineParams"
11394               }
11395             }
11396           },
11397           "additionalProperties": false,
11398           "required": [
11399             "params"
11400           ]
11401         },
11402         "AddMachinesResult": {
11403           "type": "object",
11404           "properties": {
11405             "error": {
11406               "$ref": "#/definitions/Error"
11407             },
11408             "machine": {
11409               "type": "string"
11410             }
11411           },
11412           "additionalProperties": false,
11413           "required": [
11414             "machine"
11415           ]
11416         },
11417         "AddMachinesResults": {
11418           "type": "object",
11419           "properties": {
11420             "machines": {
11421               "type": "array",
11422               "items": {
11423                 "$ref": "#/definitions/AddMachinesResult"
11424               }
11425             }
11426           },
11427           "additionalProperties": false,
11428           "required": [
11429             "machines"
11430           ]
11431         },
11432         "Address": {
11433           "type": "object",
11434           "properties": {
11435             "scope": {
11436               "type": "string"
11437             },
11438             "space-name": {
11439               "type": "string"
11440             },
11441             "type": {
11442               "type": "string"
11443             },
11444             "value": {
11445               "type": "string"
11446             }
11447           },
11448           "additionalProperties": false,
11449           "required": [
11450             "value",
11451             "type",
11452             "scope"
11453           ]
11454         },
11455         "Constraints": {
11456           "type": "object",
11457           "properties": {
11458             "Count": {
11459               "type": "integer"
11460             },
11461             "Pool": {
11462               "type": "string"
11463             },
11464             "Size": {
11465               "type": "integer"
11466             }
11467           },
11468           "additionalProperties": false,
11469           "required": [
11470             "Pool",
11471             "Size",
11472             "Count"
11473           ]
11474         },
11475         "Error": {
11476           "type": "object",
11477           "properties": {
11478             "code": {
11479               "type": "string"
11480             },
11481             "info": {
11482               "$ref": "#/definitions/ErrorInfo"
11483             },
11484             "message": {
11485               "type": "string"
11486             }
11487           },
11488           "additionalProperties": false,
11489           "required": [
11490             "message",
11491             "code"
11492           ]
11493         },
11494         "ErrorInfo": {
11495           "type": "object",
11496           "properties": {
11497             "macaroon": {
11498               "$ref": "#/definitions/Macaroon"
11499             },
11500             "macaroon-path": {
11501               "type": "string"
11502             }
11503           },
11504           "additionalProperties": false
11505         },
11506         "HardwareCharacteristics": {
11507           "type": "object",
11508           "properties": {
11509             "arch": {
11510               "type": "string"
11511             },
11512             "availability-zone": {
11513               "type": "string"
11514             },
11515             "cpu-cores": {
11516               "type": "integer"
11517             },
11518             "cpu-power": {
11519               "type": "integer"
11520             },
11521             "mem": {
11522               "type": "integer"
11523             },
11524             "root-disk": {
11525               "type": "integer"
11526             },
11527             "tags": {
11528               "type": "array",
11529               "items": {
11530                 "type": "string"
11531               }
11532             }
11533           },
11534           "additionalProperties": false
11535         },
11536         "InstanceType": {
11537           "type": "object",
11538           "properties": {
11539             "arches": {
11540               "type": "array",
11541               "items": {
11542                 "type": "string"
11543               }
11544             },
11545             "cost": {
11546               "type": "integer"
11547             },
11548             "cpu-cores": {
11549               "type": "integer"
11550             },
11551             "deprecated": {
11552               "type": "boolean"
11553             },
11554             "memory": {
11555               "type": "integer"
11556             },
11557             "name": {
11558               "type": "string"
11559             },
11560             "root-disk": {
11561               "type": "integer"
11562             },
11563             "virt-type": {
11564               "type": "string"
11565             }
11566           },
11567           "additionalProperties": false,
11568           "required": [
11569             "arches",
11570             "cpu-cores",
11571             "memory"
11572           ]
11573         },
11574         "InstanceTypesResult": {
11575           "type": "object",
11576           "properties": {
11577             "cost-currency": {
11578               "type": "string"
11579             },
11580             "cost-divisor": {
11581               "type": "integer"
11582             },
11583             "cost-unit": {
11584               "type": "string"
11585             },
11586             "error": {
11587               "$ref": "#/definitions/Error"
11588             },
11589             "instance-types": {
11590               "type": "array",
11591               "items": {
11592                 "$ref": "#/definitions/InstanceType"
11593               }
11594             }
11595           },
11596           "additionalProperties": false
11597         },
11598         "InstanceTypesResults": {
11599           "type": "object",
11600           "properties": {
11601             "results": {
11602               "type": "array",
11603               "items": {
11604                 "$ref": "#/definitions/InstanceTypesResult"
11605               }
11606             }
11607           },
11608           "additionalProperties": false,
11609           "required": [
11610             "results"
11611           ]
11612         },
11613         "Macaroon": {
11614           "type": "object",
11615           "additionalProperties": false
11616         },
11617         "ModelInstanceTypesConstraint": {
11618           "type": "object",
11619           "properties": {
11620             "value": {
11621               "$ref": "#/definitions/Value"
11622             }
11623           },
11624           "additionalProperties": false
11625         },
11626         "ModelInstanceTypesConstraints": {
11627           "type": "object",
11628           "properties": {
11629             "constraints": {
11630               "type": "array",
11631               "items": {
11632                 "$ref": "#/definitions/ModelInstanceTypesConstraint"
11633               }
11634             }
11635           },
11636           "additionalProperties": false,
11637           "required": [
11638             "constraints"
11639           ]
11640         },
11641         "Placement": {
11642           "type": "object",
11643           "properties": {
11644             "directive": {
11645               "type": "string"
11646             },
11647             "scope": {
11648               "type": "string"
11649             }
11650           },
11651           "additionalProperties": false,
11652           "required": [
11653             "scope",
11654             "directive"
11655           ]
11656         },
11657         "Value": {
11658           "type": "object",
11659           "properties": {
11660             "arch": {
11661               "type": "string"
11662             },
11663             "container": {
11664               "type": "string"
11665             },
11666             "cores": {
11667               "type": "integer"
11668             },
11669             "cpu-power": {
11670               "type": "integer"
11671             },
11672             "instance-type": {
11673               "type": "string"
11674             },
11675             "mem": {
11676               "type": "integer"
11677             },
11678             "root-disk": {
11679               "type": "integer"
11680             },
11681             "spaces": {
11682               "type": "array",
11683               "items": {
11684                 "type": "string"
11685               }
11686             },
11687             "tags": {
11688               "type": "array",
11689               "items": {
11690                 "type": "string"
11691               }
11692             },
11693             "virt-type": {
11694               "type": "string"
11695             }
11696           },
11697           "additionalProperties": false
11698         }
11699       }
11700     }
11701   },
11702   {
11703     "Name": "MachineUndertaker",
11704     "Version": 1,
11705     "Schema": {
11706       "type": "object",
11707       "properties": {
11708         "AllMachineRemovals": {
11709           "type": "object",
11710           "properties": {
11711             "Params": {
11712               "$ref": "#/definitions/Entities"
11713             },
11714             "Result": {
11715               "$ref": "#/definitions/EntitiesResults"
11716             }
11717           }
11718         },
11719         "CompleteMachineRemovals": {
11720           "type": "object",
11721           "properties": {
11722             "Params": {
11723               "$ref": "#/definitions/Entities"
11724             }
11725           }
11726         },
11727         "GetMachineProviderInterfaceInfo": {
11728           "type": "object",
11729           "properties": {
11730             "Params": {
11731               "$ref": "#/definitions/Entities"
11732             },
11733             "Result": {
11734               "$ref": "#/definitions/ProviderInterfaceInfoResults"
11735             }
11736           }
11737         },
11738         "WatchMachineRemovals": {
11739           "type": "object",
11740           "properties": {
11741             "Params": {
11742               "$ref": "#/definitions/Entities"
11743             },
11744             "Result": {
11745               "$ref": "#/definitions/NotifyWatchResults"
11746             }
11747           }
11748         }
11749       },
11750       "definitions": {
11751         "Entities": {
11752           "type": "object",
11753           "properties": {
11754             "entities": {
11755               "type": "array",
11756               "items": {
11757                 "$ref": "#/definitions/Entity"
11758               }
11759             }
11760           },
11761           "additionalProperties": false,
11762           "required": [
11763             "entities"
11764           ]
11765         },
11766         "EntitiesResult": {
11767           "type": "object",
11768           "properties": {
11769             "entities": {
11770               "type": "array",
11771               "items": {
11772                 "$ref": "#/definitions/Entity"
11773               }
11774             },
11775             "error": {
11776               "$ref": "#/definitions/Error"
11777             }
11778           },
11779           "additionalProperties": false,
11780           "required": [
11781             "entities"
11782           ]
11783         },
11784         "EntitiesResults": {
11785           "type": "object",
11786           "properties": {
11787             "results": {
11788               "type": "array",
11789               "items": {
11790                 "$ref": "#/definitions/EntitiesResult"
11791               }
11792             }
11793           },
11794           "additionalProperties": false,
11795           "required": [
11796             "results"
11797           ]
11798         },
11799         "Entity": {
11800           "type": "object",
11801           "properties": {
11802             "tag": {
11803               "type": "string"
11804             }
11805           },
11806           "additionalProperties": false,
11807           "required": [
11808             "tag"
11809           ]
11810         },
11811         "Error": {
11812           "type": "object",
11813           "properties": {
11814             "code": {
11815               "type": "string"
11816             },
11817             "info": {
11818               "$ref": "#/definitions/ErrorInfo"
11819             },
11820             "message": {
11821               "type": "string"
11822             }
11823           },
11824           "additionalProperties": false,
11825           "required": [
11826             "message",
11827             "code"
11828           ]
11829         },
11830         "ErrorInfo": {
11831           "type": "object",
11832           "properties": {
11833             "macaroon": {
11834               "$ref": "#/definitions/Macaroon"
11835             },
11836             "macaroon-path": {
11837               "type": "string"
11838             }
11839           },
11840           "additionalProperties": false
11841         },
11842         "Macaroon": {
11843           "type": "object",
11844           "additionalProperties": false
11845         },
11846         "NotifyWatchResult": {
11847           "type": "object",
11848           "properties": {
11849             "NotifyWatcherId": {
11850               "type": "string"
11851             },
11852             "error": {
11853               "$ref": "#/definitions/Error"
11854             }
11855           },
11856           "additionalProperties": false,
11857           "required": [
11858             "NotifyWatcherId"
11859           ]
11860         },
11861         "NotifyWatchResults": {
11862           "type": "object",
11863           "properties": {
11864             "results": {
11865               "type": "array",
11866               "items": {
11867                 "$ref": "#/definitions/NotifyWatchResult"
11868               }
11869             }
11870           },
11871           "additionalProperties": false,
11872           "required": [
11873             "results"
11874           ]
11875         },
11876         "ProviderInterfaceInfo": {
11877           "type": "object",
11878           "properties": {
11879             "interface-name": {
11880               "type": "string"
11881             },
11882             "mac-address": {
11883               "type": "string"
11884             },
11885             "provider-id": {
11886               "type": "string"
11887             }
11888           },
11889           "additionalProperties": false,
11890           "required": [
11891             "interface-name",
11892             "mac-address",
11893             "provider-id"
11894           ]
11895         },
11896         "ProviderInterfaceInfoResult": {
11897           "type": "object",
11898           "properties": {
11899             "error": {
11900               "$ref": "#/definitions/Error"
11901             },
11902             "interfaces": {
11903               "type": "array",
11904               "items": {
11905                 "$ref": "#/definitions/ProviderInterfaceInfo"
11906               }
11907             },
11908             "machine-tag": {
11909               "type": "string"
11910             }
11911           },
11912           "additionalProperties": false,
11913           "required": [
11914             "machine-tag",
11915             "interfaces"
11916           ]
11917         },
11918         "ProviderInterfaceInfoResults": {
11919           "type": "object",
11920           "properties": {
11921             "results": {
11922               "type": "array",
11923               "items": {
11924                 "$ref": "#/definitions/ProviderInterfaceInfoResult"
11925               }
11926             }
11927           },
11928           "additionalProperties": false,
11929           "required": [
11930             "results"
11931           ]
11932         }
11933       }
11934     }
11935   },
11936   {
11937     "Name": "Machiner",
11938     "Version": 1,
11939     "Schema": {
11940       "type": "object",
11941       "properties": {
11942         "APIAddresses": {
11943           "type": "object",
11944           "properties": {
11945             "Result": {
11946               "$ref": "#/definitions/StringsResult"
11947             }
11948           }
11949         },
11950         "APIHostPorts": {
11951           "type": "object",
11952           "properties": {
11953             "Result": {
11954               "$ref": "#/definitions/APIHostPortsResult"
11955             }
11956           }
11957         },
11958         "CACert": {
11959           "type": "object",
11960           "properties": {
11961             "Result": {
11962               "$ref": "#/definitions/BytesResult"
11963             }
11964           }
11965         },
11966         "EnsureDead": {
11967           "type": "object",
11968           "properties": {
11969             "Params": {
11970               "$ref": "#/definitions/Entities"
11971             },
11972             "Result": {
11973               "$ref": "#/definitions/ErrorResults"
11974             }
11975           }
11976         },
11977         "Jobs": {
11978           "type": "object",
11979           "properties": {
11980             "Params": {
11981               "$ref": "#/definitions/Entities"
11982             },
11983             "Result": {
11984               "$ref": "#/definitions/JobsResults"
11985             }
11986           }
11987         },
11988         "Life": {
11989           "type": "object",
11990           "properties": {
11991             "Params": {
11992               "$ref": "#/definitions/Entities"
11993             },
11994             "Result": {
11995               "$ref": "#/definitions/LifeResults"
11996             }
11997           }
11998         },
11999         "ModelUUID": {
12000           "type": "object",
12001           "properties": {
12002             "Result": {
12003               "$ref": "#/definitions/StringResult"
12004             }
12005           }
12006         },
12007         "SetMachineAddresses": {
12008           "type": "object",
12009           "properties": {
12010             "Params": {
12011               "$ref": "#/definitions/SetMachinesAddresses"
12012             },
12013             "Result": {
12014               "$ref": "#/definitions/ErrorResults"
12015             }
12016           }
12017         },
12018         "SetObservedNetworkConfig": {
12019           "type": "object",
12020           "properties": {
12021             "Params": {
12022               "$ref": "#/definitions/SetMachineNetworkConfig"
12023             }
12024           }
12025         },
12026         "SetProviderNetworkConfig": {
12027           "type": "object",
12028           "properties": {
12029             "Params": {
12030               "$ref": "#/definitions/Entities"
12031             },
12032             "Result": {
12033               "$ref": "#/definitions/ErrorResults"
12034             }
12035           }
12036         },
12037         "SetStatus": {
12038           "type": "object",
12039           "properties": {
12040             "Params": {
12041               "$ref": "#/definitions/SetStatus"
12042             },
12043             "Result": {
12044               "$ref": "#/definitions/ErrorResults"
12045             }
12046           }
12047         },
12048         "UpdateStatus": {
12049           "type": "object",
12050           "properties": {
12051             "Params": {
12052               "$ref": "#/definitions/SetStatus"
12053             },
12054             "Result": {
12055               "$ref": "#/definitions/ErrorResults"
12056             }
12057           }
12058         },
12059         "Watch": {
12060           "type": "object",
12061           "properties": {
12062             "Params": {
12063               "$ref": "#/definitions/Entities"
12064             },
12065             "Result": {
12066               "$ref": "#/definitions/NotifyWatchResults"
12067             }
12068           }
12069         },
12070         "WatchAPIHostPorts": {
12071           "type": "object",
12072           "properties": {
12073             "Result": {
12074               "$ref": "#/definitions/NotifyWatchResult"
12075             }
12076           }
12077         }
12078       },
12079       "definitions": {
12080         "APIHostPortsResult": {
12081           "type": "object",
12082           "properties": {
12083             "servers": {
12084               "type": "array",
12085               "items": {
12086                 "type": "array",
12087                 "items": {
12088                   "$ref": "#/definitions/HostPort"
12089                 }
12090               }
12091             }
12092           },
12093           "additionalProperties": false,
12094           "required": [
12095             "servers"
12096           ]
12097         },
12098         "Address": {
12099           "type": "object",
12100           "properties": {
12101             "scope": {
12102               "type": "string"
12103             },
12104             "space-name": {
12105               "type": "string"
12106             },
12107             "type": {
12108               "type": "string"
12109             },
12110             "value": {
12111               "type": "string"
12112             }
12113           },
12114           "additionalProperties": false,
12115           "required": [
12116             "value",
12117             "type",
12118             "scope"
12119           ]
12120         },
12121         "BytesResult": {
12122           "type": "object",
12123           "properties": {
12124             "result": {
12125               "type": "array",
12126               "items": {
12127                 "type": "integer"
12128               }
12129             }
12130           },
12131           "additionalProperties": false,
12132           "required": [
12133             "result"
12134           ]
12135         },
12136         "Entities": {
12137           "type": "object",
12138           "properties": {
12139             "entities": {
12140               "type": "array",
12141               "items": {
12142                 "$ref": "#/definitions/Entity"
12143               }
12144             }
12145           },
12146           "additionalProperties": false,
12147           "required": [
12148             "entities"
12149           ]
12150         },
12151         "Entity": {
12152           "type": "object",
12153           "properties": {
12154             "tag": {
12155               "type": "string"
12156             }
12157           },
12158           "additionalProperties": false,
12159           "required": [
12160             "tag"
12161           ]
12162         },
12163         "EntityStatusArgs": {
12164           "type": "object",
12165           "properties": {
12166             "data": {
12167               "type": "object",
12168               "patternProperties": {
12169                 ".*": {
12170                   "type": "object",
12171                   "additionalProperties": true
12172                 }
12173               }
12174             },
12175             "info": {
12176               "type": "string"
12177             },
12178             "status": {
12179               "type": "string"
12180             },
12181             "tag": {
12182               "type": "string"
12183             }
12184           },
12185           "additionalProperties": false,
12186           "required": [
12187             "tag",
12188             "status",
12189             "info",
12190             "data"
12191           ]
12192         },
12193         "Error": {
12194           "type": "object",
12195           "properties": {
12196             "code": {
12197               "type": "string"
12198             },
12199             "info": {
12200               "$ref": "#/definitions/ErrorInfo"
12201             },
12202             "message": {
12203               "type": "string"
12204             }
12205           },
12206           "additionalProperties": false,
12207           "required": [
12208             "message",
12209             "code"
12210           ]
12211         },
12212         "ErrorInfo": {
12213           "type": "object",
12214           "properties": {
12215             "macaroon": {
12216               "$ref": "#/definitions/Macaroon"
12217             },
12218             "macaroon-path": {
12219               "type": "string"
12220             }
12221           },
12222           "additionalProperties": false
12223         },
12224         "ErrorResult": {
12225           "type": "object",
12226           "properties": {
12227             "error": {
12228               "$ref": "#/definitions/Error"
12229             }
12230           },
12231           "additionalProperties": false
12232         },
12233         "ErrorResults": {
12234           "type": "object",
12235           "properties": {
12236             "results": {
12237               "type": "array",
12238               "items": {
12239                 "$ref": "#/definitions/ErrorResult"
12240               }
12241             }
12242           },
12243           "additionalProperties": false,
12244           "required": [
12245             "results"
12246           ]
12247         },
12248         "HostPort": {
12249           "type": "object",
12250           "properties": {
12251             "Address": {
12252               "$ref": "#/definitions/Address"
12253             },
12254             "port": {
12255               "type": "integer"
12256             }
12257           },
12258           "additionalProperties": false,
12259           "required": [
12260             "Address",
12261             "port"
12262           ]
12263         },
12264         "JobsResult": {
12265           "type": "object",
12266           "properties": {
12267             "error": {
12268               "$ref": "#/definitions/Error"
12269             },
12270             "jobs": {
12271               "type": "array",
12272               "items": {
12273                 "type": "string"
12274               }
12275             }
12276           },
12277           "additionalProperties": false,
12278           "required": [
12279             "jobs"
12280           ]
12281         },
12282         "JobsResults": {
12283           "type": "object",
12284           "properties": {
12285             "results": {
12286               "type": "array",
12287               "items": {
12288                 "$ref": "#/definitions/JobsResult"
12289               }
12290             }
12291           },
12292           "additionalProperties": false,
12293           "required": [
12294             "results"
12295           ]
12296         },
12297         "LifeResult": {
12298           "type": "object",
12299           "properties": {
12300             "error": {
12301               "$ref": "#/definitions/Error"
12302             },
12303             "life": {
12304               "type": "string"
12305             }
12306           },
12307           "additionalProperties": false,
12308           "required": [
12309             "life"
12310           ]
12311         },
12312         "LifeResults": {
12313           "type": "object",
12314           "properties": {
12315             "results": {
12316               "type": "array",
12317               "items": {
12318                 "$ref": "#/definitions/LifeResult"
12319               }
12320             }
12321           },
12322           "additionalProperties": false,
12323           "required": [
12324             "results"
12325           ]
12326         },
12327         "Macaroon": {
12328           "type": "object",
12329           "additionalProperties": false
12330         },
12331         "MachineAddresses": {
12332           "type": "object",
12333           "properties": {
12334             "addresses": {
12335               "type": "array",
12336               "items": {
12337                 "$ref": "#/definitions/Address"
12338               }
12339             },
12340             "tag": {
12341               "type": "string"
12342             }
12343           },
12344           "additionalProperties": false,
12345           "required": [
12346             "tag",
12347             "addresses"
12348           ]
12349         },
12350         "NetworkConfig": {
12351           "type": "object",
12352           "properties": {
12353             "address": {
12354               "type": "string"
12355             },
12356             "cidr": {
12357               "type": "string"
12358             },
12359             "config-type": {
12360               "type": "string"
12361             },
12362             "device-index": {
12363               "type": "integer"
12364             },
12365             "disabled": {
12366               "type": "boolean"
12367             },
12368             "dns-search-domains": {
12369               "type": "array",
12370               "items": {
12371                 "type": "string"
12372               }
12373             },
12374             "dns-servers": {
12375               "type": "array",
12376               "items": {
12377                 "type": "string"
12378               }
12379             },
12380             "gateway-address": {
12381               "type": "string"
12382             },
12383             "interface-name": {
12384               "type": "string"
12385             },
12386             "interface-type": {
12387               "type": "string"
12388             },
12389             "mac-address": {
12390               "type": "string"
12391             },
12392             "mtu": {
12393               "type": "integer"
12394             },
12395             "no-auto-start": {
12396               "type": "boolean"
12397             },
12398             "parent-interface-name": {
12399               "type": "string"
12400             },
12401             "provider-address-id": {
12402               "type": "string"
12403             },
12404             "provider-id": {
12405               "type": "string"
12406             },
12407             "provider-space-id": {
12408               "type": "string"
12409             },
12410             "provider-subnet-id": {
12411               "type": "string"
12412             },
12413             "provider-vlan-id": {
12414               "type": "string"
12415             },
12416             "vlan-tag": {
12417               "type": "integer"
12418             }
12419           },
12420           "additionalProperties": false,
12421           "required": [
12422             "device-index",
12423             "mac-address",
12424             "cidr",
12425             "mtu",
12426             "provider-id",
12427             "provider-subnet-id",
12428             "provider-space-id",
12429             "provider-address-id",
12430             "provider-vlan-id",
12431             "vlan-tag",
12432             "interface-name",
12433             "parent-interface-name",
12434             "interface-type",
12435             "disabled"
12436           ]
12437         },
12438         "NotifyWatchResult": {
12439           "type": "object",
12440           "properties": {
12441             "NotifyWatcherId": {
12442               "type": "string"
12443             },
12444             "error": {
12445               "$ref": "#/definitions/Error"
12446             }
12447           },
12448           "additionalProperties": false,
12449           "required": [
12450             "NotifyWatcherId"
12451           ]
12452         },
12453         "NotifyWatchResults": {
12454           "type": "object",
12455           "properties": {
12456             "results": {
12457               "type": "array",
12458               "items": {
12459                 "$ref": "#/definitions/NotifyWatchResult"
12460               }
12461             }
12462           },
12463           "additionalProperties": false,
12464           "required": [
12465             "results"
12466           ]
12467         },
12468         "SetMachineNetworkConfig": {
12469           "type": "object",
12470           "properties": {
12471             "config": {
12472               "type": "array",
12473               "items": {
12474                 "$ref": "#/definitions/NetworkConfig"
12475               }
12476             },
12477             "tag": {
12478               "type": "string"
12479             }
12480           },
12481           "additionalProperties": false,
12482           "required": [
12483             "tag",
12484             "config"
12485           ]
12486         },
12487         "SetMachinesAddresses": {
12488           "type": "object",
12489           "properties": {
12490             "machine-addresses": {
12491               "type": "array",
12492               "items": {
12493                 "$ref": "#/definitions/MachineAddresses"
12494               }
12495             }
12496           },
12497           "additionalProperties": false,
12498           "required": [
12499             "machine-addresses"
12500           ]
12501         },
12502         "SetStatus": {
12503           "type": "object",
12504           "properties": {
12505             "entities": {
12506               "type": "array",
12507               "items": {
12508                 "$ref": "#/definitions/EntityStatusArgs"
12509               }
12510             }
12511           },
12512           "additionalProperties": false,
12513           "required": [
12514             "entities"
12515           ]
12516         },
12517         "StringResult": {
12518           "type": "object",
12519           "properties": {
12520             "error": {
12521               "$ref": "#/definitions/Error"
12522             },
12523             "result": {
12524               "type": "string"
12525             }
12526           },
12527           "additionalProperties": false,
12528           "required": [
12529             "result"
12530           ]
12531         },
12532         "StringsResult": {
12533           "type": "object",
12534           "properties": {
12535             "error": {
12536               "$ref": "#/definitions/Error"
12537             },
12538             "result": {
12539               "type": "array",
12540               "items": {
12541                 "type": "string"
12542               }
12543             }
12544           },
12545           "additionalProperties": false
12546         }
12547       }
12548     }
12549   },
12550   {
12551     "Name": "MeterStatus",
12552     "Version": 1,
12553     "Schema": {
12554       "type": "object",
12555       "properties": {
12556         "GetMeterStatus": {
12557           "type": "object",
12558           "properties": {
12559             "Params": {
12560               "$ref": "#/definitions/Entities"
12561             },
12562             "Result": {
12563               "$ref": "#/definitions/MeterStatusResults"
12564             }
12565           }
12566         },
12567         "WatchMeterStatus": {
12568           "type": "object",
12569           "properties": {
12570             "Params": {
12571               "$ref": "#/definitions/Entities"
12572             },
12573             "Result": {
12574               "$ref": "#/definitions/NotifyWatchResults"
12575             }
12576           }
12577         }
12578       },
12579       "definitions": {
12580         "Entities": {
12581           "type": "object",
12582           "properties": {
12583             "entities": {
12584               "type": "array",
12585               "items": {
12586                 "$ref": "#/definitions/Entity"
12587               }
12588             }
12589           },
12590           "additionalProperties": false,
12591           "required": [
12592             "entities"
12593           ]
12594         },
12595         "Entity": {
12596           "type": "object",
12597           "properties": {
12598             "tag": {
12599               "type": "string"
12600             }
12601           },
12602           "additionalProperties": false,
12603           "required": [
12604             "tag"
12605           ]
12606         },
12607         "Error": {
12608           "type": "object",
12609           "properties": {
12610             "code": {
12611               "type": "string"
12612             },
12613             "info": {
12614               "$ref": "#/definitions/ErrorInfo"
12615             },
12616             "message": {
12617               "type": "string"
12618             }
12619           },
12620           "additionalProperties": false,
12621           "required": [
12622             "message",
12623             "code"
12624           ]
12625         },
12626         "ErrorInfo": {
12627           "type": "object",
12628           "properties": {
12629             "macaroon": {
12630               "$ref": "#/definitions/Macaroon"
12631             },
12632             "macaroon-path": {
12633               "type": "string"
12634             }
12635           },
12636           "additionalProperties": false
12637         },
12638         "Macaroon": {
12639           "type": "object",
12640           "additionalProperties": false
12641         },
12642         "MeterStatusResult": {
12643           "type": "object",
12644           "properties": {
12645             "code": {
12646               "type": "string"
12647             },
12648             "error": {
12649               "$ref": "#/definitions/Error"
12650             },
12651             "info": {
12652               "type": "string"
12653             }
12654           },
12655           "additionalProperties": false,
12656           "required": [
12657             "code",
12658             "info"
12659           ]
12660         },
12661         "MeterStatusResults": {
12662           "type": "object",
12663           "properties": {
12664             "results": {
12665               "type": "array",
12666               "items": {
12667                 "$ref": "#/definitions/MeterStatusResult"
12668               }
12669             }
12670           },
12671           "additionalProperties": false,
12672           "required": [
12673             "results"
12674           ]
12675         },
12676         "NotifyWatchResult": {
12677           "type": "object",
12678           "properties": {
12679             "NotifyWatcherId": {
12680               "type": "string"
12681             },
12682             "error": {
12683               "$ref": "#/definitions/Error"
12684             }
12685           },
12686           "additionalProperties": false,
12687           "required": [
12688             "NotifyWatcherId"
12689           ]
12690         },
12691         "NotifyWatchResults": {
12692           "type": "object",
12693           "properties": {
12694             "results": {
12695               "type": "array",
12696               "items": {
12697                 "$ref": "#/definitions/NotifyWatchResult"
12698               }
12699             }
12700           },
12701           "additionalProperties": false,
12702           "required": [
12703             "results"
12704           ]
12705         }
12706       }
12707     }
12708   },
12709   {
12710     "Name": "MetricsAdder",
12711     "Version": 2,
12712     "Schema": {
12713       "type": "object",
12714       "properties": {
12715         "AddMetricBatches": {
12716           "type": "object",
12717           "properties": {
12718             "Params": {
12719               "$ref": "#/definitions/MetricBatchParams"
12720             },
12721             "Result": {
12722               "$ref": "#/definitions/ErrorResults"
12723             }
12724           }
12725         }
12726       },
12727       "definitions": {
12728         "Error": {
12729           "type": "object",
12730           "properties": {
12731             "code": {
12732               "type": "string"
12733             },
12734             "info": {
12735               "$ref": "#/definitions/ErrorInfo"
12736             },
12737             "message": {
12738               "type": "string"
12739             }
12740           },
12741           "additionalProperties": false,
12742           "required": [
12743             "message",
12744             "code"
12745           ]
12746         },
12747         "ErrorInfo": {
12748           "type": "object",
12749           "properties": {
12750             "macaroon": {
12751               "$ref": "#/definitions/Macaroon"
12752             },
12753             "macaroon-path": {
12754               "type": "string"
12755             }
12756           },
12757           "additionalProperties": false
12758         },
12759         "ErrorResult": {
12760           "type": "object",
12761           "properties": {
12762             "error": {
12763               "$ref": "#/definitions/Error"
12764             }
12765           },
12766           "additionalProperties": false
12767         },
12768         "ErrorResults": {
12769           "type": "object",
12770           "properties": {
12771             "results": {
12772               "type": "array",
12773               "items": {
12774                 "$ref": "#/definitions/ErrorResult"
12775               }
12776             }
12777           },
12778           "additionalProperties": false,
12779           "required": [
12780             "results"
12781           ]
12782         },
12783         "Macaroon": {
12784           "type": "object",
12785           "additionalProperties": false
12786         },
12787         "Metric": {
12788           "type": "object",
12789           "properties": {
12790             "key": {
12791               "type": "string"
12792             },
12793             "time": {
12794               "type": "string",
12795               "format": "date-time"
12796             },
12797             "value": {
12798               "type": "string"
12799             }
12800           },
12801           "additionalProperties": false,
12802           "required": [
12803             "key",
12804             "value",
12805             "time"
12806           ]
12807         },
12808         "MetricBatch": {
12809           "type": "object",
12810           "properties": {
12811             "charm-url": {
12812               "type": "string"
12813             },
12814             "created": {
12815               "type": "string",
12816               "format": "date-time"
12817             },
12818             "metrics": {
12819               "type": "array",
12820               "items": {
12821                 "$ref": "#/definitions/Metric"
12822               }
12823             },
12824             "uuid": {
12825               "type": "string"
12826             }
12827           },
12828           "additionalProperties": false,
12829           "required": [
12830             "uuid",
12831             "charm-url",
12832             "created",
12833             "metrics"
12834           ]
12835         },
12836         "MetricBatchParam": {
12837           "type": "object",
12838           "properties": {
12839             "batch": {
12840               "$ref": "#/definitions/MetricBatch"
12841             },
12842             "tag": {
12843               "type": "string"
12844             }
12845           },
12846           "additionalProperties": false,
12847           "required": [
12848             "tag",
12849             "batch"
12850           ]
12851         },
12852         "MetricBatchParams": {
12853           "type": "object",
12854           "properties": {
12855             "batches": {
12856               "type": "array",
12857               "items": {
12858                 "$ref": "#/definitions/MetricBatchParam"
12859               }
12860             }
12861           },
12862           "additionalProperties": false,
12863           "required": [
12864             "batches"
12865           ]
12866         }
12867       }
12868     }
12869   },
12870   {
12871     "Name": "MetricsDebug",
12872     "Version": 2,
12873     "Schema": {
12874       "type": "object",
12875       "properties": {
12876         "GetMetrics": {
12877           "type": "object",
12878           "properties": {
12879             "Params": {
12880               "$ref": "#/definitions/Entities"
12881             },
12882             "Result": {
12883               "$ref": "#/definitions/MetricResults"
12884             }
12885           }
12886         },
12887         "SetMeterStatus": {
12888           "type": "object",
12889           "properties": {
12890             "Params": {
12891               "$ref": "#/definitions/MeterStatusParams"
12892             },
12893             "Result": {
12894               "$ref": "#/definitions/ErrorResults"
12895             }
12896           }
12897         }
12898       },
12899       "definitions": {
12900         "Entities": {
12901           "type": "object",
12902           "properties": {
12903             "entities": {
12904               "type": "array",
12905               "items": {
12906                 "$ref": "#/definitions/Entity"
12907               }
12908             }
12909           },
12910           "additionalProperties": false,
12911           "required": [
12912             "entities"
12913           ]
12914         },
12915         "Entity": {
12916           "type": "object",
12917           "properties": {
12918             "tag": {
12919               "type": "string"
12920             }
12921           },
12922           "additionalProperties": false,
12923           "required": [
12924             "tag"
12925           ]
12926         },
12927         "EntityMetrics": {
12928           "type": "object",
12929           "properties": {
12930             "error": {
12931               "$ref": "#/definitions/Error"
12932             },
12933             "metrics": {
12934               "type": "array",
12935               "items": {
12936                 "$ref": "#/definitions/MetricResult"
12937               }
12938             }
12939           },
12940           "additionalProperties": false
12941         },
12942         "Error": {
12943           "type": "object",
12944           "properties": {
12945             "code": {
12946               "type": "string"
12947             },
12948             "info": {
12949               "$ref": "#/definitions/ErrorInfo"
12950             },
12951             "message": {
12952               "type": "string"
12953             }
12954           },
12955           "additionalProperties": false,
12956           "required": [
12957             "message",
12958             "code"
12959           ]
12960         },
12961         "ErrorInfo": {
12962           "type": "object",
12963           "properties": {
12964             "macaroon": {
12965               "$ref": "#/definitions/Macaroon"
12966             },
12967             "macaroon-path": {
12968               "type": "string"
12969             }
12970           },
12971           "additionalProperties": false
12972         },
12973         "ErrorResult": {
12974           "type": "object",
12975           "properties": {
12976             "error": {
12977               "$ref": "#/definitions/Error"
12978             }
12979           },
12980           "additionalProperties": false
12981         },
12982         "ErrorResults": {
12983           "type": "object",
12984           "properties": {
12985             "results": {
12986               "type": "array",
12987               "items": {
12988                 "$ref": "#/definitions/ErrorResult"
12989               }
12990             }
12991           },
12992           "additionalProperties": false,
12993           "required": [
12994             "results"
12995           ]
12996         },
12997         "Macaroon": {
12998           "type": "object",
12999           "additionalProperties": false
13000         },
13001         "MeterStatusParam": {
13002           "type": "object",
13003           "properties": {
13004             "code": {
13005               "type": "string"
13006             },
13007             "info": {
13008               "type": "string"
13009             },
13010             "tag": {
13011               "type": "string"
13012             }
13013           },
13014           "additionalProperties": false,
13015           "required": [
13016             "tag",
13017             "code",
13018             "info"
13019           ]
13020         },
13021         "MeterStatusParams": {
13022           "type": "object",
13023           "properties": {
13024             "statues": {
13025               "type": "array",
13026               "items": {
13027                 "$ref": "#/definitions/MeterStatusParam"
13028               }
13029             }
13030           },
13031           "additionalProperties": false,
13032           "required": [
13033             "statues"
13034           ]
13035         },
13036         "MetricResult": {
13037           "type": "object",
13038           "properties": {
13039             "key": {
13040               "type": "string"
13041             },
13042             "time": {
13043               "type": "string",
13044               "format": "date-time"
13045             },
13046             "unit": {
13047               "type": "string"
13048             },
13049             "value": {
13050               "type": "string"
13051             }
13052           },
13053           "additionalProperties": false,
13054           "required": [
13055             "time",
13056             "key",
13057             "value",
13058             "unit"
13059           ]
13060         },
13061         "MetricResults": {
13062           "type": "object",
13063           "properties": {
13064             "results": {
13065               "type": "array",
13066               "items": {
13067                 "$ref": "#/definitions/EntityMetrics"
13068               }
13069             }
13070           },
13071           "additionalProperties": false,
13072           "required": [
13073             "results"
13074           ]
13075         }
13076       }
13077     }
13078   },
13079   {
13080     "Name": "MetricsManager",
13081     "Version": 1,
13082     "Schema": {
13083       "type": "object",
13084       "properties": {
13085         "CleanupOldMetrics": {
13086           "type": "object",
13087           "properties": {
13088             "Params": {
13089               "$ref": "#/definitions/Entities"
13090             },
13091             "Result": {
13092               "$ref": "#/definitions/ErrorResults"
13093             }
13094           }
13095         },
13096         "SendMetrics": {
13097           "type": "object",
13098           "properties": {
13099             "Params": {
13100               "$ref": "#/definitions/Entities"
13101             },
13102             "Result": {
13103               "$ref": "#/definitions/ErrorResults"
13104             }
13105           }
13106         }
13107       },
13108       "definitions": {
13109         "Entities": {
13110           "type": "object",
13111           "properties": {
13112             "entities": {
13113               "type": "array",
13114               "items": {
13115                 "$ref": "#/definitions/Entity"
13116               }
13117             }
13118           },
13119           "additionalProperties": false,
13120           "required": [
13121             "entities"
13122           ]
13123         },
13124         "Entity": {
13125           "type": "object",
13126           "properties": {
13127             "tag": {
13128               "type": "string"
13129             }
13130           },
13131           "additionalProperties": false,
13132           "required": [
13133             "tag"
13134           ]
13135         },
13136         "Error": {
13137           "type": "object",
13138           "properties": {
13139             "code": {
13140               "type": "string"
13141             },
13142             "info": {
13143               "$ref": "#/definitions/ErrorInfo"
13144             },
13145             "message": {
13146               "type": "string"
13147             }
13148           },
13149           "additionalProperties": false,
13150           "required": [
13151             "message",
13152             "code"
13153           ]
13154         },
13155         "ErrorInfo": {
13156           "type": "object",
13157           "properties": {
13158             "macaroon": {
13159               "$ref": "#/definitions/Macaroon"
13160             },
13161             "macaroon-path": {
13162               "type": "string"
13163             }
13164           },
13165           "additionalProperties": false
13166         },
13167         "ErrorResult": {
13168           "type": "object",
13169           "properties": {
13170             "error": {
13171               "$ref": "#/definitions/Error"
13172             }
13173           },
13174           "additionalProperties": false
13175         },
13176         "ErrorResults": {
13177           "type": "object",
13178           "properties": {
13179             "results": {
13180               "type": "array",
13181               "items": {
13182                 "$ref": "#/definitions/ErrorResult"
13183               }
13184             }
13185           },
13186           "additionalProperties": false,
13187           "required": [
13188             "results"
13189           ]
13190         },
13191         "Macaroon": {
13192           "type": "object",
13193           "additionalProperties": false
13194         }
13195       }
13196     }
13197   },
13198   {
13199     "Name": "MigrationFlag",
13200     "Version": 1,
13201     "Schema": {
13202       "type": "object",
13203       "properties": {
13204         "Phase": {
13205           "type": "object",
13206           "properties": {
13207             "Params": {
13208               "$ref": "#/definitions/Entities"
13209             },
13210             "Result": {
13211               "$ref": "#/definitions/PhaseResults"
13212             }
13213           }
13214         },
13215         "Watch": {
13216           "type": "object",
13217           "properties": {
13218             "Params": {
13219               "$ref": "#/definitions/Entities"
13220             },
13221             "Result": {
13222               "$ref": "#/definitions/NotifyWatchResults"
13223             }
13224           }
13225         }
13226       },
13227       "definitions": {
13228         "Entities": {
13229           "type": "object",
13230           "properties": {
13231             "entities": {
13232               "type": "array",
13233               "items": {
13234                 "$ref": "#/definitions/Entity"
13235               }
13236             }
13237           },
13238           "additionalProperties": false,
13239           "required": [
13240             "entities"
13241           ]
13242         },
13243         "Entity": {
13244           "type": "object",
13245           "properties": {
13246             "tag": {
13247               "type": "string"
13248             }
13249           },
13250           "additionalProperties": false,
13251           "required": [
13252             "tag"
13253           ]
13254         },
13255         "Error": {
13256           "type": "object",
13257           "properties": {
13258             "code": {
13259               "type": "string"
13260             },
13261             "info": {
13262               "$ref": "#/definitions/ErrorInfo"
13263             },
13264             "message": {
13265               "type": "string"
13266             }
13267           },
13268           "additionalProperties": false,
13269           "required": [
13270             "message",
13271             "code"
13272           ]
13273         },
13274         "ErrorInfo": {
13275           "type": "object",
13276           "properties": {
13277             "macaroon": {
13278               "$ref": "#/definitions/Macaroon"
13279             },
13280             "macaroon-path": {
13281               "type": "string"
13282             }
13283           },
13284           "additionalProperties": false
13285         },
13286         "Macaroon": {
13287           "type": "object",
13288           "additionalProperties": false
13289         },
13290         "NotifyWatchResult": {
13291           "type": "object",
13292           "properties": {
13293             "NotifyWatcherId": {
13294               "type": "string"
13295             },
13296             "error": {
13297               "$ref": "#/definitions/Error"
13298             }
13299           },
13300           "additionalProperties": false,
13301           "required": [
13302             "NotifyWatcherId"
13303           ]
13304         },
13305         "NotifyWatchResults": {
13306           "type": "object",
13307           "properties": {
13308             "results": {
13309               "type": "array",
13310               "items": {
13311                 "$ref": "#/definitions/NotifyWatchResult"
13312               }
13313             }
13314           },
13315           "additionalProperties": false,
13316           "required": [
13317             "results"
13318           ]
13319         },
13320         "PhaseResult": {
13321           "type": "object",
13322           "properties": {
13323             "error": {
13324               "$ref": "#/definitions/Error"
13325             },
13326             "phase": {
13327               "type": "string"
13328             }
13329           },
13330           "additionalProperties": false
13331         },
13332         "PhaseResults": {
13333           "type": "object",
13334           "properties": {
13335             "results": {
13336               "type": "array",
13337               "items": {
13338                 "$ref": "#/definitions/PhaseResult"
13339               }
13340             }
13341           },
13342           "additionalProperties": false,
13343           "required": [
13344             "results"
13345           ]
13346         }
13347       }
13348     }
13349   },
13350   {
13351     "Name": "MigrationMaster",
13352     "Version": 1,
13353     "Schema": {
13354       "type": "object",
13355       "properties": {
13356         "Export": {
13357           "type": "object",
13358           "properties": {
13359             "Result": {
13360               "$ref": "#/definitions/SerializedModel"
13361             }
13362           }
13363         },
13364         "MigrationStatus": {
13365           "type": "object",
13366           "properties": {
13367             "Result": {
13368               "$ref": "#/definitions/MasterMigrationStatus"
13369             }
13370           }
13371         },
13372         "MinionReports": {
13373           "type": "object",
13374           "properties": {
13375             "Result": {
13376               "$ref": "#/definitions/MinionReports"
13377             }
13378           }
13379         },
13380         "ModelInfo": {
13381           "type": "object",
13382           "properties": {
13383             "Result": {
13384               "$ref": "#/definitions/MigrationModelInfo"
13385             }
13386           }
13387         },
13388         "Prechecks": {
13389           "type": "object"
13390         },
13391         "Reap": {
13392           "type": "object"
13393         },
13394         "SetPhase": {
13395           "type": "object",
13396           "properties": {
13397             "Params": {
13398               "$ref": "#/definitions/SetMigrationPhaseArgs"
13399             }
13400           }
13401         },
13402         "SetStatusMessage": {
13403           "type": "object",
13404           "properties": {
13405             "Params": {
13406               "$ref": "#/definitions/SetMigrationStatusMessageArgs"
13407             }
13408           }
13409         },
13410         "Watch": {
13411           "type": "object",
13412           "properties": {
13413             "Result": {
13414               "$ref": "#/definitions/NotifyWatchResult"
13415             }
13416           }
13417         },
13418         "WatchMinionReports": {
13419           "type": "object",
13420           "properties": {
13421             "Result": {
13422               "$ref": "#/definitions/NotifyWatchResult"
13423             }
13424           }
13425         }
13426       },
13427       "definitions": {
13428         "Error": {
13429           "type": "object",
13430           "properties": {
13431             "code": {
13432               "type": "string"
13433             },
13434             "info": {
13435               "$ref": "#/definitions/ErrorInfo"
13436             },
13437             "message": {
13438               "type": "string"
13439             }
13440           },
13441           "additionalProperties": false,
13442           "required": [
13443             "message",
13444             "code"
13445           ]
13446         },
13447         "ErrorInfo": {
13448           "type": "object",
13449           "properties": {
13450             "macaroon": {
13451               "$ref": "#/definitions/Macaroon"
13452             },
13453             "macaroon-path": {
13454               "type": "string"
13455             }
13456           },
13457           "additionalProperties": false
13458         },
13459         "Macaroon": {
13460           "type": "object",
13461           "additionalProperties": false
13462         },
13463         "MasterMigrationStatus": {
13464           "type": "object",
13465           "properties": {
13466             "migration-id": {
13467               "type": "string"
13468             },
13469             "phase": {
13470               "type": "string"
13471             },
13472             "phase-changed-time": {
13473               "type": "string",
13474               "format": "date-time"
13475             },
13476             "spec": {
13477               "$ref": "#/definitions/MigrationSpec"
13478             }
13479           },
13480           "additionalProperties": false,
13481           "required": [
13482             "spec",
13483             "migration-id",
13484             "phase",
13485             "phase-changed-time"
13486           ]
13487         },
13488         "MigrationModelInfo": {
13489           "type": "object",
13490           "properties": {
13491             "agent-version": {
13492               "$ref": "#/definitions/Number"
13493             },
13494             "controller-agent-version": {
13495               "$ref": "#/definitions/Number"
13496             },
13497             "name": {
13498               "type": "string"
13499             },
13500             "owner-tag": {
13501               "type": "string"
13502             },
13503             "uuid": {
13504               "type": "string"
13505             }
13506           },
13507           "additionalProperties": false,
13508           "required": [
13509             "uuid",
13510             "name",
13511             "owner-tag",
13512             "agent-version",
13513             "controller-agent-version"
13514           ]
13515         },
13516         "MigrationSpec": {
13517           "type": "object",
13518           "properties": {
13519             "external-control": {
13520               "type": "boolean"
13521             },
13522             "model-tag": {
13523               "type": "string"
13524             },
13525             "skip-initial-prechecks": {
13526               "type": "boolean"
13527             },
13528             "target-info": {
13529               "$ref": "#/definitions/MigrationTargetInfo"
13530             }
13531           },
13532           "additionalProperties": false,
13533           "required": [
13534             "model-tag",
13535             "target-info",
13536             "external-control",
13537             "skip-initial-prechecks"
13538           ]
13539         },
13540         "MigrationTargetInfo": {
13541           "type": "object",
13542           "properties": {
13543             "addrs": {
13544               "type": "array",
13545               "items": {
13546                 "type": "string"
13547               }
13548             },
13549             "auth-tag": {
13550               "type": "string"
13551             },
13552             "ca-cert": {
13553               "type": "string"
13554             },
13555             "controller-tag": {
13556               "type": "string"
13557             },
13558             "macaroons": {
13559               "type": "string"
13560             },
13561             "password": {
13562               "type": "string"
13563             }
13564           },
13565           "additionalProperties": false,
13566           "required": [
13567             "controller-tag",
13568             "addrs",
13569             "ca-cert",
13570             "auth-tag"
13571           ]
13572         },
13573         "MinionReports": {
13574           "type": "object",
13575           "properties": {
13576             "failed": {
13577               "type": "array",
13578               "items": {
13579                 "type": "string"
13580               }
13581             },
13582             "migration-id": {
13583               "type": "string"
13584             },
13585             "phase": {
13586               "type": "string"
13587             },
13588             "success-count": {
13589               "type": "integer"
13590             },
13591             "unknown-count": {
13592               "type": "integer"
13593             },
13594             "unknown-sample": {
13595               "type": "array",
13596               "items": {
13597                 "type": "string"
13598               }
13599             }
13600           },
13601           "additionalProperties": false,
13602           "required": [
13603             "migration-id",
13604             "phase",
13605             "success-count",
13606             "unknown-count",
13607             "unknown-sample",
13608             "failed"
13609           ]
13610         },
13611         "NotifyWatchResult": {
13612           "type": "object",
13613           "properties": {
13614             "NotifyWatcherId": {
13615               "type": "string"
13616             },
13617             "error": {
13618               "$ref": "#/definitions/Error"
13619             }
13620           },
13621           "additionalProperties": false,
13622           "required": [
13623             "NotifyWatcherId"
13624           ]
13625         },
13626         "Number": {
13627           "type": "object",
13628           "properties": {
13629             "Build": {
13630               "type": "integer"
13631             },
13632             "Major": {
13633               "type": "integer"
13634             },
13635             "Minor": {
13636               "type": "integer"
13637             },
13638             "Patch": {
13639               "type": "integer"
13640             },
13641             "Tag": {
13642               "type": "string"
13643             }
13644           },
13645           "additionalProperties": false,
13646           "required": [
13647             "Major",
13648             "Minor",
13649             "Tag",
13650             "Patch",
13651             "Build"
13652           ]
13653         },
13654         "SerializedModel": {
13655           "type": "object",
13656           "properties": {
13657             "bytes": {
13658               "type": "array",
13659               "items": {
13660                 "type": "integer"
13661               }
13662             },
13663             "charms": {
13664               "type": "array",
13665               "items": {
13666                 "type": "string"
13667               }
13668             },
13669             "resources": {
13670               "type": "array",
13671               "items": {
13672                 "$ref": "#/definitions/SerializedModelResource"
13673               }
13674             },
13675             "tools": {
13676               "type": "array",
13677               "items": {
13678                 "$ref": "#/definitions/SerializedModelTools"
13679               }
13680             }
13681           },
13682           "additionalProperties": false,
13683           "required": [
13684             "bytes",
13685             "charms",
13686             "tools",
13687             "resources"
13688           ]
13689         },
13690         "SerializedModelResource": {
13691           "type": "object",
13692           "properties": {
13693             "application": {
13694               "type": "string"
13695             },
13696             "application-revision": {
13697               "$ref": "#/definitions/SerializedModelResourceRevision"
13698             },
13699             "charmstore-revision": {
13700               "$ref": "#/definitions/SerializedModelResourceRevision"
13701             },
13702             "name": {
13703               "type": "string"
13704             },
13705             "unit-revisions": {
13706               "type": "object",
13707               "patternProperties": {
13708                 ".*": {
13709                   "$ref": "#/definitions/SerializedModelResourceRevision"
13710                 }
13711               }
13712             }
13713           },
13714           "additionalProperties": false,
13715           "required": [
13716             "application",
13717             "name",
13718             "application-revision",
13719             "charmstore-revision",
13720             "unit-revisions"
13721           ]
13722         },
13723         "SerializedModelResourceRevision": {
13724           "type": "object",
13725           "properties": {
13726             "description": {
13727               "type": "string"
13728             },
13729             "fingerprint": {
13730               "type": "string"
13731             },
13732             "origin": {
13733               "type": "string"
13734             },
13735             "path": {
13736               "type": "string"
13737             },
13738             "revision": {
13739               "type": "integer"
13740             },
13741             "size": {
13742               "type": "integer"
13743             },
13744             "timestamp": {
13745               "type": "string",
13746               "format": "date-time"
13747             },
13748             "type": {
13749               "type": "string"
13750             },
13751             "username": {
13752               "type": "string"
13753             }
13754           },
13755           "additionalProperties": false,
13756           "required": [
13757             "revision",
13758             "type",
13759             "path",
13760             "description",
13761             "origin",
13762             "fingerprint",
13763             "size",
13764             "timestamp"
13765           ]
13766         },
13767         "SerializedModelTools": {
13768           "type": "object",
13769           "properties": {
13770             "uri": {
13771               "type": "string"
13772             },
13773             "version": {
13774               "type": "string"
13775             }
13776           },
13777           "additionalProperties": false,
13778           "required": [
13779             "version",
13780             "uri"
13781           ]
13782         },
13783         "SetMigrationPhaseArgs": {
13784           "type": "object",
13785           "properties": {
13786             "phase": {
13787               "type": "string"
13788             }
13789           },
13790           "additionalProperties": false,
13791           "required": [
13792             "phase"
13793           ]
13794         },
13795         "SetMigrationStatusMessageArgs": {
13796           "type": "object",
13797           "properties": {
13798             "message": {
13799               "type": "string"
13800             }
13801           },
13802           "additionalProperties": false,
13803           "required": [
13804             "message"
13805           ]
13806         }
13807       }
13808     }
13809   },
13810   {
13811     "Name": "MigrationMinion",
13812     "Version": 1,
13813     "Schema": {
13814       "type": "object",
13815       "properties": {
13816         "Report": {
13817           "type": "object",
13818           "properties": {
13819             "Params": {
13820               "$ref": "#/definitions/MinionReport"
13821             }
13822           }
13823         },
13824         "Watch": {
13825           "type": "object",
13826           "properties": {
13827             "Result": {
13828               "$ref": "#/definitions/NotifyWatchResult"
13829             }
13830           }
13831         }
13832       },
13833       "definitions": {
13834         "Error": {
13835           "type": "object",
13836           "properties": {
13837             "code": {
13838               "type": "string"
13839             },
13840             "info": {
13841               "$ref": "#/definitions/ErrorInfo"
13842             },
13843             "message": {
13844               "type": "string"
13845             }
13846           },
13847           "additionalProperties": false,
13848           "required": [
13849             "message",
13850             "code"
13851           ]
13852         },
13853         "ErrorInfo": {
13854           "type": "object",
13855           "properties": {
13856             "macaroon": {
13857               "$ref": "#/definitions/Macaroon"
13858             },
13859             "macaroon-path": {
13860               "type": "string"
13861             }
13862           },
13863           "additionalProperties": false
13864         },
13865         "Macaroon": {
13866           "type": "object",
13867           "additionalProperties": false
13868         },
13869         "MinionReport": {
13870           "type": "object",
13871           "properties": {
13872             "migration-id": {
13873               "type": "string"
13874             },
13875             "phase": {
13876               "type": "string"
13877             },
13878             "success": {
13879               "type": "boolean"
13880             }
13881           },
13882           "additionalProperties": false,
13883           "required": [
13884             "migration-id",
13885             "phase",
13886             "success"
13887           ]
13888         },
13889         "NotifyWatchResult": {
13890           "type": "object",
13891           "properties": {
13892             "NotifyWatcherId": {
13893               "type": "string"
13894             },
13895             "error": {
13896               "$ref": "#/definitions/Error"
13897             }
13898           },
13899           "additionalProperties": false,
13900           "required": [
13901             "NotifyWatcherId"
13902           ]
13903         }
13904       }
13905     }
13906   },
13907   {
13908     "Name": "MigrationStatusWatcher",
13909     "Version": 1,
13910     "Schema": {
13911       "type": "object",
13912       "properties": {
13913         "Next": {
13914           "type": "object",
13915           "properties": {
13916             "Result": {
13917               "$ref": "#/definitions/MigrationStatus"
13918             }
13919           }
13920         },
13921         "Stop": {
13922           "type": "object"
13923         }
13924       },
13925       "definitions": {
13926         "MigrationStatus": {
13927           "type": "object",
13928           "properties": {
13929             "attempt": {
13930               "type": "integer"
13931             },
13932             "external-control": {
13933               "type": "boolean"
13934             },
13935             "migration-id": {
13936               "type": "string"
13937             },
13938             "phase": {
13939               "type": "string"
13940             },
13941             "source-api-addrs": {
13942               "type": "array",
13943               "items": {
13944                 "type": "string"
13945               }
13946             },
13947             "source-ca-cert": {
13948               "type": "string"
13949             },
13950             "target-api-addrs": {
13951               "type": "array",
13952               "items": {
13953                 "type": "string"
13954               }
13955             },
13956             "target-ca-cert": {
13957               "type": "string"
13958             }
13959           },
13960           "additionalProperties": false,
13961           "required": [
13962             "migration-id",
13963             "attempt",
13964             "phase",
13965             "external-control",
13966             "source-api-addrs",
13967             "source-ca-cert",
13968             "target-api-addrs",
13969             "target-ca-cert"
13970           ]
13971         }
13972       }
13973     }
13974   },
13975   {
13976     "Name": "MigrationTarget",
13977     "Version": 1,
13978     "Schema": {
13979       "type": "object",
13980       "properties": {
13981         "Abort": {
13982           "type": "object",
13983           "properties": {
13984             "Params": {
13985               "$ref": "#/definitions/ModelArgs"
13986             }
13987           }
13988         },
13989         "Activate": {
13990           "type": "object",
13991           "properties": {
13992             "Params": {
13993               "$ref": "#/definitions/ModelArgs"
13994             }
13995           }
13996         },
13997         "AdoptResources": {
13998           "type": "object",
13999           "properties": {
14000             "Params": {
14001               "$ref": "#/definitions/AdoptResourcesArgs"
14002             }
14003           }
14004         },
14005         "Import": {
14006           "type": "object",
14007           "properties": {
14008             "Params": {
14009               "$ref": "#/definitions/SerializedModel"
14010             }
14011           }
14012         },
14013         "LatestLogTime": {
14014           "type": "object",
14015           "properties": {
14016             "Params": {
14017               "$ref": "#/definitions/ModelArgs"
14018             },
14019             "Result": {
14020               "type": "string",
14021               "format": "date-time"
14022             }
14023           }
14024         },
14025         "Prechecks": {
14026           "type": "object",
14027           "properties": {
14028             "Params": {
14029               "$ref": "#/definitions/MigrationModelInfo"
14030             }
14031           }
14032         }
14033       },
14034       "definitions": {
14035         "AdoptResourcesArgs": {
14036           "type": "object",
14037           "properties": {
14038             "model-tag": {
14039               "type": "string"
14040             },
14041             "source-controller-version": {
14042               "$ref": "#/definitions/Number"
14043             }
14044           },
14045           "additionalProperties": false,
14046           "required": [
14047             "model-tag",
14048             "source-controller-version"
14049           ]
14050         },
14051         "MigrationModelInfo": {
14052           "type": "object",
14053           "properties": {
14054             "agent-version": {
14055               "$ref": "#/definitions/Number"
14056             },
14057             "controller-agent-version": {
14058               "$ref": "#/definitions/Number"
14059             },
14060             "name": {
14061               "type": "string"
14062             },
14063             "owner-tag": {
14064               "type": "string"
14065             },
14066             "uuid": {
14067               "type": "string"
14068             }
14069           },
14070           "additionalProperties": false,
14071           "required": [
14072             "uuid",
14073             "name",
14074             "owner-tag",
14075             "agent-version",
14076             "controller-agent-version"
14077           ]
14078         },
14079         "ModelArgs": {
14080           "type": "object",
14081           "properties": {
14082             "model-tag": {
14083               "type": "string"
14084             }
14085           },
14086           "additionalProperties": false,
14087           "required": [
14088             "model-tag"
14089           ]
14090         },
14091         "Number": {
14092           "type": "object",
14093           "properties": {
14094             "Build": {
14095               "type": "integer"
14096             },
14097             "Major": {
14098               "type": "integer"
14099             },
14100             "Minor": {
14101               "type": "integer"
14102             },
14103             "Patch": {
14104               "type": "integer"
14105             },
14106             "Tag": {
14107               "type": "string"
14108             }
14109           },
14110           "additionalProperties": false,
14111           "required": [
14112             "Major",
14113             "Minor",
14114             "Tag",
14115             "Patch",
14116             "Build"
14117           ]
14118         },
14119         "SerializedModel": {
14120           "type": "object",
14121           "properties": {
14122             "bytes": {
14123               "type": "array",
14124               "items": {
14125                 "type": "integer"
14126               }
14127             },
14128             "charms": {
14129               "type": "array",
14130               "items": {
14131                 "type": "string"
14132               }
14133             },
14134             "resources": {
14135               "type": "array",
14136               "items": {
14137                 "$ref": "#/definitions/SerializedModelResource"
14138               }
14139             },
14140             "tools": {
14141               "type": "array",
14142               "items": {
14143                 "$ref": "#/definitions/SerializedModelTools"
14144               }
14145             }
14146           },
14147           "additionalProperties": false,
14148           "required": [
14149             "bytes",
14150             "charms",
14151             "tools",
14152             "resources"
14153           ]
14154         },
14155         "SerializedModelResource": {
14156           "type": "object",
14157           "properties": {
14158             "application": {
14159               "type": "string"
14160             },
14161             "application-revision": {
14162               "$ref": "#/definitions/SerializedModelResourceRevision"
14163             },
14164             "charmstore-revision": {
14165               "$ref": "#/definitions/SerializedModelResourceRevision"
14166             },
14167             "name": {
14168               "type": "string"
14169             },
14170             "unit-revisions": {
14171               "type": "object",
14172               "patternProperties": {
14173                 ".*": {
14174                   "$ref": "#/definitions/SerializedModelResourceRevision"
14175                 }
14176               }
14177             }
14178           },
14179           "additionalProperties": false,
14180           "required": [
14181             "application",
14182             "name",
14183             "application-revision",
14184             "charmstore-revision",
14185             "unit-revisions"
14186           ]
14187         },
14188         "SerializedModelResourceRevision": {
14189           "type": "object",
14190           "properties": {
14191             "description": {
14192               "type": "string"
14193             },
14194             "fingerprint": {
14195               "type": "string"
14196             },
14197             "origin": {
14198               "type": "string"
14199             },
14200             "path": {
14201               "type": "string"
14202             },
14203             "revision": {
14204               "type": "integer"
14205             },
14206             "size": {
14207               "type": "integer"
14208             },
14209             "timestamp": {
14210               "type": "string",
14211               "format": "date-time"
14212             },
14213             "type": {
14214               "type": "string"
14215             },
14216             "username": {
14217               "type": "string"
14218             }
14219           },
14220           "additionalProperties": false,
14221           "required": [
14222             "revision",
14223             "type",
14224             "path",
14225             "description",
14226             "origin",
14227             "fingerprint",
14228             "size",
14229             "timestamp"
14230           ]
14231         },
14232         "SerializedModelTools": {
14233           "type": "object",
14234           "properties": {
14235             "uri": {
14236               "type": "string"
14237             },
14238             "version": {
14239               "type": "string"
14240             }
14241           },
14242           "additionalProperties": false,
14243           "required": [
14244             "version",
14245             "uri"
14246           ]
14247         }
14248       }
14249     }
14250   },
14251   {
14252     "Name": "ModelConfig",
14253     "Version": 1,
14254     "Schema": {
14255       "type": "object",
14256       "properties": {
14257         "ModelGet": {
14258           "type": "object",
14259           "properties": {
14260             "Result": {
14261               "$ref": "#/definitions/ModelConfigResults"
14262             }
14263           }
14264         },
14265         "ModelSet": {
14266           "type": "object",
14267           "properties": {
14268             "Params": {
14269               "$ref": "#/definitions/ModelSet"
14270             }
14271           }
14272         },
14273         "ModelUnset": {
14274           "type": "object",
14275           "properties": {
14276             "Params": {
14277               "$ref": "#/definitions/ModelUnset"
14278             }
14279           }
14280         }
14281       },
14282       "definitions": {
14283         "ConfigValue": {
14284           "type": "object",
14285           "properties": {
14286             "source": {
14287               "type": "string"
14288             },
14289             "value": {
14290               "type": "object",
14291               "additionalProperties": true
14292             }
14293           },
14294           "additionalProperties": false,
14295           "required": [
14296             "value",
14297             "source"
14298           ]
14299         },
14300         "ModelConfigResults": {
14301           "type": "object",
14302           "properties": {
14303             "config": {
14304               "type": "object",
14305               "patternProperties": {
14306                 ".*": {
14307                   "$ref": "#/definitions/ConfigValue"
14308                 }
14309               }
14310             }
14311           },
14312           "additionalProperties": false,
14313           "required": [
14314             "config"
14315           ]
14316         },
14317         "ModelSet": {
14318           "type": "object",
14319           "properties": {
14320             "config": {
14321               "type": "object",
14322               "patternProperties": {
14323                 ".*": {
14324                   "type": "object",
14325                   "additionalProperties": true
14326                 }
14327               }
14328             }
14329           },
14330           "additionalProperties": false,
14331           "required": [
14332             "config"
14333           ]
14334         },
14335         "ModelUnset": {
14336           "type": "object",
14337           "properties": {
14338             "keys": {
14339               "type": "array",
14340               "items": {
14341                 "type": "string"
14342               }
14343             }
14344           },
14345           "additionalProperties": false,
14346           "required": [
14347             "keys"
14348           ]
14349         }
14350       }
14351     }
14352   },
14353   {
14354     "Name": "ModelManager",
14355     "Version": 2,
14356     "Schema": {
14357       "type": "object",
14358       "properties": {
14359         "CreateModel": {
14360           "type": "object",
14361           "properties": {
14362             "Params": {
14363               "$ref": "#/definitions/ModelCreateArgs"
14364             },
14365             "Result": {
14366               "$ref": "#/definitions/ModelInfo"
14367             }
14368           }
14369         },
14370         "DestroyModels": {
14371           "type": "object",
14372           "properties": {
14373             "Params": {
14374               "$ref": "#/definitions/Entities"
14375             },
14376             "Result": {
14377               "$ref": "#/definitions/ErrorResults"
14378             }
14379           }
14380         },
14381         "DumpModels": {
14382           "type": "object",
14383           "properties": {
14384             "Params": {
14385               "$ref": "#/definitions/Entities"
14386             },
14387             "Result": {
14388               "$ref": "#/definitions/MapResults"
14389             }
14390           }
14391         },
14392         "DumpModelsDB": {
14393           "type": "object",
14394           "properties": {
14395             "Params": {
14396               "$ref": "#/definitions/Entities"
14397             },
14398             "Result": {
14399               "$ref": "#/definitions/MapResults"
14400             }
14401           }
14402         },
14403         "ListModels": {
14404           "type": "object",
14405           "properties": {
14406             "Params": {
14407               "$ref": "#/definitions/Entity"
14408             },
14409             "Result": {
14410               "$ref": "#/definitions/UserModelList"
14411             }
14412           }
14413         },
14414         "ModelDefaults": {
14415           "type": "object",
14416           "properties": {
14417             "Result": {
14418               "$ref": "#/definitions/ModelDefaultsResult"
14419             }
14420           }
14421         },
14422         "ModelInfo": {
14423           "type": "object",
14424           "properties": {
14425             "Params": {
14426               "$ref": "#/definitions/Entities"
14427             },
14428             "Result": {
14429               "$ref": "#/definitions/ModelInfoResults"
14430             }
14431           }
14432         },
14433         "ModelStatus": {
14434           "type": "object",
14435           "properties": {
14436             "Params": {
14437               "$ref": "#/definitions/Entities"
14438             },
14439             "Result": {
14440               "$ref": "#/definitions/ModelStatusResults"
14441             }
14442           }
14443         },
14444         "ModifyModelAccess": {
14445           "type": "object",
14446           "properties": {
14447             "Params": {
14448               "$ref": "#/definitions/ModifyModelAccessRequest"
14449             },
14450             "Result": {
14451               "$ref": "#/definitions/ErrorResults"
14452             }
14453           }
14454         },
14455         "SetModelDefaults": {
14456           "type": "object",
14457           "properties": {
14458             "Params": {
14459               "$ref": "#/definitions/SetModelDefaults"
14460             },
14461             "Result": {
14462               "$ref": "#/definitions/ErrorResults"
14463             }
14464           }
14465         },
14466         "UnsetModelDefaults": {
14467           "type": "object",
14468           "properties": {
14469             "Params": {
14470               "$ref": "#/definitions/UnsetModelDefaults"
14471             },
14472             "Result": {
14473               "$ref": "#/definitions/ErrorResults"
14474             }
14475           }
14476         }
14477       },
14478       "definitions": {
14479         "Entities": {
14480           "type": "object",
14481           "properties": {
14482             "entities": {
14483               "type": "array",
14484               "items": {
14485                 "$ref": "#/definitions/Entity"
14486               }
14487             }
14488           },
14489           "additionalProperties": false,
14490           "required": [
14491             "entities"
14492           ]
14493         },
14494         "Entity": {
14495           "type": "object",
14496           "properties": {
14497             "tag": {
14498               "type": "string"
14499             }
14500           },
14501           "additionalProperties": false,
14502           "required": [
14503             "tag"
14504           ]
14505         },
14506         "EntityStatus": {
14507           "type": "object",
14508           "properties": {
14509             "data": {
14510               "type": "object",
14511               "patternProperties": {
14512                 ".*": {
14513                   "type": "object",
14514                   "additionalProperties": true
14515                 }
14516               }
14517             },
14518             "info": {
14519               "type": "string"
14520             },
14521             "since": {
14522               "type": "string",
14523               "format": "date-time"
14524             },
14525             "status": {
14526               "type": "string"
14527             }
14528           },
14529           "additionalProperties": false,
14530           "required": [
14531             "status",
14532             "info",
14533             "since"
14534           ]
14535         },
14536         "Error": {
14537           "type": "object",
14538           "properties": {
14539             "code": {
14540               "type": "string"
14541             },
14542             "info": {
14543               "$ref": "#/definitions/ErrorInfo"
14544             },
14545             "message": {
14546               "type": "string"
14547             }
14548           },
14549           "additionalProperties": false,
14550           "required": [
14551             "message",
14552             "code"
14553           ]
14554         },
14555         "ErrorInfo": {
14556           "type": "object",
14557           "properties": {
14558             "macaroon": {
14559               "$ref": "#/definitions/Macaroon"
14560             },
14561             "macaroon-path": {
14562               "type": "string"
14563             }
14564           },
14565           "additionalProperties": false
14566         },
14567         "ErrorResult": {
14568           "type": "object",
14569           "properties": {
14570             "error": {
14571               "$ref": "#/definitions/Error"
14572             }
14573           },
14574           "additionalProperties": false
14575         },
14576         "ErrorResults": {
14577           "type": "object",
14578           "properties": {
14579             "results": {
14580               "type": "array",
14581               "items": {
14582                 "$ref": "#/definitions/ErrorResult"
14583               }
14584             }
14585           },
14586           "additionalProperties": false,
14587           "required": [
14588             "results"
14589           ]
14590         },
14591         "Macaroon": {
14592           "type": "object",
14593           "additionalProperties": false
14594         },
14595         "MachineHardware": {
14596           "type": "object",
14597           "properties": {
14598             "arch": {
14599               "type": "string"
14600             },
14601             "availability-zone": {
14602               "type": "string"
14603             },
14604             "cores": {
14605               "type": "integer"
14606             },
14607             "cpu-power": {
14608               "type": "integer"
14609             },
14610             "mem": {
14611               "type": "integer"
14612             },
14613             "root-disk": {
14614               "type": "integer"
14615             },
14616             "tags": {
14617               "type": "array",
14618               "items": {
14619                 "type": "string"
14620               }
14621             }
14622           },
14623           "additionalProperties": false
14624         },
14625         "MapResult": {
14626           "type": "object",
14627           "properties": {
14628             "error": {
14629               "$ref": "#/definitions/Error"
14630             },
14631             "result": {
14632               "type": "object",
14633               "patternProperties": {
14634                 ".*": {
14635                   "type": "object",
14636                   "additionalProperties": true
14637                 }
14638               }
14639             }
14640           },
14641           "additionalProperties": false,
14642           "required": [
14643             "result"
14644           ]
14645         },
14646         "MapResults": {
14647           "type": "object",
14648           "properties": {
14649             "results": {
14650               "type": "array",
14651               "items": {
14652                 "$ref": "#/definitions/MapResult"
14653               }
14654             }
14655           },
14656           "additionalProperties": false,
14657           "required": [
14658             "results"
14659           ]
14660         },
14661         "Model": {
14662           "type": "object",
14663           "properties": {
14664             "name": {
14665               "type": "string"
14666             },
14667             "owner-tag": {
14668               "type": "string"
14669             },
14670             "uuid": {
14671               "type": "string"
14672             }
14673           },
14674           "additionalProperties": false,
14675           "required": [
14676             "name",
14677             "uuid",
14678             "owner-tag"
14679           ]
14680         },
14681         "ModelCreateArgs": {
14682           "type": "object",
14683           "properties": {
14684             "cloud-tag": {
14685               "type": "string"
14686             },
14687             "config": {
14688               "type": "object",
14689               "patternProperties": {
14690                 ".*": {
14691                   "type": "object",
14692                   "additionalProperties": true
14693                 }
14694               }
14695             },
14696             "credential": {
14697               "type": "string"
14698             },
14699             "name": {
14700               "type": "string"
14701             },
14702             "owner-tag": {
14703               "type": "string"
14704             },
14705             "region": {
14706               "type": "string"
14707             }
14708           },
14709           "additionalProperties": false,
14710           "required": [
14711             "name",
14712             "owner-tag"
14713           ]
14714         },
14715         "ModelDefaultValues": {
14716           "type": "object",
14717           "properties": {
14718             "cloud-region": {
14719               "type": "string"
14720             },
14721             "cloud-tag": {
14722               "type": "string"
14723             },
14724             "config": {
14725               "type": "object",
14726               "patternProperties": {
14727                 ".*": {
14728                   "type": "object",
14729                   "additionalProperties": true
14730                 }
14731               }
14732             }
14733           },
14734           "additionalProperties": false,
14735           "required": [
14736             "config"
14737           ]
14738         },
14739         "ModelDefaults": {
14740           "type": "object",
14741           "properties": {
14742             "controller": {
14743               "type": "object",
14744               "additionalProperties": true
14745             },
14746             "default": {
14747               "type": "object",
14748               "additionalProperties": true
14749             },
14750             "regions": {
14751               "type": "array",
14752               "items": {
14753                 "$ref": "#/definitions/RegionDefaults"
14754               }
14755             }
14756           },
14757           "additionalProperties": false
14758         },
14759         "ModelDefaultsResult": {
14760           "type": "object",
14761           "properties": {
14762             "config": {
14763               "type": "object",
14764               "patternProperties": {
14765                 ".*": {
14766                   "$ref": "#/definitions/ModelDefaults"
14767                 }
14768               }
14769             }
14770           },
14771           "additionalProperties": false,
14772           "required": [
14773             "config"
14774           ]
14775         },
14776         "ModelInfo": {
14777           "type": "object",
14778           "properties": {
14779             "cloud-credential-tag": {
14780               "type": "string"
14781             },
14782             "cloud-region": {
14783               "type": "string"
14784             },
14785             "cloud-tag": {
14786               "type": "string"
14787             },
14788             "controller-uuid": {
14789               "type": "string"
14790             },
14791             "default-series": {
14792               "type": "string"
14793             },
14794             "life": {
14795               "type": "string"
14796             },
14797             "machines": {
14798               "type": "array",
14799               "items": {
14800                 "$ref": "#/definitions/ModelMachineInfo"
14801               }
14802             },
14803             "migration": {
14804               "$ref": "#/definitions/ModelMigrationStatus"
14805             },
14806             "name": {
14807               "type": "string"
14808             },
14809             "owner-tag": {
14810               "type": "string"
14811             },
14812             "provider-type": {
14813               "type": "string"
14814             },
14815             "status": {
14816               "$ref": "#/definitions/EntityStatus"
14817             },
14818             "users": {
14819               "type": "array",
14820               "items": {
14821                 "$ref": "#/definitions/ModelUserInfo"
14822               }
14823             },
14824             "uuid": {
14825               "type": "string"
14826             }
14827           },
14828           "additionalProperties": false,
14829           "required": [
14830             "name",
14831             "uuid",
14832             "controller-uuid",
14833             "provider-type",
14834             "default-series",
14835             "cloud-tag",
14836             "owner-tag",
14837             "life",
14838             "status",
14839             "users",
14840             "machines"
14841           ]
14842         },
14843         "ModelInfoResult": {
14844           "type": "object",
14845           "properties": {
14846             "error": {
14847               "$ref": "#/definitions/Error"
14848             },
14849             "result": {
14850               "$ref": "#/definitions/ModelInfo"
14851             }
14852           },
14853           "additionalProperties": false
14854         },
14855         "ModelInfoResults": {
14856           "type": "object",
14857           "properties": {
14858             "results": {
14859               "type": "array",
14860               "items": {
14861                 "$ref": "#/definitions/ModelInfoResult"
14862               }
14863             }
14864           },
14865           "additionalProperties": false,
14866           "required": [
14867             "results"
14868           ]
14869         },
14870         "ModelMachineInfo": {
14871           "type": "object",
14872           "properties": {
14873             "hardware": {
14874               "$ref": "#/definitions/MachineHardware"
14875             },
14876             "has-vote": {
14877               "type": "boolean"
14878             },
14879             "id": {
14880               "type": "string"
14881             },
14882             "instance-id": {
14883               "type": "string"
14884             },
14885             "status": {
14886               "type": "string"
14887             },
14888             "wants-vote": {
14889               "type": "boolean"
14890             }
14891           },
14892           "additionalProperties": false,
14893           "required": [
14894             "id"
14895           ]
14896         },
14897         "ModelMigrationStatus": {
14898           "type": "object",
14899           "properties": {
14900             "end": {
14901               "type": "string",
14902               "format": "date-time"
14903             },
14904             "start": {
14905               "type": "string",
14906               "format": "date-time"
14907             },
14908             "status": {
14909               "type": "string"
14910             }
14911           },
14912           "additionalProperties": false,
14913           "required": [
14914             "status",
14915             "start"
14916           ]
14917         },
14918         "ModelStatus": {
14919           "type": "object",
14920           "properties": {
14921             "application-count": {
14922               "type": "integer"
14923             },
14924             "hosted-machine-count": {
14925               "type": "integer"
14926             },
14927             "life": {
14928               "type": "string"
14929             },
14930             "machines": {
14931               "type": "array",
14932               "items": {
14933                 "$ref": "#/definitions/ModelMachineInfo"
14934               }
14935             },
14936             "model-tag": {
14937               "type": "string"
14938             },
14939             "owner-tag": {
14940               "type": "string"
14941             }
14942           },
14943           "additionalProperties": false,
14944           "required": [
14945             "model-tag",
14946             "life",
14947             "hosted-machine-count",
14948             "application-count",
14949             "owner-tag"
14950           ]
14951         },
14952         "ModelStatusResults": {
14953           "type": "object",
14954           "properties": {
14955             "models": {
14956               "type": "array",
14957               "items": {
14958                 "$ref": "#/definitions/ModelStatus"
14959               }
14960             }
14961           },
14962           "additionalProperties": false,
14963           "required": [
14964             "models"
14965           ]
14966         },
14967         "ModelUnsetKeys": {
14968           "type": "object",
14969           "properties": {
14970             "cloud-region": {
14971               "type": "string"
14972             },
14973             "cloud-tag": {
14974               "type": "string"
14975             },
14976             "keys": {
14977               "type": "array",
14978               "items": {
14979                 "type": "string"
14980               }
14981             }
14982           },
14983           "additionalProperties": false,
14984           "required": [
14985             "keys"
14986           ]
14987         },
14988         "ModelUserInfo": {
14989           "type": "object",
14990           "properties": {
14991             "access": {
14992               "type": "string"
14993             },
14994             "display-name": {
14995               "type": "string"
14996             },
14997             "last-connection": {
14998               "type": "string",
14999               "format": "date-time"
15000             },
15001             "user": {
15002               "type": "string"
15003             }
15004           },
15005           "additionalProperties": false,
15006           "required": [
15007             "user",
15008             "display-name",
15009             "last-connection",
15010             "access"
15011           ]
15012         },
15013         "ModifyModelAccess": {
15014           "type": "object",
15015           "properties": {
15016             "access": {
15017               "type": "string"
15018             },
15019             "action": {
15020               "type": "string"
15021             },
15022             "model-tag": {
15023               "type": "string"
15024             },
15025             "user-tag": {
15026               "type": "string"
15027             }
15028           },
15029           "additionalProperties": false,
15030           "required": [
15031             "user-tag",
15032             "action",
15033             "access",
15034             "model-tag"
15035           ]
15036         },
15037         "ModifyModelAccessRequest": {
15038           "type": "object",
15039           "properties": {
15040             "changes": {
15041               "type": "array",
15042               "items": {
15043                 "$ref": "#/definitions/ModifyModelAccess"
15044               }
15045             }
15046           },
15047           "additionalProperties": false,
15048           "required": [
15049             "changes"
15050           ]
15051         },
15052         "RegionDefaults": {
15053           "type": "object",
15054           "properties": {
15055             "region-name": {
15056               "type": "string"
15057             },
15058             "value": {
15059               "type": "object",
15060               "additionalProperties": true
15061             }
15062           },
15063           "additionalProperties": false,
15064           "required": [
15065             "region-name",
15066             "value"
15067           ]
15068         },
15069         "SetModelDefaults": {
15070           "type": "object",
15071           "properties": {
15072             "config": {
15073               "type": "array",
15074               "items": {
15075                 "$ref": "#/definitions/ModelDefaultValues"
15076               }
15077             }
15078           },
15079           "additionalProperties": false,
15080           "required": [
15081             "config"
15082           ]
15083         },
15084         "UnsetModelDefaults": {
15085           "type": "object",
15086           "properties": {
15087             "keys": {
15088               "type": "array",
15089               "items": {
15090                 "$ref": "#/definitions/ModelUnsetKeys"
15091               }
15092             }
15093           },
15094           "additionalProperties": false,
15095           "required": [
15096             "keys"
15097           ]
15098         },
15099         "UserModel": {
15100           "type": "object",
15101           "properties": {
15102             "last-connection": {
15103               "type": "string",
15104               "format": "date-time"
15105             },
15106             "model": {
15107               "$ref": "#/definitions/Model"
15108             }
15109           },
15110           "additionalProperties": false,
15111           "required": [
15112             "model",
15113             "last-connection"
15114           ]
15115         },
15116         "UserModelList": {
15117           "type": "object",
15118           "properties": {
15119             "user-models": {
15120               "type": "array",
15121               "items": {
15122                 "$ref": "#/definitions/UserModel"
15123               }
15124             }
15125           },
15126           "additionalProperties": false,
15127           "required": [
15128             "user-models"
15129           ]
15130         }
15131       }
15132     }
15133   },
15134   {
15135     "Name": "NotifyWatcher",
15136     "Version": 1,
15137     "Schema": {
15138       "type": "object",
15139       "properties": {
15140         "Next": {
15141           "type": "object"
15142         },
15143         "Stop": {
15144           "type": "object"
15145         }
15146       }
15147     }
15148   },
15149   {
15150     "Name": "Payloads",
15151     "Version": 1,
15152     "Schema": {
15153       "type": "object",
15154       "properties": {
15155         "List": {
15156           "type": "object",
15157           "properties": {
15158             "Params": {
15159               "$ref": "#/definitions/EnvListArgs"
15160             },
15161             "Result": {
15162               "$ref": "#/definitions/EnvListResults"
15163             }
15164           }
15165         }
15166       },
15167       "definitions": {
15168         "EnvListArgs": {
15169           "type": "object",
15170           "properties": {
15171             "patterns": {
15172               "type": "array",
15173               "items": {
15174                 "type": "string"
15175               }
15176             }
15177           },
15178           "additionalProperties": false,
15179           "required": [
15180             "patterns"
15181           ]
15182         },
15183         "EnvListResults": {
15184           "type": "object",
15185           "properties": {
15186             "results": {
15187               "type": "array",
15188               "items": {
15189                 "$ref": "#/definitions/Payload"
15190               }
15191             }
15192           },
15193           "additionalProperties": false,
15194           "required": [
15195             "results"
15196           ]
15197         },
15198         "Payload": {
15199           "type": "object",
15200           "properties": {
15201             "class": {
15202               "type": "string"
15203             },
15204             "id": {
15205               "type": "string"
15206             },
15207             "labels": {
15208               "type": "array",
15209               "items": {
15210                 "type": "string"
15211               }
15212             },
15213             "machine": {
15214               "type": "string"
15215             },
15216             "status": {
15217               "type": "string"
15218             },
15219             "type": {
15220               "type": "string"
15221             },
15222             "unit": {
15223               "type": "string"
15224             }
15225           },
15226           "additionalProperties": false,
15227           "required": [
15228             "class",
15229             "type",
15230             "id",
15231             "status",
15232             "labels",
15233             "unit",
15234             "machine"
15235           ]
15236         }
15237       }
15238     }
15239   },
15240   {
15241     "Name": "PayloadsHookContext",
15242     "Version": 1,
15243     "Schema": {
15244       "type": "object",
15245       "properties": {
15246         "List": {
15247           "type": "object",
15248           "properties": {
15249             "Params": {
15250               "$ref": "#/definitions/Entities"
15251             },
15252             "Result": {
15253               "$ref": "#/definitions/PayloadResults"
15254             }
15255           }
15256         },
15257         "LookUp": {
15258           "type": "object",
15259           "properties": {
15260             "Params": {
15261               "$ref": "#/definitions/LookUpArgs"
15262             },
15263             "Result": {
15264               "$ref": "#/definitions/PayloadResults"
15265             }
15266           }
15267         },
15268         "SetStatus": {
15269           "type": "object",
15270           "properties": {
15271             "Params": {
15272               "$ref": "#/definitions/SetStatusArgs"
15273             },
15274             "Result": {
15275               "$ref": "#/definitions/PayloadResults"
15276             }
15277           }
15278         },
15279         "Track": {
15280           "type": "object",
15281           "properties": {
15282             "Params": {
15283               "$ref": "#/definitions/TrackArgs"
15284             },
15285             "Result": {
15286               "$ref": "#/definitions/PayloadResults"
15287             }
15288           }
15289         },
15290         "Untrack": {
15291           "type": "object",
15292           "properties": {
15293             "Params": {
15294               "$ref": "#/definitions/Entities"
15295             },
15296             "Result": {
15297               "$ref": "#/definitions/PayloadResults"
15298             }
15299           }
15300         }
15301       },
15302       "definitions": {
15303         "Entities": {
15304           "type": "object",
15305           "properties": {
15306             "entities": {
15307               "type": "array",
15308               "items": {
15309                 "$ref": "#/definitions/Entity"
15310               }
15311             }
15312           },
15313           "additionalProperties": false,
15314           "required": [
15315             "entities"
15316           ]
15317         },
15318         "Entity": {
15319           "type": "object",
15320           "properties": {
15321             "tag": {
15322               "type": "string"
15323             }
15324           },
15325           "additionalProperties": false,
15326           "required": [
15327             "tag"
15328           ]
15329         },
15330         "Error": {
15331           "type": "object",
15332           "properties": {
15333             "code": {
15334               "type": "string"
15335             },
15336             "info": {
15337               "$ref": "#/definitions/ErrorInfo"
15338             },
15339             "message": {
15340               "type": "string"
15341             }
15342           },
15343           "additionalProperties": false,
15344           "required": [
15345             "message",
15346             "code"
15347           ]
15348         },
15349         "ErrorInfo": {
15350           "type": "object",
15351           "properties": {
15352             "macaroon": {
15353               "$ref": "#/definitions/Macaroon"
15354             },
15355             "macaroon-path": {
15356               "type": "string"
15357             }
15358           },
15359           "additionalProperties": false
15360         },
15361         "LookUpArg": {
15362           "type": "object",
15363           "properties": {
15364             "id": {
15365               "type": "string"
15366             },
15367             "name": {
15368               "type": "string"
15369             }
15370           },
15371           "additionalProperties": false,
15372           "required": [
15373             "name",
15374             "id"
15375           ]
15376         },
15377         "LookUpArgs": {
15378           "type": "object",
15379           "properties": {
15380             "args": {
15381               "type": "array",
15382               "items": {
15383                 "$ref": "#/definitions/LookUpArg"
15384               }
15385             }
15386           },
15387           "additionalProperties": false,
15388           "required": [
15389             "args"
15390           ]
15391         },
15392         "Macaroon": {
15393           "type": "object",
15394           "additionalProperties": false
15395         },
15396         "Payload": {
15397           "type": "object",
15398           "properties": {
15399             "class": {
15400               "type": "string"
15401             },
15402             "id": {
15403               "type": "string"
15404             },
15405             "labels": {
15406               "type": "array",
15407               "items": {
15408                 "type": "string"
15409               }
15410             },
15411             "machine": {
15412               "type": "string"
15413             },
15414             "status": {
15415               "type": "string"
15416             },
15417             "type": {
15418               "type": "string"
15419             },
15420             "unit": {
15421               "type": "string"
15422             }
15423           },
15424           "additionalProperties": false,
15425           "required": [
15426             "class",
15427             "type",
15428             "id",
15429             "status",
15430             "labels",
15431             "unit",
15432             "machine"
15433           ]
15434         },
15435         "PayloadResult": {
15436           "type": "object",
15437           "properties": {
15438             "Entity": {
15439               "$ref": "#/definitions/Entity"
15440             },
15441             "error": {
15442               "$ref": "#/definitions/Error"
15443             },
15444             "not-found": {
15445               "type": "boolean"
15446             },
15447             "payload": {
15448               "$ref": "#/definitions/Payload"
15449             }
15450           },
15451           "additionalProperties": false,
15452           "required": [
15453             "Entity",
15454             "payload",
15455             "not-found"
15456           ]
15457         },
15458         "PayloadResults": {
15459           "type": "object",
15460           "properties": {
15461             "results": {
15462               "type": "array",
15463               "items": {
15464                 "$ref": "#/definitions/PayloadResult"
15465               }
15466             }
15467           },
15468           "additionalProperties": false,
15469           "required": [
15470             "results"
15471           ]
15472         },
15473         "SetStatusArg": {
15474           "type": "object",
15475           "properties": {
15476             "Entity": {
15477               "$ref": "#/definitions/Entity"
15478             },
15479             "status": {
15480               "type": "string"
15481             }
15482           },
15483           "additionalProperties": false,
15484           "required": [
15485             "Entity",
15486             "status"
15487           ]
15488         },
15489         "SetStatusArgs": {
15490           "type": "object",
15491           "properties": {
15492             "args": {
15493               "type": "array",
15494               "items": {
15495                 "$ref": "#/definitions/SetStatusArg"
15496               }
15497             }
15498           },
15499           "additionalProperties": false,
15500           "required": [
15501             "args"
15502           ]
15503         },
15504         "TrackArgs": {
15505           "type": "object",
15506           "properties": {
15507             "payloads": {
15508               "type": "array",
15509               "items": {
15510                 "$ref": "#/definitions/Payload"
15511               }
15512             }
15513           },
15514           "additionalProperties": false,
15515           "required": [
15516             "payloads"
15517           ]
15518         }
15519       }
15520     }
15521   },
15522   {
15523     "Name": "Pinger",
15524     "Version": 1,
15525     "Schema": {
15526       "type": "object",
15527       "properties": {
15528         "Ping": {
15529           "type": "object"
15530         },
15531         "Stop": {
15532           "type": "object"
15533         }
15534       }
15535     }
15536   },
15537   {
15538     "Name": "Provisioner",
15539     "Version": 3,
15540     "Schema": {
15541       "type": "object",
15542       "properties": {
15543         "APIAddresses": {
15544           "type": "object",
15545           "properties": {
15546             "Result": {
15547               "$ref": "#/definitions/StringsResult"
15548             }
15549           }
15550         },
15551         "APIHostPorts": {
15552           "type": "object",
15553           "properties": {
15554             "Result": {
15555               "$ref": "#/definitions/APIHostPortsResult"
15556             }
15557           }
15558         },
15559         "CACert": {
15560           "type": "object",
15561           "properties": {
15562             "Result": {
15563               "$ref": "#/definitions/BytesResult"
15564             }
15565           }
15566         },
15567         "Constraints": {
15568           "type": "object",
15569           "properties": {
15570             "Params": {
15571               "$ref": "#/definitions/Entities"
15572             },
15573             "Result": {
15574               "$ref": "#/definitions/ConstraintsResults"
15575             }
15576           }
15577         },
15578         "ContainerConfig": {
15579           "type": "object",
15580           "properties": {
15581             "Result": {
15582               "$ref": "#/definitions/ContainerConfig"
15583             }
15584           }
15585         },
15586         "ContainerManagerConfig": {
15587           "type": "object",
15588           "properties": {
15589             "Params": {
15590               "$ref": "#/definitions/ContainerManagerConfigParams"
15591             },
15592             "Result": {
15593               "$ref": "#/definitions/ContainerManagerConfig"
15594             }
15595           }
15596         },
15597         "ControllerConfig": {
15598           "type": "object",
15599           "properties": {
15600             "Result": {
15601               "$ref": "#/definitions/ControllerConfigResult"
15602             }
15603           }
15604         },
15605         "DistributionGroup": {
15606           "type": "object",
15607           "properties": {
15608             "Params": {
15609               "$ref": "#/definitions/Entities"
15610             },
15611             "Result": {
15612               "$ref": "#/definitions/DistributionGroupResults"
15613             }
15614           }
15615         },
15616         "EnsureDead": {
15617           "type": "object",
15618           "properties": {
15619             "Params": {
15620               "$ref": "#/definitions/Entities"
15621             },
15622             "Result": {
15623               "$ref": "#/definitions/ErrorResults"
15624             }
15625           }
15626         },
15627         "FindTools": {
15628           "type": "object",
15629           "properties": {
15630             "Params": {
15631               "$ref": "#/definitions/FindToolsParams"
15632             },
15633             "Result": {
15634               "$ref": "#/definitions/FindToolsResult"
15635             }
15636           }
15637         },
15638         "GetContainerInterfaceInfo": {
15639           "type": "object",
15640           "properties": {
15641             "Params": {
15642               "$ref": "#/definitions/Entities"
15643             },
15644             "Result": {
15645               "$ref": "#/definitions/MachineNetworkConfigResults"
15646             }
15647           }
15648         },
15649         "HostChangesForContainers": {
15650           "type": "object",
15651           "properties": {
15652             "Params": {
15653               "$ref": "#/definitions/Entities"
15654             },
15655             "Result": {
15656               "$ref": "#/definitions/HostNetworkChangeResults"
15657             }
15658           }
15659         },
15660         "InstanceId": {
15661           "type": "object",
15662           "properties": {
15663             "Params": {
15664               "$ref": "#/definitions/Entities"
15665             },
15666             "Result": {
15667               "$ref": "#/definitions/StringResults"
15668             }
15669           }
15670         },
15671         "InstanceStatus": {
15672           "type": "object",
15673           "properties": {
15674             "Params": {
15675               "$ref": "#/definitions/Entities"
15676             },
15677             "Result": {
15678               "$ref": "#/definitions/StatusResults"
15679             }
15680           }
15681         },
15682         "Life": {
15683           "type": "object",
15684           "properties": {
15685             "Params": {
15686               "$ref": "#/definitions/Entities"
15687             },
15688             "Result": {
15689               "$ref": "#/definitions/LifeResults"
15690             }
15691           }
15692         },
15693         "MachinesWithTransientErrors": {
15694           "type": "object",
15695           "properties": {
15696             "Result": {
15697               "$ref": "#/definitions/StatusResults"
15698             }
15699           }
15700         },
15701         "MarkMachinesForRemoval": {
15702           "type": "object",
15703           "properties": {
15704             "Params": {
15705               "$ref": "#/definitions/Entities"
15706             },
15707             "Result": {
15708               "$ref": "#/definitions/ErrorResults"
15709             }
15710           }
15711         },
15712         "ModelConfig": {
15713           "type": "object",
15714           "properties": {
15715             "Result": {
15716               "$ref": "#/definitions/ModelConfigResult"
15717             }
15718           }
15719         },
15720         "ModelUUID": {
15721           "type": "object",
15722           "properties": {
15723             "Result": {
15724               "$ref": "#/definitions/StringResult"
15725             }
15726           }
15727         },
15728         "PrepareContainerInterfaceInfo": {
15729           "type": "object",
15730           "properties": {
15731             "Params": {
15732               "$ref": "#/definitions/Entities"
15733             },
15734             "Result": {
15735               "$ref": "#/definitions/MachineNetworkConfigResults"
15736             }
15737           }
15738         },
15739         "ProvisioningInfo": {
15740           "type": "object",
15741           "properties": {
15742             "Params": {
15743               "$ref": "#/definitions/Entities"
15744             },
15745             "Result": {
15746               "$ref": "#/definitions/ProvisioningInfoResults"
15747             }
15748           }
15749         },
15750         "ReleaseContainerAddresses": {
15751           "type": "object",
15752           "properties": {
15753             "Params": {
15754               "$ref": "#/definitions/Entities"
15755             },
15756             "Result": {
15757               "$ref": "#/definitions/ErrorResults"
15758             }
15759           }
15760         },
15761         "Remove": {
15762           "type": "object",
15763           "properties": {
15764             "Params": {
15765               "$ref": "#/definitions/Entities"
15766             },
15767             "Result": {
15768               "$ref": "#/definitions/ErrorResults"
15769             }
15770           }
15771         },
15772         "Series": {
15773           "type": "object",
15774           "properties": {
15775             "Params": {
15776               "$ref": "#/definitions/Entities"
15777             },
15778             "Result": {
15779               "$ref": "#/definitions/StringResults"
15780             }
15781           }
15782         },
15783         "SetHostMachineNetworkConfig": {
15784           "type": "object",
15785           "properties": {
15786             "Params": {
15787               "$ref": "#/definitions/SetMachineNetworkConfig"
15788             }
15789           }
15790         },
15791         "SetInstanceInfo": {
15792           "type": "object",
15793           "properties": {
15794             "Params": {
15795               "$ref": "#/definitions/InstancesInfo"
15796             },
15797             "Result": {
15798               "$ref": "#/definitions/ErrorResults"
15799             }
15800           }
15801         },
15802         "SetInstanceStatus": {
15803           "type": "object",
15804           "properties": {
15805             "Params": {
15806               "$ref": "#/definitions/SetStatus"
15807             },
15808             "Result": {
15809               "$ref": "#/definitions/ErrorResults"
15810             }
15811           }
15812         },
15813         "SetObservedNetworkConfig": {
15814           "type": "object",
15815           "properties": {
15816             "Params": {
15817               "$ref": "#/definitions/SetMachineNetworkConfig"
15818             }
15819           }
15820         },
15821         "SetPasswords": {
15822           "type": "object",
15823           "properties": {
15824             "Params": {
15825               "$ref": "#/definitions/EntityPasswords"
15826             },
15827             "Result": {
15828               "$ref": "#/definitions/ErrorResults"
15829             }
15830           }
15831         },
15832         "SetStatus": {
15833           "type": "object",
15834           "properties": {
15835             "Params": {
15836               "$ref": "#/definitions/SetStatus"
15837             },
15838             "Result": {
15839               "$ref": "#/definitions/ErrorResults"
15840             }
15841           }
15842         },
15843         "SetSupportedContainers": {
15844           "type": "object",
15845           "properties": {
15846             "Params": {
15847               "$ref": "#/definitions/MachineContainersParams"
15848             },
15849             "Result": {
15850               "$ref": "#/definitions/ErrorResults"
15851             }
15852           }
15853         },
15854         "StateAddresses": {
15855           "type": "object",
15856           "properties": {
15857             "Result": {
15858               "$ref": "#/definitions/StringsResult"
15859             }
15860           }
15861         },
15862         "Status": {
15863           "type": "object",
15864           "properties": {
15865             "Params": {
15866               "$ref": "#/definitions/Entities"
15867             },
15868             "Result": {
15869               "$ref": "#/definitions/StatusResults"
15870             }
15871           }
15872         },
15873         "Tools": {
15874           "type": "object",
15875           "properties": {
15876             "Params": {
15877               "$ref": "#/definitions/Entities"
15878             },
15879             "Result": {
15880               "$ref": "#/definitions/ToolsResults"
15881             }
15882           }
15883         },
15884         "UpdateStatus": {
15885           "type": "object",
15886           "properties": {
15887             "Params": {
15888               "$ref": "#/definitions/SetStatus"
15889             },
15890             "Result": {
15891               "$ref": "#/definitions/ErrorResults"
15892             }
15893           }
15894         },
15895         "WatchAPIHostPorts": {
15896           "type": "object",
15897           "properties": {
15898             "Result": {
15899               "$ref": "#/definitions/NotifyWatchResult"
15900             }
15901           }
15902         },
15903         "WatchAllContainers": {
15904           "type": "object",
15905           "properties": {
15906             "Params": {
15907               "$ref": "#/definitions/WatchContainers"
15908             },
15909             "Result": {
15910               "$ref": "#/definitions/StringsWatchResults"
15911             }
15912           }
15913         },
15914         "WatchContainers": {
15915           "type": "object",
15916           "properties": {
15917             "Params": {
15918               "$ref": "#/definitions/WatchContainers"
15919             },
15920             "Result": {
15921               "$ref": "#/definitions/StringsWatchResults"
15922             }
15923           }
15924         },
15925         "WatchForModelConfigChanges": {
15926           "type": "object",
15927           "properties": {
15928             "Result": {
15929               "$ref": "#/definitions/NotifyWatchResult"
15930             }
15931           }
15932         },
15933         "WatchMachineErrorRetry": {
15934           "type": "object",
15935           "properties": {
15936             "Result": {
15937               "$ref": "#/definitions/NotifyWatchResult"
15938             }
15939           }
15940         },
15941         "WatchModelMachines": {
15942           "type": "object",
15943           "properties": {
15944             "Result": {
15945               "$ref": "#/definitions/StringsWatchResult"
15946             }
15947           }
15948         }
15949       },
15950       "definitions": {
15951         "APIHostPortsResult": {
15952           "type": "object",
15953           "properties": {
15954             "servers": {
15955               "type": "array",
15956               "items": {
15957                 "type": "array",
15958                 "items": {
15959                   "$ref": "#/definitions/HostPort"
15960                 }
15961               }
15962             }
15963           },
15964           "additionalProperties": false,
15965           "required": [
15966             "servers"
15967           ]
15968         },
15969         "Address": {
15970           "type": "object",
15971           "properties": {
15972             "scope": {
15973               "type": "string"
15974             },
15975             "space-name": {
15976               "type": "string"
15977             },
15978             "type": {
15979               "type": "string"
15980             },
15981             "value": {
15982               "type": "string"
15983             }
15984           },
15985           "additionalProperties": false,
15986           "required": [
15987             "value",
15988             "type",
15989             "scope"
15990           ]
15991         },
15992         "Binary": {
15993           "type": "object",
15994           "properties": {
15995             "Arch": {
15996               "type": "string"
15997             },
15998             "Number": {
15999               "$ref": "#/definitions/Number"
16000             },
16001             "Series": {
16002               "type": "string"
16003             }
16004           },
16005           "additionalProperties": false,
16006           "required": [
16007             "Number",
16008             "Series",
16009             "Arch"
16010           ]
16011         },
16012         "BytesResult": {
16013           "type": "object",
16014           "properties": {
16015             "result": {
16016               "type": "array",
16017               "items": {
16018                 "type": "integer"
16019               }
16020             }
16021           },
16022           "additionalProperties": false,
16023           "required": [
16024             "result"
16025           ]
16026         },
16027         "CloudImageMetadata": {
16028           "type": "object",
16029           "properties": {
16030             "arch": {
16031               "type": "string"
16032             },
16033             "image-id": {
16034               "type": "string"
16035             },
16036             "priority": {
16037               "type": "integer"
16038             },
16039             "region": {
16040               "type": "string"
16041             },
16042             "root-storage-size": {
16043               "type": "integer"
16044             },
16045             "root-storage-type": {
16046               "type": "string"
16047             },
16048             "series": {
16049               "type": "string"
16050             },
16051             "source": {
16052               "type": "string"
16053             },
16054             "stream": {
16055               "type": "string"
16056             },
16057             "version": {
16058               "type": "string"
16059             },
16060             "virt-type": {
16061               "type": "string"
16062             }
16063           },
16064           "additionalProperties": false,
16065           "required": [
16066             "image-id",
16067             "region",
16068             "version",
16069             "series",
16070             "arch",
16071             "source",
16072             "priority"
16073           ]
16074         },
16075         "ConstraintsResult": {
16076           "type": "object",
16077           "properties": {
16078             "constraints": {
16079               "$ref": "#/definitions/Value"
16080             },
16081             "error": {
16082               "$ref": "#/definitions/Error"
16083             }
16084           },
16085           "additionalProperties": false,
16086           "required": [
16087             "constraints"
16088           ]
16089         },
16090         "ConstraintsResults": {
16091           "type": "object",
16092           "properties": {
16093             "results": {
16094               "type": "array",
16095               "items": {
16096                 "$ref": "#/definitions/ConstraintsResult"
16097               }
16098             }
16099           },
16100           "additionalProperties": false,
16101           "required": [
16102             "results"
16103           ]
16104         },
16105         "ContainerConfig": {
16106           "type": "object",
16107           "properties": {
16108             "UpdateBehavior": {
16109               "$ref": "#/definitions/UpdateBehavior"
16110             },
16111             "apt-mirror": {
16112               "type": "string"
16113             },
16114             "apt-proxy": {
16115               "$ref": "#/definitions/Settings"
16116             },
16117             "authorized-keys": {
16118               "type": "string"
16119             },
16120             "provider-type": {
16121               "type": "string"
16122             },
16123             "proxy": {
16124               "$ref": "#/definitions/Settings"
16125             },
16126             "ssl-hostname-verification": {
16127               "type": "boolean"
16128             }
16129           },
16130           "additionalProperties": false,
16131           "required": [
16132             "provider-type",
16133             "authorized-keys",
16134             "ssl-hostname-verification",
16135             "proxy",
16136             "apt-proxy",
16137             "apt-mirror",
16138             "UpdateBehavior"
16139           ]
16140         },
16141         "ContainerManagerConfig": {
16142           "type": "object",
16143           "properties": {
16144             "config": {
16145               "type": "object",
16146               "patternProperties": {
16147                 ".*": {
16148                   "type": "string"
16149                 }
16150               }
16151             }
16152           },
16153           "additionalProperties": false,
16154           "required": [
16155             "config"
16156           ]
16157         },
16158         "ContainerManagerConfigParams": {
16159           "type": "object",
16160           "properties": {
16161             "type": {
16162               "type": "string"
16163             }
16164           },
16165           "additionalProperties": false,
16166           "required": [
16167             "type"
16168           ]
16169         },
16170         "ControllerConfigResult": {
16171           "type": "object",
16172           "properties": {
16173             "config": {
16174               "type": "object",
16175               "patternProperties": {
16176                 ".*": {
16177                   "type": "object",
16178                   "additionalProperties": true
16179                 }
16180               }
16181             }
16182           },
16183           "additionalProperties": false,
16184           "required": [
16185             "config"
16186           ]
16187         },
16188         "DeviceBridgeInfo": {
16189           "type": "object",
16190           "properties": {
16191             "bridge-name": {
16192               "type": "string"
16193             },
16194             "host-device-name": {
16195               "type": "string"
16196             }
16197           },
16198           "additionalProperties": false,
16199           "required": [
16200             "host-device-name",
16201             "bridge-name"
16202           ]
16203         },
16204         "DistributionGroupResult": {
16205           "type": "object",
16206           "properties": {
16207             "error": {
16208               "$ref": "#/definitions/Error"
16209             },
16210             "result": {
16211               "type": "array",
16212               "items": {
16213                 "type": "string"
16214               }
16215             }
16216           },
16217           "additionalProperties": false,
16218           "required": [
16219             "result"
16220           ]
16221         },
16222         "DistributionGroupResults": {
16223           "type": "object",
16224           "properties": {
16225             "results": {
16226               "type": "array",
16227               "items": {
16228                 "$ref": "#/definitions/DistributionGroupResult"
16229               }
16230             }
16231           },
16232           "additionalProperties": false,
16233           "required": [
16234             "results"
16235           ]
16236         },
16237         "Entities": {
16238           "type": "object",
16239           "properties": {
16240             "entities": {
16241               "type": "array",
16242               "items": {
16243                 "$ref": "#/definitions/Entity"
16244               }
16245             }
16246           },
16247           "additionalProperties": false,
16248           "required": [
16249             "entities"
16250           ]
16251         },
16252         "Entity": {
16253           "type": "object",
16254           "properties": {
16255             "tag": {
16256               "type": "string"
16257             }
16258           },
16259           "additionalProperties": false,
16260           "required": [
16261             "tag"
16262           ]
16263         },
16264         "EntityPassword": {
16265           "type": "object",
16266           "properties": {
16267             "password": {
16268               "type": "string"
16269             },
16270             "tag": {
16271               "type": "string"
16272             }
16273           },
16274           "additionalProperties": false,
16275           "required": [
16276             "tag",
16277             "password"
16278           ]
16279         },
16280         "EntityPasswords": {
16281           "type": "object",
16282           "properties": {
16283             "changes": {
16284               "type": "array",
16285               "items": {
16286                 "$ref": "#/definitions/EntityPassword"
16287               }
16288             }
16289           },
16290           "additionalProperties": false,
16291           "required": [
16292             "changes"
16293           ]
16294         },
16295         "EntityStatusArgs": {
16296           "type": "object",
16297           "properties": {
16298             "data": {
16299               "type": "object",
16300               "patternProperties": {
16301                 ".*": {
16302                   "type": "object",
16303                   "additionalProperties": true
16304                 }
16305               }
16306             },
16307             "info": {
16308               "type": "string"
16309             },
16310             "status": {
16311               "type": "string"
16312             },
16313             "tag": {
16314               "type": "string"
16315             }
16316           },
16317           "additionalProperties": false,
16318           "required": [
16319             "tag",
16320             "status",
16321             "info",
16322             "data"
16323           ]
16324         },
16325         "Error": {
16326           "type": "object",
16327           "properties": {
16328             "code": {
16329               "type": "string"
16330             },
16331             "info": {
16332               "$ref": "#/definitions/ErrorInfo"
16333             },
16334             "message": {
16335               "type": "string"
16336             }
16337           },
16338           "additionalProperties": false,
16339           "required": [
16340             "message",
16341             "code"
16342           ]
16343         },
16344         "ErrorInfo": {
16345           "type": "object",
16346           "properties": {
16347             "macaroon": {
16348               "$ref": "#/definitions/Macaroon"
16349             },
16350             "macaroon-path": {
16351               "type": "string"
16352             }
16353           },
16354           "additionalProperties": false
16355         },
16356         "ErrorResult": {
16357           "type": "object",
16358           "properties": {
16359             "error": {
16360               "$ref": "#/definitions/Error"
16361             }
16362           },
16363           "additionalProperties": false
16364         },
16365         "ErrorResults": {
16366           "type": "object",
16367           "properties": {
16368             "results": {
16369               "type": "array",
16370               "items": {
16371                 "$ref": "#/definitions/ErrorResult"
16372               }
16373             }
16374           },
16375           "additionalProperties": false,
16376           "required": [
16377             "results"
16378           ]
16379         },
16380         "FindToolsParams": {
16381           "type": "object",
16382           "properties": {
16383             "arch": {
16384               "type": "string"
16385             },
16386             "major": {
16387               "type": "integer"
16388             },
16389             "minor": {
16390               "type": "integer"
16391             },
16392             "number": {
16393               "$ref": "#/definitions/Number"
16394             },
16395             "series": {
16396               "type": "string"
16397             }
16398           },
16399           "additionalProperties": false,
16400           "required": [
16401             "number",
16402             "major",
16403             "minor",
16404             "arch",
16405             "series"
16406           ]
16407         },
16408         "FindToolsResult": {
16409           "type": "object",
16410           "properties": {
16411             "error": {
16412               "$ref": "#/definitions/Error"
16413             },
16414             "list": {
16415               "type": "array",
16416               "items": {
16417                 "$ref": "#/definitions/Tools"
16418               }
16419             }
16420           },
16421           "additionalProperties": false,
16422           "required": [
16423             "list"
16424           ]
16425         },
16426         "HardwareCharacteristics": {
16427           "type": "object",
16428           "properties": {
16429             "arch": {
16430               "type": "string"
16431             },
16432             "availability-zone": {
16433               "type": "string"
16434             },
16435             "cpu-cores": {
16436               "type": "integer"
16437             },
16438             "cpu-power": {
16439               "type": "integer"
16440             },
16441             "mem": {
16442               "type": "integer"
16443             },
16444             "root-disk": {
16445               "type": "integer"
16446             },
16447             "tags": {
16448               "type": "array",
16449               "items": {
16450                 "type": "string"
16451               }
16452             }
16453           },
16454           "additionalProperties": false
16455         },
16456         "HostNetworkChange": {
16457           "type": "object",
16458           "properties": {
16459             "error": {
16460               "$ref": "#/definitions/Error"
16461             },
16462             "new-bridges": {
16463               "type": "array",
16464               "items": {
16465                 "$ref": "#/definitions/DeviceBridgeInfo"
16466               }
16467             },
16468             "reconfigure-delay": {
16469               "type": "integer"
16470             }
16471           },
16472           "additionalProperties": false,
16473           "required": [
16474             "new-bridges",
16475             "reconfigure-delay"
16476           ]
16477         },
16478         "HostNetworkChangeResults": {
16479           "type": "object",
16480           "properties": {
16481             "results": {
16482               "type": "array",
16483               "items": {
16484                 "$ref": "#/definitions/HostNetworkChange"
16485               }
16486             }
16487           },
16488           "additionalProperties": false,
16489           "required": [
16490             "results"
16491           ]
16492         },
16493         "HostPort": {
16494           "type": "object",
16495           "properties": {
16496             "Address": {
16497               "$ref": "#/definitions/Address"
16498             },
16499             "port": {
16500               "type": "integer"
16501             }
16502           },
16503           "additionalProperties": false,
16504           "required": [
16505             "Address",
16506             "port"
16507           ]
16508         },
16509         "InstanceInfo": {
16510           "type": "object",
16511           "properties": {
16512             "characteristics": {
16513               "$ref": "#/definitions/HardwareCharacteristics"
16514             },
16515             "instance-id": {
16516               "type": "string"
16517             },
16518             "network-config": {
16519               "type": "array",
16520               "items": {
16521                 "$ref": "#/definitions/NetworkConfig"
16522               }
16523             },
16524             "nonce": {
16525               "type": "string"
16526             },
16527             "tag": {
16528               "type": "string"
16529             },
16530             "volume-attachments": {
16531               "type": "object",
16532               "patternProperties": {
16533                 ".*": {
16534                   "$ref": "#/definitions/VolumeAttachmentInfo"
16535                 }
16536               }
16537             },
16538             "volumes": {
16539               "type": "array",
16540               "items": {
16541                 "$ref": "#/definitions/Volume"
16542               }
16543             }
16544           },
16545           "additionalProperties": false,
16546           "required": [
16547             "tag",
16548             "instance-id",
16549             "nonce",
16550             "characteristics",
16551             "volumes",
16552             "volume-attachments",
16553             "network-config"
16554           ]
16555         },
16556         "InstancesInfo": {
16557           "type": "object",
16558           "properties": {
16559             "machines": {
16560               "type": "array",
16561               "items": {
16562                 "$ref": "#/definitions/InstanceInfo"
16563               }
16564             }
16565           },
16566           "additionalProperties": false,
16567           "required": [
16568             "machines"
16569           ]
16570         },
16571         "LifeResult": {
16572           "type": "object",
16573           "properties": {
16574             "error": {
16575               "$ref": "#/definitions/Error"
16576             },
16577             "life": {
16578               "type": "string"
16579             }
16580           },
16581           "additionalProperties": false,
16582           "required": [
16583             "life"
16584           ]
16585         },
16586         "LifeResults": {
16587           "type": "object",
16588           "properties": {
16589             "results": {
16590               "type": "array",
16591               "items": {
16592                 "$ref": "#/definitions/LifeResult"
16593               }
16594             }
16595           },
16596           "additionalProperties": false,
16597           "required": [
16598             "results"
16599           ]
16600         },
16601         "Macaroon": {
16602           "type": "object",
16603           "additionalProperties": false
16604         },
16605         "MachineContainers": {
16606           "type": "object",
16607           "properties": {
16608             "container-types": {
16609               "type": "array",
16610               "items": {
16611                 "type": "string"
16612               }
16613             },
16614             "machine-tag": {
16615               "type": "string"
16616             }
16617           },
16618           "additionalProperties": false,
16619           "required": [
16620             "machine-tag",
16621             "container-types"
16622           ]
16623         },
16624         "MachineContainersParams": {
16625           "type": "object",
16626           "properties": {
16627             "params": {
16628               "type": "array",
16629               "items": {
16630                 "$ref": "#/definitions/MachineContainers"
16631               }
16632             }
16633           },
16634           "additionalProperties": false,
16635           "required": [
16636             "params"
16637           ]
16638         },
16639         "MachineNetworkConfigResult": {
16640           "type": "object",
16641           "properties": {
16642             "error": {
16643               "$ref": "#/definitions/Error"
16644             },
16645             "info": {
16646               "type": "array",
16647               "items": {
16648                 "$ref": "#/definitions/NetworkConfig"
16649               }
16650             }
16651           },
16652           "additionalProperties": false,
16653           "required": [
16654             "info"
16655           ]
16656         },
16657         "MachineNetworkConfigResults": {
16658           "type": "object",
16659           "properties": {
16660             "results": {
16661               "type": "array",
16662               "items": {
16663                 "$ref": "#/definitions/MachineNetworkConfigResult"
16664               }
16665             }
16666           },
16667           "additionalProperties": false,
16668           "required": [
16669             "results"
16670           ]
16671         },
16672         "ModelConfigResult": {
16673           "type": "object",
16674           "properties": {
16675             "config": {
16676               "type": "object",
16677               "patternProperties": {
16678                 ".*": {
16679                   "type": "object",
16680                   "additionalProperties": true
16681                 }
16682               }
16683             }
16684           },
16685           "additionalProperties": false,
16686           "required": [
16687             "config"
16688           ]
16689         },
16690         "NetworkConfig": {
16691           "type": "object",
16692           "properties": {
16693             "address": {
16694               "type": "string"
16695             },
16696             "cidr": {
16697               "type": "string"
16698             },
16699             "config-type": {
16700               "type": "string"
16701             },
16702             "device-index": {
16703               "type": "integer"
16704             },
16705             "disabled": {
16706               "type": "boolean"
16707             },
16708             "dns-search-domains": {
16709               "type": "array",
16710               "items": {
16711                 "type": "string"
16712               }
16713             },
16714             "dns-servers": {
16715               "type": "array",
16716               "items": {
16717                 "type": "string"
16718               }
16719             },
16720             "gateway-address": {
16721               "type": "string"
16722             },
16723             "interface-name": {
16724               "type": "string"
16725             },
16726             "interface-type": {
16727               "type": "string"
16728             },
16729             "mac-address": {
16730               "type": "string"
16731             },
16732             "mtu": {
16733               "type": "integer"
16734             },
16735             "no-auto-start": {
16736               "type": "boolean"
16737             },
16738             "parent-interface-name": {
16739               "type": "string"
16740             },
16741             "provider-address-id": {
16742               "type": "string"
16743             },
16744             "provider-id": {
16745               "type": "string"
16746             },
16747             "provider-space-id": {
16748               "type": "string"
16749             },
16750             "provider-subnet-id": {
16751               "type": "string"
16752             },
16753             "provider-vlan-id": {
16754               "type": "string"
16755             },
16756             "vlan-tag": {
16757               "type": "integer"
16758             }
16759           },
16760           "additionalProperties": false,
16761           "required": [
16762             "device-index",
16763             "mac-address",
16764             "cidr",
16765             "mtu",
16766             "provider-id",
16767             "provider-subnet-id",
16768             "provider-space-id",
16769             "provider-address-id",
16770             "provider-vlan-id",
16771             "vlan-tag",
16772             "interface-name",
16773             "parent-interface-name",
16774             "interface-type",
16775             "disabled"
16776           ]
16777         },
16778         "NotifyWatchResult": {
16779           "type": "object",
16780           "properties": {
16781             "NotifyWatcherId": {
16782               "type": "string"
16783             },
16784             "error": {
16785               "$ref": "#/definitions/Error"
16786             }
16787           },
16788           "additionalProperties": false,
16789           "required": [
16790             "NotifyWatcherId"
16791           ]
16792         },
16793         "Number": {
16794           "type": "object",
16795           "properties": {
16796             "Build": {
16797               "type": "integer"
16798             },
16799             "Major": {
16800               "type": "integer"
16801             },
16802             "Minor": {
16803               "type": "integer"
16804             },
16805             "Patch": {
16806               "type": "integer"
16807             },
16808             "Tag": {
16809               "type": "string"
16810             }
16811           },
16812           "additionalProperties": false,
16813           "required": [
16814             "Major",
16815             "Minor",
16816             "Tag",
16817             "Patch",
16818             "Build"
16819           ]
16820         },
16821         "ProvisioningInfo": {
16822           "type": "object",
16823           "properties": {
16824             "constraints": {
16825               "$ref": "#/definitions/Value"
16826             },
16827             "controller-config": {
16828               "type": "object",
16829               "patternProperties": {
16830                 ".*": {
16831                   "type": "object",
16832                   "additionalProperties": true
16833                 }
16834               }
16835             },
16836             "endpoint-bindings": {
16837               "type": "object",
16838               "patternProperties": {
16839                 ".*": {
16840                   "type": "string"
16841                 }
16842               }
16843             },
16844             "image-metadata": {
16845               "type": "array",
16846               "items": {
16847                 "$ref": "#/definitions/CloudImageMetadata"
16848               }
16849             },
16850             "jobs": {
16851               "type": "array",
16852               "items": {
16853                 "type": "string"
16854               }
16855             },
16856             "placement": {
16857               "type": "string"
16858             },
16859             "series": {
16860               "type": "string"
16861             },
16862             "subnets-to-zones": {
16863               "type": "object",
16864               "patternProperties": {
16865                 ".*": {
16866                   "type": "array",
16867                   "items": {
16868                     "type": "string"
16869                   }
16870                 }
16871               }
16872             },
16873             "tags": {
16874               "type": "object",
16875               "patternProperties": {
16876                 ".*": {
16877                   "type": "string"
16878                 }
16879               }
16880             },
16881             "volumes": {
16882               "type": "array",
16883               "items": {
16884                 "$ref": "#/definitions/VolumeParams"
16885               }
16886             }
16887           },
16888           "additionalProperties": false,
16889           "required": [
16890             "constraints",
16891             "series",
16892             "placement",
16893             "jobs"
16894           ]
16895         },
16896         "ProvisioningInfoResult": {
16897           "type": "object",
16898           "properties": {
16899             "error": {
16900               "$ref": "#/definitions/Error"
16901             },
16902             "result": {
16903               "$ref": "#/definitions/ProvisioningInfo"
16904             }
16905           },
16906           "additionalProperties": false,
16907           "required": [
16908             "result"
16909           ]
16910         },
16911         "ProvisioningInfoResults": {
16912           "type": "object",
16913           "properties": {
16914             "results": {
16915               "type": "array",
16916               "items": {
16917                 "$ref": "#/definitions/ProvisioningInfoResult"
16918               }
16919             }
16920           },
16921           "additionalProperties": false,
16922           "required": [
16923             "results"
16924           ]
16925         },
16926         "SetMachineNetworkConfig": {
16927           "type": "object",
16928           "properties": {
16929             "config": {
16930               "type": "array",
16931               "items": {
16932                 "$ref": "#/definitions/NetworkConfig"
16933               }
16934             },
16935             "tag": {
16936               "type": "string"
16937             }
16938           },
16939           "additionalProperties": false,
16940           "required": [
16941             "tag",
16942             "config"
16943           ]
16944         },
16945         "SetStatus": {
16946           "type": "object",
16947           "properties": {
16948             "entities": {
16949               "type": "array",
16950               "items": {
16951                 "$ref": "#/definitions/EntityStatusArgs"
16952               }
16953             }
16954           },
16955           "additionalProperties": false,
16956           "required": [
16957             "entities"
16958           ]
16959         },
16960         "Settings": {
16961           "type": "object",
16962           "properties": {
16963             "Ftp": {
16964               "type": "string"
16965             },
16966             "Http": {
16967               "type": "string"
16968             },
16969             "Https": {
16970               "type": "string"
16971             },
16972             "NoProxy": {
16973               "type": "string"
16974             }
16975           },
16976           "additionalProperties": false,
16977           "required": [
16978             "Http",
16979             "Https",
16980             "Ftp",
16981             "NoProxy"
16982           ]
16983         },
16984         "StatusResult": {
16985           "type": "object",
16986           "properties": {
16987             "data": {
16988               "type": "object",
16989               "patternProperties": {
16990                 ".*": {
16991                   "type": "object",
16992                   "additionalProperties": true
16993                 }
16994               }
16995             },
16996             "error": {
16997               "$ref": "#/definitions/Error"
16998             },
16999             "id": {
17000               "type": "string"
17001             },
17002             "info": {
17003               "type": "string"
17004             },
17005             "life": {
17006               "type": "string"
17007             },
17008             "since": {
17009               "type": "string",
17010               "format": "date-time"
17011             },
17012             "status": {
17013               "type": "string"
17014             }
17015           },
17016           "additionalProperties": false,
17017           "required": [
17018             "id",
17019             "life",
17020             "status",
17021             "info",
17022             "data",
17023             "since"
17024           ]
17025         },
17026         "StatusResults": {
17027           "type": "object",
17028           "properties": {
17029             "results": {
17030               "type": "array",
17031               "items": {
17032                 "$ref": "#/definitions/StatusResult"
17033               }
17034             }
17035           },
17036           "additionalProperties": false,
17037           "required": [
17038             "results"
17039           ]
17040         },
17041         "StringResult": {
17042           "type": "object",
17043           "properties": {
17044             "error": {
17045               "$ref": "#/definitions/Error"
17046             },
17047             "result": {
17048               "type": "string"
17049             }
17050           },
17051           "additionalProperties": false,
17052           "required": [
17053             "result"
17054           ]
17055         },
17056         "StringResults": {
17057           "type": "object",
17058           "properties": {
17059             "results": {
17060               "type": "array",
17061               "items": {
17062                 "$ref": "#/definitions/StringResult"
17063               }
17064             }
17065           },
17066           "additionalProperties": false,
17067           "required": [
17068             "results"
17069           ]
17070         },
17071         "StringsResult": {
17072           "type": "object",
17073           "properties": {
17074             "error": {
17075               "$ref": "#/definitions/Error"
17076             },
17077             "result": {
17078               "type": "array",
17079               "items": {
17080                 "type": "string"
17081               }
17082             }
17083           },
17084           "additionalProperties": false
17085         },
17086         "StringsWatchResult": {
17087           "type": "object",
17088           "properties": {
17089             "changes": {
17090               "type": "array",
17091               "items": {
17092                 "type": "string"
17093               }
17094             },
17095             "error": {
17096               "$ref": "#/definitions/Error"
17097             },
17098             "watcher-id": {
17099               "type": "string"
17100             }
17101           },
17102           "additionalProperties": false,
17103           "required": [
17104             "watcher-id"
17105           ]
17106         },
17107         "StringsWatchResults": {
17108           "type": "object",
17109           "properties": {
17110             "results": {
17111               "type": "array",
17112               "items": {
17113                 "$ref": "#/definitions/StringsWatchResult"
17114               }
17115             }
17116           },
17117           "additionalProperties": false,
17118           "required": [
17119             "results"
17120           ]
17121         },
17122         "Tools": {
17123           "type": "object",
17124           "properties": {
17125             "sha256": {
17126               "type": "string"
17127             },
17128             "size": {
17129               "type": "integer"
17130             },
17131             "url": {
17132               "type": "string"
17133             },
17134             "version": {
17135               "$ref": "#/definitions/Binary"
17136             }
17137           },
17138           "additionalProperties": false,
17139           "required": [
17140             "version",
17141             "url",
17142             "size"
17143           ]
17144         },
17145         "ToolsResult": {
17146           "type": "object",
17147           "properties": {
17148             "disable-ssl-hostname-verification": {
17149               "type": "boolean"
17150             },
17151             "error": {
17152               "$ref": "#/definitions/Error"
17153             },
17154             "tools": {
17155               "type": "array",
17156               "items": {
17157                 "$ref": "#/definitions/Tools"
17158               }
17159             }
17160           },
17161           "additionalProperties": false,
17162           "required": [
17163             "tools",
17164             "disable-ssl-hostname-verification"
17165           ]
17166         },
17167         "ToolsResults": {
17168           "type": "object",
17169           "properties": {
17170             "results": {
17171               "type": "array",
17172               "items": {
17173                 "$ref": "#/definitions/ToolsResult"
17174               }
17175             }
17176           },
17177           "additionalProperties": false,
17178           "required": [
17179             "results"
17180           ]
17181         },
17182         "UpdateBehavior": {
17183           "type": "object",
17184           "properties": {
17185             "enable-os-refresh-update": {
17186               "type": "boolean"
17187             },
17188             "enable-os-upgrade": {
17189               "type": "boolean"
17190             }
17191           },
17192           "additionalProperties": false,
17193           "required": [
17194             "enable-os-refresh-update",
17195             "enable-os-upgrade"
17196           ]
17197         },
17198         "Value": {
17199           "type": "object",
17200           "properties": {
17201             "arch": {
17202               "type": "string"
17203             },
17204             "container": {
17205               "type": "string"
17206             },
17207             "cores": {
17208               "type": "integer"
17209             },
17210             "cpu-power": {
17211               "type": "integer"
17212             },
17213             "instance-type": {
17214               "type": "string"
17215             },
17216             "mem": {
17217               "type": "integer"
17218             },
17219             "root-disk": {
17220               "type": "integer"
17221             },
17222             "spaces": {
17223               "type": "array",
17224               "items": {
17225                 "type": "string"
17226               }
17227             },
17228             "tags": {
17229               "type": "array",
17230               "items": {
17231                 "type": "string"
17232               }
17233             },
17234             "virt-type": {
17235               "type": "string"
17236             }
17237           },
17238           "additionalProperties": false
17239         },
17240         "Volume": {
17241           "type": "object",
17242           "properties": {
17243             "info": {
17244               "$ref": "#/definitions/VolumeInfo"
17245             },
17246             "volume-tag": {
17247               "type": "string"
17248             }
17249           },
17250           "additionalProperties": false,
17251           "required": [
17252             "volume-tag",
17253             "info"
17254           ]
17255         },
17256         "VolumeAttachmentInfo": {
17257           "type": "object",
17258           "properties": {
17259             "bus-address": {
17260               "type": "string"
17261             },
17262             "device-link": {
17263               "type": "string"
17264             },
17265             "device-name": {
17266               "type": "string"
17267             },
17268             "read-only": {
17269               "type": "boolean"
17270             }
17271           },
17272           "additionalProperties": false
17273         },
17274         "VolumeAttachmentParams": {
17275           "type": "object",
17276           "properties": {
17277             "instance-id": {
17278               "type": "string"
17279             },
17280             "machine-tag": {
17281               "type": "string"
17282             },
17283             "provider": {
17284               "type": "string"
17285             },
17286             "read-only": {
17287               "type": "boolean"
17288             },
17289             "volume-id": {
17290               "type": "string"
17291             },
17292             "volume-tag": {
17293               "type": "string"
17294             }
17295           },
17296           "additionalProperties": false,
17297           "required": [
17298             "volume-tag",
17299             "machine-tag",
17300             "provider"
17301           ]
17302         },
17303         "VolumeInfo": {
17304           "type": "object",
17305           "properties": {
17306             "hardware-id": {
17307               "type": "string"
17308             },
17309             "persistent": {
17310               "type": "boolean"
17311             },
17312             "size": {
17313               "type": "integer"
17314             },
17315             "volume-id": {
17316               "type": "string"
17317             }
17318           },
17319           "additionalProperties": false,
17320           "required": [
17321             "volume-id",
17322             "size",
17323             "persistent"
17324           ]
17325         },
17326         "VolumeParams": {
17327           "type": "object",
17328           "properties": {
17329             "attachment": {
17330               "$ref": "#/definitions/VolumeAttachmentParams"
17331             },
17332             "attributes": {
17333               "type": "object",
17334               "patternProperties": {
17335                 ".*": {
17336                   "type": "object",
17337                   "additionalProperties": true
17338                 }
17339               }
17340             },
17341             "provider": {
17342               "type": "string"
17343             },
17344             "size": {
17345               "type": "integer"
17346             },
17347             "tags": {
17348               "type": "object",
17349               "patternProperties": {
17350                 ".*": {
17351                   "type": "string"
17352                 }
17353               }
17354             },
17355             "volume-tag": {
17356               "type": "string"
17357             }
17358           },
17359           "additionalProperties": false,
17360           "required": [
17361             "volume-tag",
17362             "size",
17363             "provider"
17364           ]
17365         },
17366         "WatchContainer": {
17367           "type": "object",
17368           "properties": {
17369             "container-type": {
17370               "type": "string"
17371             },
17372             "machine-tag": {
17373               "type": "string"
17374             }
17375           },
17376           "additionalProperties": false,
17377           "required": [
17378             "machine-tag",
17379             "container-type"
17380           ]
17381         },
17382         "WatchContainers": {
17383           "type": "object",
17384           "properties": {
17385             "params": {
17386               "type": "array",
17387               "items": {
17388                 "$ref": "#/definitions/WatchContainer"
17389               }
17390             }
17391           },
17392           "additionalProperties": false,
17393           "required": [
17394             "params"
17395           ]
17396         }
17397       }
17398     }
17399   },
17400   {
17401     "Name": "ProxyUpdater",
17402     "Version": 1,
17403     "Schema": {
17404       "type": "object",
17405       "properties": {
17406         "ProxyConfig": {
17407           "type": "object",
17408           "properties": {
17409             "Params": {
17410               "$ref": "#/definitions/Entities"
17411             },
17412             "Result": {
17413               "$ref": "#/definitions/ProxyConfigResults"
17414             }
17415           }
17416         },
17417         "WatchForProxyConfigAndAPIHostPortChanges": {
17418           "type": "object",
17419           "properties": {
17420             "Params": {
17421               "$ref": "#/definitions/Entities"
17422             },
17423             "Result": {
17424               "$ref": "#/definitions/NotifyWatchResults"
17425             }
17426           }
17427         }
17428       },
17429       "definitions": {
17430         "Entities": {
17431           "type": "object",
17432           "properties": {
17433             "entities": {
17434               "type": "array",
17435               "items": {
17436                 "$ref": "#/definitions/Entity"
17437               }
17438             }
17439           },
17440           "additionalProperties": false,
17441           "required": [
17442             "entities"
17443           ]
17444         },
17445         "Entity": {
17446           "type": "object",
17447           "properties": {
17448             "tag": {
17449               "type": "string"
17450             }
17451           },
17452           "additionalProperties": false,
17453           "required": [
17454             "tag"
17455           ]
17456         },
17457         "Error": {
17458           "type": "object",
17459           "properties": {
17460             "code": {
17461               "type": "string"
17462             },
17463             "info": {
17464               "$ref": "#/definitions/ErrorInfo"
17465             },
17466             "message": {
17467               "type": "string"
17468             }
17469           },
17470           "additionalProperties": false,
17471           "required": [
17472             "message",
17473             "code"
17474           ]
17475         },
17476         "ErrorInfo": {
17477           "type": "object",
17478           "properties": {
17479             "macaroon": {
17480               "$ref": "#/definitions/Macaroon"
17481             },
17482             "macaroon-path": {
17483               "type": "string"
17484             }
17485           },
17486           "additionalProperties": false
17487         },
17488         "Macaroon": {
17489           "type": "object",
17490           "additionalProperties": false
17491         },
17492         "NotifyWatchResult": {
17493           "type": "object",
17494           "properties": {
17495             "NotifyWatcherId": {
17496               "type": "string"
17497             },
17498             "error": {
17499               "$ref": "#/definitions/Error"
17500             }
17501           },
17502           "additionalProperties": false,
17503           "required": [
17504             "NotifyWatcherId"
17505           ]
17506         },
17507         "NotifyWatchResults": {
17508           "type": "object",
17509           "properties": {
17510             "results": {
17511               "type": "array",
17512               "items": {
17513                 "$ref": "#/definitions/NotifyWatchResult"
17514               }
17515             }
17516           },
17517           "additionalProperties": false,
17518           "required": [
17519             "results"
17520           ]
17521         },
17522         "ProxyConfig": {
17523           "type": "object",
17524           "properties": {
17525             "ftp": {
17526               "type": "string"
17527             },
17528             "http": {
17529               "type": "string"
17530             },
17531             "https": {
17532               "type": "string"
17533             },
17534             "no-proxy": {
17535               "type": "string"
17536             }
17537           },
17538           "additionalProperties": false,
17539           "required": [
17540             "http",
17541             "https",
17542             "ftp",
17543             "no-proxy"
17544           ]
17545         },
17546         "ProxyConfigResult": {
17547           "type": "object",
17548           "properties": {
17549             "apt-proxy-settings": {
17550               "$ref": "#/definitions/ProxyConfig"
17551             },
17552             "error": {
17553               "$ref": "#/definitions/Error"
17554             },
17555             "proxy-settings": {
17556               "$ref": "#/definitions/ProxyConfig"
17557             }
17558           },
17559           "additionalProperties": false,
17560           "required": [
17561             "proxy-settings",
17562             "apt-proxy-settings"
17563           ]
17564         },
17565         "ProxyConfigResults": {
17566           "type": "object",
17567           "properties": {
17568             "results": {
17569               "type": "array",
17570               "items": {
17571                 "$ref": "#/definitions/ProxyConfigResult"
17572               }
17573             }
17574           },
17575           "additionalProperties": false,
17576           "required": [
17577             "results"
17578           ]
17579         }
17580       }
17581     }
17582   },
17583   {
17584     "Name": "Reboot",
17585     "Version": 2,
17586     "Schema": {
17587       "type": "object",
17588       "properties": {
17589         "ClearReboot": {
17590           "type": "object",
17591           "properties": {
17592             "Params": {
17593               "$ref": "#/definitions/Entities"
17594             },
17595             "Result": {
17596               "$ref": "#/definitions/ErrorResults"
17597             }
17598           }
17599         },
17600         "GetRebootAction": {
17601           "type": "object",
17602           "properties": {
17603             "Params": {
17604               "$ref": "#/definitions/Entities"
17605             },
17606             "Result": {
17607               "$ref": "#/definitions/RebootActionResults"
17608             }
17609           }
17610         },
17611         "RequestReboot": {
17612           "type": "object",
17613           "properties": {
17614             "Params": {
17615               "$ref": "#/definitions/Entities"
17616             },
17617             "Result": {
17618               "$ref": "#/definitions/ErrorResults"
17619             }
17620           }
17621         },
17622         "WatchForRebootEvent": {
17623           "type": "object",
17624           "properties": {
17625             "Result": {
17626               "$ref": "#/definitions/NotifyWatchResult"
17627             }
17628           }
17629         }
17630       },
17631       "definitions": {
17632         "Entities": {
17633           "type": "object",
17634           "properties": {
17635             "entities": {
17636               "type": "array",
17637               "items": {
17638                 "$ref": "#/definitions/Entity"
17639               }
17640             }
17641           },
17642           "additionalProperties": false,
17643           "required": [
17644             "entities"
17645           ]
17646         },
17647         "Entity": {
17648           "type": "object",
17649           "properties": {
17650             "tag": {
17651               "type": "string"
17652             }
17653           },
17654           "additionalProperties": false,
17655           "required": [
17656             "tag"
17657           ]
17658         },
17659         "Error": {
17660           "type": "object",
17661           "properties": {
17662             "code": {
17663               "type": "string"
17664             },
17665             "info": {
17666               "$ref": "#/definitions/ErrorInfo"
17667             },
17668             "message": {
17669               "type": "string"
17670             }
17671           },
17672           "additionalProperties": false,
17673           "required": [
17674             "message",
17675             "code"
17676           ]
17677         },
17678         "ErrorInfo": {
17679           "type": "object",
17680           "properties": {
17681             "macaroon": {
17682               "$ref": "#/definitions/Macaroon"
17683             },
17684             "macaroon-path": {
17685               "type": "string"
17686             }
17687           },
17688           "additionalProperties": false
17689         },
17690         "ErrorResult": {
17691           "type": "object",
17692           "properties": {
17693             "error": {
17694               "$ref": "#/definitions/Error"
17695             }
17696           },
17697           "additionalProperties": false
17698         },
17699         "ErrorResults": {
17700           "type": "object",
17701           "properties": {
17702             "results": {
17703               "type": "array",
17704               "items": {
17705                 "$ref": "#/definitions/ErrorResult"
17706               }
17707             }
17708           },
17709           "additionalProperties": false,
17710           "required": [
17711             "results"
17712           ]
17713         },
17714         "Macaroon": {
17715           "type": "object",
17716           "additionalProperties": false
17717         },
17718         "NotifyWatchResult": {
17719           "type": "object",
17720           "properties": {
17721             "NotifyWatcherId": {
17722               "type": "string"
17723             },
17724             "error": {
17725               "$ref": "#/definitions/Error"
17726             }
17727           },
17728           "additionalProperties": false,
17729           "required": [
17730             "NotifyWatcherId"
17731           ]
17732         },
17733         "RebootActionResult": {
17734           "type": "object",
17735           "properties": {
17736             "error": {
17737               "$ref": "#/definitions/Error"
17738             },
17739             "result": {
17740               "type": "string"
17741             }
17742           },
17743           "additionalProperties": false
17744         },
17745         "RebootActionResults": {
17746           "type": "object",
17747           "properties": {
17748             "results": {
17749               "type": "array",
17750               "items": {
17751                 "$ref": "#/definitions/RebootActionResult"
17752               }
17753             }
17754           },
17755           "additionalProperties": false
17756         }
17757       }
17758     }
17759   },
17760   {
17761     "Name": "RelationUnitsWatcher",
17762     "Version": 1,
17763     "Schema": {
17764       "type": "object",
17765       "properties": {
17766         "Next": {
17767           "type": "object",
17768           "properties": {
17769             "Result": {
17770               "$ref": "#/definitions/RelationUnitsWatchResult"
17771             }
17772           }
17773         },
17774         "Stop": {
17775           "type": "object"
17776         }
17777       },
17778       "definitions": {
17779         "Error": {
17780           "type": "object",
17781           "properties": {
17782             "code": {
17783               "type": "string"
17784             },
17785             "info": {
17786               "$ref": "#/definitions/ErrorInfo"
17787             },
17788             "message": {
17789               "type": "string"
17790             }
17791           },
17792           "additionalProperties": false,
17793           "required": [
17794             "message",
17795             "code"
17796           ]
17797         },
17798         "ErrorInfo": {
17799           "type": "object",
17800           "properties": {
17801             "macaroon": {
17802               "$ref": "#/definitions/Macaroon"
17803             },
17804             "macaroon-path": {
17805               "type": "string"
17806             }
17807           },
17808           "additionalProperties": false
17809         },
17810         "Macaroon": {
17811           "type": "object",
17812           "additionalProperties": false
17813         },
17814         "RelationUnitsChange": {
17815           "type": "object",
17816           "properties": {
17817             "changed": {
17818               "type": "object",
17819               "patternProperties": {
17820                 ".*": {
17821                   "$ref": "#/definitions/UnitSettings"
17822                 }
17823               }
17824             },
17825             "departed": {
17826               "type": "array",
17827               "items": {
17828                 "type": "string"
17829               }
17830             }
17831           },
17832           "additionalProperties": false,
17833           "required": [
17834             "changed"
17835           ]
17836         },
17837         "RelationUnitsWatchResult": {
17838           "type": "object",
17839           "properties": {
17840             "changes": {
17841               "$ref": "#/definitions/RelationUnitsChange"
17842             },
17843             "error": {
17844               "$ref": "#/definitions/Error"
17845             },
17846             "watcher-id": {
17847               "type": "string"
17848             }
17849           },
17850           "additionalProperties": false,
17851           "required": [
17852             "watcher-id",
17853             "changes"
17854           ]
17855         },
17856         "UnitSettings": {
17857           "type": "object",
17858           "properties": {
17859             "version": {
17860               "type": "integer"
17861             }
17862           },
17863           "additionalProperties": false,
17864           "required": [
17865             "version"
17866           ]
17867         }
17868       }
17869     }
17870   },
17871   {
17872     "Name": "RemoteApplicationWatcher",
17873     "Version": 1,
17874     "Schema": {
17875       "type": "object",
17876       "properties": {
17877         "Next": {
17878           "type": "object",
17879           "properties": {
17880             "Result": {
17881               "$ref": "#/definitions/RemoteApplicationWatchResult"
17882             }
17883           }
17884         },
17885         "Stop": {
17886           "type": "object"
17887         }
17888       },
17889       "definitions": {
17890         "Error": {
17891           "type": "object",
17892           "properties": {
17893             "code": {
17894               "type": "string"
17895             },
17896             "info": {
17897               "$ref": "#/definitions/ErrorInfo"
17898             },
17899             "message": {
17900               "type": "string"
17901             }
17902           },
17903           "additionalProperties": false,
17904           "required": [
17905             "message",
17906             "code"
17907           ]
17908         },
17909         "ErrorInfo": {
17910           "type": "object",
17911           "properties": {
17912             "macaroon": {
17913               "$ref": "#/definitions/Macaroon"
17914             },
17915             "macaroon-path": {
17916               "type": "string"
17917             }
17918           },
17919           "additionalProperties": false
17920         },
17921         "Macaroon": {
17922           "type": "object",
17923           "additionalProperties": false
17924         },
17925         "RemoteApplicationChange": {
17926           "type": "object",
17927           "properties": {
17928             "application-tag": {
17929               "type": "string"
17930             },
17931             "life": {
17932               "type": "string"
17933             },
17934             "relations": {
17935               "$ref": "#/definitions/RemoteRelationsChange"
17936             }
17937           },
17938           "additionalProperties": false,
17939           "required": [
17940             "application-tag",
17941             "life",
17942             "relations"
17943           ]
17944         },
17945         "RemoteApplicationWatchResult": {
17946           "type": "object",
17947           "properties": {
17948             "change": {
17949               "$ref": "#/definitions/RemoteApplicationChange"
17950             },
17951             "error": {
17952               "$ref": "#/definitions/Error"
17953             },
17954             "id": {
17955               "type": "string"
17956             }
17957           },
17958           "additionalProperties": false,
17959           "required": [
17960             "id"
17961           ]
17962         },
17963         "RemoteEntityId": {
17964           "type": "object",
17965           "properties": {
17966             "model-uuid": {
17967               "type": "string"
17968             },
17969             "token": {
17970               "type": "string"
17971             }
17972           },
17973           "additionalProperties": false,
17974           "required": [
17975             "model-uuid",
17976             "token"
17977           ]
17978         },
17979         "RemoteRelationChange": {
17980           "type": "object",
17981           "properties": {
17982             "changed-units": {
17983               "type": "object",
17984               "patternProperties": {
17985                 ".*": {
17986                   "$ref": "#/definitions/RemoteRelationUnitChange"
17987                 }
17988               }
17989             },
17990             "departed-units": {
17991               "type": "array",
17992               "items": {
17993                 "type": "string"
17994               }
17995             },
17996             "id": {
17997               "type": "integer"
17998             },
17999             "life": {
18000               "type": "string"
18001             }
18002           },
18003           "additionalProperties": false,
18004           "required": [
18005             "id",
18006             "life"
18007           ]
18008         },
18009         "RemoteRelationUnitChange": {
18010           "type": "object",
18011           "properties": {
18012             "settings": {
18013               "type": "object",
18014               "patternProperties": {
18015                 ".*": {
18016                   "type": "object",
18017                   "additionalProperties": true
18018                 }
18019               }
18020             },
18021             "unit-id": {
18022               "$ref": "#/definitions/RemoteEntityId"
18023             }
18024           },
18025           "additionalProperties": false,
18026           "required": [
18027             "unit-id"
18028           ]
18029         },
18030         "RemoteRelationsChange": {
18031           "type": "object",
18032           "properties": {
18033             "changed": {
18034               "type": "array",
18035               "items": {
18036                 "$ref": "#/definitions/RemoteRelationChange"
18037               }
18038             },
18039             "initial": {
18040               "type": "boolean"
18041             },
18042             "removed": {
18043               "type": "array",
18044               "items": {
18045                 "type": "integer"
18046               }
18047             }
18048           },
18049           "additionalProperties": false,
18050           "required": [
18051             "initial"
18052           ]
18053         }
18054       }
18055     }
18056   },
18057   {
18058     "Name": "RemoteRelationsWatcher",
18059     "Version": 1,
18060     "Schema": {
18061       "type": "object",
18062       "properties": {
18063         "Next": {
18064           "type": "object",
18065           "properties": {
18066             "Result": {
18067               "$ref": "#/definitions/RemoteRelationsWatchResult"
18068             }
18069           }
18070         },
18071         "Stop": {
18072           "type": "object"
18073         }
18074       },
18075       "definitions": {
18076         "Error": {
18077           "type": "object",
18078           "properties": {
18079             "code": {
18080               "type": "string"
18081             },
18082             "info": {
18083               "$ref": "#/definitions/ErrorInfo"
18084             },
18085             "message": {
18086               "type": "string"
18087             }
18088           },
18089           "additionalProperties": false,
18090           "required": [
18091             "message",
18092             "code"
18093           ]
18094         },
18095         "ErrorInfo": {
18096           "type": "object",
18097           "properties": {
18098             "macaroon": {
18099               "$ref": "#/definitions/Macaroon"
18100             },
18101             "macaroon-path": {
18102               "type": "string"
18103             }
18104           },
18105           "additionalProperties": false
18106         },
18107         "Macaroon": {
18108           "type": "object",
18109           "additionalProperties": false
18110         },
18111         "RemoteEntityId": {
18112           "type": "object",
18113           "properties": {
18114             "model-uuid": {
18115               "type": "string"
18116             },
18117             "token": {
18118               "type": "string"
18119             }
18120           },
18121           "additionalProperties": false,
18122           "required": [
18123             "model-uuid",
18124             "token"
18125           ]
18126         },
18127         "RemoteRelationChange": {
18128           "type": "object",
18129           "properties": {
18130             "changed-units": {
18131               "type": "object",
18132               "patternProperties": {
18133                 ".*": {
18134                   "$ref": "#/definitions/RemoteRelationUnitChange"
18135                 }
18136               }
18137             },
18138             "departed-units": {
18139               "type": "array",
18140               "items": {
18141                 "type": "string"
18142               }
18143             },
18144             "id": {
18145               "type": "integer"
18146             },
18147             "life": {
18148               "type": "string"
18149             }
18150           },
18151           "additionalProperties": false,
18152           "required": [
18153             "id",
18154             "life"
18155           ]
18156         },
18157         "RemoteRelationUnitChange": {
18158           "type": "object",
18159           "properties": {
18160             "settings": {
18161               "type": "object",
18162               "patternProperties": {
18163                 ".*": {
18164                   "type": "object",
18165                   "additionalProperties": true
18166                 }
18167               }
18168             },
18169             "unit-id": {
18170               "$ref": "#/definitions/RemoteEntityId"
18171             }
18172           },
18173           "additionalProperties": false,
18174           "required": [
18175             "unit-id"
18176           ]
18177         },
18178         "RemoteRelationsChange": {
18179           "type": "object",
18180           "properties": {
18181             "changed": {
18182               "type": "array",
18183               "items": {
18184                 "$ref": "#/definitions/RemoteRelationChange"
18185               }
18186             },
18187             "initial": {
18188               "type": "boolean"
18189             },
18190             "removed": {
18191               "type": "array",
18192               "items": {
18193                 "type": "integer"
18194               }
18195             }
18196           },
18197           "additionalProperties": false,
18198           "required": [
18199             "initial"
18200           ]
18201         },
18202         "RemoteRelationsWatchResult": {
18203           "type": "object",
18204           "properties": {
18205             "RemoteRelationsWatcherId": {
18206               "type": "string"
18207             },
18208             "change": {
18209               "$ref": "#/definitions/RemoteRelationsChange"
18210             },
18211             "error": {
18212               "$ref": "#/definitions/Error"
18213             }
18214           },
18215           "additionalProperties": false,
18216           "required": [
18217             "RemoteRelationsWatcherId"
18218           ]
18219         }
18220       }
18221     }
18222   },
18223   {
18224     "Name": "Resources",
18225     "Version": 1,
18226     "Schema": {
18227       "type": "object",
18228       "properties": {
18229         "AddPendingResources": {
18230           "type": "object",
18231           "properties": {
18232             "Params": {
18233               "$ref": "#/definitions/AddPendingResourcesArgs"
18234             },
18235             "Result": {
18236               "$ref": "#/definitions/AddPendingResourcesResult"
18237             }
18238           }
18239         },
18240         "ListResources": {
18241           "type": "object",
18242           "properties": {
18243             "Params": {
18244               "$ref": "#/definitions/ListResourcesArgs"
18245             },
18246             "Result": {
18247               "$ref": "#/definitions/ResourcesResults"
18248             }
18249           }
18250         }
18251       },
18252       "definitions": {
18253         "AddCharmWithAuthorization": {
18254           "type": "object",
18255           "properties": {
18256             "channel": {
18257               "type": "string"
18258             },
18259             "macaroon": {
18260               "$ref": "#/definitions/Macaroon"
18261             },
18262             "url": {
18263               "type": "string"
18264             }
18265           },
18266           "additionalProperties": false,
18267           "required": [
18268             "url",
18269             "channel",
18270             "macaroon"
18271           ]
18272         },
18273         "AddPendingResourcesArgs": {
18274           "type": "object",
18275           "properties": {
18276             "AddCharmWithAuthorization": {
18277               "$ref": "#/definitions/AddCharmWithAuthorization"
18278             },
18279             "Entity": {
18280               "$ref": "#/definitions/Entity"
18281             },
18282             "Resources": {
18283               "type": "array",
18284               "items": {
18285                 "$ref": "#/definitions/CharmResource"
18286               }
18287             }
18288           },
18289           "additionalProperties": false,
18290           "required": [
18291             "Entity",
18292             "AddCharmWithAuthorization",
18293             "Resources"
18294           ]
18295         },
18296         "AddPendingResourcesResult": {
18297           "type": "object",
18298           "properties": {
18299             "ErrorResult": {
18300               "$ref": "#/definitions/ErrorResult"
18301             },
18302             "pending-ids": {
18303               "type": "array",
18304               "items": {
18305                 "type": "string"
18306               }
18307             }
18308           },
18309           "additionalProperties": false,
18310           "required": [
18311             "ErrorResult",
18312             "pending-ids"
18313           ]
18314         },
18315         "CharmResource": {
18316           "type": "object",
18317           "properties": {
18318             "description": {
18319               "type": "string"
18320             },
18321             "fingerprint": {
18322               "type": "array",
18323               "items": {
18324                 "type": "integer"
18325               }
18326             },
18327             "name": {
18328               "type": "string"
18329             },
18330             "origin": {
18331               "type": "string"
18332             },
18333             "path": {
18334               "type": "string"
18335             },
18336             "revision": {
18337               "type": "integer"
18338             },
18339             "size": {
18340               "type": "integer"
18341             },
18342             "type": {
18343               "type": "string"
18344             }
18345           },
18346           "additionalProperties": false,
18347           "required": [
18348             "name",
18349             "type",
18350             "path",
18351             "origin",
18352             "revision",
18353             "fingerprint",
18354             "size"
18355           ]
18356         },
18357         "Entity": {
18358           "type": "object",
18359           "properties": {
18360             "tag": {
18361               "type": "string"
18362             }
18363           },
18364           "additionalProperties": false,
18365           "required": [
18366             "tag"
18367           ]
18368         },
18369         "Error": {
18370           "type": "object",
18371           "properties": {
18372             "code": {
18373               "type": "string"
18374             },
18375             "info": {
18376               "$ref": "#/definitions/ErrorInfo"
18377             },
18378             "message": {
18379               "type": "string"
18380             }
18381           },
18382           "additionalProperties": false,
18383           "required": [
18384             "message",
18385             "code"
18386           ]
18387         },
18388         "ErrorInfo": {
18389           "type": "object",
18390           "properties": {
18391             "macaroon": {
18392               "$ref": "#/definitions/Macaroon"
18393             },
18394             "macaroon-path": {
18395               "type": "string"
18396             }
18397           },
18398           "additionalProperties": false
18399         },
18400         "ErrorResult": {
18401           "type": "object",
18402           "properties": {
18403             "error": {
18404               "$ref": "#/definitions/Error"
18405             }
18406           },
18407           "additionalProperties": false
18408         },
18409         "ListResourcesArgs": {
18410           "type": "object",
18411           "properties": {
18412             "entities": {
18413               "type": "array",
18414               "items": {
18415                 "$ref": "#/definitions/Entity"
18416               }
18417             }
18418           },
18419           "additionalProperties": false,
18420           "required": [
18421             "entities"
18422           ]
18423         },
18424         "Macaroon": {
18425           "type": "object",
18426           "additionalProperties": false
18427         },
18428         "Resource": {
18429           "type": "object",
18430           "properties": {
18431             "CharmResource": {
18432               "$ref": "#/definitions/CharmResource"
18433             },
18434             "application": {
18435               "type": "string"
18436             },
18437             "id": {
18438               "type": "string"
18439             },
18440             "pending-id": {
18441               "type": "string"
18442             },
18443             "timestamp": {
18444               "type": "string",
18445               "format": "date-time"
18446             },
18447             "username": {
18448               "type": "string"
18449             }
18450           },
18451           "additionalProperties": false,
18452           "required": [
18453             "CharmResource",
18454             "id",
18455             "pending-id",
18456             "application",
18457             "username",
18458             "timestamp"
18459           ]
18460         },
18461         "ResourcesResult": {
18462           "type": "object",
18463           "properties": {
18464             "ErrorResult": {
18465               "$ref": "#/definitions/ErrorResult"
18466             },
18467             "charm-store-resources": {
18468               "type": "array",
18469               "items": {
18470                 "$ref": "#/definitions/CharmResource"
18471               }
18472             },
18473             "resources": {
18474               "type": "array",
18475               "items": {
18476                 "$ref": "#/definitions/Resource"
18477               }
18478             },
18479             "unit-resources": {
18480               "type": "array",
18481               "items": {
18482                 "$ref": "#/definitions/UnitResources"
18483               }
18484             }
18485           },
18486           "additionalProperties": false,
18487           "required": [
18488             "ErrorResult",
18489             "resources",
18490             "charm-store-resources",
18491             "unit-resources"
18492           ]
18493         },
18494         "ResourcesResults": {
18495           "type": "object",
18496           "properties": {
18497             "results": {
18498               "type": "array",
18499               "items": {
18500                 "$ref": "#/definitions/ResourcesResult"
18501               }
18502             }
18503           },
18504           "additionalProperties": false,
18505           "required": [
18506             "results"
18507           ]
18508         },
18509         "UnitResources": {
18510           "type": "object",
18511           "properties": {
18512             "Entity": {
18513               "$ref": "#/definitions/Entity"
18514             },
18515             "download-progress": {
18516               "type": "object",
18517               "patternProperties": {
18518                 ".*": {
18519                   "type": "integer"
18520                 }
18521               }
18522             },
18523             "resources": {
18524               "type": "array",
18525               "items": {
18526                 "$ref": "#/definitions/Resource"
18527               }
18528             }
18529           },
18530           "additionalProperties": false,
18531           "required": [
18532             "Entity",
18533             "resources",
18534             "download-progress"
18535           ]
18536         }
18537       }
18538     }
18539   },
18540   {
18541     "Name": "ResourcesHookContext",
18542     "Version": 1,
18543     "Schema": {
18544       "type": "object",
18545       "properties": {
18546         "GetResourceInfo": {
18547           "type": "object",
18548           "properties": {
18549             "Params": {
18550               "$ref": "#/definitions/ListResourcesArgs"
18551             },
18552             "Result": {
18553               "$ref": "#/definitions/ResourcesResult"
18554             }
18555           }
18556         }
18557       },
18558       "definitions": {
18559         "CharmResource": {
18560           "type": "object",
18561           "properties": {
18562             "description": {
18563               "type": "string"
18564             },
18565             "fingerprint": {
18566               "type": "array",
18567               "items": {
18568                 "type": "integer"
18569               }
18570             },
18571             "name": {
18572               "type": "string"
18573             },
18574             "origin": {
18575               "type": "string"
18576             },
18577             "path": {
18578               "type": "string"
18579             },
18580             "revision": {
18581               "type": "integer"
18582             },
18583             "size": {
18584               "type": "integer"
18585             },
18586             "type": {
18587               "type": "string"
18588             }
18589           },
18590           "additionalProperties": false,
18591           "required": [
18592             "name",
18593             "type",
18594             "path",
18595             "origin",
18596             "revision",
18597             "fingerprint",
18598             "size"
18599           ]
18600         },
18601         "Error": {
18602           "type": "object",
18603           "properties": {
18604             "code": {
18605               "type": "string"
18606             },
18607             "info": {
18608               "$ref": "#/definitions/ErrorInfo"
18609             },
18610             "message": {
18611               "type": "string"
18612             }
18613           },
18614           "additionalProperties": false,
18615           "required": [
18616             "message",
18617             "code"
18618           ]
18619         },
18620         "ErrorInfo": {
18621           "type": "object",
18622           "properties": {
18623             "macaroon": {
18624               "$ref": "#/definitions/Macaroon"
18625             },
18626             "macaroon-path": {
18627               "type": "string"
18628             }
18629           },
18630           "additionalProperties": false
18631         },
18632         "ErrorResult": {
18633           "type": "object",
18634           "properties": {
18635             "error": {
18636               "$ref": "#/definitions/Error"
18637             }
18638           },
18639           "additionalProperties": false
18640         },
18641         "ListResourcesArgs": {
18642           "type": "object",
18643           "properties": {
18644             "resource-names": {
18645               "type": "array",
18646               "items": {
18647                 "type": "string"
18648               }
18649             }
18650           },
18651           "additionalProperties": false,
18652           "required": [
18653             "resource-names"
18654           ]
18655         },
18656         "Macaroon": {
18657           "type": "object",
18658           "additionalProperties": false
18659         },
18660         "Resource": {
18661           "type": "object",
18662           "properties": {
18663             "CharmResource": {
18664               "$ref": "#/definitions/CharmResource"
18665             },
18666             "application": {
18667               "type": "string"
18668             },
18669             "id": {
18670               "type": "string"
18671             },
18672             "pending-id": {
18673               "type": "string"
18674             },
18675             "timestamp": {
18676               "type": "string",
18677               "format": "date-time"
18678             },
18679             "username": {
18680               "type": "string"
18681             }
18682           },
18683           "additionalProperties": false,
18684           "required": [
18685             "CharmResource",
18686             "id",
18687             "pending-id",
18688             "application",
18689             "username",
18690             "timestamp"
18691           ]
18692         },
18693         "ResourceResult": {
18694           "type": "object",
18695           "properties": {
18696             "ErrorResult": {
18697               "$ref": "#/definitions/ErrorResult"
18698             },
18699             "resource": {
18700               "$ref": "#/definitions/Resource"
18701             }
18702           },
18703           "additionalProperties": false,
18704           "required": [
18705             "ErrorResult",
18706             "resource"
18707           ]
18708         },
18709         "ResourcesResult": {
18710           "type": "object",
18711           "properties": {
18712             "ErrorResult": {
18713               "$ref": "#/definitions/ErrorResult"
18714             },
18715             "resources": {
18716               "type": "array",
18717               "items": {
18718                 "$ref": "#/definitions/ResourceResult"
18719               }
18720             }
18721           },
18722           "additionalProperties": false,
18723           "required": [
18724             "ErrorResult",
18725             "resources"
18726           ]
18727         }
18728       }
18729     }
18730   },
18731   {
18732     "Name": "Resumer",
18733     "Version": 2,
18734     "Schema": {
18735       "type": "object",
18736       "properties": {
18737         "ResumeTransactions": {
18738           "type": "object"
18739         }
18740       }
18741     }
18742   },
18743   {
18744     "Name": "RetryStrategy",
18745     "Version": 1,
18746     "Schema": {
18747       "type": "object",
18748       "properties": {
18749         "RetryStrategy": {
18750           "type": "object",
18751           "properties": {
18752             "Params": {
18753               "$ref": "#/definitions/Entities"
18754             },
18755             "Result": {
18756               "$ref": "#/definitions/RetryStrategyResults"
18757             }
18758           }
18759         },
18760         "WatchRetryStrategy": {
18761           "type": "object",
18762           "properties": {
18763             "Params": {
18764               "$ref": "#/definitions/Entities"
18765             },
18766             "Result": {
18767               "$ref": "#/definitions/NotifyWatchResults"
18768             }
18769           }
18770         }
18771       },
18772       "definitions": {
18773         "Entities": {
18774           "type": "object",
18775           "properties": {
18776             "entities": {
18777               "type": "array",
18778               "items": {
18779                 "$ref": "#/definitions/Entity"
18780               }
18781             }
18782           },
18783           "additionalProperties": false,
18784           "required": [
18785             "entities"
18786           ]
18787         },
18788         "Entity": {
18789           "type": "object",
18790           "properties": {
18791             "tag": {
18792               "type": "string"
18793             }
18794           },
18795           "additionalProperties": false,
18796           "required": [
18797             "tag"
18798           ]
18799         },
18800         "Error": {
18801           "type": "object",
18802           "properties": {
18803             "code": {
18804               "type": "string"
18805             },
18806             "info": {
18807               "$ref": "#/definitions/ErrorInfo"
18808             },
18809             "message": {
18810               "type": "string"
18811             }
18812           },
18813           "additionalProperties": false,
18814           "required": [
18815             "message",
18816             "code"
18817           ]
18818         },
18819         "ErrorInfo": {
18820           "type": "object",
18821           "properties": {
18822             "macaroon": {
18823               "$ref": "#/definitions/Macaroon"
18824             },
18825             "macaroon-path": {
18826               "type": "string"
18827             }
18828           },
18829           "additionalProperties": false
18830         },
18831         "Macaroon": {
18832           "type": "object",
18833           "additionalProperties": false
18834         },
18835         "NotifyWatchResult": {
18836           "type": "object",
18837           "properties": {
18838             "NotifyWatcherId": {
18839               "type": "string"
18840             },
18841             "error": {
18842               "$ref": "#/definitions/Error"
18843             }
18844           },
18845           "additionalProperties": false,
18846           "required": [
18847             "NotifyWatcherId"
18848           ]
18849         },
18850         "NotifyWatchResults": {
18851           "type": "object",
18852           "properties": {
18853             "results": {
18854               "type": "array",
18855               "items": {
18856                 "$ref": "#/definitions/NotifyWatchResult"
18857               }
18858             }
18859           },
18860           "additionalProperties": false,
18861           "required": [
18862             "results"
18863           ]
18864         },
18865         "RetryStrategy": {
18866           "type": "object",
18867           "properties": {
18868             "jitter-retry-time": {
18869               "type": "boolean"
18870             },
18871             "max-retry-time": {
18872               "type": "integer"
18873             },
18874             "min-retry-time": {
18875               "type": "integer"
18876             },
18877             "retry-time-factor": {
18878               "type": "integer"
18879             },
18880             "should-retry": {
18881               "type": "boolean"
18882             }
18883           },
18884           "additionalProperties": false,
18885           "required": [
18886             "should-retry",
18887             "min-retry-time",
18888             "max-retry-time",
18889             "jitter-retry-time",
18890             "retry-time-factor"
18891           ]
18892         },
18893         "RetryStrategyResult": {
18894           "type": "object",
18895           "properties": {
18896             "error": {
18897               "$ref": "#/definitions/Error"
18898             },
18899             "result": {
18900               "$ref": "#/definitions/RetryStrategy"
18901             }
18902           },
18903           "additionalProperties": false
18904         },
18905         "RetryStrategyResults": {
18906           "type": "object",
18907           "properties": {
18908             "results": {
18909               "type": "array",
18910               "items": {
18911                 "$ref": "#/definitions/RetryStrategyResult"
18912               }
18913             }
18914           },
18915           "additionalProperties": false,
18916           "required": [
18917             "results"
18918           ]
18919         }
18920       }
18921     }
18922   },
18923   {
18924     "Name": "SSHClient",
18925     "Version": 2,
18926     "Schema": {
18927       "type": "object",
18928       "properties": {
18929         "AllAddresses": {
18930           "type": "object",
18931           "properties": {
18932             "Params": {
18933               "$ref": "#/definitions/Entities"
18934             },
18935             "Result": {
18936               "$ref": "#/definitions/SSHAddressesResults"
18937             }
18938           }
18939         },
18940         "PrivateAddress": {
18941           "type": "object",
18942           "properties": {
18943             "Params": {
18944               "$ref": "#/definitions/Entities"
18945             },
18946             "Result": {
18947               "$ref": "#/definitions/SSHAddressResults"
18948             }
18949           }
18950         },
18951         "Proxy": {
18952           "type": "object",
18953           "properties": {
18954             "Result": {
18955               "$ref": "#/definitions/SSHProxyResult"
18956             }
18957           }
18958         },
18959         "PublicAddress": {
18960           "type": "object",
18961           "properties": {
18962             "Params": {
18963               "$ref": "#/definitions/Entities"
18964             },
18965             "Result": {
18966               "$ref": "#/definitions/SSHAddressResults"
18967             }
18968           }
18969         },
18970         "PublicKeys": {
18971           "type": "object",
18972           "properties": {
18973             "Params": {
18974               "$ref": "#/definitions/Entities"
18975             },
18976             "Result": {
18977               "$ref": "#/definitions/SSHPublicKeysResults"
18978             }
18979           }
18980         }
18981       },
18982       "definitions": {
18983         "Entities": {
18984           "type": "object",
18985           "properties": {
18986             "entities": {
18987               "type": "array",
18988               "items": {
18989                 "$ref": "#/definitions/Entity"
18990               }
18991             }
18992           },
18993           "additionalProperties": false,
18994           "required": [
18995             "entities"
18996           ]
18997         },
18998         "Entity": {
18999           "type": "object",
19000           "properties": {
19001             "tag": {
19002               "type": "string"
19003             }
19004           },
19005           "additionalProperties": false,
19006           "required": [
19007             "tag"
19008           ]
19009         },
19010         "Error": {
19011           "type": "object",
19012           "properties": {
19013             "code": {
19014               "type": "string"
19015             },
19016             "info": {
19017               "$ref": "#/definitions/ErrorInfo"
19018             },
19019             "message": {
19020               "type": "string"
19021             }
19022           },
19023           "additionalProperties": false,
19024           "required": [
19025             "message",
19026             "code"
19027           ]
19028         },
19029         "ErrorInfo": {
19030           "type": "object",
19031           "properties": {
19032             "macaroon": {
19033               "$ref": "#/definitions/Macaroon"
19034             },
19035             "macaroon-path": {
19036               "type": "string"
19037             }
19038           },
19039           "additionalProperties": false
19040         },
19041         "Macaroon": {
19042           "type": "object",
19043           "additionalProperties": false
19044         },
19045         "SSHAddressResult": {
19046           "type": "object",
19047           "properties": {
19048             "address": {
19049               "type": "string"
19050             },
19051             "error": {
19052               "$ref": "#/definitions/Error"
19053             }
19054           },
19055           "additionalProperties": false
19056         },
19057         "SSHAddressResults": {
19058           "type": "object",
19059           "properties": {
19060             "results": {
19061               "type": "array",
19062               "items": {
19063                 "$ref": "#/definitions/SSHAddressResult"
19064               }
19065             }
19066           },
19067           "additionalProperties": false,
19068           "required": [
19069             "results"
19070           ]
19071         },
19072         "SSHAddressesResult": {
19073           "type": "object",
19074           "properties": {
19075             "addresses": {
19076               "type": "array",
19077               "items": {
19078                 "type": "string"
19079               }
19080             },
19081             "error": {
19082               "$ref": "#/definitions/Error"
19083             }
19084           },
19085           "additionalProperties": false,
19086           "required": [
19087             "addresses"
19088           ]
19089         },
19090         "SSHAddressesResults": {
19091           "type": "object",
19092           "properties": {
19093             "results": {
19094               "type": "array",
19095               "items": {
19096                 "$ref": "#/definitions/SSHAddressesResult"
19097               }
19098             }
19099           },
19100           "additionalProperties": false,
19101           "required": [
19102             "results"
19103           ]
19104         },
19105         "SSHProxyResult": {
19106           "type": "object",
19107           "properties": {
19108             "use-proxy": {
19109               "type": "boolean"
19110             }
19111           },
19112           "additionalProperties": false,
19113           "required": [
19114             "use-proxy"
19115           ]
19116         },
19117         "SSHPublicKeysResult": {
19118           "type": "object",
19119           "properties": {
19120             "error": {
19121               "$ref": "#/definitions/Error"
19122             },
19123             "public-keys": {
19124               "type": "array",
19125               "items": {
19126                 "type": "string"
19127               }
19128             }
19129           },
19130           "additionalProperties": false
19131         },
19132         "SSHPublicKeysResults": {
19133           "type": "object",
19134           "properties": {
19135             "results": {
19136               "type": "array",
19137               "items": {
19138                 "$ref": "#/definitions/SSHPublicKeysResult"
19139               }
19140             }
19141           },
19142           "additionalProperties": false,
19143           "required": [
19144             "results"
19145           ]
19146         }
19147       }
19148     }
19149   },
19150   {
19151     "Name": "Singular",
19152     "Version": 1,
19153     "Schema": {
19154       "type": "object",
19155       "properties": {
19156         "Claim": {
19157           "type": "object",
19158           "properties": {
19159             "Params": {
19160               "$ref": "#/definitions/SingularClaims"
19161             },
19162             "Result": {
19163               "$ref": "#/definitions/ErrorResults"
19164             }
19165           }
19166         },
19167         "Wait": {
19168           "type": "object",
19169           "properties": {
19170             "Params": {
19171               "$ref": "#/definitions/Entities"
19172             },
19173             "Result": {
19174               "$ref": "#/definitions/ErrorResults"
19175             }
19176           }
19177         }
19178       },
19179       "definitions": {
19180         "Entities": {
19181           "type": "object",
19182           "properties": {
19183             "entities": {
19184               "type": "array",
19185               "items": {
19186                 "$ref": "#/definitions/Entity"
19187               }
19188             }
19189           },
19190           "additionalProperties": false,
19191           "required": [
19192             "entities"
19193           ]
19194         },
19195         "Entity": {
19196           "type": "object",
19197           "properties": {
19198             "tag": {
19199               "type": "string"
19200             }
19201           },
19202           "additionalProperties": false,
19203           "required": [
19204             "tag"
19205           ]
19206         },
19207         "Error": {
19208           "type": "object",
19209           "properties": {
19210             "code": {
19211               "type": "string"
19212             },
19213             "info": {
19214               "$ref": "#/definitions/ErrorInfo"
19215             },
19216             "message": {
19217               "type": "string"
19218             }
19219           },
19220           "additionalProperties": false,
19221           "required": [
19222             "message",
19223             "code"
19224           ]
19225         },
19226         "ErrorInfo": {
19227           "type": "object",
19228           "properties": {
19229             "macaroon": {
19230               "$ref": "#/definitions/Macaroon"
19231             },
19232             "macaroon-path": {
19233               "type": "string"
19234             }
19235           },
19236           "additionalProperties": false
19237         },
19238         "ErrorResult": {
19239           "type": "object",
19240           "properties": {
19241             "error": {
19242               "$ref": "#/definitions/Error"
19243             }
19244           },
19245           "additionalProperties": false
19246         },
19247         "ErrorResults": {
19248           "type": "object",
19249           "properties": {
19250             "results": {
19251               "type": "array",
19252               "items": {
19253                 "$ref": "#/definitions/ErrorResult"
19254               }
19255             }
19256           },
19257           "additionalProperties": false,
19258           "required": [
19259             "results"
19260           ]
19261         },
19262         "Macaroon": {
19263           "type": "object",
19264           "additionalProperties": false
19265         },
19266         "SingularClaim": {
19267           "type": "object",
19268           "properties": {
19269             "controller-tag": {
19270               "type": "string"
19271             },
19272             "duration": {
19273               "type": "integer"
19274             },
19275             "model-tag": {
19276               "type": "string"
19277             }
19278           },
19279           "additionalProperties": false,
19280           "required": [
19281             "model-tag",
19282             "controller-tag",
19283             "duration"
19284           ]
19285         },
19286         "SingularClaims": {
19287           "type": "object",
19288           "properties": {
19289             "claims": {
19290               "type": "array",
19291               "items": {
19292                 "$ref": "#/definitions/SingularClaim"
19293               }
19294             }
19295           },
19296           "additionalProperties": false,
19297           "required": [
19298             "claims"
19299           ]
19300         }
19301       }
19302     }
19303   },
19304   {
19305     "Name": "Spaces",
19306     "Version": 2,
19307     "Schema": {
19308       "type": "object",
19309       "properties": {
19310         "CreateSpaces": {
19311           "type": "object",
19312           "properties": {
19313             "Params": {
19314               "$ref": "#/definitions/CreateSpacesParams"
19315             },
19316             "Result": {
19317               "$ref": "#/definitions/ErrorResults"
19318             }
19319           }
19320         },
19321         "ListSpaces": {
19322           "type": "object",
19323           "properties": {
19324             "Result": {
19325               "$ref": "#/definitions/ListSpacesResults"
19326             }
19327           }
19328         }
19329       },
19330       "definitions": {
19331         "CreateSpaceParams": {
19332           "type": "object",
19333           "properties": {
19334             "provider-id": {
19335               "type": "string"
19336             },
19337             "public": {
19338               "type": "boolean"
19339             },
19340             "space-tag": {
19341               "type": "string"
19342             },
19343             "subnet-tags": {
19344               "type": "array",
19345               "items": {
19346                 "type": "string"
19347               }
19348             }
19349           },
19350           "additionalProperties": false,
19351           "required": [
19352             "subnet-tags",
19353             "space-tag",
19354             "public"
19355           ]
19356         },
19357         "CreateSpacesParams": {
19358           "type": "object",
19359           "properties": {
19360             "spaces": {
19361               "type": "array",
19362               "items": {
19363                 "$ref": "#/definitions/CreateSpaceParams"
19364               }
19365             }
19366           },
19367           "additionalProperties": false,
19368           "required": [
19369             "spaces"
19370           ]
19371         },
19372         "Error": {
19373           "type": "object",
19374           "properties": {
19375             "code": {
19376               "type": "string"
19377             },
19378             "info": {
19379               "$ref": "#/definitions/ErrorInfo"
19380             },
19381             "message": {
19382               "type": "string"
19383             }
19384           },
19385           "additionalProperties": false,
19386           "required": [
19387             "message",
19388             "code"
19389           ]
19390         },
19391         "ErrorInfo": {
19392           "type": "object",
19393           "properties": {
19394             "macaroon": {
19395               "$ref": "#/definitions/Macaroon"
19396             },
19397             "macaroon-path": {
19398               "type": "string"
19399             }
19400           },
19401           "additionalProperties": false
19402         },
19403         "ErrorResult": {
19404           "type": "object",
19405           "properties": {
19406             "error": {
19407               "$ref": "#/definitions/Error"
19408             }
19409           },
19410           "additionalProperties": false
19411         },
19412         "ErrorResults": {
19413           "type": "object",
19414           "properties": {
19415             "results": {
19416               "type": "array",
19417               "items": {
19418                 "$ref": "#/definitions/ErrorResult"
19419               }
19420             }
19421           },
19422           "additionalProperties": false,
19423           "required": [
19424             "results"
19425           ]
19426         },
19427         "ListSpacesResults": {
19428           "type": "object",
19429           "properties": {
19430             "results": {
19431               "type": "array",
19432               "items": {
19433                 "$ref": "#/definitions/Space"
19434               }
19435             }
19436           },
19437           "additionalProperties": false,
19438           "required": [
19439             "results"
19440           ]
19441         },
19442         "Macaroon": {
19443           "type": "object",
19444           "additionalProperties": false
19445         },
19446         "Space": {
19447           "type": "object",
19448           "properties": {
19449             "error": {
19450               "$ref": "#/definitions/Error"
19451             },
19452             "name": {
19453               "type": "string"
19454             },
19455             "subnets": {
19456               "type": "array",
19457               "items": {
19458                 "$ref": "#/definitions/Subnet"
19459               }
19460             }
19461           },
19462           "additionalProperties": false,
19463           "required": [
19464             "name",
19465             "subnets"
19466           ]
19467         },
19468         "Subnet": {
19469           "type": "object",
19470           "properties": {
19471             "cidr": {
19472               "type": "string"
19473             },
19474             "life": {
19475               "type": "string"
19476             },
19477             "provider-id": {
19478               "type": "string"
19479             },
19480             "space-tag": {
19481               "type": "string"
19482             },
19483             "status": {
19484               "type": "string"
19485             },
19486             "vlan-tag": {
19487               "type": "integer"
19488             },
19489             "zones": {
19490               "type": "array",
19491               "items": {
19492                 "type": "string"
19493               }
19494             }
19495           },
19496           "additionalProperties": false,
19497           "required": [
19498             "cidr",
19499             "vlan-tag",
19500             "life",
19501             "space-tag",
19502             "zones"
19503           ]
19504         }
19505       }
19506     }
19507   },
19508   {
19509     "Name": "StatusHistory",
19510     "Version": 2,
19511     "Schema": {
19512       "type": "object",
19513       "properties": {
19514         "Prune": {
19515           "type": "object",
19516           "properties": {
19517             "Params": {
19518               "$ref": "#/definitions/StatusHistoryPruneArgs"
19519             }
19520           }
19521         }
19522       },
19523       "definitions": {
19524         "StatusHistoryPruneArgs": {
19525           "type": "object",
19526           "properties": {
19527             "max-history-mb": {
19528               "type": "integer"
19529             },
19530             "max-history-time": {
19531               "type": "integer"
19532             }
19533           },
19534           "additionalProperties": false,
19535           "required": [
19536             "max-history-time",
19537             "max-history-mb"
19538           ]
19539         }
19540       }
19541     }
19542   },
19543   {
19544     "Name": "Storage",
19545     "Version": 3,
19546     "Schema": {
19547       "type": "object",
19548       "properties": {
19549         "AddToUnit": {
19550           "type": "object",
19551           "properties": {
19552             "Params": {
19553               "$ref": "#/definitions/StoragesAddParams"
19554             },
19555             "Result": {
19556               "$ref": "#/definitions/ErrorResults"
19557             }
19558           }
19559         },
19560         "CreatePool": {
19561           "type": "object",
19562           "properties": {
19563             "Params": {
19564               "$ref": "#/definitions/StoragePool"
19565             }
19566           }
19567         },
19568         "ListFilesystems": {
19569           "type": "object",
19570           "properties": {
19571             "Params": {
19572               "$ref": "#/definitions/FilesystemFilters"
19573             },
19574             "Result": {
19575               "$ref": "#/definitions/FilesystemDetailsListResults"
19576             }
19577           }
19578         },
19579         "ListPools": {
19580           "type": "object",
19581           "properties": {
19582             "Params": {
19583               "$ref": "#/definitions/StoragePoolFilters"
19584             },
19585             "Result": {
19586               "$ref": "#/definitions/StoragePoolsResults"
19587             }
19588           }
19589         },
19590         "ListStorageDetails": {
19591           "type": "object",
19592           "properties": {
19593             "Params": {
19594               "$ref": "#/definitions/StorageFilters"
19595             },
19596             "Result": {
19597               "$ref": "#/definitions/StorageDetailsListResults"
19598             }
19599           }
19600         },
19601         "ListVolumes": {
19602           "type": "object",
19603           "properties": {
19604             "Params": {
19605               "$ref": "#/definitions/VolumeFilters"
19606             },
19607             "Result": {
19608               "$ref": "#/definitions/VolumeDetailsListResults"
19609             }
19610           }
19611         },
19612         "StorageDetails": {
19613           "type": "object",
19614           "properties": {
19615             "Params": {
19616               "$ref": "#/definitions/Entities"
19617             },
19618             "Result": {
19619               "$ref": "#/definitions/StorageDetailsResults"
19620             }
19621           }
19622         }
19623       },
19624       "definitions": {
19625         "Entities": {
19626           "type": "object",
19627           "properties": {
19628             "entities": {
19629               "type": "array",
19630               "items": {
19631                 "$ref": "#/definitions/Entity"
19632               }
19633             }
19634           },
19635           "additionalProperties": false,
19636           "required": [
19637             "entities"
19638           ]
19639         },
19640         "Entity": {
19641           "type": "object",
19642           "properties": {
19643             "tag": {
19644               "type": "string"
19645             }
19646           },
19647           "additionalProperties": false,
19648           "required": [
19649             "tag"
19650           ]
19651         },
19652         "EntityStatus": {
19653           "type": "object",
19654           "properties": {
19655             "data": {
19656               "type": "object",
19657               "patternProperties": {
19658                 ".*": {
19659                   "type": "object",
19660                   "additionalProperties": true
19661                 }
19662               }
19663             },
19664             "info": {
19665               "type": "string"
19666             },
19667             "since": {
19668               "type": "string",
19669               "format": "date-time"
19670             },
19671             "status": {
19672               "type": "string"
19673             }
19674           },
19675           "additionalProperties": false,
19676           "required": [
19677             "status",
19678             "info",
19679             "since"
19680           ]
19681         },
19682         "Error": {
19683           "type": "object",
19684           "properties": {
19685             "code": {
19686               "type": "string"
19687             },
19688             "info": {
19689               "$ref": "#/definitions/ErrorInfo"
19690             },
19691             "message": {
19692               "type": "string"
19693             }
19694           },
19695           "additionalProperties": false,
19696           "required": [
19697             "message",
19698             "code"
19699           ]
19700         },
19701         "ErrorInfo": {
19702           "type": "object",
19703           "properties": {
19704             "macaroon": {
19705               "$ref": "#/definitions/Macaroon"
19706             },
19707             "macaroon-path": {
19708               "type": "string"
19709             }
19710           },
19711           "additionalProperties": false
19712         },
19713         "ErrorResult": {
19714           "type": "object",
19715           "properties": {
19716             "error": {
19717               "$ref": "#/definitions/Error"
19718             }
19719           },
19720           "additionalProperties": false
19721         },
19722         "ErrorResults": {
19723           "type": "object",
19724           "properties": {
19725             "results": {
19726               "type": "array",
19727               "items": {
19728                 "$ref": "#/definitions/ErrorResult"
19729               }
19730             }
19731           },
19732           "additionalProperties": false,
19733           "required": [
19734             "results"
19735           ]
19736         },
19737         "FilesystemAttachmentInfo": {
19738           "type": "object",
19739           "properties": {
19740             "mount-point": {
19741               "type": "string"
19742             },
19743             "read-only": {
19744               "type": "boolean"
19745             }
19746           },
19747           "additionalProperties": false
19748         },
19749         "FilesystemDetails": {
19750           "type": "object",
19751           "properties": {
19752             "filesystem-tag": {
19753               "type": "string"
19754             },
19755             "info": {
19756               "$ref": "#/definitions/FilesystemInfo"
19757             },
19758             "machine-attachments": {
19759               "type": "object",
19760               "patternProperties": {
19761                 ".*": {
19762                   "$ref": "#/definitions/FilesystemAttachmentInfo"
19763                 }
19764               }
19765             },
19766             "status": {
19767               "$ref": "#/definitions/EntityStatus"
19768             },
19769             "storage": {
19770               "$ref": "#/definitions/StorageDetails"
19771             },
19772             "volume-tag": {
19773               "type": "string"
19774             }
19775           },
19776           "additionalProperties": false,
19777           "required": [
19778             "filesystem-tag",
19779             "info",
19780             "status"
19781           ]
19782         },
19783         "FilesystemDetailsListResult": {
19784           "type": "object",
19785           "properties": {
19786             "error": {
19787               "$ref": "#/definitions/Error"
19788             },
19789             "result": {
19790               "type": "array",
19791               "items": {
19792                 "$ref": "#/definitions/FilesystemDetails"
19793               }
19794             }
19795           },
19796           "additionalProperties": false
19797         },
19798         "FilesystemDetailsListResults": {
19799           "type": "object",
19800           "properties": {
19801             "results": {
19802               "type": "array",
19803               "items": {
19804                 "$ref": "#/definitions/FilesystemDetailsListResult"
19805               }
19806             }
19807           },
19808           "additionalProperties": false
19809         },
19810         "FilesystemFilter": {
19811           "type": "object",
19812           "properties": {
19813             "machines": {
19814               "type": "array",
19815               "items": {
19816                 "type": "string"
19817               }
19818             }
19819           },
19820           "additionalProperties": false
19821         },
19822         "FilesystemFilters": {
19823           "type": "object",
19824           "properties": {
19825             "filters": {
19826               "type": "array",
19827               "items": {
19828                 "$ref": "#/definitions/FilesystemFilter"
19829               }
19830             }
19831           },
19832           "additionalProperties": false
19833         },
19834         "FilesystemInfo": {
19835           "type": "object",
19836           "properties": {
19837             "filesystem-id": {
19838               "type": "string"
19839             },
19840             "size": {
19841               "type": "integer"
19842             }
19843           },
19844           "additionalProperties": false,
19845           "required": [
19846             "filesystem-id",
19847             "size"
19848           ]
19849         },
19850         "Macaroon": {
19851           "type": "object",
19852           "additionalProperties": false
19853         },
19854         "StorageAddParams": {
19855           "type": "object",
19856           "properties": {
19857             "name": {
19858               "type": "string"
19859             },
19860             "storage": {
19861               "$ref": "#/definitions/StorageConstraints"
19862             },
19863             "unit": {
19864               "type": "string"
19865             }
19866           },
19867           "additionalProperties": false,
19868           "required": [
19869             "unit",
19870             "name",
19871             "storage"
19872           ]
19873         },
19874         "StorageAttachmentDetails": {
19875           "type": "object",
19876           "properties": {
19877             "location": {
19878               "type": "string"
19879             },
19880             "machine-tag": {
19881               "type": "string"
19882             },
19883             "storage-tag": {
19884               "type": "string"
19885             },
19886             "unit-tag": {
19887               "type": "string"
19888             }
19889           },
19890           "additionalProperties": false,
19891           "required": [
19892             "storage-tag",
19893             "unit-tag",
19894             "machine-tag"
19895           ]
19896         },
19897         "StorageConstraints": {
19898           "type": "object",
19899           "properties": {
19900             "count": {
19901               "type": "integer"
19902             },
19903             "pool": {
19904               "type": "string"
19905             },
19906             "size": {
19907               "type": "integer"
19908             }
19909           },
19910           "additionalProperties": false
19911         },
19912         "StorageDetails": {
19913           "type": "object",
19914           "properties": {
19915             "attachments": {
19916               "type": "object",
19917               "patternProperties": {
19918                 ".*": {
19919                   "$ref": "#/definitions/StorageAttachmentDetails"
19920                 }
19921               }
19922             },
19923             "kind": {
19924               "type": "integer"
19925             },
19926             "owner-tag": {
19927               "type": "string"
19928             },
19929             "persistent": {
19930               "type": "boolean"
19931             },
19932             "status": {
19933               "$ref": "#/definitions/EntityStatus"
19934             },
19935             "storage-tag": {
19936               "type": "string"
19937             }
19938           },
19939           "additionalProperties": false,
19940           "required": [
19941             "storage-tag",
19942             "owner-tag",
19943             "kind",
19944             "status",
19945             "persistent"
19946           ]
19947         },
19948         "StorageDetailsListResult": {
19949           "type": "object",
19950           "properties": {
19951             "error": {
19952               "$ref": "#/definitions/Error"
19953             },
19954             "result": {
19955               "type": "array",
19956               "items": {
19957                 "$ref": "#/definitions/StorageDetails"
19958               }
19959             }
19960           },
19961           "additionalProperties": false
19962         },
19963         "StorageDetailsListResults": {
19964           "type": "object",
19965           "properties": {
19966             "results": {
19967               "type": "array",
19968               "items": {
19969                 "$ref": "#/definitions/StorageDetailsListResult"
19970               }
19971             }
19972           },
19973           "additionalProperties": false
19974         },
19975         "StorageDetailsResult": {
19976           "type": "object",
19977           "properties": {
19978             "error": {
19979               "$ref": "#/definitions/Error"
19980             },
19981             "result": {
19982               "$ref": "#/definitions/StorageDetails"
19983             }
19984           },
19985           "additionalProperties": false
19986         },
19987         "StorageDetailsResults": {
19988           "type": "object",
19989           "properties": {
19990             "results": {
19991               "type": "array",
19992               "items": {
19993                 "$ref": "#/definitions/StorageDetailsResult"
19994               }
19995             }
19996           },
19997           "additionalProperties": false
19998         },
19999         "StorageFilter": {
20000           "type": "object",
20001           "additionalProperties": false
20002         },
20003         "StorageFilters": {
20004           "type": "object",
20005           "properties": {
20006             "filters": {
20007               "type": "array",
20008               "items": {
20009                 "$ref": "#/definitions/StorageFilter"
20010               }
20011             }
20012           },
20013           "additionalProperties": false
20014         },
20015         "StoragePool": {
20016           "type": "object",
20017           "properties": {
20018             "attrs": {
20019               "type": "object",
20020               "patternProperties": {
20021                 ".*": {
20022                   "type": "object",
20023                   "additionalProperties": true
20024                 }
20025               }
20026             },
20027             "name": {
20028               "type": "string"
20029             },
20030             "provider": {
20031               "type": "string"
20032             }
20033           },
20034           "additionalProperties": false,
20035           "required": [
20036             "name",
20037             "provider",
20038             "attrs"
20039           ]
20040         },
20041         "StoragePoolFilter": {
20042           "type": "object",
20043           "properties": {
20044             "names": {
20045               "type": "array",
20046               "items": {
20047                 "type": "string"
20048               }
20049             },
20050             "providers": {
20051               "type": "array",
20052               "items": {
20053                 "type": "string"
20054               }
20055             }
20056           },
20057           "additionalProperties": false
20058         },
20059         "StoragePoolFilters": {
20060           "type": "object",
20061           "properties": {
20062             "filters": {
20063               "type": "array",
20064               "items": {
20065                 "$ref": "#/definitions/StoragePoolFilter"
20066               }
20067             }
20068           },
20069           "additionalProperties": false
20070         },
20071         "StoragePoolsResult": {
20072           "type": "object",
20073           "properties": {
20074             "error": {
20075               "$ref": "#/definitions/Error"
20076             },
20077             "storage-pools": {
20078               "type": "array",
20079               "items": {
20080                 "$ref": "#/definitions/StoragePool"
20081               }
20082             }
20083           },
20084           "additionalProperties": false
20085         },
20086         "StoragePoolsResults": {
20087           "type": "object",
20088           "properties": {
20089             "results": {
20090               "type": "array",
20091               "items": {
20092                 "$ref": "#/definitions/StoragePoolsResult"
20093               }
20094             }
20095           },
20096           "additionalProperties": false
20097         },
20098         "StoragesAddParams": {
20099           "type": "object",
20100           "properties": {
20101             "storages": {
20102               "type": "array",
20103               "items": {
20104                 "$ref": "#/definitions/StorageAddParams"
20105               }
20106             }
20107           },
20108           "additionalProperties": false,
20109           "required": [
20110             "storages"
20111           ]
20112         },
20113         "VolumeAttachmentInfo": {
20114           "type": "object",
20115           "properties": {
20116             "bus-address": {
20117               "type": "string"
20118             },
20119             "device-link": {
20120               "type": "string"
20121             },
20122             "device-name": {
20123               "type": "string"
20124             },
20125             "read-only": {
20126               "type": "boolean"
20127             }
20128           },
20129           "additionalProperties": false
20130         },
20131         "VolumeDetails": {
20132           "type": "object",
20133           "properties": {
20134             "info": {
20135               "$ref": "#/definitions/VolumeInfo"
20136             },
20137             "machine-attachments": {
20138               "type": "object",
20139               "patternProperties": {
20140                 ".*": {
20141                   "$ref": "#/definitions/VolumeAttachmentInfo"
20142                 }
20143               }
20144             },
20145             "status": {
20146               "$ref": "#/definitions/EntityStatus"
20147             },
20148             "storage": {
20149               "$ref": "#/definitions/StorageDetails"
20150             },
20151             "volume-tag": {
20152               "type": "string"
20153             }
20154           },
20155           "additionalProperties": false,
20156           "required": [
20157             "volume-tag",
20158             "info",
20159             "status"
20160           ]
20161         },
20162         "VolumeDetailsListResult": {
20163           "type": "object",
20164           "properties": {
20165             "error": {
20166               "$ref": "#/definitions/Error"
20167             },
20168             "result": {
20169               "type": "array",
20170               "items": {
20171                 "$ref": "#/definitions/VolumeDetails"
20172               }
20173             }
20174           },
20175           "additionalProperties": false
20176         },
20177         "VolumeDetailsListResults": {
20178           "type": "object",
20179           "properties": {
20180             "results": {
20181               "type": "array",
20182               "items": {
20183                 "$ref": "#/definitions/VolumeDetailsListResult"
20184               }
20185             }
20186           },
20187           "additionalProperties": false
20188         },
20189         "VolumeFilter": {
20190           "type": "object",
20191           "properties": {
20192             "machines": {
20193               "type": "array",
20194               "items": {
20195                 "type": "string"
20196               }
20197             }
20198           },
20199           "additionalProperties": false
20200         },
20201         "VolumeFilters": {
20202           "type": "object",
20203           "properties": {
20204             "filters": {
20205               "type": "array",
20206               "items": {
20207                 "$ref": "#/definitions/VolumeFilter"
20208               }
20209             }
20210           },
20211           "additionalProperties": false
20212         },
20213         "VolumeInfo": {
20214           "type": "object",
20215           "properties": {
20216             "hardware-id": {
20217               "type": "string"
20218             },
20219             "persistent": {
20220               "type": "boolean"
20221             },
20222             "size": {
20223               "type": "integer"
20224             },
20225             "volume-id": {
20226               "type": "string"
20227             }
20228           },
20229           "additionalProperties": false,
20230           "required": [
20231             "volume-id",
20232             "size",
20233             "persistent"
20234           ]
20235         }
20236       }
20237     }
20238   },
20239   {
20240     "Name": "StorageProvisioner",
20241     "Version": 3,
20242     "Schema": {
20243       "type": "object",
20244       "properties": {
20245         "AttachmentLife": {
20246           "type": "object",
20247           "properties": {
20248             "Params": {
20249               "$ref": "#/definitions/MachineStorageIds"
20250             },
20251             "Result": {
20252               "$ref": "#/definitions/LifeResults"
20253             }
20254           }
20255         },
20256         "EnsureDead": {
20257           "type": "object",
20258           "properties": {
20259             "Params": {
20260               "$ref": "#/definitions/Entities"
20261             },
20262             "Result": {
20263               "$ref": "#/definitions/ErrorResults"
20264             }
20265           }
20266         },
20267         "FilesystemAttachmentParams": {
20268           "type": "object",
20269           "properties": {
20270             "Params": {
20271               "$ref": "#/definitions/MachineStorageIds"
20272             },
20273             "Result": {
20274               "$ref": "#/definitions/FilesystemAttachmentParamsResults"
20275             }
20276           }
20277         },
20278         "FilesystemAttachments": {
20279           "type": "object",
20280           "properties": {
20281             "Params": {
20282               "$ref": "#/definitions/MachineStorageIds"
20283             },
20284             "Result": {
20285               "$ref": "#/definitions/FilesystemAttachmentResults"
20286             }
20287           }
20288         },
20289         "FilesystemParams": {
20290           "type": "object",
20291           "properties": {
20292             "Params": {
20293               "$ref": "#/definitions/Entities"
20294             },
20295             "Result": {
20296               "$ref": "#/definitions/FilesystemParamsResults"
20297             }
20298           }
20299         },
20300         "Filesystems": {
20301           "type": "object",
20302           "properties": {
20303             "Params": {
20304               "$ref": "#/definitions/Entities"
20305             },
20306             "Result": {
20307               "$ref": "#/definitions/FilesystemResults"
20308             }
20309           }
20310         },
20311         "InstanceId": {
20312           "type": "object",
20313           "properties": {
20314             "Params": {
20315               "$ref": "#/definitions/Entities"
20316             },
20317             "Result": {
20318               "$ref": "#/definitions/StringResults"
20319             }
20320           }
20321         },
20322         "Life": {
20323           "type": "object",
20324           "properties": {
20325             "Params": {
20326               "$ref": "#/definitions/Entities"
20327             },
20328             "Result": {
20329               "$ref": "#/definitions/LifeResults"
20330             }
20331           }
20332         },
20333         "Remove": {
20334           "type": "object",
20335           "properties": {
20336             "Params": {
20337               "$ref": "#/definitions/Entities"
20338             },
20339             "Result": {
20340               "$ref": "#/definitions/ErrorResults"
20341             }
20342           }
20343         },
20344         "RemoveAttachment": {
20345           "type": "object",
20346           "properties": {
20347             "Params": {
20348               "$ref": "#/definitions/MachineStorageIds"
20349             },
20350             "Result": {
20351               "$ref": "#/definitions/ErrorResults"
20352             }
20353           }
20354         },
20355         "SetFilesystemAttachmentInfo": {
20356           "type": "object",
20357           "properties": {
20358             "Params": {
20359               "$ref": "#/definitions/FilesystemAttachments"
20360             },
20361             "Result": {
20362               "$ref": "#/definitions/ErrorResults"
20363             }
20364           }
20365         },
20366         "SetFilesystemInfo": {
20367           "type": "object",
20368           "properties": {
20369             "Params": {
20370               "$ref": "#/definitions/Filesystems"
20371             },
20372             "Result": {
20373               "$ref": "#/definitions/ErrorResults"
20374             }
20375           }
20376         },
20377         "SetStatus": {
20378           "type": "object",
20379           "properties": {
20380             "Params": {
20381               "$ref": "#/definitions/SetStatus"
20382             },
20383             "Result": {
20384               "$ref": "#/definitions/ErrorResults"
20385             }
20386           }
20387         },
20388         "SetVolumeAttachmentInfo": {
20389           "type": "object",
20390           "properties": {
20391             "Params": {
20392               "$ref": "#/definitions/VolumeAttachments"
20393             },
20394             "Result": {
20395               "$ref": "#/definitions/ErrorResults"
20396             }
20397           }
20398         },
20399         "SetVolumeInfo": {
20400           "type": "object",
20401           "properties": {
20402             "Params": {
20403               "$ref": "#/definitions/Volumes"
20404             },
20405             "Result": {
20406               "$ref": "#/definitions/ErrorResults"
20407             }
20408           }
20409         },
20410         "UpdateStatus": {
20411           "type": "object",
20412           "properties": {
20413             "Params": {
20414               "$ref": "#/definitions/SetStatus"
20415             },
20416             "Result": {
20417               "$ref": "#/definitions/ErrorResults"
20418             }
20419           }
20420         },
20421         "VolumeAttachmentParams": {
20422           "type": "object",
20423           "properties": {
20424             "Params": {
20425               "$ref": "#/definitions/MachineStorageIds"
20426             },
20427             "Result": {
20428               "$ref": "#/definitions/VolumeAttachmentParamsResults"
20429             }
20430           }
20431         },
20432         "VolumeAttachments": {
20433           "type": "object",
20434           "properties": {
20435             "Params": {
20436               "$ref": "#/definitions/MachineStorageIds"
20437             },
20438             "Result": {
20439               "$ref": "#/definitions/VolumeAttachmentResults"
20440             }
20441           }
20442         },
20443         "VolumeBlockDevices": {
20444           "type": "object",
20445           "properties": {
20446             "Params": {
20447               "$ref": "#/definitions/MachineStorageIds"
20448             },
20449             "Result": {
20450               "$ref": "#/definitions/BlockDeviceResults"
20451             }
20452           }
20453         },
20454         "VolumeParams": {
20455           "type": "object",
20456           "properties": {
20457             "Params": {
20458               "$ref": "#/definitions/Entities"
20459             },
20460             "Result": {
20461               "$ref": "#/definitions/VolumeParamsResults"
20462             }
20463           }
20464         },
20465         "Volumes": {
20466           "type": "object",
20467           "properties": {
20468             "Params": {
20469               "$ref": "#/definitions/Entities"
20470             },
20471             "Result": {
20472               "$ref": "#/definitions/VolumeResults"
20473             }
20474           }
20475         },
20476         "WatchBlockDevices": {
20477           "type": "object",
20478           "properties": {
20479             "Params": {
20480               "$ref": "#/definitions/Entities"
20481             },
20482             "Result": {
20483               "$ref": "#/definitions/NotifyWatchResults"
20484             }
20485           }
20486         },
20487         "WatchFilesystemAttachments": {
20488           "type": "object",
20489           "properties": {
20490             "Params": {
20491               "$ref": "#/definitions/Entities"
20492             },
20493             "Result": {
20494               "$ref": "#/definitions/MachineStorageIdsWatchResults"
20495             }
20496           }
20497         },
20498         "WatchFilesystems": {
20499           "type": "object",
20500           "properties": {
20501             "Params": {
20502               "$ref": "#/definitions/Entities"
20503             },
20504             "Result": {
20505               "$ref": "#/definitions/StringsWatchResults"
20506             }
20507           }
20508         },
20509         "WatchMachines": {
20510           "type": "object",
20511           "properties": {
20512             "Params": {
20513               "$ref": "#/definitions/Entities"
20514             },
20515             "Result": {
20516               "$ref": "#/definitions/NotifyWatchResults"
20517             }
20518           }
20519         },
20520         "WatchVolumeAttachments": {
20521           "type": "object",
20522           "properties": {
20523             "Params": {
20524               "$ref": "#/definitions/Entities"
20525             },
20526             "Result": {
20527               "$ref": "#/definitions/MachineStorageIdsWatchResults"
20528             }
20529           }
20530         },
20531         "WatchVolumes": {
20532           "type": "object",
20533           "properties": {
20534             "Params": {
20535               "$ref": "#/definitions/Entities"
20536             },
20537             "Result": {
20538               "$ref": "#/definitions/StringsWatchResults"
20539             }
20540           }
20541         }
20542       },
20543       "definitions": {
20544         "BlockDevice": {
20545           "type": "object",
20546           "properties": {
20547             "BusAddress": {
20548               "type": "string"
20549             },
20550             "DeviceLinks": {
20551               "type": "array",
20552               "items": {
20553                 "type": "string"
20554               }
20555             },
20556             "DeviceName": {
20557               "type": "string"
20558             },
20559             "FilesystemType": {
20560               "type": "string"
20561             },
20562             "HardwareId": {
20563               "type": "string"
20564             },
20565             "InUse": {
20566               "type": "boolean"
20567             },
20568             "Label": {
20569               "type": "string"
20570             },
20571             "MountPoint": {
20572               "type": "string"
20573             },
20574             "Size": {
20575               "type": "integer"
20576             },
20577             "UUID": {
20578               "type": "string"
20579             }
20580           },
20581           "additionalProperties": false,
20582           "required": [
20583             "DeviceName",
20584             "DeviceLinks",
20585             "Label",
20586             "UUID",
20587             "HardwareId",
20588             "BusAddress",
20589             "Size",
20590             "FilesystemType",
20591             "InUse",
20592             "MountPoint"
20593           ]
20594         },
20595         "BlockDeviceResult": {
20596           "type": "object",
20597           "properties": {
20598             "error": {
20599               "$ref": "#/definitions/Error"
20600             },
20601             "result": {
20602               "$ref": "#/definitions/BlockDevice"
20603             }
20604           },
20605           "additionalProperties": false,
20606           "required": [
20607             "result"
20608           ]
20609         },
20610         "BlockDeviceResults": {
20611           "type": "object",
20612           "properties": {
20613             "results": {
20614               "type": "array",
20615               "items": {
20616                 "$ref": "#/definitions/BlockDeviceResult"
20617               }
20618             }
20619           },
20620           "additionalProperties": false
20621         },
20622         "Entities": {
20623           "type": "object",
20624           "properties": {
20625             "entities": {
20626               "type": "array",
20627               "items": {
20628                 "$ref": "#/definitions/Entity"
20629               }
20630             }
20631           },
20632           "additionalProperties": false,
20633           "required": [
20634             "entities"
20635           ]
20636         },
20637         "Entity": {
20638           "type": "object",
20639           "properties": {
20640             "tag": {
20641               "type": "string"
20642             }
20643           },
20644           "additionalProperties": false,
20645           "required": [
20646             "tag"
20647           ]
20648         },
20649         "EntityStatusArgs": {
20650           "type": "object",
20651           "properties": {
20652             "data": {
20653               "type": "object",
20654               "patternProperties": {
20655                 ".*": {
20656                   "type": "object",
20657                   "additionalProperties": true
20658                 }
20659               }
20660             },
20661             "info": {
20662               "type": "string"
20663             },
20664             "status": {
20665               "type": "string"
20666             },
20667             "tag": {
20668               "type": "string"
20669             }
20670           },
20671           "additionalProperties": false,
20672           "required": [
20673             "tag",
20674             "status",
20675             "info",
20676             "data"
20677           ]
20678         },
20679         "Error": {
20680           "type": "object",
20681           "properties": {
20682             "code": {
20683               "type": "string"
20684             },
20685             "info": {
20686               "$ref": "#/definitions/ErrorInfo"
20687             },
20688             "message": {
20689               "type": "string"
20690             }
20691           },
20692           "additionalProperties": false,
20693           "required": [
20694             "message",
20695             "code"
20696           ]
20697         },
20698         "ErrorInfo": {
20699           "type": "object",
20700           "properties": {
20701             "macaroon": {
20702               "$ref": "#/definitions/Macaroon"
20703             },
20704             "macaroon-path": {
20705               "type": "string"
20706             }
20707           },
20708           "additionalProperties": false
20709         },
20710         "ErrorResult": {
20711           "type": "object",
20712           "properties": {
20713             "error": {
20714               "$ref": "#/definitions/Error"
20715             }
20716           },
20717           "additionalProperties": false
20718         },
20719         "ErrorResults": {
20720           "type": "object",
20721           "properties": {
20722             "results": {
20723               "type": "array",
20724               "items": {
20725                 "$ref": "#/definitions/ErrorResult"
20726               }
20727             }
20728           },
20729           "additionalProperties": false,
20730           "required": [
20731             "results"
20732           ]
20733         },
20734         "Filesystem": {
20735           "type": "object",
20736           "properties": {
20737             "filesystem-tag": {
20738               "type": "string"
20739             },
20740             "info": {
20741               "$ref": "#/definitions/FilesystemInfo"
20742             },
20743             "volume-tag": {
20744               "type": "string"
20745             }
20746           },
20747           "additionalProperties": false,
20748           "required": [
20749             "filesystem-tag",
20750             "info"
20751           ]
20752         },
20753         "FilesystemAttachment": {
20754           "type": "object",
20755           "properties": {
20756             "filesystem-tag": {
20757               "type": "string"
20758             },
20759             "info": {
20760               "$ref": "#/definitions/FilesystemAttachmentInfo"
20761             },
20762             "machine-tag": {
20763               "type": "string"
20764             }
20765           },
20766           "additionalProperties": false,
20767           "required": [
20768             "filesystem-tag",
20769             "machine-tag",
20770             "info"
20771           ]
20772         },
20773         "FilesystemAttachmentInfo": {
20774           "type": "object",
20775           "properties": {
20776             "mount-point": {
20777               "type": "string"
20778             },
20779             "read-only": {
20780               "type": "boolean"
20781             }
20782           },
20783           "additionalProperties": false
20784         },
20785         "FilesystemAttachmentParams": {
20786           "type": "object",
20787           "properties": {
20788             "filesystem-id": {
20789               "type": "string"
20790             },
20791             "filesystem-tag": {
20792               "type": "string"
20793             },
20794             "instance-id": {
20795               "type": "string"
20796             },
20797             "machine-tag": {
20798               "type": "string"
20799             },
20800             "mount-point": {
20801               "type": "string"
20802             },
20803             "provider": {
20804               "type": "string"
20805             },
20806             "read-only": {
20807               "type": "boolean"
20808             }
20809           },
20810           "additionalProperties": false,
20811           "required": [
20812             "filesystem-tag",
20813             "machine-tag",
20814             "provider"
20815           ]
20816         },
20817         "FilesystemAttachmentParamsResult": {
20818           "type": "object",
20819           "properties": {
20820             "error": {
20821               "$ref": "#/definitions/Error"
20822             },
20823             "result": {
20824               "$ref": "#/definitions/FilesystemAttachmentParams"
20825             }
20826           },
20827           "additionalProperties": false,
20828           "required": [
20829             "result"
20830           ]
20831         },
20832         "FilesystemAttachmentParamsResults": {
20833           "type": "object",
20834           "properties": {
20835             "results": {
20836               "type": "array",
20837               "items": {
20838                 "$ref": "#/definitions/FilesystemAttachmentParamsResult"
20839               }
20840             }
20841           },
20842           "additionalProperties": false
20843         },
20844         "FilesystemAttachmentResult": {
20845           "type": "object",
20846           "properties": {
20847             "error": {
20848               "$ref": "#/definitions/Error"
20849             },
20850             "result": {
20851               "$ref": "#/definitions/FilesystemAttachment"
20852             }
20853           },
20854           "additionalProperties": false,
20855           "required": [
20856             "result"
20857           ]
20858         },
20859         "FilesystemAttachmentResults": {
20860           "type": "object",
20861           "properties": {
20862             "results": {
20863               "type": "array",
20864               "items": {
20865                 "$ref": "#/definitions/FilesystemAttachmentResult"
20866               }
20867             }
20868           },
20869           "additionalProperties": false
20870         },
20871         "FilesystemAttachments": {
20872           "type": "object",
20873           "properties": {
20874             "filesystem-attachments": {
20875               "type": "array",
20876               "items": {
20877                 "$ref": "#/definitions/FilesystemAttachment"
20878               }
20879             }
20880           },
20881           "additionalProperties": false,
20882           "required": [
20883             "filesystem-attachments"
20884           ]
20885         },
20886         "FilesystemInfo": {
20887           "type": "object",
20888           "properties": {
20889             "filesystem-id": {
20890               "type": "string"
20891             },
20892             "size": {
20893               "type": "integer"
20894             }
20895           },
20896           "additionalProperties": false,
20897           "required": [
20898             "filesystem-id",
20899             "size"
20900           ]
20901         },
20902         "FilesystemParams": {
20903           "type": "object",
20904           "properties": {
20905             "attachment": {
20906               "$ref": "#/definitions/FilesystemAttachmentParams"
20907             },
20908             "attributes": {
20909               "type": "object",
20910               "patternProperties": {
20911                 ".*": {
20912                   "type": "object",
20913                   "additionalProperties": true
20914                 }
20915               }
20916             },
20917             "filesystem-tag": {
20918               "type": "string"
20919             },
20920             "provider": {
20921               "type": "string"
20922             },
20923             "size": {
20924               "type": "integer"
20925             },
20926             "tags": {
20927               "type": "object",
20928               "patternProperties": {
20929                 ".*": {
20930                   "type": "string"
20931                 }
20932               }
20933             },
20934             "volume-tag": {
20935               "type": "string"
20936             }
20937           },
20938           "additionalProperties": false,
20939           "required": [
20940             "filesystem-tag",
20941             "size",
20942             "provider"
20943           ]
20944         },
20945         "FilesystemParamsResult": {
20946           "type": "object",
20947           "properties": {
20948             "error": {
20949               "$ref": "#/definitions/Error"
20950             },
20951             "result": {
20952               "$ref": "#/definitions/FilesystemParams"
20953             }
20954           },
20955           "additionalProperties": false,
20956           "required": [
20957             "result"
20958           ]
20959         },
20960         "FilesystemParamsResults": {
20961           "type": "object",
20962           "properties": {
20963             "results": {
20964               "type": "array",
20965               "items": {
20966                 "$ref": "#/definitions/FilesystemParamsResult"
20967               }
20968             }
20969           },
20970           "additionalProperties": false
20971         },
20972         "FilesystemResult": {
20973           "type": "object",
20974           "properties": {
20975             "error": {
20976               "$ref": "#/definitions/Error"
20977             },
20978             "result": {
20979               "$ref": "#/definitions/Filesystem"
20980             }
20981           },
20982           "additionalProperties": false,
20983           "required": [
20984             "result"
20985           ]
20986         },
20987         "FilesystemResults": {
20988           "type": "object",
20989           "properties": {
20990             "results": {
20991               "type": "array",
20992               "items": {
20993                 "$ref": "#/definitions/FilesystemResult"
20994               }
20995             }
20996           },
20997           "additionalProperties": false
20998         },
20999         "Filesystems": {
21000           "type": "object",
21001           "properties": {
21002             "filesystems": {
21003               "type": "array",
21004               "items": {
21005                 "$ref": "#/definitions/Filesystem"
21006               }
21007             }
21008           },
21009           "additionalProperties": false,
21010           "required": [
21011             "filesystems"
21012           ]
21013         },
21014         "LifeResult": {
21015           "type": "object",
21016           "properties": {
21017             "error": {
21018               "$ref": "#/definitions/Error"
21019             },
21020             "life": {
21021               "type": "string"
21022             }
21023           },
21024           "additionalProperties": false,
21025           "required": [
21026             "life"
21027           ]
21028         },
21029         "LifeResults": {
21030           "type": "object",
21031           "properties": {
21032             "results": {
21033               "type": "array",
21034               "items": {
21035                 "$ref": "#/definitions/LifeResult"
21036               }
21037             }
21038           },
21039           "additionalProperties": false,
21040           "required": [
21041             "results"
21042           ]
21043         },
21044         "Macaroon": {
21045           "type": "object",
21046           "additionalProperties": false
21047         },
21048         "MachineStorageId": {
21049           "type": "object",
21050           "properties": {
21051             "attachment-tag": {
21052               "type": "string"
21053             },
21054             "machine-tag": {
21055               "type": "string"
21056             }
21057           },
21058           "additionalProperties": false,
21059           "required": [
21060             "machine-tag",
21061             "attachment-tag"
21062           ]
21063         },
21064         "MachineStorageIds": {
21065           "type": "object",
21066           "properties": {
21067             "ids": {
21068               "type": "array",
21069               "items": {
21070                 "$ref": "#/definitions/MachineStorageId"
21071               }
21072             }
21073           },
21074           "additionalProperties": false,
21075           "required": [
21076             "ids"
21077           ]
21078         },
21079         "MachineStorageIdsWatchResult": {
21080           "type": "object",
21081           "properties": {
21082             "changes": {
21083               "type": "array",
21084               "items": {
21085                 "$ref": "#/definitions/MachineStorageId"
21086               }
21087             },
21088             "error": {
21089               "$ref": "#/definitions/Error"
21090             },
21091             "watcher-id": {
21092               "type": "string"
21093             }
21094           },
21095           "additionalProperties": false,
21096           "required": [
21097             "watcher-id",
21098             "changes"
21099           ]
21100         },
21101         "MachineStorageIdsWatchResults": {
21102           "type": "object",
21103           "properties": {
21104             "results": {
21105               "type": "array",
21106               "items": {
21107                 "$ref": "#/definitions/MachineStorageIdsWatchResult"
21108               }
21109             }
21110           },
21111           "additionalProperties": false,
21112           "required": [
21113             "results"
21114           ]
21115         },
21116         "NotifyWatchResult": {
21117           "type": "object",
21118           "properties": {
21119             "NotifyWatcherId": {
21120               "type": "string"
21121             },
21122             "error": {
21123               "$ref": "#/definitions/Error"
21124             }
21125           },
21126           "additionalProperties": false,
21127           "required": [
21128             "NotifyWatcherId"
21129           ]
21130         },
21131         "NotifyWatchResults": {
21132           "type": "object",
21133           "properties": {
21134             "results": {
21135               "type": "array",
21136               "items": {
21137                 "$ref": "#/definitions/NotifyWatchResult"
21138               }
21139             }
21140           },
21141           "additionalProperties": false,
21142           "required": [
21143             "results"
21144           ]
21145         },
21146         "SetStatus": {
21147           "type": "object",
21148           "properties": {
21149             "entities": {
21150               "type": "array",
21151               "items": {
21152                 "$ref": "#/definitions/EntityStatusArgs"
21153               }
21154             }
21155           },
21156           "additionalProperties": false,
21157           "required": [
21158             "entities"
21159           ]
21160         },
21161         "StringResult": {
21162           "type": "object",
21163           "properties": {
21164             "error": {
21165               "$ref": "#/definitions/Error"
21166             },
21167             "result": {
21168               "type": "string"
21169             }
21170           },
21171           "additionalProperties": false,
21172           "required": [
21173             "result"
21174           ]
21175         },
21176         "StringResults": {
21177           "type": "object",
21178           "properties": {
21179             "results": {
21180               "type": "array",
21181               "items": {
21182                 "$ref": "#/definitions/StringResult"
21183               }
21184             }
21185           },
21186           "additionalProperties": false,
21187           "required": [
21188             "results"
21189           ]
21190         },
21191         "StringsWatchResult": {
21192           "type": "object",
21193           "properties": {
21194             "changes": {
21195               "type": "array",
21196               "items": {
21197                 "type": "string"
21198               }
21199             },
21200             "error": {
21201               "$ref": "#/definitions/Error"
21202             },
21203             "watcher-id": {
21204               "type": "string"
21205             }
21206           },
21207           "additionalProperties": false,
21208           "required": [
21209             "watcher-id"
21210           ]
21211         },
21212         "StringsWatchResults": {
21213           "type": "object",
21214           "properties": {
21215             "results": {
21216               "type": "array",
21217               "items": {
21218                 "$ref": "#/definitions/StringsWatchResult"
21219               }
21220             }
21221           },
21222           "additionalProperties": false,
21223           "required": [
21224             "results"
21225           ]
21226         },
21227         "Volume": {
21228           "type": "object",
21229           "properties": {
21230             "info": {
21231               "$ref": "#/definitions/VolumeInfo"
21232             },
21233             "volume-tag": {
21234               "type": "string"
21235             }
21236           },
21237           "additionalProperties": false,
21238           "required": [
21239             "volume-tag",
21240             "info"
21241           ]
21242         },
21243         "VolumeAttachment": {
21244           "type": "object",
21245           "properties": {
21246             "info": {
21247               "$ref": "#/definitions/VolumeAttachmentInfo"
21248             },
21249             "machine-tag": {
21250               "type": "string"
21251             },
21252             "volume-tag": {
21253               "type": "string"
21254             }
21255           },
21256           "additionalProperties": false,
21257           "required": [
21258             "volume-tag",
21259             "machine-tag",
21260             "info"
21261           ]
21262         },
21263         "VolumeAttachmentInfo": {
21264           "type": "object",
21265           "properties": {
21266             "bus-address": {
21267               "type": "string"
21268             },
21269             "device-link": {
21270               "type": "string"
21271             },
21272             "device-name": {
21273               "type": "string"
21274             },
21275             "read-only": {
21276               "type": "boolean"
21277             }
21278           },
21279           "additionalProperties": false
21280         },
21281         "VolumeAttachmentParams": {
21282           "type": "object",
21283           "properties": {
21284             "instance-id": {
21285               "type": "string"
21286             },
21287             "machine-tag": {
21288               "type": "string"
21289             },
21290             "provider": {
21291               "type": "string"
21292             },
21293             "read-only": {
21294               "type": "boolean"
21295             },
21296             "volume-id": {
21297               "type": "string"
21298             },
21299             "volume-tag": {
21300               "type": "string"
21301             }
21302           },
21303           "additionalProperties": false,
21304           "required": [
21305             "volume-tag",
21306             "machine-tag",
21307             "provider"
21308           ]
21309         },
21310         "VolumeAttachmentParamsResult": {
21311           "type": "object",
21312           "properties": {
21313             "error": {
21314               "$ref": "#/definitions/Error"
21315             },
21316             "result": {
21317               "$ref": "#/definitions/VolumeAttachmentParams"
21318             }
21319           },
21320           "additionalProperties": false,
21321           "required": [
21322             "result"
21323           ]
21324         },
21325         "VolumeAttachmentParamsResults": {
21326           "type": "object",
21327           "properties": {
21328             "results": {
21329               "type": "array",
21330               "items": {
21331                 "$ref": "#/definitions/VolumeAttachmentParamsResult"
21332               }
21333             }
21334           },
21335           "additionalProperties": false
21336         },
21337         "VolumeAttachmentResult": {
21338           "type": "object",
21339           "properties": {
21340             "error": {
21341               "$ref": "#/definitions/Error"
21342             },
21343             "result": {
21344               "$ref": "#/definitions/VolumeAttachment"
21345             }
21346           },
21347           "additionalProperties": false,
21348           "required": [
21349             "result"
21350           ]
21351         },
21352         "VolumeAttachmentResults": {
21353           "type": "object",
21354           "properties": {
21355             "results": {
21356               "type": "array",
21357               "items": {
21358                 "$ref": "#/definitions/VolumeAttachmentResult"
21359               }
21360             }
21361           },
21362           "additionalProperties": false
21363         },
21364         "VolumeAttachments": {
21365           "type": "object",
21366           "properties": {
21367             "volume-attachments": {
21368               "type": "array",
21369               "items": {
21370                 "$ref": "#/definitions/VolumeAttachment"
21371               }
21372             }
21373           },
21374           "additionalProperties": false,
21375           "required": [
21376             "volume-attachments"
21377           ]
21378         },
21379         "VolumeInfo": {
21380           "type": "object",
21381           "properties": {
21382             "hardware-id": {
21383               "type": "string"
21384             },
21385             "persistent": {
21386               "type": "boolean"
21387             },
21388             "size": {
21389               "type": "integer"
21390             },
21391             "volume-id": {
21392               "type": "string"
21393             }
21394           },
21395           "additionalProperties": false,
21396           "required": [
21397             "volume-id",
21398             "size",
21399             "persistent"
21400           ]
21401         },
21402         "VolumeParams": {
21403           "type": "object",
21404           "properties": {
21405             "attachment": {
21406               "$ref": "#/definitions/VolumeAttachmentParams"
21407             },
21408             "attributes": {
21409               "type": "object",
21410               "patternProperties": {
21411                 ".*": {
21412                   "type": "object",
21413                   "additionalProperties": true
21414                 }
21415               }
21416             },
21417             "provider": {
21418               "type": "string"
21419             },
21420             "size": {
21421               "type": "integer"
21422             },
21423             "tags": {
21424               "type": "object",
21425               "patternProperties": {
21426                 ".*": {
21427                   "type": "string"
21428                 }
21429               }
21430             },
21431             "volume-tag": {
21432               "type": "string"
21433             }
21434           },
21435           "additionalProperties": false,
21436           "required": [
21437             "volume-tag",
21438             "size",
21439             "provider"
21440           ]
21441         },
21442         "VolumeParamsResult": {
21443           "type": "object",
21444           "properties": {
21445             "error": {
21446               "$ref": "#/definitions/Error"
21447             },
21448             "result": {
21449               "$ref": "#/definitions/VolumeParams"
21450             }
21451           },
21452           "additionalProperties": false,
21453           "required": [
21454             "result"
21455           ]
21456         },
21457         "VolumeParamsResults": {
21458           "type": "object",
21459           "properties": {
21460             "results": {
21461               "type": "array",
21462               "items": {
21463                 "$ref": "#/definitions/VolumeParamsResult"
21464               }
21465             }
21466           },
21467           "additionalProperties": false
21468         },
21469         "VolumeResult": {
21470           "type": "object",
21471           "properties": {
21472             "error": {
21473               "$ref": "#/definitions/Error"
21474             },
21475             "result": {
21476               "$ref": "#/definitions/Volume"
21477             }
21478           },
21479           "additionalProperties": false,
21480           "required": [
21481             "result"
21482           ]
21483         },
21484         "VolumeResults": {
21485           "type": "object",
21486           "properties": {
21487             "results": {
21488               "type": "array",
21489               "items": {
21490                 "$ref": "#/definitions/VolumeResult"
21491               }
21492             }
21493           },
21494           "additionalProperties": false
21495         },
21496         "Volumes": {
21497           "type": "object",
21498           "properties": {
21499             "volumes": {
21500               "type": "array",
21501               "items": {
21502                 "$ref": "#/definitions/Volume"
21503               }
21504             }
21505           },
21506           "additionalProperties": false,
21507           "required": [
21508             "volumes"
21509           ]
21510         }
21511       }
21512     }
21513   },
21514   {
21515     "Name": "StringsWatcher",
21516     "Version": 1,
21517     "Schema": {
21518       "type": "object",
21519       "properties": {
21520         "Next": {
21521           "type": "object",
21522           "properties": {
21523             "Result": {
21524               "$ref": "#/definitions/StringsWatchResult"
21525             }
21526           }
21527         },
21528         "Stop": {
21529           "type": "object"
21530         }
21531       },
21532       "definitions": {
21533         "Error": {
21534           "type": "object",
21535           "properties": {
21536             "code": {
21537               "type": "string"
21538             },
21539             "info": {
21540               "$ref": "#/definitions/ErrorInfo"
21541             },
21542             "message": {
21543               "type": "string"
21544             }
21545           },
21546           "additionalProperties": false,
21547           "required": [
21548             "message",
21549             "code"
21550           ]
21551         },
21552         "ErrorInfo": {
21553           "type": "object",
21554           "properties": {
21555             "macaroon": {
21556               "$ref": "#/definitions/Macaroon"
21557             },
21558             "macaroon-path": {
21559               "type": "string"
21560             }
21561           },
21562           "additionalProperties": false
21563         },
21564         "Macaroon": {
21565           "type": "object",
21566           "additionalProperties": false
21567         },
21568         "StringsWatchResult": {
21569           "type": "object",
21570           "properties": {
21571             "changes": {
21572               "type": "array",
21573               "items": {
21574                 "type": "string"
21575               }
21576             },
21577             "error": {
21578               "$ref": "#/definitions/Error"
21579             },
21580             "watcher-id": {
21581               "type": "string"
21582             }
21583           },
21584           "additionalProperties": false,
21585           "required": [
21586             "watcher-id"
21587           ]
21588         }
21589       }
21590     }
21591   },
21592   {
21593     "Name": "Subnets",
21594     "Version": 2,
21595     "Schema": {
21596       "type": "object",
21597       "properties": {
21598         "AddSubnets": {
21599           "type": "object",
21600           "properties": {
21601             "Params": {
21602               "$ref": "#/definitions/AddSubnetsParams"
21603             },
21604             "Result": {
21605               "$ref": "#/definitions/ErrorResults"
21606             }
21607           }
21608         },
21609         "AllSpaces": {
21610           "type": "object",
21611           "properties": {
21612             "Result": {
21613               "$ref": "#/definitions/SpaceResults"
21614             }
21615           }
21616         },
21617         "AllZones": {
21618           "type": "object",
21619           "properties": {
21620             "Result": {
21621               "$ref": "#/definitions/ZoneResults"
21622             }
21623           }
21624         },
21625         "ListSubnets": {
21626           "type": "object",
21627           "properties": {
21628             "Params": {
21629               "$ref": "#/definitions/SubnetsFilters"
21630             },
21631             "Result": {
21632               "$ref": "#/definitions/ListSubnetsResults"
21633             }
21634           }
21635         }
21636       },
21637       "definitions": {
21638         "AddSubnetParams": {
21639           "type": "object",
21640           "properties": {
21641             "space-tag": {
21642               "type": "string"
21643             },
21644             "subnet-provider-id": {
21645               "type": "string"
21646             },
21647             "subnet-tag": {
21648               "type": "string"
21649             },
21650             "zones": {
21651               "type": "array",
21652               "items": {
21653                 "type": "string"
21654               }
21655             }
21656           },
21657           "additionalProperties": false,
21658           "required": [
21659             "space-tag"
21660           ]
21661         },
21662         "AddSubnetsParams": {
21663           "type": "object",
21664           "properties": {
21665             "subnets": {
21666               "type": "array",
21667               "items": {
21668                 "$ref": "#/definitions/AddSubnetParams"
21669               }
21670             }
21671           },
21672           "additionalProperties": false,
21673           "required": [
21674             "subnets"
21675           ]
21676         },
21677         "Error": {
21678           "type": "object",
21679           "properties": {
21680             "code": {
21681               "type": "string"
21682             },
21683             "info": {
21684               "$ref": "#/definitions/ErrorInfo"
21685             },
21686             "message": {
21687               "type": "string"
21688             }
21689           },
21690           "additionalProperties": false,
21691           "required": [
21692             "message",
21693             "code"
21694           ]
21695         },
21696         "ErrorInfo": {
21697           "type": "object",
21698           "properties": {
21699             "macaroon": {
21700               "$ref": "#/definitions/Macaroon"
21701             },
21702             "macaroon-path": {
21703               "type": "string"
21704             }
21705           },
21706           "additionalProperties": false
21707         },
21708         "ErrorResult": {
21709           "type": "object",
21710           "properties": {
21711             "error": {
21712               "$ref": "#/definitions/Error"
21713             }
21714           },
21715           "additionalProperties": false
21716         },
21717         "ErrorResults": {
21718           "type": "object",
21719           "properties": {
21720             "results": {
21721               "type": "array",
21722               "items": {
21723                 "$ref": "#/definitions/ErrorResult"
21724               }
21725             }
21726           },
21727           "additionalProperties": false,
21728           "required": [
21729             "results"
21730           ]
21731         },
21732         "ListSubnetsResults": {
21733           "type": "object",
21734           "properties": {
21735             "results": {
21736               "type": "array",
21737               "items": {
21738                 "$ref": "#/definitions/Subnet"
21739               }
21740             }
21741           },
21742           "additionalProperties": false,
21743           "required": [
21744             "results"
21745           ]
21746         },
21747         "Macaroon": {
21748           "type": "object",
21749           "additionalProperties": false
21750         },
21751         "SpaceResult": {
21752           "type": "object",
21753           "properties": {
21754             "error": {
21755               "$ref": "#/definitions/Error"
21756             },
21757             "tag": {
21758               "type": "string"
21759             }
21760           },
21761           "additionalProperties": false,
21762           "required": [
21763             "tag"
21764           ]
21765         },
21766         "SpaceResults": {
21767           "type": "object",
21768           "properties": {
21769             "results": {
21770               "type": "array",
21771               "items": {
21772                 "$ref": "#/definitions/SpaceResult"
21773               }
21774             }
21775           },
21776           "additionalProperties": false,
21777           "required": [
21778             "results"
21779           ]
21780         },
21781         "Subnet": {
21782           "type": "object",
21783           "properties": {
21784             "cidr": {
21785               "type": "string"
21786             },
21787             "life": {
21788               "type": "string"
21789             },
21790             "provider-id": {
21791               "type": "string"
21792             },
21793             "space-tag": {
21794               "type": "string"
21795             },
21796             "status": {
21797               "type": "string"
21798             },
21799             "vlan-tag": {
21800               "type": "integer"
21801             },
21802             "zones": {
21803               "type": "array",
21804               "items": {
21805                 "type": "string"
21806               }
21807             }
21808           },
21809           "additionalProperties": false,
21810           "required": [
21811             "cidr",
21812             "vlan-tag",
21813             "life",
21814             "space-tag",
21815             "zones"
21816           ]
21817         },
21818         "SubnetsFilters": {
21819           "type": "object",
21820           "properties": {
21821             "space-tag": {
21822               "type": "string"
21823             },
21824             "zone": {
21825               "type": "string"
21826             }
21827           },
21828           "additionalProperties": false
21829         },
21830         "ZoneResult": {
21831           "type": "object",
21832           "properties": {
21833             "available": {
21834               "type": "boolean"
21835             },
21836             "error": {
21837               "$ref": "#/definitions/Error"
21838             },
21839             "name": {
21840               "type": "string"
21841             }
21842           },
21843           "additionalProperties": false,
21844           "required": [
21845             "name",
21846             "available"
21847           ]
21848         },
21849         "ZoneResults": {
21850           "type": "object",
21851           "properties": {
21852             "results": {
21853               "type": "array",
21854               "items": {
21855                 "$ref": "#/definitions/ZoneResult"
21856               }
21857             }
21858           },
21859           "additionalProperties": false,
21860           "required": [
21861             "results"
21862           ]
21863         }
21864       }
21865     }
21866   },
21867   {
21868     "Name": "Undertaker",
21869     "Version": 1,
21870     "Schema": {
21871       "type": "object",
21872       "properties": {
21873         "ModelConfig": {
21874           "type": "object",
21875           "properties": {
21876             "Result": {
21877               "$ref": "#/definitions/ModelConfigResult"
21878             }
21879           }
21880         },
21881         "ModelInfo": {
21882           "type": "object",
21883           "properties": {
21884             "Result": {
21885               "$ref": "#/definitions/UndertakerModelInfoResult"
21886             }
21887           }
21888         },
21889         "ProcessDyingModel": {
21890           "type": "object"
21891         },
21892         "RemoveModel": {
21893           "type": "object"
21894         },
21895         "SetStatus": {
21896           "type": "object",
21897           "properties": {
21898             "Params": {
21899               "$ref": "#/definitions/SetStatus"
21900             },
21901             "Result": {
21902               "$ref": "#/definitions/ErrorResults"
21903             }
21904           }
21905         },
21906         "UpdateStatus": {
21907           "type": "object",
21908           "properties": {
21909             "Params": {
21910               "$ref": "#/definitions/SetStatus"
21911             },
21912             "Result": {
21913               "$ref": "#/definitions/ErrorResults"
21914             }
21915           }
21916         },
21917         "WatchModelResources": {
21918           "type": "object",
21919           "properties": {
21920             "Result": {
21921               "$ref": "#/definitions/NotifyWatchResults"
21922             }
21923           }
21924         }
21925       },
21926       "definitions": {
21927         "EntityStatusArgs": {
21928           "type": "object",
21929           "properties": {
21930             "data": {
21931               "type": "object",
21932               "patternProperties": {
21933                 ".*": {
21934                   "type": "object",
21935                   "additionalProperties": true
21936                 }
21937               }
21938             },
21939             "info": {
21940               "type": "string"
21941             },
21942             "status": {
21943               "type": "string"
21944             },
21945             "tag": {
21946               "type": "string"
21947             }
21948           },
21949           "additionalProperties": false,
21950           "required": [
21951             "tag",
21952             "status",
21953             "info",
21954             "data"
21955           ]
21956         },
21957         "Error": {
21958           "type": "object",
21959           "properties": {
21960             "code": {
21961               "type": "string"
21962             },
21963             "info": {
21964               "$ref": "#/definitions/ErrorInfo"
21965             },
21966             "message": {
21967               "type": "string"
21968             }
21969           },
21970           "additionalProperties": false,
21971           "required": [
21972             "message",
21973             "code"
21974           ]
21975         },
21976         "ErrorInfo": {
21977           "type": "object",
21978           "properties": {
21979             "macaroon": {
21980               "$ref": "#/definitions/Macaroon"
21981             },
21982             "macaroon-path": {
21983               "type": "string"
21984             }
21985           },
21986           "additionalProperties": false
21987         },
21988         "ErrorResult": {
21989           "type": "object",
21990           "properties": {
21991             "error": {
21992               "$ref": "#/definitions/Error"
21993             }
21994           },
21995           "additionalProperties": false
21996         },
21997         "ErrorResults": {
21998           "type": "object",
21999           "properties": {
22000             "results": {
22001               "type": "array",
22002               "items": {
22003                 "$ref": "#/definitions/ErrorResult"
22004               }
22005             }
22006           },
22007           "additionalProperties": false,
22008           "required": [
22009             "results"
22010           ]
22011         },
22012         "Macaroon": {
22013           "type": "object",
22014           "additionalProperties": false
22015         },
22016         "ModelConfigResult": {
22017           "type": "object",
22018           "properties": {
22019             "config": {
22020               "type": "object",
22021               "patternProperties": {
22022                 ".*": {
22023                   "type": "object",
22024                   "additionalProperties": true
22025                 }
22026               }
22027             }
22028           },
22029           "additionalProperties": false,
22030           "required": [
22031             "config"
22032           ]
22033         },
22034         "NotifyWatchResult": {
22035           "type": "object",
22036           "properties": {
22037             "NotifyWatcherId": {
22038               "type": "string"
22039             },
22040             "error": {
22041               "$ref": "#/definitions/Error"
22042             }
22043           },
22044           "additionalProperties": false,
22045           "required": [
22046             "NotifyWatcherId"
22047           ]
22048         },
22049         "NotifyWatchResults": {
22050           "type": "object",
22051           "properties": {
22052             "results": {
22053               "type": "array",
22054               "items": {
22055                 "$ref": "#/definitions/NotifyWatchResult"
22056               }
22057             }
22058           },
22059           "additionalProperties": false,
22060           "required": [
22061             "results"
22062           ]
22063         },
22064         "SetStatus": {
22065           "type": "object",
22066           "properties": {
22067             "entities": {
22068               "type": "array",
22069               "items": {
22070                 "$ref": "#/definitions/EntityStatusArgs"
22071               }
22072             }
22073           },
22074           "additionalProperties": false,
22075           "required": [
22076             "entities"
22077           ]
22078         },
22079         "UndertakerModelInfo": {
22080           "type": "object",
22081           "properties": {
22082             "global-name": {
22083               "type": "string"
22084             },
22085             "is-system": {
22086               "type": "boolean"
22087             },
22088             "life": {
22089               "type": "string"
22090             },
22091             "name": {
22092               "type": "string"
22093             },
22094             "uuid": {
22095               "type": "string"
22096             }
22097           },
22098           "additionalProperties": false,
22099           "required": [
22100             "uuid",
22101             "name",
22102             "global-name",
22103             "is-system",
22104             "life"
22105           ]
22106         },
22107         "UndertakerModelInfoResult": {
22108           "type": "object",
22109           "properties": {
22110             "error": {
22111               "$ref": "#/definitions/Error"
22112             },
22113             "result": {
22114               "$ref": "#/definitions/UndertakerModelInfo"
22115             }
22116           },
22117           "additionalProperties": false,
22118           "required": [
22119             "result"
22120           ]
22121         }
22122       }
22123     }
22124   },
22125   {
22126     "Name": "UnitAssigner",
22127     "Version": 1,
22128     "Schema": {
22129       "type": "object",
22130       "properties": {
22131         "AssignUnits": {
22132           "type": "object",
22133           "properties": {
22134             "Params": {
22135               "$ref": "#/definitions/Entities"
22136             },
22137             "Result": {
22138               "$ref": "#/definitions/ErrorResults"
22139             }
22140           }
22141         },
22142         "SetAgentStatus": {
22143           "type": "object",
22144           "properties": {
22145             "Params": {
22146               "$ref": "#/definitions/SetStatus"
22147             },
22148             "Result": {
22149               "$ref": "#/definitions/ErrorResults"
22150             }
22151           }
22152         },
22153         "WatchUnitAssignments": {
22154           "type": "object",
22155           "properties": {
22156             "Result": {
22157               "$ref": "#/definitions/StringsWatchResult"
22158             }
22159           }
22160         }
22161       },
22162       "definitions": {
22163         "Entities": {
22164           "type": "object",
22165           "properties": {
22166             "entities": {
22167               "type": "array",
22168               "items": {
22169                 "$ref": "#/definitions/Entity"
22170               }
22171             }
22172           },
22173           "additionalProperties": false,
22174           "required": [
22175             "entities"
22176           ]
22177         },
22178         "Entity": {
22179           "type": "object",
22180           "properties": {
22181             "tag": {
22182               "type": "string"
22183             }
22184           },
22185           "additionalProperties": false,
22186           "required": [
22187             "tag"
22188           ]
22189         },
22190         "EntityStatusArgs": {
22191           "type": "object",
22192           "properties": {
22193             "data": {
22194               "type": "object",
22195               "patternProperties": {
22196                 ".*": {
22197                   "type": "object",
22198                   "additionalProperties": true
22199                 }
22200               }
22201             },
22202             "info": {
22203               "type": "string"
22204             },
22205             "status": {
22206               "type": "string"
22207             },
22208             "tag": {
22209               "type": "string"
22210             }
22211           },
22212           "additionalProperties": false,
22213           "required": [
22214             "tag",
22215             "status",
22216             "info",
22217             "data"
22218           ]
22219         },
22220         "Error": {
22221           "type": "object",
22222           "properties": {
22223             "code": {
22224               "type": "string"
22225             },
22226             "info": {
22227               "$ref": "#/definitions/ErrorInfo"
22228             },
22229             "message": {
22230               "type": "string"
22231             }
22232           },
22233           "additionalProperties": false,
22234           "required": [
22235             "message",
22236             "code"
22237           ]
22238         },
22239         "ErrorInfo": {
22240           "type": "object",
22241           "properties": {
22242             "macaroon": {
22243               "$ref": "#/definitions/Macaroon"
22244             },
22245             "macaroon-path": {
22246               "type": "string"
22247             }
22248           },
22249           "additionalProperties": false
22250         },
22251         "ErrorResult": {
22252           "type": "object",
22253           "properties": {
22254             "error": {
22255               "$ref": "#/definitions/Error"
22256             }
22257           },
22258           "additionalProperties": false
22259         },
22260         "ErrorResults": {
22261           "type": "object",
22262           "properties": {
22263             "results": {
22264               "type": "array",
22265               "items": {
22266                 "$ref": "#/definitions/ErrorResult"
22267               }
22268             }
22269           },
22270           "additionalProperties": false,
22271           "required": [
22272             "results"
22273           ]
22274         },
22275         "Macaroon": {
22276           "type": "object",
22277           "additionalProperties": false
22278         },
22279         "SetStatus": {
22280           "type": "object",
22281           "properties": {
22282             "entities": {
22283               "type": "array",
22284               "items": {
22285                 "$ref": "#/definitions/EntityStatusArgs"
22286               }
22287             }
22288           },
22289           "additionalProperties": false,
22290           "required": [
22291             "entities"
22292           ]
22293         },
22294         "StringsWatchResult": {
22295           "type": "object",
22296           "properties": {
22297             "changes": {
22298               "type": "array",
22299               "items": {
22300                 "type": "string"
22301               }
22302             },
22303             "error": {
22304               "$ref": "#/definitions/Error"
22305             },
22306             "watcher-id": {
22307               "type": "string"
22308             }
22309           },
22310           "additionalProperties": false,
22311           "required": [
22312             "watcher-id"
22313           ]
22314         }
22315       }
22316     }
22317   },
22318   {
22319     "Name": "Uniter",
22320     "Version": 4,
22321     "Schema": {
22322       "type": "object",
22323       "properties": {
22324         "APIAddresses": {
22325           "type": "object",
22326           "properties": {
22327             "Result": {
22328               "$ref": "#/definitions/StringsResult"
22329             }
22330           }
22331         },
22332         "APIHostPorts": {
22333           "type": "object",
22334           "properties": {
22335             "Result": {
22336               "$ref": "#/definitions/APIHostPortsResult"
22337             }
22338           }
22339         },
22340         "Actions": {
22341           "type": "object",
22342           "properties": {
22343             "Params": {
22344               "$ref": "#/definitions/Entities"
22345             },
22346             "Result": {
22347               "$ref": "#/definitions/ActionResults"
22348             }
22349           }
22350         },
22351         "AddMetricBatches": {
22352           "type": "object",
22353           "properties": {
22354             "Params": {
22355               "$ref": "#/definitions/MetricBatchParams"
22356             },
22357             "Result": {
22358               "$ref": "#/definitions/ErrorResults"
22359             }
22360           }
22361         },
22362         "AddUnitStorage": {
22363           "type": "object",
22364           "properties": {
22365             "Params": {
22366               "$ref": "#/definitions/StoragesAddParams"
22367             },
22368             "Result": {
22369               "$ref": "#/definitions/ErrorResults"
22370             }
22371           }
22372         },
22373         "AllMachinePorts": {
22374           "type": "object",
22375           "properties": {
22376             "Params": {
22377               "$ref": "#/definitions/Entities"
22378             },
22379             "Result": {
22380               "$ref": "#/definitions/MachinePortsResults"
22381             }
22382           }
22383         },
22384         "ApplicationStatus": {
22385           "type": "object",
22386           "properties": {
22387             "Params": {
22388               "$ref": "#/definitions/Entities"
22389             },
22390             "Result": {
22391               "$ref": "#/definitions/ApplicationStatusResults"
22392             }
22393           }
22394         },
22395         "AssignedMachine": {
22396           "type": "object",
22397           "properties": {
22398             "Params": {
22399               "$ref": "#/definitions/Entities"
22400             },
22401             "Result": {
22402               "$ref": "#/definitions/StringResults"
22403             }
22404           }
22405         },
22406         "AvailabilityZone": {
22407           "type": "object",
22408           "properties": {
22409             "Params": {
22410               "$ref": "#/definitions/Entities"
22411             },
22412             "Result": {
22413               "$ref": "#/definitions/StringResults"
22414             }
22415           }
22416         },
22417         "BeginActions": {
22418           "type": "object",
22419           "properties": {
22420             "Params": {
22421               "$ref": "#/definitions/Entities"
22422             },
22423             "Result": {
22424               "$ref": "#/definitions/ErrorResults"
22425             }
22426           }
22427         },
22428         "CACert": {
22429           "type": "object",
22430           "properties": {
22431             "Result": {
22432               "$ref": "#/definitions/BytesResult"
22433             }
22434           }
22435         },
22436         "CharmArchiveSha256": {
22437           "type": "object",
22438           "properties": {
22439             "Params": {
22440               "$ref": "#/definitions/CharmURLs"
22441             },
22442             "Result": {
22443               "$ref": "#/definitions/StringResults"
22444             }
22445           }
22446         },
22447         "CharmModifiedVersion": {
22448           "type": "object",
22449           "properties": {
22450             "Params": {
22451               "$ref": "#/definitions/Entities"
22452             },
22453             "Result": {
22454               "$ref": "#/definitions/IntResults"
22455             }
22456           }
22457         },
22458         "CharmURL": {
22459           "type": "object",
22460           "properties": {
22461             "Params": {
22462               "$ref": "#/definitions/Entities"
22463             },
22464             "Result": {
22465               "$ref": "#/definitions/StringBoolResults"
22466             }
22467           }
22468         },
22469         "ClearResolved": {
22470           "type": "object",
22471           "properties": {
22472             "Params": {
22473               "$ref": "#/definitions/Entities"
22474             },
22475             "Result": {
22476               "$ref": "#/definitions/ErrorResults"
22477             }
22478           }
22479         },
22480         "ClosePorts": {
22481           "type": "object",
22482           "properties": {
22483             "Params": {
22484               "$ref": "#/definitions/EntitiesPortRanges"
22485             },
22486             "Result": {
22487               "$ref": "#/definitions/ErrorResults"
22488             }
22489           }
22490         },
22491         "ConfigSettings": {
22492           "type": "object",
22493           "properties": {
22494             "Params": {
22495               "$ref": "#/definitions/Entities"
22496             },
22497             "Result": {
22498               "$ref": "#/definitions/ConfigSettingsResults"
22499             }
22500           }
22501         },
22502         "CurrentModel": {
22503           "type": "object",
22504           "properties": {
22505             "Result": {
22506               "$ref": "#/definitions/ModelResult"
22507             }
22508           }
22509         },
22510         "Destroy": {
22511           "type": "object",
22512           "properties": {
22513             "Params": {
22514               "$ref": "#/definitions/Entities"
22515             },
22516             "Result": {
22517               "$ref": "#/definitions/ErrorResults"
22518             }
22519           }
22520         },
22521         "DestroyAllSubordinates": {
22522           "type": "object",
22523           "properties": {
22524             "Params": {
22525               "$ref": "#/definitions/Entities"
22526             },
22527             "Result": {
22528               "$ref": "#/definitions/ErrorResults"
22529             }
22530           }
22531         },
22532         "DestroyUnitStorageAttachments": {
22533           "type": "object",
22534           "properties": {
22535             "Params": {
22536               "$ref": "#/definitions/Entities"
22537             },
22538             "Result": {
22539               "$ref": "#/definitions/ErrorResults"
22540             }
22541           }
22542         },
22543         "EnsureDead": {
22544           "type": "object",
22545           "properties": {
22546             "Params": {
22547               "$ref": "#/definitions/Entities"
22548             },
22549             "Result": {
22550               "$ref": "#/definitions/ErrorResults"
22551             }
22552           }
22553         },
22554         "EnterScope": {
22555           "type": "object",
22556           "properties": {
22557             "Params": {
22558               "$ref": "#/definitions/RelationUnits"
22559             },
22560             "Result": {
22561               "$ref": "#/definitions/ErrorResults"
22562             }
22563           }
22564         },
22565         "FinishActions": {
22566           "type": "object",
22567           "properties": {
22568             "Params": {
22569               "$ref": "#/definitions/ActionExecutionResults"
22570             },
22571             "Result": {
22572               "$ref": "#/definitions/ErrorResults"
22573             }
22574           }
22575         },
22576         "GetMeterStatus": {
22577           "type": "object",
22578           "properties": {
22579             "Params": {
22580               "$ref": "#/definitions/Entities"
22581             },
22582             "Result": {
22583               "$ref": "#/definitions/MeterStatusResults"
22584             }
22585           }
22586         },
22587         "GetPrincipal": {
22588           "type": "object",
22589           "properties": {
22590             "Params": {
22591               "$ref": "#/definitions/Entities"
22592             },
22593             "Result": {
22594               "$ref": "#/definitions/StringBoolResults"
22595             }
22596           }
22597         },
22598         "HasSubordinates": {
22599           "type": "object",
22600           "properties": {
22601             "Params": {
22602               "$ref": "#/definitions/Entities"
22603             },
22604             "Result": {
22605               "$ref": "#/definitions/BoolResults"
22606             }
22607           }
22608         },
22609         "JoinedRelations": {
22610           "type": "object",
22611           "properties": {
22612             "Params": {
22613               "$ref": "#/definitions/Entities"
22614             },
22615             "Result": {
22616               "$ref": "#/definitions/StringsResults"
22617             }
22618           }
22619         },
22620         "LeaveScope": {
22621           "type": "object",
22622           "properties": {
22623             "Params": {
22624               "$ref": "#/definitions/RelationUnits"
22625             },
22626             "Result": {
22627               "$ref": "#/definitions/ErrorResults"
22628             }
22629           }
22630         },
22631         "Life": {
22632           "type": "object",
22633           "properties": {
22634             "Params": {
22635               "$ref": "#/definitions/Entities"
22636             },
22637             "Result": {
22638               "$ref": "#/definitions/LifeResults"
22639             }
22640           }
22641         },
22642         "Merge": {
22643           "type": "object",
22644           "properties": {
22645             "Params": {
22646               "$ref": "#/definitions/MergeLeadershipSettingsBulkParams"
22647             },
22648             "Result": {
22649               "$ref": "#/definitions/ErrorResults"
22650             }
22651           }
22652         },
22653         "ModelConfig": {
22654           "type": "object",
22655           "properties": {
22656             "Result": {
22657               "$ref": "#/definitions/ModelConfigResult"
22658             }
22659           }
22660         },
22661         "ModelUUID": {
22662           "type": "object",
22663           "properties": {
22664             "Result": {
22665               "$ref": "#/definitions/StringResult"
22666             }
22667           }
22668         },
22669         "NetworkConfig": {
22670           "type": "object",
22671           "properties": {
22672             "Params": {
22673               "$ref": "#/definitions/UnitsNetworkConfig"
22674             },
22675             "Result": {
22676               "$ref": "#/definitions/UnitNetworkConfigResults"
22677             }
22678           }
22679         },
22680         "OpenPorts": {
22681           "type": "object",
22682           "properties": {
22683             "Params": {
22684               "$ref": "#/definitions/EntitiesPortRanges"
22685             },
22686             "Result": {
22687               "$ref": "#/definitions/ErrorResults"
22688             }
22689           }
22690         },
22691         "PrivateAddress": {
22692           "type": "object",
22693           "properties": {
22694             "Params": {
22695               "$ref": "#/definitions/Entities"
22696             },
22697             "Result": {
22698               "$ref": "#/definitions/StringResults"
22699             }
22700           }
22701         },
22702         "ProviderType": {
22703           "type": "object",
22704           "properties": {
22705             "Result": {
22706               "$ref": "#/definitions/StringResult"
22707             }
22708           }
22709         },
22710         "PublicAddress": {
22711           "type": "object",
22712           "properties": {
22713             "Params": {
22714               "$ref": "#/definitions/Entities"
22715             },
22716             "Result": {
22717               "$ref": "#/definitions/StringResults"
22718             }
22719           }
22720         },
22721         "Read": {
22722           "type": "object",
22723           "properties": {
22724             "Params": {
22725               "$ref": "#/definitions/Entities"
22726             },
22727             "Result": {
22728               "$ref": "#/definitions/GetLeadershipSettingsBulkResults"
22729             }
22730           }
22731         },
22732         "ReadRemoteSettings": {
22733           "type": "object",
22734           "properties": {
22735             "Params": {
22736               "$ref": "#/definitions/RelationUnitPairs"
22737             },
22738             "Result": {
22739               "$ref": "#/definitions/SettingsResults"
22740             }
22741           }
22742         },
22743         "ReadSettings": {
22744           "type": "object",
22745           "properties": {
22746             "Params": {
22747               "$ref": "#/definitions/RelationUnits"
22748             },
22749             "Result": {
22750               "$ref": "#/definitions/SettingsResults"
22751             }
22752           }
22753         },
22754         "Relation": {
22755           "type": "object",
22756           "properties": {
22757             "Params": {
22758               "$ref": "#/definitions/RelationUnits"
22759             },
22760             "Result": {
22761               "$ref": "#/definitions/RelationResults"
22762             }
22763           }
22764         },
22765         "RelationById": {
22766           "type": "object",
22767           "properties": {
22768             "Params": {
22769               "$ref": "#/definitions/RelationIds"
22770             },
22771             "Result": {
22772               "$ref": "#/definitions/RelationResults"
22773             }
22774           }
22775         },
22776         "RemoveStorageAttachments": {
22777           "type": "object",
22778           "properties": {
22779             "Params": {
22780               "$ref": "#/definitions/StorageAttachmentIds"
22781             },
22782             "Result": {
22783               "$ref": "#/definitions/ErrorResults"
22784             }
22785           }
22786         },
22787         "RequestReboot": {
22788           "type": "object",
22789           "properties": {
22790             "Params": {
22791               "$ref": "#/definitions/Entities"
22792             },
22793             "Result": {
22794               "$ref": "#/definitions/ErrorResults"
22795             }
22796           }
22797         },
22798         "Resolved": {
22799           "type": "object",
22800           "properties": {
22801             "Params": {
22802               "$ref": "#/definitions/Entities"
22803             },
22804             "Result": {
22805               "$ref": "#/definitions/ResolvedModeResults"
22806             }
22807           }
22808         },
22809         "SetAgentStatus": {
22810           "type": "object",
22811           "properties": {
22812             "Params": {
22813               "$ref": "#/definitions/SetStatus"
22814             },
22815             "Result": {
22816               "$ref": "#/definitions/ErrorResults"
22817             }
22818           }
22819         },
22820         "SetApplicationStatus": {
22821           "type": "object",
22822           "properties": {
22823             "Params": {
22824               "$ref": "#/definitions/SetStatus"
22825             },
22826             "Result": {
22827               "$ref": "#/definitions/ErrorResults"
22828             }
22829           }
22830         },
22831         "SetCharmURL": {
22832           "type": "object",
22833           "properties": {
22834             "Params": {
22835               "$ref": "#/definitions/EntitiesCharmURL"
22836             },
22837             "Result": {
22838               "$ref": "#/definitions/ErrorResults"
22839             }
22840           }
22841         },
22842         "SetStatus": {
22843           "type": "object",
22844           "properties": {
22845             "Params": {
22846               "$ref": "#/definitions/SetStatus"
22847             },
22848             "Result": {
22849               "$ref": "#/definitions/ErrorResults"
22850             }
22851           }
22852         },
22853         "SetUnitStatus": {
22854           "type": "object",
22855           "properties": {
22856             "Params": {
22857               "$ref": "#/definitions/SetStatus"
22858             },
22859             "Result": {
22860               "$ref": "#/definitions/ErrorResults"
22861             }
22862           }
22863         },
22864         "SetWorkloadVersion": {
22865           "type": "object",
22866           "properties": {
22867             "Params": {
22868               "$ref": "#/definitions/EntityWorkloadVersions"
22869             },
22870             "Result": {
22871               "$ref": "#/definitions/ErrorResults"
22872             }
22873           }
22874         },
22875         "StorageAttachmentLife": {
22876           "type": "object",
22877           "properties": {
22878             "Params": {
22879               "$ref": "#/definitions/StorageAttachmentIds"
22880             },
22881             "Result": {
22882               "$ref": "#/definitions/LifeResults"
22883             }
22884           }
22885         },
22886         "StorageAttachments": {
22887           "type": "object",
22888           "properties": {
22889             "Params": {
22890               "$ref": "#/definitions/StorageAttachmentIds"
22891             },
22892             "Result": {
22893               "$ref": "#/definitions/StorageAttachmentResults"
22894             }
22895           }
22896         },
22897         "UnitStatus": {
22898           "type": "object",
22899           "properties": {
22900             "Params": {
22901               "$ref": "#/definitions/Entities"
22902             },
22903             "Result": {
22904               "$ref": "#/definitions/StatusResults"
22905             }
22906           }
22907         },
22908         "UnitStorageAttachments": {
22909           "type": "object",
22910           "properties": {
22911             "Params": {
22912               "$ref": "#/definitions/Entities"
22913             },
22914             "Result": {
22915               "$ref": "#/definitions/StorageAttachmentIdsResults"
22916             }
22917           }
22918         },
22919         "UpdateSettings": {
22920           "type": "object",
22921           "properties": {
22922             "Params": {
22923               "$ref": "#/definitions/RelationUnitsSettings"
22924             },
22925             "Result": {
22926               "$ref": "#/definitions/ErrorResults"
22927             }
22928           }
22929         },
22930         "Watch": {
22931           "type": "object",
22932           "properties": {
22933             "Params": {
22934               "$ref": "#/definitions/Entities"
22935             },
22936             "Result": {
22937               "$ref": "#/definitions/NotifyWatchResults"
22938             }
22939           }
22940         },
22941         "WatchAPIHostPorts": {
22942           "type": "object",
22943           "properties": {
22944             "Result": {
22945               "$ref": "#/definitions/NotifyWatchResult"
22946             }
22947           }
22948         },
22949         "WatchActionNotifications": {
22950           "type": "object",
22951           "properties": {
22952             "Params": {
22953               "$ref": "#/definitions/Entities"
22954             },
22955             "Result": {
22956               "$ref": "#/definitions/StringsWatchResults"
22957             }
22958           }
22959         },
22960         "WatchApplicationRelations": {
22961           "type": "object",
22962           "properties": {
22963             "Params": {
22964               "$ref": "#/definitions/Entities"
22965             },
22966             "Result": {
22967               "$ref": "#/definitions/StringsWatchResults"
22968             }
22969           }
22970         },
22971         "WatchConfigSettings": {
22972           "type": "object",
22973           "properties": {
22974             "Params": {
22975               "$ref": "#/definitions/Entities"
22976             },
22977             "Result": {
22978               "$ref": "#/definitions/NotifyWatchResults"
22979             }
22980           }
22981         },
22982         "WatchForModelConfigChanges": {
22983           "type": "object",
22984           "properties": {
22985             "Result": {
22986               "$ref": "#/definitions/NotifyWatchResult"
22987             }
22988           }
22989         },
22990         "WatchLeadershipSettings": {
22991           "type": "object",
22992           "properties": {
22993             "Params": {
22994               "$ref": "#/definitions/Entities"
22995             },
22996             "Result": {
22997               "$ref": "#/definitions/NotifyWatchResults"
22998             }
22999           }
23000         },
23001         "WatchMeterStatus": {
23002           "type": "object",
23003           "properties": {
23004             "Params": {
23005               "$ref": "#/definitions/Entities"
23006             },
23007             "Result": {
23008               "$ref": "#/definitions/NotifyWatchResults"
23009             }
23010           }
23011         },
23012         "WatchRelationUnits": {
23013           "type": "object",
23014           "properties": {
23015             "Params": {
23016               "$ref": "#/definitions/RelationUnits"
23017             },
23018             "Result": {
23019               "$ref": "#/definitions/RelationUnitsWatchResults"
23020             }
23021           }
23022         },
23023         "WatchStorageAttachments": {
23024           "type": "object",
23025           "properties": {
23026             "Params": {
23027               "$ref": "#/definitions/StorageAttachmentIds"
23028             },
23029             "Result": {
23030               "$ref": "#/definitions/NotifyWatchResults"
23031             }
23032           }
23033         },
23034         "WatchUnitAddresses": {
23035           "type": "object",
23036           "properties": {
23037             "Params": {
23038               "$ref": "#/definitions/Entities"
23039             },
23040             "Result": {
23041               "$ref": "#/definitions/NotifyWatchResults"
23042             }
23043           }
23044         },
23045         "WatchUnitStorageAttachments": {
23046           "type": "object",
23047           "properties": {
23048             "Params": {
23049               "$ref": "#/definitions/Entities"
23050             },
23051             "Result": {
23052               "$ref": "#/definitions/StringsWatchResults"
23053             }
23054           }
23055         },
23056         "WorkloadVersion": {
23057           "type": "object",
23058           "properties": {
23059             "Params": {
23060               "$ref": "#/definitions/Entities"
23061             },
23062             "Result": {
23063               "$ref": "#/definitions/StringResults"
23064             }
23065           }
23066         }
23067       },
23068       "definitions": {
23069         "APIHostPortsResult": {
23070           "type": "object",
23071           "properties": {
23072             "servers": {
23073               "type": "array",
23074               "items": {
23075                 "type": "array",
23076                 "items": {
23077                   "$ref": "#/definitions/HostPort"
23078                 }
23079               }
23080             }
23081           },
23082           "additionalProperties": false,
23083           "required": [
23084             "servers"
23085           ]
23086         },
23087         "Action": {
23088           "type": "object",
23089           "properties": {
23090             "name": {
23091               "type": "string"
23092             },
23093             "parameters": {
23094               "type": "object",
23095               "patternProperties": {
23096                 ".*": {
23097                   "type": "object",
23098                   "additionalProperties": true
23099                 }
23100               }
23101             },
23102             "receiver": {
23103               "type": "string"
23104             },
23105             "tag": {
23106               "type": "string"
23107             }
23108           },
23109           "additionalProperties": false,
23110           "required": [
23111             "tag",
23112             "receiver",
23113             "name"
23114           ]
23115         },
23116         "ActionExecutionResult": {
23117           "type": "object",
23118           "properties": {
23119             "action-tag": {
23120               "type": "string"
23121             },
23122             "message": {
23123               "type": "string"
23124             },
23125             "results": {
23126               "type": "object",
23127               "patternProperties": {
23128                 ".*": {
23129                   "type": "object",
23130                   "additionalProperties": true
23131                 }
23132               }
23133             },
23134             "status": {
23135               "type": "string"
23136             }
23137           },
23138           "additionalProperties": false,
23139           "required": [
23140             "action-tag",
23141             "status"
23142           ]
23143         },
23144         "ActionExecutionResults": {
23145           "type": "object",
23146           "properties": {
23147             "results": {
23148               "type": "array",
23149               "items": {
23150                 "$ref": "#/definitions/ActionExecutionResult"
23151               }
23152             }
23153           },
23154           "additionalProperties": false
23155         },
23156         "ActionResult": {
23157           "type": "object",
23158           "properties": {
23159             "action": {
23160               "$ref": "#/definitions/Action"
23161             },
23162             "completed": {
23163               "type": "string",
23164               "format": "date-time"
23165             },
23166             "enqueued": {
23167               "type": "string",
23168               "format": "date-time"
23169             },
23170             "error": {
23171               "$ref": "#/definitions/Error"
23172             },
23173             "message": {
23174               "type": "string"
23175             },
23176             "output": {
23177               "type": "object",
23178               "patternProperties": {
23179                 ".*": {
23180                   "type": "object",
23181                   "additionalProperties": true
23182                 }
23183               }
23184             },
23185             "started": {
23186               "type": "string",
23187               "format": "date-time"
23188             },
23189             "status": {
23190               "type": "string"
23191             }
23192           },
23193           "additionalProperties": false
23194         },
23195         "ActionResults": {
23196           "type": "object",
23197           "properties": {
23198             "results": {
23199               "type": "array",
23200               "items": {
23201                 "$ref": "#/definitions/ActionResult"
23202               }
23203             }
23204           },
23205           "additionalProperties": false
23206         },
23207         "Address": {
23208           "type": "object",
23209           "properties": {
23210             "scope": {
23211               "type": "string"
23212             },
23213             "space-name": {
23214               "type": "string"
23215             },
23216             "type": {
23217               "type": "string"
23218             },
23219             "value": {
23220               "type": "string"
23221             }
23222           },
23223           "additionalProperties": false,
23224           "required": [
23225             "value",
23226             "type",
23227             "scope"
23228           ]
23229         },
23230         "ApplicationStatusResult": {
23231           "type": "object",
23232           "properties": {
23233             "application": {
23234               "$ref": "#/definitions/StatusResult"
23235             },
23236             "error": {
23237               "$ref": "#/definitions/Error"
23238             },
23239             "units": {
23240               "type": "object",
23241               "patternProperties": {
23242                 ".*": {
23243                   "$ref": "#/definitions/StatusResult"
23244                 }
23245               }
23246             }
23247           },
23248           "additionalProperties": false,
23249           "required": [
23250             "application",
23251             "units"
23252           ]
23253         },
23254         "ApplicationStatusResults": {
23255           "type": "object",
23256           "properties": {
23257             "results": {
23258               "type": "array",
23259               "items": {
23260                 "$ref": "#/definitions/ApplicationStatusResult"
23261               }
23262             }
23263           },
23264           "additionalProperties": false,
23265           "required": [
23266             "results"
23267           ]
23268         },
23269         "BoolResult": {
23270           "type": "object",
23271           "properties": {
23272             "error": {
23273               "$ref": "#/definitions/Error"
23274             },
23275             "result": {
23276               "type": "boolean"
23277             }
23278           },
23279           "additionalProperties": false,
23280           "required": [
23281             "result"
23282           ]
23283         },
23284         "BoolResults": {
23285           "type": "object",
23286           "properties": {
23287             "results": {
23288               "type": "array",
23289               "items": {
23290                 "$ref": "#/definitions/BoolResult"
23291               }
23292             }
23293           },
23294           "additionalProperties": false,
23295           "required": [
23296             "results"
23297           ]
23298         },
23299         "BytesResult": {
23300           "type": "object",
23301           "properties": {
23302             "result": {
23303               "type": "array",
23304               "items": {
23305                 "type": "integer"
23306               }
23307             }
23308           },
23309           "additionalProperties": false,
23310           "required": [
23311             "result"
23312           ]
23313         },
23314         "CharmRelation": {
23315           "type": "object",
23316           "properties": {
23317             "interface": {
23318               "type": "string"
23319             },
23320             "limit": {
23321               "type": "integer"
23322             },
23323             "name": {
23324               "type": "string"
23325             },
23326             "optional": {
23327               "type": "boolean"
23328             },
23329             "role": {
23330               "type": "string"
23331             },
23332             "scope": {
23333               "type": "string"
23334             }
23335           },
23336           "additionalProperties": false,
23337           "required": [
23338             "name",
23339             "role",
23340             "interface",
23341             "optional",
23342             "limit",
23343             "scope"
23344           ]
23345         },
23346         "CharmURL": {
23347           "type": "object",
23348           "properties": {
23349             "url": {
23350               "type": "string"
23351             }
23352           },
23353           "additionalProperties": false,
23354           "required": [
23355             "url"
23356           ]
23357         },
23358         "CharmURLs": {
23359           "type": "object",
23360           "properties": {
23361             "urls": {
23362               "type": "array",
23363               "items": {
23364                 "$ref": "#/definitions/CharmURL"
23365               }
23366             }
23367           },
23368           "additionalProperties": false,
23369           "required": [
23370             "urls"
23371           ]
23372         },
23373         "ConfigSettingsResult": {
23374           "type": "object",
23375           "properties": {
23376             "error": {
23377               "$ref": "#/definitions/Error"
23378             },
23379             "settings": {
23380               "type": "object",
23381               "patternProperties": {
23382                 ".*": {
23383                   "type": "object",
23384                   "additionalProperties": true
23385                 }
23386               }
23387             }
23388           },
23389           "additionalProperties": false,
23390           "required": [
23391             "settings"
23392           ]
23393         },
23394         "ConfigSettingsResults": {
23395           "type": "object",
23396           "properties": {
23397             "results": {
23398               "type": "array",
23399               "items": {
23400                 "$ref": "#/definitions/ConfigSettingsResult"
23401               }
23402             }
23403           },
23404           "additionalProperties": false,
23405           "required": [
23406             "results"
23407           ]
23408         },
23409         "Endpoint": {
23410           "type": "object",
23411           "properties": {
23412             "application-name": {
23413               "type": "string"
23414             },
23415             "relation": {
23416               "$ref": "#/definitions/CharmRelation"
23417             }
23418           },
23419           "additionalProperties": false,
23420           "required": [
23421             "application-name",
23422             "relation"
23423           ]
23424         },
23425         "Entities": {
23426           "type": "object",
23427           "properties": {
23428             "entities": {
23429               "type": "array",
23430               "items": {
23431                 "$ref": "#/definitions/Entity"
23432               }
23433             }
23434           },
23435           "additionalProperties": false,
23436           "required": [
23437             "entities"
23438           ]
23439         },
23440         "EntitiesCharmURL": {
23441           "type": "object",
23442           "properties": {
23443             "entities": {
23444               "type": "array",
23445               "items": {
23446                 "$ref": "#/definitions/EntityCharmURL"
23447               }
23448             }
23449           },
23450           "additionalProperties": false,
23451           "required": [
23452             "entities"
23453           ]
23454         },
23455         "EntitiesPortRanges": {
23456           "type": "object",
23457           "properties": {
23458             "entities": {
23459               "type": "array",
23460               "items": {
23461                 "$ref": "#/definitions/EntityPortRange"
23462               }
23463             }
23464           },
23465           "additionalProperties": false,
23466           "required": [
23467             "entities"
23468           ]
23469         },
23470         "Entity": {
23471           "type": "object",
23472           "properties": {
23473             "tag": {
23474               "type": "string"
23475             }
23476           },
23477           "additionalProperties": false,
23478           "required": [
23479             "tag"
23480           ]
23481         },
23482         "EntityCharmURL": {
23483           "type": "object",
23484           "properties": {
23485             "charm-url": {
23486               "type": "string"
23487             },
23488             "tag": {
23489               "type": "string"
23490             }
23491           },
23492           "additionalProperties": false,
23493           "required": [
23494             "tag",
23495             "charm-url"
23496           ]
23497         },
23498         "EntityPortRange": {
23499           "type": "object",
23500           "properties": {
23501             "from-port": {
23502               "type": "integer"
23503             },
23504             "protocol": {
23505               "type": "string"
23506             },
23507             "tag": {
23508               "type": "string"
23509             },
23510             "to-port": {
23511               "type": "integer"
23512             }
23513           },
23514           "additionalProperties": false,
23515           "required": [
23516             "tag",
23517             "protocol",
23518             "from-port",
23519             "to-port"
23520           ]
23521         },
23522         "EntityStatusArgs": {
23523           "type": "object",
23524           "properties": {
23525             "data": {
23526               "type": "object",
23527               "patternProperties": {
23528                 ".*": {
23529                   "type": "object",
23530                   "additionalProperties": true
23531                 }
23532               }
23533             },
23534             "info": {
23535               "type": "string"
23536             },
23537             "status": {
23538               "type": "string"
23539             },
23540             "tag": {
23541               "type": "string"
23542             }
23543           },
23544           "additionalProperties": false,
23545           "required": [
23546             "tag",
23547             "status",
23548             "info",
23549             "data"
23550           ]
23551         },
23552         "EntityWorkloadVersion": {
23553           "type": "object",
23554           "properties": {
23555             "tag": {
23556               "type": "string"
23557             },
23558             "workload-version": {
23559               "type": "string"
23560             }
23561           },
23562           "additionalProperties": false,
23563           "required": [
23564             "tag",
23565             "workload-version"
23566           ]
23567         },
23568         "EntityWorkloadVersions": {
23569           "type": "object",
23570           "properties": {
23571             "entities": {
23572               "type": "array",
23573               "items": {
23574                 "$ref": "#/definitions/EntityWorkloadVersion"
23575               }
23576             }
23577           },
23578           "additionalProperties": false,
23579           "required": [
23580             "entities"
23581           ]
23582         },
23583         "Error": {
23584           "type": "object",
23585           "properties": {
23586             "code": {
23587               "type": "string"
23588             },
23589             "info": {
23590               "$ref": "#/definitions/ErrorInfo"
23591             },
23592             "message": {
23593               "type": "string"
23594             }
23595           },
23596           "additionalProperties": false,
23597           "required": [
23598             "message",
23599             "code"
23600           ]
23601         },
23602         "ErrorInfo": {
23603           "type": "object",
23604           "properties": {
23605             "macaroon": {
23606               "$ref": "#/definitions/Macaroon"
23607             },
23608             "macaroon-path": {
23609               "type": "string"
23610             }
23611           },
23612           "additionalProperties": false
23613         },
23614         "ErrorResult": {
23615           "type": "object",
23616           "properties": {
23617             "error": {
23618               "$ref": "#/definitions/Error"
23619             }
23620           },
23621           "additionalProperties": false
23622         },
23623         "ErrorResults": {
23624           "type": "object",
23625           "properties": {
23626             "results": {
23627               "type": "array",
23628               "items": {
23629                 "$ref": "#/definitions/ErrorResult"
23630               }
23631             }
23632           },
23633           "additionalProperties": false,
23634           "required": [
23635             "results"
23636           ]
23637         },
23638         "GetLeadershipSettingsBulkResults": {
23639           "type": "object",
23640           "properties": {
23641             "results": {
23642               "type": "array",
23643               "items": {
23644                 "$ref": "#/definitions/GetLeadershipSettingsResult"
23645               }
23646             }
23647           },
23648           "additionalProperties": false,
23649           "required": [
23650             "results"
23651           ]
23652         },
23653         "GetLeadershipSettingsResult": {
23654           "type": "object",
23655           "properties": {
23656             "error": {
23657               "$ref": "#/definitions/Error"
23658             },
23659             "settings": {
23660               "type": "object",
23661               "patternProperties": {
23662                 ".*": {
23663                   "type": "string"
23664                 }
23665               }
23666             }
23667           },
23668           "additionalProperties": false,
23669           "required": [
23670             "settings"
23671           ]
23672         },
23673         "HostPort": {
23674           "type": "object",
23675           "properties": {
23676             "Address": {
23677               "$ref": "#/definitions/Address"
23678             },
23679             "port": {
23680               "type": "integer"
23681             }
23682           },
23683           "additionalProperties": false,
23684           "required": [
23685             "Address",
23686             "port"
23687           ]
23688         },
23689         "IntResult": {
23690           "type": "object",
23691           "properties": {
23692             "error": {
23693               "$ref": "#/definitions/Error"
23694             },
23695             "result": {
23696               "type": "integer"
23697             }
23698           },
23699           "additionalProperties": false,
23700           "required": [
23701             "result"
23702           ]
23703         },
23704         "IntResults": {
23705           "type": "object",
23706           "properties": {
23707             "results": {
23708               "type": "array",
23709               "items": {
23710                 "$ref": "#/definitions/IntResult"
23711               }
23712             }
23713           },
23714           "additionalProperties": false,
23715           "required": [
23716             "results"
23717           ]
23718         },
23719         "LifeResult": {
23720           "type": "object",
23721           "properties": {
23722             "error": {
23723               "$ref": "#/definitions/Error"
23724             },
23725             "life": {
23726               "type": "string"
23727             }
23728           },
23729           "additionalProperties": false,
23730           "required": [
23731             "life"
23732           ]
23733         },
23734         "LifeResults": {
23735           "type": "object",
23736           "properties": {
23737             "results": {
23738               "type": "array",
23739               "items": {
23740                 "$ref": "#/definitions/LifeResult"
23741               }
23742             }
23743           },
23744           "additionalProperties": false,
23745           "required": [
23746             "results"
23747           ]
23748         },
23749         "Macaroon": {
23750           "type": "object",
23751           "additionalProperties": false
23752         },
23753         "MachinePortRange": {
23754           "type": "object",
23755           "properties": {
23756             "port-range": {
23757               "$ref": "#/definitions/PortRange"
23758             },
23759             "relation-tag": {
23760               "type": "string"
23761             },
23762             "unit-tag": {
23763               "type": "string"
23764             }
23765           },
23766           "additionalProperties": false,
23767           "required": [
23768             "unit-tag",
23769             "relation-tag",
23770             "port-range"
23771           ]
23772         },
23773         "MachinePortsResult": {
23774           "type": "object",
23775           "properties": {
23776             "error": {
23777               "$ref": "#/definitions/Error"
23778             },
23779             "ports": {
23780               "type": "array",
23781               "items": {
23782                 "$ref": "#/definitions/MachinePortRange"
23783               }
23784             }
23785           },
23786           "additionalProperties": false,
23787           "required": [
23788             "ports"
23789           ]
23790         },
23791         "MachinePortsResults": {
23792           "type": "object",
23793           "properties": {
23794             "results": {
23795               "type": "array",
23796               "items": {
23797                 "$ref": "#/definitions/MachinePortsResult"
23798               }
23799             }
23800           },
23801           "additionalProperties": false,
23802           "required": [
23803             "results"
23804           ]
23805         },
23806         "MergeLeadershipSettingsBulkParams": {
23807           "type": "object",
23808           "properties": {
23809             "params": {
23810               "type": "array",
23811               "items": {
23812                 "$ref": "#/definitions/MergeLeadershipSettingsParam"
23813               }
23814             }
23815           },
23816           "additionalProperties": false,
23817           "required": [
23818             "params"
23819           ]
23820         },
23821         "MergeLeadershipSettingsParam": {
23822           "type": "object",
23823           "properties": {
23824             "application-tag": {
23825               "type": "string"
23826             },
23827             "settings": {
23828               "type": "object",
23829               "patternProperties": {
23830                 ".*": {
23831                   "type": "string"
23832                 }
23833               }
23834             }
23835           },
23836           "additionalProperties": false,
23837           "required": [
23838             "application-tag",
23839             "settings"
23840           ]
23841         },
23842         "MeterStatusResult": {
23843           "type": "object",
23844           "properties": {
23845             "code": {
23846               "type": "string"
23847             },
23848             "error": {
23849               "$ref": "#/definitions/Error"
23850             },
23851             "info": {
23852               "type": "string"
23853             }
23854           },
23855           "additionalProperties": false,
23856           "required": [
23857             "code",
23858             "info"
23859           ]
23860         },
23861         "MeterStatusResults": {
23862           "type": "object",
23863           "properties": {
23864             "results": {
23865               "type": "array",
23866               "items": {
23867                 "$ref": "#/definitions/MeterStatusResult"
23868               }
23869             }
23870           },
23871           "additionalProperties": false,
23872           "required": [
23873             "results"
23874           ]
23875         },
23876         "Metric": {
23877           "type": "object",
23878           "properties": {
23879             "key": {
23880               "type": "string"
23881             },
23882             "time": {
23883               "type": "string",
23884               "format": "date-time"
23885             },
23886             "value": {
23887               "type": "string"
23888             }
23889           },
23890           "additionalProperties": false,
23891           "required": [
23892             "key",
23893             "value",
23894             "time"
23895           ]
23896         },
23897         "MetricBatch": {
23898           "type": "object",
23899           "properties": {
23900             "charm-url": {
23901               "type": "string"
23902             },
23903             "created": {
23904               "type": "string",
23905               "format": "date-time"
23906             },
23907             "metrics": {
23908               "type": "array",
23909               "items": {
23910                 "$ref": "#/definitions/Metric"
23911               }
23912             },
23913             "uuid": {
23914               "type": "string"
23915             }
23916           },
23917           "additionalProperties": false,
23918           "required": [
23919             "uuid",
23920             "charm-url",
23921             "created",
23922             "metrics"
23923           ]
23924         },
23925         "MetricBatchParam": {
23926           "type": "object",
23927           "properties": {
23928             "batch": {
23929               "$ref": "#/definitions/MetricBatch"
23930             },
23931             "tag": {
23932               "type": "string"
23933             }
23934           },
23935           "additionalProperties": false,
23936           "required": [
23937             "tag",
23938             "batch"
23939           ]
23940         },
23941         "MetricBatchParams": {
23942           "type": "object",
23943           "properties": {
23944             "batches": {
23945               "type": "array",
23946               "items": {
23947                 "$ref": "#/definitions/MetricBatchParam"
23948               }
23949             }
23950           },
23951           "additionalProperties": false,
23952           "required": [
23953             "batches"
23954           ]
23955         },
23956         "ModelConfigResult": {
23957           "type": "object",
23958           "properties": {
23959             "config": {
23960               "type": "object",
23961               "patternProperties": {
23962                 ".*": {
23963                   "type": "object",
23964                   "additionalProperties": true
23965                 }
23966               }
23967             }
23968           },
23969           "additionalProperties": false,
23970           "required": [
23971             "config"
23972           ]
23973         },
23974         "ModelResult": {
23975           "type": "object",
23976           "properties": {
23977             "error": {
23978               "$ref": "#/definitions/Error"
23979             },
23980             "name": {
23981               "type": "string"
23982             },
23983             "uuid": {
23984               "type": "string"
23985             }
23986           },
23987           "additionalProperties": false,
23988           "required": [
23989             "name",
23990             "uuid"
23991           ]
23992         },
23993         "NetworkConfig": {
23994           "type": "object",
23995           "properties": {
23996             "address": {
23997               "type": "string"
23998             },
23999             "cidr": {
24000               "type": "string"
24001             },
24002             "config-type": {
24003               "type": "string"
24004             },
24005             "device-index": {
24006               "type": "integer"
24007             },
24008             "disabled": {
24009               "type": "boolean"
24010             },
24011             "dns-search-domains": {
24012               "type": "array",
24013               "items": {
24014                 "type": "string"
24015               }
24016             },
24017             "dns-servers": {
24018               "type": "array",
24019               "items": {
24020                 "type": "string"
24021               }
24022             },
24023             "gateway-address": {
24024               "type": "string"
24025             },
24026             "interface-name": {
24027               "type": "string"
24028             },
24029             "interface-type": {
24030               "type": "string"
24031             },
24032             "mac-address": {
24033               "type": "string"
24034             },
24035             "mtu": {
24036               "type": "integer"
24037             },
24038             "no-auto-start": {
24039               "type": "boolean"
24040             },
24041             "parent-interface-name": {
24042               "type": "string"
24043             },
24044             "provider-address-id": {
24045               "type": "string"
24046             },
24047             "provider-id": {
24048               "type": "string"
24049             },
24050             "provider-space-id": {
24051               "type": "string"
24052             },
24053             "provider-subnet-id": {
24054               "type": "string"
24055             },
24056             "provider-vlan-id": {
24057               "type": "string"
24058             },
24059             "vlan-tag": {
24060               "type": "integer"
24061             }
24062           },
24063           "additionalProperties": false,
24064           "required": [
24065             "device-index",
24066             "mac-address",
24067             "cidr",
24068             "mtu",
24069             "provider-id",
24070             "provider-subnet-id",
24071             "provider-space-id",
24072             "provider-address-id",
24073             "provider-vlan-id",
24074             "vlan-tag",
24075             "interface-name",
24076             "parent-interface-name",
24077             "interface-type",
24078             "disabled"
24079           ]
24080         },
24081         "NotifyWatchResult": {
24082           "type": "object",
24083           "properties": {
24084             "NotifyWatcherId": {
24085               "type": "string"
24086             },
24087             "error": {
24088               "$ref": "#/definitions/Error"
24089             }
24090           },
24091           "additionalProperties": false,
24092           "required": [
24093             "NotifyWatcherId"
24094           ]
24095         },
24096         "NotifyWatchResults": {
24097           "type": "object",
24098           "properties": {
24099             "results": {
24100               "type": "array",
24101               "items": {
24102                 "$ref": "#/definitions/NotifyWatchResult"
24103               }
24104             }
24105           },
24106           "additionalProperties": false,
24107           "required": [
24108             "results"
24109           ]
24110         },
24111         "PortRange": {
24112           "type": "object",
24113           "properties": {
24114             "from-port": {
24115               "type": "integer"
24116             },
24117             "protocol": {
24118               "type": "string"
24119             },
24120             "to-port": {
24121               "type": "integer"
24122             }
24123           },
24124           "additionalProperties": false,
24125           "required": [
24126             "from-port",
24127             "to-port",
24128             "protocol"
24129           ]
24130         },
24131         "RelationIds": {
24132           "type": "object",
24133           "properties": {
24134             "relation-ids": {
24135               "type": "array",
24136               "items": {
24137                 "type": "integer"
24138               }
24139             }
24140           },
24141           "additionalProperties": false,
24142           "required": [
24143             "relation-ids"
24144           ]
24145         },
24146         "RelationResult": {
24147           "type": "object",
24148           "properties": {
24149             "endpoint": {
24150               "$ref": "#/definitions/Endpoint"
24151             },
24152             "error": {
24153               "$ref": "#/definitions/Error"
24154             },
24155             "id": {
24156               "type": "integer"
24157             },
24158             "key": {
24159               "type": "string"
24160             },
24161             "life": {
24162               "type": "string"
24163             }
24164           },
24165           "additionalProperties": false,
24166           "required": [
24167             "life",
24168             "id",
24169             "key",
24170             "endpoint"
24171           ]
24172         },
24173         "RelationResults": {
24174           "type": "object",
24175           "properties": {
24176             "results": {
24177               "type": "array",
24178               "items": {
24179                 "$ref": "#/definitions/RelationResult"
24180               }
24181             }
24182           },
24183           "additionalProperties": false,
24184           "required": [
24185             "results"
24186           ]
24187         },
24188         "RelationUnit": {
24189           "type": "object",
24190           "properties": {
24191             "relation": {
24192               "type": "string"
24193             },
24194             "unit": {
24195               "type": "string"
24196             }
24197           },
24198           "additionalProperties": false,
24199           "required": [
24200             "relation",
24201             "unit"
24202           ]
24203         },
24204         "RelationUnitPair": {
24205           "type": "object",
24206           "properties": {
24207             "local-unit": {
24208               "type": "string"
24209             },
24210             "relation": {
24211               "type": "string"
24212             },
24213             "remote-unit": {
24214               "type": "string"
24215             }
24216           },
24217           "additionalProperties": false,
24218           "required": [
24219             "relation",
24220             "local-unit",
24221             "remote-unit"
24222           ]
24223         },
24224         "RelationUnitPairs": {
24225           "type": "object",
24226           "properties": {
24227             "relation-unit-pairs": {
24228               "type": "array",
24229               "items": {
24230                 "$ref": "#/definitions/RelationUnitPair"
24231               }
24232             }
24233           },
24234           "additionalProperties": false,
24235           "required": [
24236             "relation-unit-pairs"
24237           ]
24238         },
24239         "RelationUnitSettings": {
24240           "type": "object",
24241           "properties": {
24242             "relation": {
24243               "type": "string"
24244             },
24245             "settings": {
24246               "type": "object",
24247               "patternProperties": {
24248                 ".*": {
24249                   "type": "string"
24250                 }
24251               }
24252             },
24253             "unit": {
24254               "type": "string"
24255             }
24256           },
24257           "additionalProperties": false,
24258           "required": [
24259             "relation",
24260             "unit",
24261             "settings"
24262           ]
24263         },
24264         "RelationUnits": {
24265           "type": "object",
24266           "properties": {
24267             "relation-units": {
24268               "type": "array",
24269               "items": {
24270                 "$ref": "#/definitions/RelationUnit"
24271               }
24272             }
24273           },
24274           "additionalProperties": false,
24275           "required": [
24276             "relation-units"
24277           ]
24278         },
24279         "RelationUnitsChange": {
24280           "type": "object",
24281           "properties": {
24282             "changed": {
24283               "type": "object",
24284               "patternProperties": {
24285                 ".*": {
24286                   "$ref": "#/definitions/UnitSettings"
24287                 }
24288               }
24289             },
24290             "departed": {
24291               "type": "array",
24292               "items": {
24293                 "type": "string"
24294               }
24295             }
24296           },
24297           "additionalProperties": false,
24298           "required": [
24299             "changed"
24300           ]
24301         },
24302         "RelationUnitsSettings": {
24303           "type": "object",
24304           "properties": {
24305             "relation-units": {
24306               "type": "array",
24307               "items": {
24308                 "$ref": "#/definitions/RelationUnitSettings"
24309               }
24310             }
24311           },
24312           "additionalProperties": false,
24313           "required": [
24314             "relation-units"
24315           ]
24316         },
24317         "RelationUnitsWatchResult": {
24318           "type": "object",
24319           "properties": {
24320             "changes": {
24321               "$ref": "#/definitions/RelationUnitsChange"
24322             },
24323             "error": {
24324               "$ref": "#/definitions/Error"
24325             },
24326             "watcher-id": {
24327               "type": "string"
24328             }
24329           },
24330           "additionalProperties": false,
24331           "required": [
24332             "watcher-id",
24333             "changes"
24334           ]
24335         },
24336         "RelationUnitsWatchResults": {
24337           "type": "object",
24338           "properties": {
24339             "results": {
24340               "type": "array",
24341               "items": {
24342                 "$ref": "#/definitions/RelationUnitsWatchResult"
24343               }
24344             }
24345           },
24346           "additionalProperties": false,
24347           "required": [
24348             "results"
24349           ]
24350         },
24351         "ResolvedModeResult": {
24352           "type": "object",
24353           "properties": {
24354             "error": {
24355               "$ref": "#/definitions/Error"
24356             },
24357             "mode": {
24358               "type": "string"
24359             }
24360           },
24361           "additionalProperties": false,
24362           "required": [
24363             "mode"
24364           ]
24365         },
24366         "ResolvedModeResults": {
24367           "type": "object",
24368           "properties": {
24369             "results": {
24370               "type": "array",
24371               "items": {
24372                 "$ref": "#/definitions/ResolvedModeResult"
24373               }
24374             }
24375           },
24376           "additionalProperties": false,
24377           "required": [
24378             "results"
24379           ]
24380         },
24381         "SetStatus": {
24382           "type": "object",
24383           "properties": {
24384             "entities": {
24385               "type": "array",
24386               "items": {
24387                 "$ref": "#/definitions/EntityStatusArgs"
24388               }
24389             }
24390           },
24391           "additionalProperties": false,
24392           "required": [
24393             "entities"
24394           ]
24395         },
24396         "SettingsResult": {
24397           "type": "object",
24398           "properties": {
24399             "error": {
24400               "$ref": "#/definitions/Error"
24401             },
24402             "settings": {
24403               "type": "object",
24404               "patternProperties": {
24405                 ".*": {
24406                   "type": "string"
24407                 }
24408               }
24409             }
24410           },
24411           "additionalProperties": false,
24412           "required": [
24413             "settings"
24414           ]
24415         },
24416         "SettingsResults": {
24417           "type": "object",
24418           "properties": {
24419             "results": {
24420               "type": "array",
24421               "items": {
24422                 "$ref": "#/definitions/SettingsResult"
24423               }
24424             }
24425           },
24426           "additionalProperties": false,
24427           "required": [
24428             "results"
24429           ]
24430         },
24431         "StatusResult": {
24432           "type": "object",
24433           "properties": {
24434             "data": {
24435               "type": "object",
24436               "patternProperties": {
24437                 ".*": {
24438                   "type": "object",
24439                   "additionalProperties": true
24440                 }
24441               }
24442             },
24443             "error": {
24444               "$ref": "#/definitions/Error"
24445             },
24446             "id": {
24447               "type": "string"
24448             },
24449             "info": {
24450               "type": "string"
24451             },
24452             "life": {
24453               "type": "string"
24454             },
24455             "since": {
24456               "type": "string",
24457               "format": "date-time"
24458             },
24459             "status": {
24460               "type": "string"
24461             }
24462           },
24463           "additionalProperties": false,
24464           "required": [
24465             "id",
24466             "life",
24467             "status",
24468             "info",
24469             "data",
24470             "since"
24471           ]
24472         },
24473         "StatusResults": {
24474           "type": "object",
24475           "properties": {
24476             "results": {
24477               "type": "array",
24478               "items": {
24479                 "$ref": "#/definitions/StatusResult"
24480               }
24481             }
24482           },
24483           "additionalProperties": false,
24484           "required": [
24485             "results"
24486           ]
24487         },
24488         "StorageAddParams": {
24489           "type": "object",
24490           "properties": {
24491             "name": {
24492               "type": "string"
24493             },
24494             "storage": {
24495               "$ref": "#/definitions/StorageConstraints"
24496             },
24497             "unit": {
24498               "type": "string"
24499             }
24500           },
24501           "additionalProperties": false,
24502           "required": [
24503             "unit",
24504             "name",
24505             "storage"
24506           ]
24507         },
24508         "StorageAttachment": {
24509           "type": "object",
24510           "properties": {
24511             "kind": {
24512               "type": "integer"
24513             },
24514             "life": {
24515               "type": "string"
24516             },
24517             "location": {
24518               "type": "string"
24519             },
24520             "owner-tag": {
24521               "type": "string"
24522             },
24523             "storage-tag": {
24524               "type": "string"
24525             },
24526             "unit-tag": {
24527               "type": "string"
24528             }
24529           },
24530           "additionalProperties": false,
24531           "required": [
24532             "storage-tag",
24533             "owner-tag",
24534             "unit-tag",
24535             "kind",
24536             "location",
24537             "life"
24538           ]
24539         },
24540         "StorageAttachmentId": {
24541           "type": "object",
24542           "properties": {
24543             "storage-tag": {
24544               "type": "string"
24545             },
24546             "unit-tag": {
24547               "type": "string"
24548             }
24549           },
24550           "additionalProperties": false,
24551           "required": [
24552             "storage-tag",
24553             "unit-tag"
24554           ]
24555         },
24556         "StorageAttachmentIds": {
24557           "type": "object",
24558           "properties": {
24559             "ids": {
24560               "type": "array",
24561               "items": {
24562                 "$ref": "#/definitions/StorageAttachmentId"
24563               }
24564             }
24565           },
24566           "additionalProperties": false,
24567           "required": [
24568             "ids"
24569           ]
24570         },
24571         "StorageAttachmentIdsResult": {
24572           "type": "object",
24573           "properties": {
24574             "error": {
24575               "$ref": "#/definitions/Error"
24576             },
24577             "result": {
24578               "$ref": "#/definitions/StorageAttachmentIds"
24579             }
24580           },
24581           "additionalProperties": false,
24582           "required": [
24583             "result"
24584           ]
24585         },
24586         "StorageAttachmentIdsResults": {
24587           "type": "object",
24588           "properties": {
24589             "results": {
24590               "type": "array",
24591               "items": {
24592                 "$ref": "#/definitions/StorageAttachmentIdsResult"
24593               }
24594             }
24595           },
24596           "additionalProperties": false
24597         },
24598         "StorageAttachmentResult": {
24599           "type": "object",
24600           "properties": {
24601             "error": {
24602               "$ref": "#/definitions/Error"
24603             },
24604             "result": {
24605               "$ref": "#/definitions/StorageAttachment"
24606             }
24607           },
24608           "additionalProperties": false,
24609           "required": [
24610             "result"
24611           ]
24612         },
24613         "StorageAttachmentResults": {
24614           "type": "object",
24615           "properties": {
24616             "results": {
24617               "type": "array",
24618               "items": {
24619                 "$ref": "#/definitions/StorageAttachmentResult"
24620               }
24621             }
24622           },
24623           "additionalProperties": false
24624         },
24625         "StorageConstraints": {
24626           "type": "object",
24627           "properties": {
24628             "count": {
24629               "type": "integer"
24630             },
24631             "pool": {
24632               "type": "string"
24633             },
24634             "size": {
24635               "type": "integer"
24636             }
24637           },
24638           "additionalProperties": false
24639         },
24640         "StoragesAddParams": {
24641           "type": "object",
24642           "properties": {
24643             "storages": {
24644               "type": "array",
24645               "items": {
24646                 "$ref": "#/definitions/StorageAddParams"
24647               }
24648             }
24649           },
24650           "additionalProperties": false,
24651           "required": [
24652             "storages"
24653           ]
24654         },
24655         "StringBoolResult": {
24656           "type": "object",
24657           "properties": {
24658             "error": {
24659               "$ref": "#/definitions/Error"
24660             },
24661             "ok": {
24662               "type": "boolean"
24663             },
24664             "result": {
24665               "type": "string"
24666             }
24667           },
24668           "additionalProperties": false,
24669           "required": [
24670             "result",
24671             "ok"
24672           ]
24673         },
24674         "StringBoolResults": {
24675           "type": "object",
24676           "properties": {
24677             "results": {
24678               "type": "array",
24679               "items": {
24680                 "$ref": "#/definitions/StringBoolResult"
24681               }
24682             }
24683           },
24684           "additionalProperties": false,
24685           "required": [
24686             "results"
24687           ]
24688         },
24689         "StringResult": {
24690           "type": "object",
24691           "properties": {
24692             "error": {
24693               "$ref": "#/definitions/Error"
24694             },
24695             "result": {
24696               "type": "string"
24697             }
24698           },
24699           "additionalProperties": false,
24700           "required": [
24701             "result"
24702           ]
24703         },
24704         "StringResults": {
24705           "type": "object",
24706           "properties": {
24707             "results": {
24708               "type": "array",
24709               "items": {
24710                 "$ref": "#/definitions/StringResult"
24711               }
24712             }
24713           },
24714           "additionalProperties": false,
24715           "required": [
24716             "results"
24717           ]
24718         },
24719         "StringsResult": {
24720           "type": "object",
24721           "properties": {
24722             "error": {
24723               "$ref": "#/definitions/Error"
24724             },
24725             "result": {
24726               "type": "array",
24727               "items": {
24728                 "type": "string"
24729               }
24730             }
24731           },
24732           "additionalProperties": false
24733         },
24734         "StringsResults": {
24735           "type": "object",
24736           "properties": {
24737             "results": {
24738               "type": "array",
24739               "items": {
24740                 "$ref": "#/definitions/StringsResult"
24741               }
24742             }
24743           },
24744           "additionalProperties": false,
24745           "required": [
24746             "results"
24747           ]
24748         },
24749         "StringsWatchResult": {
24750           "type": "object",
24751           "properties": {
24752             "changes": {
24753               "type": "array",
24754               "items": {
24755                 "type": "string"
24756               }
24757             },
24758             "error": {
24759               "$ref": "#/definitions/Error"
24760             },
24761             "watcher-id": {
24762               "type": "string"
24763             }
24764           },
24765           "additionalProperties": false,
24766           "required": [
24767             "watcher-id"
24768           ]
24769         },
24770         "StringsWatchResults": {
24771           "type": "object",
24772           "properties": {
24773             "results": {
24774               "type": "array",
24775               "items": {
24776                 "$ref": "#/definitions/StringsWatchResult"
24777               }
24778             }
24779           },
24780           "additionalProperties": false,
24781           "required": [
24782             "results"
24783           ]
24784         },
24785         "UnitNetworkConfig": {
24786           "type": "object",
24787           "properties": {
24788             "binding-name": {
24789               "type": "string"
24790             },
24791             "unit-tag": {
24792               "type": "string"
24793             }
24794           },
24795           "additionalProperties": false,
24796           "required": [
24797             "unit-tag",
24798             "binding-name"
24799           ]
24800         },
24801         "UnitNetworkConfigResult": {
24802           "type": "object",
24803           "properties": {
24804             "error": {
24805               "$ref": "#/definitions/Error"
24806             },
24807             "info": {
24808               "type": "array",
24809               "items": {
24810                 "$ref": "#/definitions/NetworkConfig"
24811               }
24812             }
24813           },
24814           "additionalProperties": false,
24815           "required": [
24816             "info"
24817           ]
24818         },
24819         "UnitNetworkConfigResults": {
24820           "type": "object",
24821           "properties": {
24822             "results": {
24823               "type": "array",
24824               "items": {
24825                 "$ref": "#/definitions/UnitNetworkConfigResult"
24826               }
24827             }
24828           },
24829           "additionalProperties": false,
24830           "required": [
24831             "results"
24832           ]
24833         },
24834         "UnitSettings": {
24835           "type": "object",
24836           "properties": {
24837             "version": {
24838               "type": "integer"
24839             }
24840           },
24841           "additionalProperties": false,
24842           "required": [
24843             "version"
24844           ]
24845         },
24846         "UnitsNetworkConfig": {
24847           "type": "object",
24848           "properties": {
24849             "args": {
24850               "type": "array",
24851               "items": {
24852                 "$ref": "#/definitions/UnitNetworkConfig"
24853               }
24854             }
24855           },
24856           "additionalProperties": false,
24857           "required": [
24858             "args"
24859           ]
24860         }
24861       }
24862     }
24863   },
24864   {
24865     "Name": "Upgrader",
24866     "Version": 1,
24867     "Schema": {
24868       "type": "object",
24869       "properties": {
24870         "DesiredVersion": {
24871           "type": "object",
24872           "properties": {
24873             "Params": {
24874               "$ref": "#/definitions/Entities"
24875             },
24876             "Result": {
24877               "$ref": "#/definitions/VersionResults"
24878             }
24879           }
24880         },
24881         "SetTools": {
24882           "type": "object",
24883           "properties": {
24884             "Params": {
24885               "$ref": "#/definitions/EntitiesVersion"
24886             },
24887             "Result": {
24888               "$ref": "#/definitions/ErrorResults"
24889             }
24890           }
24891         },
24892         "Tools": {
24893           "type": "object",
24894           "properties": {
24895             "Params": {
24896               "$ref": "#/definitions/Entities"
24897             },
24898             "Result": {
24899               "$ref": "#/definitions/ToolsResults"
24900             }
24901           }
24902         },
24903         "WatchAPIVersion": {
24904           "type": "object",
24905           "properties": {
24906             "Params": {
24907               "$ref": "#/definitions/Entities"
24908             },
24909             "Result": {
24910               "$ref": "#/definitions/NotifyWatchResults"
24911             }
24912           }
24913         }
24914       },
24915       "definitions": {
24916         "Binary": {
24917           "type": "object",
24918           "properties": {
24919             "Arch": {
24920               "type": "string"
24921             },
24922             "Number": {
24923               "$ref": "#/definitions/Number"
24924             },
24925             "Series": {
24926               "type": "string"
24927             }
24928           },
24929           "additionalProperties": false,
24930           "required": [
24931             "Number",
24932             "Series",
24933             "Arch"
24934           ]
24935         },
24936         "Entities": {
24937           "type": "object",
24938           "properties": {
24939             "entities": {
24940               "type": "array",
24941               "items": {
24942                 "$ref": "#/definitions/Entity"
24943               }
24944             }
24945           },
24946           "additionalProperties": false,
24947           "required": [
24948             "entities"
24949           ]
24950         },
24951         "EntitiesVersion": {
24952           "type": "object",
24953           "properties": {
24954             "agent-tools": {
24955               "type": "array",
24956               "items": {
24957                 "$ref": "#/definitions/EntityVersion"
24958               }
24959             }
24960           },
24961           "additionalProperties": false,
24962           "required": [
24963             "agent-tools"
24964           ]
24965         },
24966         "Entity": {
24967           "type": "object",
24968           "properties": {
24969             "tag": {
24970               "type": "string"
24971             }
24972           },
24973           "additionalProperties": false,
24974           "required": [
24975             "tag"
24976           ]
24977         },
24978         "EntityVersion": {
24979           "type": "object",
24980           "properties": {
24981             "tag": {
24982               "type": "string"
24983             },
24984             "tools": {
24985               "$ref": "#/definitions/Version"
24986             }
24987           },
24988           "additionalProperties": false,
24989           "required": [
24990             "tag",
24991             "tools"
24992           ]
24993         },
24994         "Error": {
24995           "type": "object",
24996           "properties": {
24997             "code": {
24998               "type": "string"
24999             },
25000             "info": {
25001               "$ref": "#/definitions/ErrorInfo"
25002             },
25003             "message": {
25004               "type": "string"
25005             }
25006           },
25007           "additionalProperties": false,
25008           "required": [
25009             "message",
25010             "code"
25011           ]
25012         },
25013         "ErrorInfo": {
25014           "type": "object",
25015           "properties": {
25016             "macaroon": {
25017               "$ref": "#/definitions/Macaroon"
25018             },
25019             "macaroon-path": {
25020               "type": "string"
25021             }
25022           },
25023           "additionalProperties": false
25024         },
25025         "ErrorResult": {
25026           "type": "object",
25027           "properties": {
25028             "error": {
25029               "$ref": "#/definitions/Error"
25030             }
25031           },
25032           "additionalProperties": false
25033         },
25034         "ErrorResults": {
25035           "type": "object",
25036           "properties": {
25037             "results": {
25038               "type": "array",
25039               "items": {
25040                 "$ref": "#/definitions/ErrorResult"
25041               }
25042             }
25043           },
25044           "additionalProperties": false,
25045           "required": [
25046             "results"
25047           ]
25048         },
25049         "Macaroon": {
25050           "type": "object",
25051           "additionalProperties": false
25052         },
25053         "NotifyWatchResult": {
25054           "type": "object",
25055           "properties": {
25056             "NotifyWatcherId": {
25057               "type": "string"
25058             },
25059             "error": {
25060               "$ref": "#/definitions/Error"
25061             }
25062           },
25063           "additionalProperties": false,
25064           "required": [
25065             "NotifyWatcherId"
25066           ]
25067         },
25068         "NotifyWatchResults": {
25069           "type": "object",
25070           "properties": {
25071             "results": {
25072               "type": "array",
25073               "items": {
25074                 "$ref": "#/definitions/NotifyWatchResult"
25075               }
25076             }
25077           },
25078           "additionalProperties": false,
25079           "required": [
25080             "results"
25081           ]
25082         },
25083         "Number": {
25084           "type": "object",
25085           "properties": {
25086             "Build": {
25087               "type": "integer"
25088             },
25089             "Major": {
25090               "type": "integer"
25091             },
25092             "Minor": {
25093               "type": "integer"
25094             },
25095             "Patch": {
25096               "type": "integer"
25097             },
25098             "Tag": {
25099               "type": "string"
25100             }
25101           },
25102           "additionalProperties": false,
25103           "required": [
25104             "Major",
25105             "Minor",
25106             "Tag",
25107             "Patch",
25108             "Build"
25109           ]
25110         },
25111         "Tools": {
25112           "type": "object",
25113           "properties": {
25114             "sha256": {
25115               "type": "string"
25116             },
25117             "size": {
25118               "type": "integer"
25119             },
25120             "url": {
25121               "type": "string"
25122             },
25123             "version": {
25124               "$ref": "#/definitions/Binary"
25125             }
25126           },
25127           "additionalProperties": false,
25128           "required": [
25129             "version",
25130             "url",
25131             "size"
25132           ]
25133         },
25134         "ToolsResult": {
25135           "type": "object",
25136           "properties": {
25137             "disable-ssl-hostname-verification": {
25138               "type": "boolean"
25139             },
25140             "error": {
25141               "$ref": "#/definitions/Error"
25142             },
25143             "tools": {
25144               "type": "array",
25145               "items": {
25146                 "$ref": "#/definitions/Tools"
25147               }
25148             }
25149           },
25150           "additionalProperties": false,
25151           "required": [
25152             "tools",
25153             "disable-ssl-hostname-verification"
25154           ]
25155         },
25156         "ToolsResults": {
25157           "type": "object",
25158           "properties": {
25159             "results": {
25160               "type": "array",
25161               "items": {
25162                 "$ref": "#/definitions/ToolsResult"
25163               }
25164             }
25165           },
25166           "additionalProperties": false,
25167           "required": [
25168             "results"
25169           ]
25170         },
25171         "Version": {
25172           "type": "object",
25173           "properties": {
25174             "version": {
25175               "$ref": "#/definitions/Binary"
25176             }
25177           },
25178           "additionalProperties": false,
25179           "required": [
25180             "version"
25181           ]
25182         },
25183         "VersionResult": {
25184           "type": "object",
25185           "properties": {
25186             "error": {
25187               "$ref": "#/definitions/Error"
25188             },
25189             "version": {
25190               "$ref": "#/definitions/Number"
25191             }
25192           },
25193           "additionalProperties": false
25194         },
25195         "VersionResults": {
25196           "type": "object",
25197           "properties": {
25198             "results": {
25199               "type": "array",
25200               "items": {
25201                 "$ref": "#/definitions/VersionResult"
25202               }
25203             }
25204           },
25205           "additionalProperties": false,
25206           "required": [
25207             "results"
25208           ]
25209         }
25210       }
25211     }
25212   },
25213   {
25214     "Name": "UserManager",
25215     "Version": 1,
25216     "Schema": {
25217       "type": "object",
25218       "properties": {
25219         "AddUser": {
25220           "type": "object",
25221           "properties": {
25222             "Params": {
25223               "$ref": "#/definitions/AddUsers"
25224             },
25225             "Result": {
25226               "$ref": "#/definitions/AddUserResults"
25227             }
25228           }
25229         },
25230         "DisableUser": {
25231           "type": "object",
25232           "properties": {
25233             "Params": {
25234               "$ref": "#/definitions/Entities"
25235             },
25236             "Result": {
25237               "$ref": "#/definitions/ErrorResults"
25238             }
25239           }
25240         },
25241         "EnableUser": {
25242           "type": "object",
25243           "properties": {
25244             "Params": {
25245               "$ref": "#/definitions/Entities"
25246             },
25247             "Result": {
25248               "$ref": "#/definitions/ErrorResults"
25249             }
25250           }
25251         },
25252         "RemoveUser": {
25253           "type": "object",
25254           "properties": {
25255             "Params": {
25256               "$ref": "#/definitions/Entities"
25257             },
25258             "Result": {
25259               "$ref": "#/definitions/ErrorResults"
25260             }
25261           }
25262         },
25263         "SetPassword": {
25264           "type": "object",
25265           "properties": {
25266             "Params": {
25267               "$ref": "#/definitions/EntityPasswords"
25268             },
25269             "Result": {
25270               "$ref": "#/definitions/ErrorResults"
25271             }
25272           }
25273         },
25274         "UserInfo": {
25275           "type": "object",
25276           "properties": {
25277             "Params": {
25278               "$ref": "#/definitions/UserInfoRequest"
25279             },
25280             "Result": {
25281               "$ref": "#/definitions/UserInfoResults"
25282             }
25283           }
25284         }
25285       },
25286       "definitions": {
25287         "AddUser": {
25288           "type": "object",
25289           "properties": {
25290             "display-name": {
25291               "type": "string"
25292             },
25293             "password": {
25294               "type": "string"
25295             },
25296             "username": {
25297               "type": "string"
25298             }
25299           },
25300           "additionalProperties": false,
25301           "required": [
25302             "username",
25303             "display-name"
25304           ]
25305         },
25306         "AddUserResult": {
25307           "type": "object",
25308           "properties": {
25309             "error": {
25310               "$ref": "#/definitions/Error"
25311             },
25312             "secret-key": {
25313               "type": "array",
25314               "items": {
25315                 "type": "integer"
25316               }
25317             },
25318             "tag": {
25319               "type": "string"
25320             }
25321           },
25322           "additionalProperties": false
25323         },
25324         "AddUserResults": {
25325           "type": "object",
25326           "properties": {
25327             "results": {
25328               "type": "array",
25329               "items": {
25330                 "$ref": "#/definitions/AddUserResult"
25331               }
25332             }
25333           },
25334           "additionalProperties": false,
25335           "required": [
25336             "results"
25337           ]
25338         },
25339         "AddUsers": {
25340           "type": "object",
25341           "properties": {
25342             "users": {
25343               "type": "array",
25344               "items": {
25345                 "$ref": "#/definitions/AddUser"
25346               }
25347             }
25348           },
25349           "additionalProperties": false,
25350           "required": [
25351             "users"
25352           ]
25353         },
25354         "Entities": {
25355           "type": "object",
25356           "properties": {
25357             "entities": {
25358               "type": "array",
25359               "items": {
25360                 "$ref": "#/definitions/Entity"
25361               }
25362             }
25363           },
25364           "additionalProperties": false,
25365           "required": [
25366             "entities"
25367           ]
25368         },
25369         "Entity": {
25370           "type": "object",
25371           "properties": {
25372             "tag": {
25373               "type": "string"
25374             }
25375           },
25376           "additionalProperties": false,
25377           "required": [
25378             "tag"
25379           ]
25380         },
25381         "EntityPassword": {
25382           "type": "object",
25383           "properties": {
25384             "password": {
25385               "type": "string"
25386             },
25387             "tag": {
25388               "type": "string"
25389             }
25390           },
25391           "additionalProperties": false,
25392           "required": [
25393             "tag",
25394             "password"
25395           ]
25396         },
25397         "EntityPasswords": {
25398           "type": "object",
25399           "properties": {
25400             "changes": {
25401               "type": "array",
25402               "items": {
25403                 "$ref": "#/definitions/EntityPassword"
25404               }
25405             }
25406           },
25407           "additionalProperties": false,
25408           "required": [
25409             "changes"
25410           ]
25411         },
25412         "Error": {
25413           "type": "object",
25414           "properties": {
25415             "code": {
25416               "type": "string"
25417             },
25418             "info": {
25419               "$ref": "#/definitions/ErrorInfo"
25420             },
25421             "message": {
25422               "type": "string"
25423             }
25424           },
25425           "additionalProperties": false,
25426           "required": [
25427             "message",
25428             "code"
25429           ]
25430         },
25431         "ErrorInfo": {
25432           "type": "object",
25433           "properties": {
25434             "macaroon": {
25435               "$ref": "#/definitions/Macaroon"
25436             },
25437             "macaroon-path": {
25438               "type": "string"
25439             }
25440           },
25441           "additionalProperties": false
25442         },
25443         "ErrorResult": {
25444           "type": "object",
25445           "properties": {
25446             "error": {
25447               "$ref": "#/definitions/Error"
25448             }
25449           },
25450           "additionalProperties": false
25451         },
25452         "ErrorResults": {
25453           "type": "object",
25454           "properties": {
25455             "results": {
25456               "type": "array",
25457               "items": {
25458                 "$ref": "#/definitions/ErrorResult"
25459               }
25460             }
25461           },
25462           "additionalProperties": false,
25463           "required": [
25464             "results"
25465           ]
25466         },
25467         "Macaroon": {
25468           "type": "object",
25469           "additionalProperties": false
25470         },
25471         "UserInfo": {
25472           "type": "object",
25473           "properties": {
25474             "access": {
25475               "type": "string"
25476             },
25477             "created-by": {
25478               "type": "string"
25479             },
25480             "date-created": {
25481               "type": "string",
25482               "format": "date-time"
25483             },
25484             "disabled": {
25485               "type": "boolean"
25486             },
25487             "display-name": {
25488               "type": "string"
25489             },
25490             "last-connection": {
25491               "type": "string",
25492               "format": "date-time"
25493             },
25494             "username": {
25495               "type": "string"
25496             }
25497           },
25498           "additionalProperties": false,
25499           "required": [
25500             "username",
25501             "display-name",
25502             "access",
25503             "created-by",
25504             "date-created",
25505             "disabled"
25506           ]
25507         },
25508         "UserInfoRequest": {
25509           "type": "object",
25510           "properties": {
25511             "entities": {
25512               "type": "array",
25513               "items": {
25514                 "$ref": "#/definitions/Entity"
25515               }
25516             },
25517             "include-disabled": {
25518               "type": "boolean"
25519             }
25520           },
25521           "additionalProperties": false,
25522           "required": [
25523             "entities",
25524             "include-disabled"
25525           ]
25526         },
25527         "UserInfoResult": {
25528           "type": "object",
25529           "properties": {
25530             "error": {
25531               "$ref": "#/definitions/Error"
25532             },
25533             "result": {
25534               "$ref": "#/definitions/UserInfo"
25535             }
25536           },
25537           "additionalProperties": false
25538         },
25539         "UserInfoResults": {
25540           "type": "object",
25541           "properties": {
25542             "results": {
25543               "type": "array",
25544               "items": {
25545                 "$ref": "#/definitions/UserInfoResult"
25546               }
25547             }
25548           },
25549           "additionalProperties": false,
25550           "required": [
25551             "results"
25552           ]
25553         }
25554       }
25555     }
25556   },
25557   {
25558     "Name": "VolumeAttachmentsWatcher",
25559     "Version": 2,
25560     "Schema": {
25561       "type": "object",
25562       "properties": {
25563         "Next": {
25564           "type": "object",
25565           "properties": {
25566             "Result": {
25567               "$ref": "#/definitions/MachineStorageIdsWatchResult"
25568             }
25569           }
25570         },
25571         "Stop": {
25572           "type": "object"
25573         }
25574       },
25575       "definitions": {
25576         "Error": {
25577           "type": "object",
25578           "properties": {
25579             "code": {
25580               "type": "string"
25581             },
25582             "info": {
25583               "$ref": "#/definitions/ErrorInfo"
25584             },
25585             "message": {
25586               "type": "string"
25587             }
25588           },
25589           "additionalProperties": false,
25590           "required": [
25591             "message",
25592             "code"
25593           ]
25594         },
25595         "ErrorInfo": {
25596           "type": "object",
25597           "properties": {
25598             "macaroon": {
25599               "$ref": "#/definitions/Macaroon"
25600             },
25601             "macaroon-path": {
25602               "type": "string"
25603             }
25604           },
25605           "additionalProperties": false
25606         },
25607         "Macaroon": {
25608           "type": "object",
25609           "additionalProperties": false
25610         },
25611         "MachineStorageId": {
25612           "type": "object",
25613           "properties": {
25614             "attachment-tag": {
25615               "type": "string"
25616             },
25617             "machine-tag": {
25618               "type": "string"
25619             }
25620           },
25621           "additionalProperties": false,
25622           "required": [
25623             "machine-tag",
25624             "attachment-tag"
25625           ]
25626         },
25627         "MachineStorageIdsWatchResult": {
25628           "type": "object",
25629           "properties": {
25630             "changes": {
25631               "type": "array",
25632               "items": {
25633                 "$ref": "#/definitions/MachineStorageId"
25634               }
25635             },
25636             "error": {
25637               "$ref": "#/definitions/Error"
25638             },
25639             "watcher-id": {
25640               "type": "string"
25641             }
25642           },
25643           "additionalProperties": false,
25644           "required": [
25645             "watcher-id",
25646             "changes"
25647           ]
25648         }
25649       }
25650     }
25651   }
25652 ]