Revert "Remove vendored libjuju"
[osm/N2VC.git] / modules / libjuju / juju / client / schemas-juju-2.2-beta2.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": 4,
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         "Consume": {
1322           "type": "object",
1323           "properties": {
1324             "Params": {
1325               "$ref": "#/definitions/ConsumeApplicationArgs"
1326             },
1327             "Result": {
1328               "$ref": "#/definitions/ConsumeApplicationResults"
1329             }
1330           }
1331         },
1332         "Deploy": {
1333           "type": "object",
1334           "properties": {
1335             "Params": {
1336               "$ref": "#/definitions/ApplicationsDeploy"
1337             },
1338             "Result": {
1339               "$ref": "#/definitions/ErrorResults"
1340             }
1341           }
1342         },
1343         "Destroy": {
1344           "type": "object",
1345           "properties": {
1346             "Params": {
1347               "$ref": "#/definitions/ApplicationDestroy"
1348             }
1349           }
1350         },
1351         "DestroyApplication": {
1352           "type": "object",
1353           "properties": {
1354             "Params": {
1355               "$ref": "#/definitions/Entities"
1356             },
1357             "Result": {
1358               "$ref": "#/definitions/DestroyApplicationResults"
1359             }
1360           }
1361         },
1362         "DestroyRelation": {
1363           "type": "object",
1364           "properties": {
1365             "Params": {
1366               "$ref": "#/definitions/DestroyRelation"
1367             }
1368           }
1369         },
1370         "DestroyUnit": {
1371           "type": "object",
1372           "properties": {
1373             "Params": {
1374               "$ref": "#/definitions/Entities"
1375             },
1376             "Result": {
1377               "$ref": "#/definitions/DestroyUnitResults"
1378             }
1379           }
1380         },
1381         "DestroyUnits": {
1382           "type": "object",
1383           "properties": {
1384             "Params": {
1385               "$ref": "#/definitions/DestroyApplicationUnits"
1386             }
1387           }
1388         },
1389         "Expose": {
1390           "type": "object",
1391           "properties": {
1392             "Params": {
1393               "$ref": "#/definitions/ApplicationExpose"
1394             }
1395           }
1396         },
1397         "Get": {
1398           "type": "object",
1399           "properties": {
1400             "Params": {
1401               "$ref": "#/definitions/ApplicationGet"
1402             },
1403             "Result": {
1404               "$ref": "#/definitions/ApplicationGetResults"
1405             }
1406           }
1407         },
1408         "GetCharmURL": {
1409           "type": "object",
1410           "properties": {
1411             "Params": {
1412               "$ref": "#/definitions/ApplicationGet"
1413             },
1414             "Result": {
1415               "$ref": "#/definitions/StringResult"
1416             }
1417           }
1418         },
1419         "GetConstraints": {
1420           "type": "object",
1421           "properties": {
1422             "Params": {
1423               "$ref": "#/definitions/GetApplicationConstraints"
1424             },
1425             "Result": {
1426               "$ref": "#/definitions/GetConstraintsResults"
1427             }
1428           }
1429         },
1430         "RemoteApplicationInfo": {
1431           "type": "object",
1432           "properties": {
1433             "Params": {
1434               "$ref": "#/definitions/ApplicationURLs"
1435             },
1436             "Result": {
1437               "$ref": "#/definitions/RemoteApplicationInfoResults"
1438             }
1439           }
1440         },
1441         "Set": {
1442           "type": "object",
1443           "properties": {
1444             "Params": {
1445               "$ref": "#/definitions/ApplicationSet"
1446             }
1447           }
1448         },
1449         "SetCharm": {
1450           "type": "object",
1451           "properties": {
1452             "Params": {
1453               "$ref": "#/definitions/ApplicationSetCharm"
1454             }
1455           }
1456         },
1457         "SetConstraints": {
1458           "type": "object",
1459           "properties": {
1460             "Params": {
1461               "$ref": "#/definitions/SetConstraints"
1462             }
1463           }
1464         },
1465         "SetMetricCredentials": {
1466           "type": "object",
1467           "properties": {
1468             "Params": {
1469               "$ref": "#/definitions/ApplicationMetricCredentials"
1470             },
1471             "Result": {
1472               "$ref": "#/definitions/ErrorResults"
1473             }
1474           }
1475         },
1476         "Unexpose": {
1477           "type": "object",
1478           "properties": {
1479             "Params": {
1480               "$ref": "#/definitions/ApplicationUnexpose"
1481             }
1482           }
1483         },
1484         "Unset": {
1485           "type": "object",
1486           "properties": {
1487             "Params": {
1488               "$ref": "#/definitions/ApplicationUnset"
1489             }
1490           }
1491         },
1492         "Update": {
1493           "type": "object",
1494           "properties": {
1495             "Params": {
1496               "$ref": "#/definitions/ApplicationUpdate"
1497             }
1498           }
1499         }
1500       },
1501       "definitions": {
1502         "AddApplicationUnits": {
1503           "type": "object",
1504           "properties": {
1505             "application": {
1506               "type": "string"
1507             },
1508             "num-units": {
1509               "type": "integer"
1510             },
1511             "placement": {
1512               "type": "array",
1513               "items": {
1514                 "$ref": "#/definitions/Placement"
1515               }
1516             }
1517           },
1518           "additionalProperties": false,
1519           "required": [
1520             "application",
1521             "num-units",
1522             "placement"
1523           ]
1524         },
1525         "AddApplicationUnitsResults": {
1526           "type": "object",
1527           "properties": {
1528             "units": {
1529               "type": "array",
1530               "items": {
1531                 "type": "string"
1532               }
1533             }
1534           },
1535           "additionalProperties": false,
1536           "required": [
1537             "units"
1538           ]
1539         },
1540         "AddRelation": {
1541           "type": "object",
1542           "properties": {
1543             "endpoints": {
1544               "type": "array",
1545               "items": {
1546                 "type": "string"
1547               }
1548             }
1549           },
1550           "additionalProperties": false,
1551           "required": [
1552             "endpoints"
1553           ]
1554         },
1555         "AddRelationResults": {
1556           "type": "object",
1557           "properties": {
1558             "endpoints": {
1559               "type": "object",
1560               "patternProperties": {
1561                 ".*": {
1562                   "$ref": "#/definitions/CharmRelation"
1563                 }
1564               }
1565             }
1566           },
1567           "additionalProperties": false,
1568           "required": [
1569             "endpoints"
1570           ]
1571         },
1572         "ApplicationCharmRelations": {
1573           "type": "object",
1574           "properties": {
1575             "application": {
1576               "type": "string"
1577             }
1578           },
1579           "additionalProperties": false,
1580           "required": [
1581             "application"
1582           ]
1583         },
1584         "ApplicationCharmRelationsResults": {
1585           "type": "object",
1586           "properties": {
1587             "charm-relations": {
1588               "type": "array",
1589               "items": {
1590                 "type": "string"
1591               }
1592             }
1593           },
1594           "additionalProperties": false,
1595           "required": [
1596             "charm-relations"
1597           ]
1598         },
1599         "ApplicationDeploy": {
1600           "type": "object",
1601           "properties": {
1602             "application": {
1603               "type": "string"
1604             },
1605             "channel": {
1606               "type": "string"
1607             },
1608             "charm-url": {
1609               "type": "string"
1610             },
1611             "config": {
1612               "type": "object",
1613               "patternProperties": {
1614                 ".*": {
1615                   "type": "string"
1616                 }
1617               }
1618             },
1619             "config-yaml": {
1620               "type": "string"
1621             },
1622             "constraints": {
1623               "$ref": "#/definitions/Value"
1624             },
1625             "endpoint-bindings": {
1626               "type": "object",
1627               "patternProperties": {
1628                 ".*": {
1629                   "type": "string"
1630                 }
1631               }
1632             },
1633             "num-units": {
1634               "type": "integer"
1635             },
1636             "placement": {
1637               "type": "array",
1638               "items": {
1639                 "$ref": "#/definitions/Placement"
1640               }
1641             },
1642             "resources": {
1643               "type": "object",
1644               "patternProperties": {
1645                 ".*": {
1646                   "type": "string"
1647                 }
1648               }
1649             },
1650             "series": {
1651               "type": "string"
1652             },
1653             "storage": {
1654               "type": "object",
1655               "patternProperties": {
1656                 ".*": {
1657                   "$ref": "#/definitions/Constraints"
1658                 }
1659               }
1660             }
1661           },
1662           "additionalProperties": false,
1663           "required": [
1664             "application",
1665             "series",
1666             "charm-url",
1667             "channel",
1668             "num-units",
1669             "config-yaml",
1670             "constraints"
1671           ]
1672         },
1673         "ApplicationDestroy": {
1674           "type": "object",
1675           "properties": {
1676             "application": {
1677               "type": "string"
1678             }
1679           },
1680           "additionalProperties": false,
1681           "required": [
1682             "application"
1683           ]
1684         },
1685         "ApplicationExpose": {
1686           "type": "object",
1687           "properties": {
1688             "application": {
1689               "type": "string"
1690             }
1691           },
1692           "additionalProperties": false,
1693           "required": [
1694             "application"
1695           ]
1696         },
1697         "ApplicationGet": {
1698           "type": "object",
1699           "properties": {
1700             "application": {
1701               "type": "string"
1702             }
1703           },
1704           "additionalProperties": false,
1705           "required": [
1706             "application"
1707           ]
1708         },
1709         "ApplicationGetResults": {
1710           "type": "object",
1711           "properties": {
1712             "application": {
1713               "type": "string"
1714             },
1715             "charm": {
1716               "type": "string"
1717             },
1718             "config": {
1719               "type": "object",
1720               "patternProperties": {
1721                 ".*": {
1722                   "type": "object",
1723                   "additionalProperties": true
1724                 }
1725               }
1726             },
1727             "constraints": {
1728               "$ref": "#/definitions/Value"
1729             },
1730             "series": {
1731               "type": "string"
1732             }
1733           },
1734           "additionalProperties": false,
1735           "required": [
1736             "application",
1737             "charm",
1738             "config",
1739             "constraints",
1740             "series"
1741           ]
1742         },
1743         "ApplicationMetricCredential": {
1744           "type": "object",
1745           "properties": {
1746             "application": {
1747               "type": "string"
1748             },
1749             "metrics-credentials": {
1750               "type": "array",
1751               "items": {
1752                 "type": "integer"
1753               }
1754             }
1755           },
1756           "additionalProperties": false,
1757           "required": [
1758             "application",
1759             "metrics-credentials"
1760           ]
1761         },
1762         "ApplicationMetricCredentials": {
1763           "type": "object",
1764           "properties": {
1765             "creds": {
1766               "type": "array",
1767               "items": {
1768                 "$ref": "#/definitions/ApplicationMetricCredential"
1769               }
1770             }
1771           },
1772           "additionalProperties": false,
1773           "required": [
1774             "creds"
1775           ]
1776         },
1777         "ApplicationSet": {
1778           "type": "object",
1779           "properties": {
1780             "application": {
1781               "type": "string"
1782             },
1783             "options": {
1784               "type": "object",
1785               "patternProperties": {
1786                 ".*": {
1787                   "type": "string"
1788                 }
1789               }
1790             }
1791           },
1792           "additionalProperties": false,
1793           "required": [
1794             "application",
1795             "options"
1796           ]
1797         },
1798         "ApplicationSetCharm": {
1799           "type": "object",
1800           "properties": {
1801             "application": {
1802               "type": "string"
1803             },
1804             "channel": {
1805               "type": "string"
1806             },
1807             "charm-url": {
1808               "type": "string"
1809             },
1810             "config-settings": {
1811               "type": "object",
1812               "patternProperties": {
1813                 ".*": {
1814                   "type": "string"
1815                 }
1816               }
1817             },
1818             "config-settings-yaml": {
1819               "type": "string"
1820             },
1821             "force-series": {
1822               "type": "boolean"
1823             },
1824             "force-units": {
1825               "type": "boolean"
1826             },
1827             "resource-ids": {
1828               "type": "object",
1829               "patternProperties": {
1830                 ".*": {
1831                   "type": "string"
1832                 }
1833               }
1834             },
1835             "storage-constraints": {
1836               "type": "object",
1837               "patternProperties": {
1838                 ".*": {
1839                   "$ref": "#/definitions/StorageConstraints"
1840                 }
1841               }
1842             }
1843           },
1844           "additionalProperties": false,
1845           "required": [
1846             "application",
1847             "charm-url",
1848             "channel",
1849             "force-units",
1850             "force-series"
1851           ]
1852         },
1853         "ApplicationURLs": {
1854           "type": "object",
1855           "properties": {
1856             "application-urls": {
1857               "type": "array",
1858               "items": {
1859                 "type": "string"
1860               }
1861             }
1862           },
1863           "additionalProperties": false
1864         },
1865         "ApplicationUnexpose": {
1866           "type": "object",
1867           "properties": {
1868             "application": {
1869               "type": "string"
1870             }
1871           },
1872           "additionalProperties": false,
1873           "required": [
1874             "application"
1875           ]
1876         },
1877         "ApplicationUnset": {
1878           "type": "object",
1879           "properties": {
1880             "application": {
1881               "type": "string"
1882             },
1883             "options": {
1884               "type": "array",
1885               "items": {
1886                 "type": "string"
1887               }
1888             }
1889           },
1890           "additionalProperties": false,
1891           "required": [
1892             "application",
1893             "options"
1894           ]
1895         },
1896         "ApplicationUpdate": {
1897           "type": "object",
1898           "properties": {
1899             "application": {
1900               "type": "string"
1901             },
1902             "charm-url": {
1903               "type": "string"
1904             },
1905             "constraints": {
1906               "$ref": "#/definitions/Value"
1907             },
1908             "force-charm-url": {
1909               "type": "boolean"
1910             },
1911             "force-series": {
1912               "type": "boolean"
1913             },
1914             "min-units": {
1915               "type": "integer"
1916             },
1917             "settings": {
1918               "type": "object",
1919               "patternProperties": {
1920                 ".*": {
1921                   "type": "string"
1922                 }
1923               }
1924             },
1925             "settings-yaml": {
1926               "type": "string"
1927             }
1928           },
1929           "additionalProperties": false,
1930           "required": [
1931             "application",
1932             "charm-url",
1933             "force-charm-url",
1934             "force-series",
1935             "settings-yaml"
1936           ]
1937         },
1938         "ApplicationsDeploy": {
1939           "type": "object",
1940           "properties": {
1941             "applications": {
1942               "type": "array",
1943               "items": {
1944                 "$ref": "#/definitions/ApplicationDeploy"
1945               }
1946             }
1947           },
1948           "additionalProperties": false,
1949           "required": [
1950             "applications"
1951           ]
1952         },
1953         "CharmRelation": {
1954           "type": "object",
1955           "properties": {
1956             "interface": {
1957               "type": "string"
1958             },
1959             "limit": {
1960               "type": "integer"
1961             },
1962             "name": {
1963               "type": "string"
1964             },
1965             "optional": {
1966               "type": "boolean"
1967             },
1968             "role": {
1969               "type": "string"
1970             },
1971             "scope": {
1972               "type": "string"
1973             }
1974           },
1975           "additionalProperties": false,
1976           "required": [
1977             "name",
1978             "role",
1979             "interface",
1980             "optional",
1981             "limit",
1982             "scope"
1983           ]
1984         },
1985         "Constraints": {
1986           "type": "object",
1987           "properties": {
1988             "Count": {
1989               "type": "integer"
1990             },
1991             "Pool": {
1992               "type": "string"
1993             },
1994             "Size": {
1995               "type": "integer"
1996             }
1997           },
1998           "additionalProperties": false,
1999           "required": [
2000             "Pool",
2001             "Size",
2002             "Count"
2003           ]
2004         },
2005         "ConsumeApplicationArg": {
2006           "type": "object",
2007           "properties": {
2008             "application-alias": {
2009               "type": "string"
2010             },
2011             "application-url": {
2012               "type": "string"
2013             }
2014           },
2015           "additionalProperties": false,
2016           "required": [
2017             "application-url"
2018           ]
2019         },
2020         "ConsumeApplicationArgs": {
2021           "type": "object",
2022           "properties": {
2023             "args": {
2024               "type": "array",
2025               "items": {
2026                 "$ref": "#/definitions/ConsumeApplicationArg"
2027               }
2028             }
2029           },
2030           "additionalProperties": false
2031         },
2032         "ConsumeApplicationResult": {
2033           "type": "object",
2034           "properties": {
2035             "error": {
2036               "$ref": "#/definitions/Error"
2037             },
2038             "local-name": {
2039               "type": "string"
2040             }
2041           },
2042           "additionalProperties": false
2043         },
2044         "ConsumeApplicationResults": {
2045           "type": "object",
2046           "properties": {
2047             "results": {
2048               "type": "array",
2049               "items": {
2050                 "$ref": "#/definitions/ConsumeApplicationResult"
2051               }
2052             }
2053           },
2054           "additionalProperties": false,
2055           "required": [
2056             "results"
2057           ]
2058         },
2059         "DestroyApplicationInfo": {
2060           "type": "object",
2061           "properties": {
2062             "destroyed-storage": {
2063               "type": "array",
2064               "items": {
2065                 "$ref": "#/definitions/Entity"
2066               }
2067             },
2068             "destroyed-units": {
2069               "type": "array",
2070               "items": {
2071                 "$ref": "#/definitions/Entity"
2072               }
2073             },
2074             "detached-storage": {
2075               "type": "array",
2076               "items": {
2077                 "$ref": "#/definitions/Entity"
2078               }
2079             }
2080           },
2081           "additionalProperties": false
2082         },
2083         "DestroyApplicationResult": {
2084           "type": "object",
2085           "properties": {
2086             "error": {
2087               "$ref": "#/definitions/Error"
2088             },
2089             "info": {
2090               "$ref": "#/definitions/DestroyApplicationInfo"
2091             }
2092           },
2093           "additionalProperties": false
2094         },
2095         "DestroyApplicationResults": {
2096           "type": "object",
2097           "properties": {
2098             "results": {
2099               "type": "array",
2100               "items": {
2101                 "$ref": "#/definitions/DestroyApplicationResult"
2102               }
2103             }
2104           },
2105           "additionalProperties": false
2106         },
2107         "DestroyApplicationUnits": {
2108           "type": "object",
2109           "properties": {
2110             "unit-names": {
2111               "type": "array",
2112               "items": {
2113                 "type": "string"
2114               }
2115             }
2116           },
2117           "additionalProperties": false,
2118           "required": [
2119             "unit-names"
2120           ]
2121         },
2122         "DestroyRelation": {
2123           "type": "object",
2124           "properties": {
2125             "endpoints": {
2126               "type": "array",
2127               "items": {
2128                 "type": "string"
2129               }
2130             }
2131           },
2132           "additionalProperties": false,
2133           "required": [
2134             "endpoints"
2135           ]
2136         },
2137         "DestroyUnitInfo": {
2138           "type": "object",
2139           "properties": {
2140             "destroyed-storage": {
2141               "type": "array",
2142               "items": {
2143                 "$ref": "#/definitions/Entity"
2144               }
2145             },
2146             "detached-storage": {
2147               "type": "array",
2148               "items": {
2149                 "$ref": "#/definitions/Entity"
2150               }
2151             }
2152           },
2153           "additionalProperties": false
2154         },
2155         "DestroyUnitResult": {
2156           "type": "object",
2157           "properties": {
2158             "error": {
2159               "$ref": "#/definitions/Error"
2160             },
2161             "info": {
2162               "$ref": "#/definitions/DestroyUnitInfo"
2163             }
2164           },
2165           "additionalProperties": false
2166         },
2167         "DestroyUnitResults": {
2168           "type": "object",
2169           "properties": {
2170             "results": {
2171               "type": "array",
2172               "items": {
2173                 "$ref": "#/definitions/DestroyUnitResult"
2174               }
2175             }
2176           },
2177           "additionalProperties": false
2178         },
2179         "Entities": {
2180           "type": "object",
2181           "properties": {
2182             "entities": {
2183               "type": "array",
2184               "items": {
2185                 "$ref": "#/definitions/Entity"
2186               }
2187             }
2188           },
2189           "additionalProperties": false,
2190           "required": [
2191             "entities"
2192           ]
2193         },
2194         "Entity": {
2195           "type": "object",
2196           "properties": {
2197             "tag": {
2198               "type": "string"
2199             }
2200           },
2201           "additionalProperties": false,
2202           "required": [
2203             "tag"
2204           ]
2205         },
2206         "Error": {
2207           "type": "object",
2208           "properties": {
2209             "code": {
2210               "type": "string"
2211             },
2212             "info": {
2213               "$ref": "#/definitions/ErrorInfo"
2214             },
2215             "message": {
2216               "type": "string"
2217             }
2218           },
2219           "additionalProperties": false,
2220           "required": [
2221             "message",
2222             "code"
2223           ]
2224         },
2225         "ErrorInfo": {
2226           "type": "object",
2227           "properties": {
2228             "macaroon": {
2229               "$ref": "#/definitions/Macaroon"
2230             },
2231             "macaroon-path": {
2232               "type": "string"
2233             }
2234           },
2235           "additionalProperties": false
2236         },
2237         "ErrorResult": {
2238           "type": "object",
2239           "properties": {
2240             "error": {
2241               "$ref": "#/definitions/Error"
2242             }
2243           },
2244           "additionalProperties": false
2245         },
2246         "ErrorResults": {
2247           "type": "object",
2248           "properties": {
2249             "results": {
2250               "type": "array",
2251               "items": {
2252                 "$ref": "#/definitions/ErrorResult"
2253               }
2254             }
2255           },
2256           "additionalProperties": false,
2257           "required": [
2258             "results"
2259           ]
2260         },
2261         "GetApplicationConstraints": {
2262           "type": "object",
2263           "properties": {
2264             "application": {
2265               "type": "string"
2266             }
2267           },
2268           "additionalProperties": false,
2269           "required": [
2270             "application"
2271           ]
2272         },
2273         "GetConstraintsResults": {
2274           "type": "object",
2275           "properties": {
2276             "constraints": {
2277               "$ref": "#/definitions/Value"
2278             }
2279           },
2280           "additionalProperties": false,
2281           "required": [
2282             "constraints"
2283           ]
2284         },
2285         "Macaroon": {
2286           "type": "object",
2287           "additionalProperties": false
2288         },
2289         "Placement": {
2290           "type": "object",
2291           "properties": {
2292             "directive": {
2293               "type": "string"
2294             },
2295             "scope": {
2296               "type": "string"
2297             }
2298           },
2299           "additionalProperties": false,
2300           "required": [
2301             "scope",
2302             "directive"
2303           ]
2304         },
2305         "RemoteApplicationInfo": {
2306           "type": "object",
2307           "properties": {
2308             "application-url": {
2309               "type": "string"
2310             },
2311             "description": {
2312               "type": "string"
2313             },
2314             "endpoints": {
2315               "type": "array",
2316               "items": {
2317                 "$ref": "#/definitions/RemoteEndpoint"
2318               }
2319             },
2320             "icon-url-path": {
2321               "type": "string"
2322             },
2323             "model-tag": {
2324               "type": "string"
2325             },
2326             "name": {
2327               "type": "string"
2328             },
2329             "source-model-label": {
2330               "type": "string"
2331             }
2332           },
2333           "additionalProperties": false,
2334           "required": [
2335             "model-tag",
2336             "name",
2337             "description",
2338             "application-url",
2339             "endpoints",
2340             "icon-url-path"
2341           ]
2342         },
2343         "RemoteApplicationInfoResult": {
2344           "type": "object",
2345           "properties": {
2346             "error": {
2347               "$ref": "#/definitions/Error"
2348             },
2349             "result": {
2350               "$ref": "#/definitions/RemoteApplicationInfo"
2351             }
2352           },
2353           "additionalProperties": false
2354         },
2355         "RemoteApplicationInfoResults": {
2356           "type": "object",
2357           "properties": {
2358             "results": {
2359               "type": "array",
2360               "items": {
2361                 "$ref": "#/definitions/RemoteApplicationInfoResult"
2362               }
2363             }
2364           },
2365           "additionalProperties": false,
2366           "required": [
2367             "results"
2368           ]
2369         },
2370         "RemoteEndpoint": {
2371           "type": "object",
2372           "properties": {
2373             "interface": {
2374               "type": "string"
2375             },
2376             "limit": {
2377               "type": "integer"
2378             },
2379             "name": {
2380               "type": "string"
2381             },
2382             "role": {
2383               "type": "string"
2384             },
2385             "scope": {
2386               "type": "string"
2387             }
2388           },
2389           "additionalProperties": false,
2390           "required": [
2391             "name",
2392             "role",
2393             "interface",
2394             "limit",
2395             "scope"
2396           ]
2397         },
2398         "SetConstraints": {
2399           "type": "object",
2400           "properties": {
2401             "application": {
2402               "type": "string"
2403             },
2404             "constraints": {
2405               "$ref": "#/definitions/Value"
2406             }
2407           },
2408           "additionalProperties": false,
2409           "required": [
2410             "application",
2411             "constraints"
2412           ]
2413         },
2414         "StorageConstraints": {
2415           "type": "object",
2416           "properties": {
2417             "count": {
2418               "type": "integer"
2419             },
2420             "pool": {
2421               "type": "string"
2422             },
2423             "size": {
2424               "type": "integer"
2425             }
2426           },
2427           "additionalProperties": false
2428         },
2429         "StringResult": {
2430           "type": "object",
2431           "properties": {
2432             "error": {
2433               "$ref": "#/definitions/Error"
2434             },
2435             "result": {
2436               "type": "string"
2437             }
2438           },
2439           "additionalProperties": false,
2440           "required": [
2441             "result"
2442           ]
2443         },
2444         "Value": {
2445           "type": "object",
2446           "properties": {
2447             "arch": {
2448               "type": "string"
2449             },
2450             "container": {
2451               "type": "string"
2452             },
2453             "cores": {
2454               "type": "integer"
2455             },
2456             "cpu-power": {
2457               "type": "integer"
2458             },
2459             "instance-type": {
2460               "type": "string"
2461             },
2462             "mem": {
2463               "type": "integer"
2464             },
2465             "root-disk": {
2466               "type": "integer"
2467             },
2468             "spaces": {
2469               "type": "array",
2470               "items": {
2471                 "type": "string"
2472               }
2473             },
2474             "tags": {
2475               "type": "array",
2476               "items": {
2477                 "type": "string"
2478               }
2479             },
2480             "virt-type": {
2481               "type": "string"
2482             }
2483           },
2484           "additionalProperties": false
2485         }
2486       }
2487     }
2488   },
2489   {
2490     "Name": "ApplicationScaler",
2491     "Version": 1,
2492     "Schema": {
2493       "type": "object",
2494       "properties": {
2495         "Rescale": {
2496           "type": "object",
2497           "properties": {
2498             "Params": {
2499               "$ref": "#/definitions/Entities"
2500             },
2501             "Result": {
2502               "$ref": "#/definitions/ErrorResults"
2503             }
2504           }
2505         },
2506         "Watch": {
2507           "type": "object",
2508           "properties": {
2509             "Result": {
2510               "$ref": "#/definitions/StringsWatchResult"
2511             }
2512           }
2513         }
2514       },
2515       "definitions": {
2516         "Entities": {
2517           "type": "object",
2518           "properties": {
2519             "entities": {
2520               "type": "array",
2521               "items": {
2522                 "$ref": "#/definitions/Entity"
2523               }
2524             }
2525           },
2526           "additionalProperties": false,
2527           "required": [
2528             "entities"
2529           ]
2530         },
2531         "Entity": {
2532           "type": "object",
2533           "properties": {
2534             "tag": {
2535               "type": "string"
2536             }
2537           },
2538           "additionalProperties": false,
2539           "required": [
2540             "tag"
2541           ]
2542         },
2543         "Error": {
2544           "type": "object",
2545           "properties": {
2546             "code": {
2547               "type": "string"
2548             },
2549             "info": {
2550               "$ref": "#/definitions/ErrorInfo"
2551             },
2552             "message": {
2553               "type": "string"
2554             }
2555           },
2556           "additionalProperties": false,
2557           "required": [
2558             "message",
2559             "code"
2560           ]
2561         },
2562         "ErrorInfo": {
2563           "type": "object",
2564           "properties": {
2565             "macaroon": {
2566               "$ref": "#/definitions/Macaroon"
2567             },
2568             "macaroon-path": {
2569               "type": "string"
2570             }
2571           },
2572           "additionalProperties": false
2573         },
2574         "ErrorResult": {
2575           "type": "object",
2576           "properties": {
2577             "error": {
2578               "$ref": "#/definitions/Error"
2579             }
2580           },
2581           "additionalProperties": false
2582         },
2583         "ErrorResults": {
2584           "type": "object",
2585           "properties": {
2586             "results": {
2587               "type": "array",
2588               "items": {
2589                 "$ref": "#/definitions/ErrorResult"
2590               }
2591             }
2592           },
2593           "additionalProperties": false,
2594           "required": [
2595             "results"
2596           ]
2597         },
2598         "Macaroon": {
2599           "type": "object",
2600           "additionalProperties": false
2601         },
2602         "StringsWatchResult": {
2603           "type": "object",
2604           "properties": {
2605             "changes": {
2606               "type": "array",
2607               "items": {
2608                 "type": "string"
2609               }
2610             },
2611             "error": {
2612               "$ref": "#/definitions/Error"
2613             },
2614             "watcher-id": {
2615               "type": "string"
2616             }
2617           },
2618           "additionalProperties": false,
2619           "required": [
2620             "watcher-id"
2621           ]
2622         }
2623       }
2624     }
2625   },
2626   {
2627     "Name": "Backups",
2628     "Version": 1,
2629     "Schema": {
2630       "type": "object",
2631       "properties": {
2632         "Create": {
2633           "type": "object",
2634           "properties": {
2635             "Params": {
2636               "$ref": "#/definitions/BackupsCreateArgs"
2637             },
2638             "Result": {
2639               "$ref": "#/definitions/BackupsMetadataResult"
2640             }
2641           }
2642         },
2643         "FinishRestore": {
2644           "type": "object"
2645         },
2646         "Info": {
2647           "type": "object",
2648           "properties": {
2649             "Params": {
2650               "$ref": "#/definitions/BackupsInfoArgs"
2651             },
2652             "Result": {
2653               "$ref": "#/definitions/BackupsMetadataResult"
2654             }
2655           }
2656         },
2657         "List": {
2658           "type": "object",
2659           "properties": {
2660             "Params": {
2661               "$ref": "#/definitions/BackupsListArgs"
2662             },
2663             "Result": {
2664               "$ref": "#/definitions/BackupsListResult"
2665             }
2666           }
2667         },
2668         "PrepareRestore": {
2669           "type": "object"
2670         },
2671         "Remove": {
2672           "type": "object",
2673           "properties": {
2674             "Params": {
2675               "$ref": "#/definitions/BackupsRemoveArgs"
2676             }
2677           }
2678         },
2679         "Restore": {
2680           "type": "object",
2681           "properties": {
2682             "Params": {
2683               "$ref": "#/definitions/RestoreArgs"
2684             }
2685           }
2686         }
2687       },
2688       "definitions": {
2689         "BackupsCreateArgs": {
2690           "type": "object",
2691           "properties": {
2692             "notes": {
2693               "type": "string"
2694             }
2695           },
2696           "additionalProperties": false,
2697           "required": [
2698             "notes"
2699           ]
2700         },
2701         "BackupsInfoArgs": {
2702           "type": "object",
2703           "properties": {
2704             "id": {
2705               "type": "string"
2706             }
2707           },
2708           "additionalProperties": false,
2709           "required": [
2710             "id"
2711           ]
2712         },
2713         "BackupsListArgs": {
2714           "type": "object",
2715           "additionalProperties": false
2716         },
2717         "BackupsListResult": {
2718           "type": "object",
2719           "properties": {
2720             "list": {
2721               "type": "array",
2722               "items": {
2723                 "$ref": "#/definitions/BackupsMetadataResult"
2724               }
2725             }
2726           },
2727           "additionalProperties": false,
2728           "required": [
2729             "list"
2730           ]
2731         },
2732         "BackupsMetadataResult": {
2733           "type": "object",
2734           "properties": {
2735             "ca-cert": {
2736               "type": "string"
2737             },
2738             "ca-private-key": {
2739               "type": "string"
2740             },
2741             "checksum": {
2742               "type": "string"
2743             },
2744             "checksum-format": {
2745               "type": "string"
2746             },
2747             "finished": {
2748               "type": "string",
2749               "format": "date-time"
2750             },
2751             "hostname": {
2752               "type": "string"
2753             },
2754             "id": {
2755               "type": "string"
2756             },
2757             "machine": {
2758               "type": "string"
2759             },
2760             "model": {
2761               "type": "string"
2762             },
2763             "notes": {
2764               "type": "string"
2765             },
2766             "series": {
2767               "type": "string"
2768             },
2769             "size": {
2770               "type": "integer"
2771             },
2772             "started": {
2773               "type": "string",
2774               "format": "date-time"
2775             },
2776             "stored": {
2777               "type": "string",
2778               "format": "date-time"
2779             },
2780             "version": {
2781               "$ref": "#/definitions/Number"
2782             }
2783           },
2784           "additionalProperties": false,
2785           "required": [
2786             "id",
2787             "checksum",
2788             "checksum-format",
2789             "size",
2790             "stored",
2791             "started",
2792             "finished",
2793             "notes",
2794             "model",
2795             "machine",
2796             "hostname",
2797             "version",
2798             "series",
2799             "ca-cert",
2800             "ca-private-key"
2801           ]
2802         },
2803         "BackupsRemoveArgs": {
2804           "type": "object",
2805           "properties": {
2806             "id": {
2807               "type": "string"
2808             }
2809           },
2810           "additionalProperties": false,
2811           "required": [
2812             "id"
2813           ]
2814         },
2815         "Number": {
2816           "type": "object",
2817           "properties": {
2818             "Build": {
2819               "type": "integer"
2820             },
2821             "Major": {
2822               "type": "integer"
2823             },
2824             "Minor": {
2825               "type": "integer"
2826             },
2827             "Patch": {
2828               "type": "integer"
2829             },
2830             "Tag": {
2831               "type": "string"
2832             }
2833           },
2834           "additionalProperties": false,
2835           "required": [
2836             "Major",
2837             "Minor",
2838             "Tag",
2839             "Patch",
2840             "Build"
2841           ]
2842         },
2843         "RestoreArgs": {
2844           "type": "object",
2845           "properties": {
2846             "backup-id": {
2847               "type": "string"
2848             }
2849           },
2850           "additionalProperties": false,
2851           "required": [
2852             "backup-id"
2853           ]
2854         }
2855       }
2856     }
2857   },
2858   {
2859     "Name": "Block",
2860     "Version": 2,
2861     "Schema": {
2862       "type": "object",
2863       "properties": {
2864         "List": {
2865           "type": "object",
2866           "properties": {
2867             "Result": {
2868               "$ref": "#/definitions/BlockResults"
2869             }
2870           }
2871         },
2872         "SwitchBlockOff": {
2873           "type": "object",
2874           "properties": {
2875             "Params": {
2876               "$ref": "#/definitions/BlockSwitchParams"
2877             },
2878             "Result": {
2879               "$ref": "#/definitions/ErrorResult"
2880             }
2881           }
2882         },
2883         "SwitchBlockOn": {
2884           "type": "object",
2885           "properties": {
2886             "Params": {
2887               "$ref": "#/definitions/BlockSwitchParams"
2888             },
2889             "Result": {
2890               "$ref": "#/definitions/ErrorResult"
2891             }
2892           }
2893         }
2894       },
2895       "definitions": {
2896         "Block": {
2897           "type": "object",
2898           "properties": {
2899             "id": {
2900               "type": "string"
2901             },
2902             "message": {
2903               "type": "string"
2904             },
2905             "tag": {
2906               "type": "string"
2907             },
2908             "type": {
2909               "type": "string"
2910             }
2911           },
2912           "additionalProperties": false,
2913           "required": [
2914             "id",
2915             "tag",
2916             "type"
2917           ]
2918         },
2919         "BlockResult": {
2920           "type": "object",
2921           "properties": {
2922             "error": {
2923               "$ref": "#/definitions/Error"
2924             },
2925             "result": {
2926               "$ref": "#/definitions/Block"
2927             }
2928           },
2929           "additionalProperties": false,
2930           "required": [
2931             "result"
2932           ]
2933         },
2934         "BlockResults": {
2935           "type": "object",
2936           "properties": {
2937             "results": {
2938               "type": "array",
2939               "items": {
2940                 "$ref": "#/definitions/BlockResult"
2941               }
2942             }
2943           },
2944           "additionalProperties": false
2945         },
2946         "BlockSwitchParams": {
2947           "type": "object",
2948           "properties": {
2949             "message": {
2950               "type": "string"
2951             },
2952             "type": {
2953               "type": "string"
2954             }
2955           },
2956           "additionalProperties": false,
2957           "required": [
2958             "type"
2959           ]
2960         },
2961         "Error": {
2962           "type": "object",
2963           "properties": {
2964             "code": {
2965               "type": "string"
2966             },
2967             "info": {
2968               "$ref": "#/definitions/ErrorInfo"
2969             },
2970             "message": {
2971               "type": "string"
2972             }
2973           },
2974           "additionalProperties": false,
2975           "required": [
2976             "message",
2977             "code"
2978           ]
2979         },
2980         "ErrorInfo": {
2981           "type": "object",
2982           "properties": {
2983             "macaroon": {
2984               "$ref": "#/definitions/Macaroon"
2985             },
2986             "macaroon-path": {
2987               "type": "string"
2988             }
2989           },
2990           "additionalProperties": false
2991         },
2992         "ErrorResult": {
2993           "type": "object",
2994           "properties": {
2995             "error": {
2996               "$ref": "#/definitions/Error"
2997             }
2998           },
2999           "additionalProperties": false
3000         },
3001         "Macaroon": {
3002           "type": "object",
3003           "additionalProperties": false
3004         }
3005       }
3006     }
3007   },
3008   {
3009     "Name": "Bundle",
3010     "Version": 1,
3011     "Schema": {
3012       "type": "object",
3013       "properties": {
3014         "GetChanges": {
3015           "type": "object",
3016           "properties": {
3017             "Params": {
3018               "$ref": "#/definitions/BundleChangesParams"
3019             },
3020             "Result": {
3021               "$ref": "#/definitions/BundleChangesResults"
3022             }
3023           }
3024         }
3025       },
3026       "definitions": {
3027         "BundleChange": {
3028           "type": "object",
3029           "properties": {
3030             "args": {
3031               "type": "array",
3032               "items": {
3033                 "type": "object",
3034                 "additionalProperties": true
3035               }
3036             },
3037             "id": {
3038               "type": "string"
3039             },
3040             "method": {
3041               "type": "string"
3042             },
3043             "requires": {
3044               "type": "array",
3045               "items": {
3046                 "type": "string"
3047               }
3048             }
3049           },
3050           "additionalProperties": false,
3051           "required": [
3052             "id",
3053             "method",
3054             "args",
3055             "requires"
3056           ]
3057         },
3058         "BundleChangesParams": {
3059           "type": "object",
3060           "properties": {
3061             "yaml": {
3062               "type": "string"
3063             }
3064           },
3065           "additionalProperties": false,
3066           "required": [
3067             "yaml"
3068           ]
3069         },
3070         "BundleChangesResults": {
3071           "type": "object",
3072           "properties": {
3073             "changes": {
3074               "type": "array",
3075               "items": {
3076                 "$ref": "#/definitions/BundleChange"
3077               }
3078             },
3079             "errors": {
3080               "type": "array",
3081               "items": {
3082                 "type": "string"
3083               }
3084             }
3085           },
3086           "additionalProperties": false
3087         }
3088       }
3089     }
3090   },
3091   {
3092     "Name": "CharmRevisionUpdater",
3093     "Version": 2,
3094     "Schema": {
3095       "type": "object",
3096       "properties": {
3097         "UpdateLatestRevisions": {
3098           "type": "object",
3099           "properties": {
3100             "Result": {
3101               "$ref": "#/definitions/ErrorResult"
3102             }
3103           }
3104         }
3105       },
3106       "definitions": {
3107         "Error": {
3108           "type": "object",
3109           "properties": {
3110             "code": {
3111               "type": "string"
3112             },
3113             "info": {
3114               "$ref": "#/definitions/ErrorInfo"
3115             },
3116             "message": {
3117               "type": "string"
3118             }
3119           },
3120           "additionalProperties": false,
3121           "required": [
3122             "message",
3123             "code"
3124           ]
3125         },
3126         "ErrorInfo": {
3127           "type": "object",
3128           "properties": {
3129             "macaroon": {
3130               "$ref": "#/definitions/Macaroon"
3131             },
3132             "macaroon-path": {
3133               "type": "string"
3134             }
3135           },
3136           "additionalProperties": false
3137         },
3138         "ErrorResult": {
3139           "type": "object",
3140           "properties": {
3141             "error": {
3142               "$ref": "#/definitions/Error"
3143             }
3144           },
3145           "additionalProperties": false
3146         },
3147         "Macaroon": {
3148           "type": "object",
3149           "additionalProperties": false
3150         }
3151       }
3152     }
3153   },
3154   {
3155     "Name": "Charms",
3156     "Version": 2,
3157     "Schema": {
3158       "type": "object",
3159       "properties": {
3160         "CharmInfo": {
3161           "type": "object",
3162           "properties": {
3163             "Params": {
3164               "$ref": "#/definitions/CharmURL"
3165             },
3166             "Result": {
3167               "$ref": "#/definitions/CharmInfo"
3168             }
3169           }
3170         },
3171         "IsMetered": {
3172           "type": "object",
3173           "properties": {
3174             "Params": {
3175               "$ref": "#/definitions/CharmURL"
3176             },
3177             "Result": {
3178               "$ref": "#/definitions/IsMeteredResult"
3179             }
3180           }
3181         },
3182         "List": {
3183           "type": "object",
3184           "properties": {
3185             "Params": {
3186               "$ref": "#/definitions/CharmsList"
3187             },
3188             "Result": {
3189               "$ref": "#/definitions/CharmsListResult"
3190             }
3191           }
3192         }
3193       },
3194       "definitions": {
3195         "CharmActionSpec": {
3196           "type": "object",
3197           "properties": {
3198             "description": {
3199               "type": "string"
3200             },
3201             "params": {
3202               "type": "object",
3203               "patternProperties": {
3204                 ".*": {
3205                   "type": "object",
3206                   "additionalProperties": true
3207                 }
3208               }
3209             }
3210           },
3211           "additionalProperties": false,
3212           "required": [
3213             "description",
3214             "params"
3215           ]
3216         },
3217         "CharmActions": {
3218           "type": "object",
3219           "properties": {
3220             "specs": {
3221               "type": "object",
3222               "patternProperties": {
3223                 ".*": {
3224                   "$ref": "#/definitions/CharmActionSpec"
3225                 }
3226               }
3227             }
3228           },
3229           "additionalProperties": false
3230         },
3231         "CharmInfo": {
3232           "type": "object",
3233           "properties": {
3234             "actions": {
3235               "$ref": "#/definitions/CharmActions"
3236             },
3237             "config": {
3238               "type": "object",
3239               "patternProperties": {
3240                 ".*": {
3241                   "$ref": "#/definitions/CharmOption"
3242                 }
3243               }
3244             },
3245             "meta": {
3246               "$ref": "#/definitions/CharmMeta"
3247             },
3248             "metrics": {
3249               "$ref": "#/definitions/CharmMetrics"
3250             },
3251             "revision": {
3252               "type": "integer"
3253             },
3254             "url": {
3255               "type": "string"
3256             }
3257           },
3258           "additionalProperties": false,
3259           "required": [
3260             "revision",
3261             "url",
3262             "config"
3263           ]
3264         },
3265         "CharmMeta": {
3266           "type": "object",
3267           "properties": {
3268             "categories": {
3269               "type": "array",
3270               "items": {
3271                 "type": "string"
3272               }
3273             },
3274             "description": {
3275               "type": "string"
3276             },
3277             "extra-bindings": {
3278               "type": "object",
3279               "patternProperties": {
3280                 ".*": {
3281                   "type": "string"
3282                 }
3283               }
3284             },
3285             "min-juju-version": {
3286               "type": "string"
3287             },
3288             "name": {
3289               "type": "string"
3290             },
3291             "payload-classes": {
3292               "type": "object",
3293               "patternProperties": {
3294                 ".*": {
3295                   "$ref": "#/definitions/CharmPayloadClass"
3296                 }
3297               }
3298             },
3299             "peers": {
3300               "type": "object",
3301               "patternProperties": {
3302                 ".*": {
3303                   "$ref": "#/definitions/CharmRelation"
3304                 }
3305               }
3306             },
3307             "provides": {
3308               "type": "object",
3309               "patternProperties": {
3310                 ".*": {
3311                   "$ref": "#/definitions/CharmRelation"
3312                 }
3313               }
3314             },
3315             "requires": {
3316               "type": "object",
3317               "patternProperties": {
3318                 ".*": {
3319                   "$ref": "#/definitions/CharmRelation"
3320                 }
3321               }
3322             },
3323             "resources": {
3324               "type": "object",
3325               "patternProperties": {
3326                 ".*": {
3327                   "$ref": "#/definitions/CharmResourceMeta"
3328                 }
3329               }
3330             },
3331             "series": {
3332               "type": "array",
3333               "items": {
3334                 "type": "string"
3335               }
3336             },
3337             "storage": {
3338               "type": "object",
3339               "patternProperties": {
3340                 ".*": {
3341                   "$ref": "#/definitions/CharmStorage"
3342                 }
3343               }
3344             },
3345             "subordinate": {
3346               "type": "boolean"
3347             },
3348             "summary": {
3349               "type": "string"
3350             },
3351             "tags": {
3352               "type": "array",
3353               "items": {
3354                 "type": "string"
3355               }
3356             },
3357             "terms": {
3358               "type": "array",
3359               "items": {
3360                 "type": "string"
3361               }
3362             }
3363           },
3364           "additionalProperties": false,
3365           "required": [
3366             "name",
3367             "summary",
3368             "description",
3369             "subordinate"
3370           ]
3371         },
3372         "CharmMetric": {
3373           "type": "object",
3374           "properties": {
3375             "description": {
3376               "type": "string"
3377             },
3378             "type": {
3379               "type": "string"
3380             }
3381           },
3382           "additionalProperties": false,
3383           "required": [
3384             "type",
3385             "description"
3386           ]
3387         },
3388         "CharmMetrics": {
3389           "type": "object",
3390           "properties": {
3391             "metrics": {
3392               "type": "object",
3393               "patternProperties": {
3394                 ".*": {
3395                   "$ref": "#/definitions/CharmMetric"
3396                 }
3397               }
3398             },
3399             "plan": {
3400               "$ref": "#/definitions/CharmPlan"
3401             }
3402           },
3403           "additionalProperties": false,
3404           "required": [
3405             "metrics",
3406             "plan"
3407           ]
3408         },
3409         "CharmOption": {
3410           "type": "object",
3411           "properties": {
3412             "default": {
3413               "type": "object",
3414               "additionalProperties": true
3415             },
3416             "description": {
3417               "type": "string"
3418             },
3419             "type": {
3420               "type": "string"
3421             }
3422           },
3423           "additionalProperties": false,
3424           "required": [
3425             "type"
3426           ]
3427         },
3428         "CharmPayloadClass": {
3429           "type": "object",
3430           "properties": {
3431             "name": {
3432               "type": "string"
3433             },
3434             "type": {
3435               "type": "string"
3436             }
3437           },
3438           "additionalProperties": false,
3439           "required": [
3440             "name",
3441             "type"
3442           ]
3443         },
3444         "CharmPlan": {
3445           "type": "object",
3446           "properties": {
3447             "required": {
3448               "type": "boolean"
3449             }
3450           },
3451           "additionalProperties": false,
3452           "required": [
3453             "required"
3454           ]
3455         },
3456         "CharmRelation": {
3457           "type": "object",
3458           "properties": {
3459             "interface": {
3460               "type": "string"
3461             },
3462             "limit": {
3463               "type": "integer"
3464             },
3465             "name": {
3466               "type": "string"
3467             },
3468             "optional": {
3469               "type": "boolean"
3470             },
3471             "role": {
3472               "type": "string"
3473             },
3474             "scope": {
3475               "type": "string"
3476             }
3477           },
3478           "additionalProperties": false,
3479           "required": [
3480             "name",
3481             "role",
3482             "interface",
3483             "optional",
3484             "limit",
3485             "scope"
3486           ]
3487         },
3488         "CharmResourceMeta": {
3489           "type": "object",
3490           "properties": {
3491             "description": {
3492               "type": "string"
3493             },
3494             "name": {
3495               "type": "string"
3496             },
3497             "path": {
3498               "type": "string"
3499             },
3500             "type": {
3501               "type": "string"
3502             }
3503           },
3504           "additionalProperties": false,
3505           "required": [
3506             "name",
3507             "type",
3508             "path",
3509             "description"
3510           ]
3511         },
3512         "CharmStorage": {
3513           "type": "object",
3514           "properties": {
3515             "count-max": {
3516               "type": "integer"
3517             },
3518             "count-min": {
3519               "type": "integer"
3520             },
3521             "description": {
3522               "type": "string"
3523             },
3524             "location": {
3525               "type": "string"
3526             },
3527             "minimum-size": {
3528               "type": "integer"
3529             },
3530             "name": {
3531               "type": "string"
3532             },
3533             "properties": {
3534               "type": "array",
3535               "items": {
3536                 "type": "string"
3537               }
3538             },
3539             "read-only": {
3540               "type": "boolean"
3541             },
3542             "shared": {
3543               "type": "boolean"
3544             },
3545             "type": {
3546               "type": "string"
3547             }
3548           },
3549           "additionalProperties": false,
3550           "required": [
3551             "name",
3552             "description",
3553             "type",
3554             "shared",
3555             "read-only",
3556             "count-min",
3557             "count-max",
3558             "minimum-size"
3559           ]
3560         },
3561         "CharmURL": {
3562           "type": "object",
3563           "properties": {
3564             "url": {
3565               "type": "string"
3566             }
3567           },
3568           "additionalProperties": false,
3569           "required": [
3570             "url"
3571           ]
3572         },
3573         "CharmsList": {
3574           "type": "object",
3575           "properties": {
3576             "names": {
3577               "type": "array",
3578               "items": {
3579                 "type": "string"
3580               }
3581             }
3582           },
3583           "additionalProperties": false,
3584           "required": [
3585             "names"
3586           ]
3587         },
3588         "CharmsListResult": {
3589           "type": "object",
3590           "properties": {
3591             "charm-urls": {
3592               "type": "array",
3593               "items": {
3594                 "type": "string"
3595               }
3596             }
3597           },
3598           "additionalProperties": false,
3599           "required": [
3600             "charm-urls"
3601           ]
3602         },
3603         "IsMeteredResult": {
3604           "type": "object",
3605           "properties": {
3606             "metered": {
3607               "type": "boolean"
3608             }
3609           },
3610           "additionalProperties": false,
3611           "required": [
3612             "metered"
3613           ]
3614         }
3615       }
3616     }
3617   },
3618   {
3619     "Name": "Cleaner",
3620     "Version": 2,
3621     "Schema": {
3622       "type": "object",
3623       "properties": {
3624         "Cleanup": {
3625           "type": "object"
3626         },
3627         "WatchCleanups": {
3628           "type": "object",
3629           "properties": {
3630             "Result": {
3631               "$ref": "#/definitions/NotifyWatchResult"
3632             }
3633           }
3634         }
3635       },
3636       "definitions": {
3637         "Error": {
3638           "type": "object",
3639           "properties": {
3640             "code": {
3641               "type": "string"
3642             },
3643             "info": {
3644               "$ref": "#/definitions/ErrorInfo"
3645             },
3646             "message": {
3647               "type": "string"
3648             }
3649           },
3650           "additionalProperties": false,
3651           "required": [
3652             "message",
3653             "code"
3654           ]
3655         },
3656         "ErrorInfo": {
3657           "type": "object",
3658           "properties": {
3659             "macaroon": {
3660               "$ref": "#/definitions/Macaroon"
3661             },
3662             "macaroon-path": {
3663               "type": "string"
3664             }
3665           },
3666           "additionalProperties": false
3667         },
3668         "Macaroon": {
3669           "type": "object",
3670           "additionalProperties": false
3671         },
3672         "NotifyWatchResult": {
3673           "type": "object",
3674           "properties": {
3675             "NotifyWatcherId": {
3676               "type": "string"
3677             },
3678             "error": {
3679               "$ref": "#/definitions/Error"
3680             }
3681           },
3682           "additionalProperties": false,
3683           "required": [
3684             "NotifyWatcherId"
3685           ]
3686         }
3687       }
3688     }
3689   },
3690   {
3691     "Name": "Client",
3692     "Version": 1,
3693     "Schema": {
3694       "type": "object",
3695       "properties": {
3696         "APIHostPorts": {
3697           "type": "object",
3698           "properties": {
3699             "Result": {
3700               "$ref": "#/definitions/APIHostPortsResult"
3701             }
3702           }
3703         },
3704         "AbortCurrentUpgrade": {
3705           "type": "object"
3706         },
3707         "AddCharm": {
3708           "type": "object",
3709           "properties": {
3710             "Params": {
3711               "$ref": "#/definitions/AddCharm"
3712             }
3713           }
3714         },
3715         "AddCharmWithAuthorization": {
3716           "type": "object",
3717           "properties": {
3718             "Params": {
3719               "$ref": "#/definitions/AddCharmWithAuthorization"
3720             }
3721           }
3722         },
3723         "AddMachines": {
3724           "type": "object",
3725           "properties": {
3726             "Params": {
3727               "$ref": "#/definitions/AddMachines"
3728             },
3729             "Result": {
3730               "$ref": "#/definitions/AddMachinesResults"
3731             }
3732           }
3733         },
3734         "AddMachinesV2": {
3735           "type": "object",
3736           "properties": {
3737             "Params": {
3738               "$ref": "#/definitions/AddMachines"
3739             },
3740             "Result": {
3741               "$ref": "#/definitions/AddMachinesResults"
3742             }
3743           }
3744         },
3745         "AgentVersion": {
3746           "type": "object",
3747           "properties": {
3748             "Result": {
3749               "$ref": "#/definitions/AgentVersionResult"
3750             }
3751           }
3752         },
3753         "DestroyMachines": {
3754           "type": "object",
3755           "properties": {
3756             "Params": {
3757               "$ref": "#/definitions/DestroyMachines"
3758             }
3759           }
3760         },
3761         "FindTools": {
3762           "type": "object",
3763           "properties": {
3764             "Params": {
3765               "$ref": "#/definitions/FindToolsParams"
3766             },
3767             "Result": {
3768               "$ref": "#/definitions/FindToolsResult"
3769             }
3770           }
3771         },
3772         "FullStatus": {
3773           "type": "object",
3774           "properties": {
3775             "Params": {
3776               "$ref": "#/definitions/StatusParams"
3777             },
3778             "Result": {
3779               "$ref": "#/definitions/FullStatus"
3780             }
3781           }
3782         },
3783         "GetBundleChanges": {
3784           "type": "object",
3785           "properties": {
3786             "Params": {
3787               "$ref": "#/definitions/BundleChangesParams"
3788             },
3789             "Result": {
3790               "$ref": "#/definitions/BundleChangesResults"
3791             }
3792           }
3793         },
3794         "GetModelConstraints": {
3795           "type": "object",
3796           "properties": {
3797             "Result": {
3798               "$ref": "#/definitions/GetConstraintsResults"
3799             }
3800           }
3801         },
3802         "InjectMachines": {
3803           "type": "object",
3804           "properties": {
3805             "Params": {
3806               "$ref": "#/definitions/AddMachines"
3807             },
3808             "Result": {
3809               "$ref": "#/definitions/AddMachinesResults"
3810             }
3811           }
3812         },
3813         "ModelGet": {
3814           "type": "object",
3815           "properties": {
3816             "Result": {
3817               "$ref": "#/definitions/ModelConfigResults"
3818             }
3819           }
3820         },
3821         "ModelInfo": {
3822           "type": "object",
3823           "properties": {
3824             "Result": {
3825               "$ref": "#/definitions/ModelInfo"
3826             }
3827           }
3828         },
3829         "ModelSet": {
3830           "type": "object",
3831           "properties": {
3832             "Params": {
3833               "$ref": "#/definitions/ModelSet"
3834             }
3835           }
3836         },
3837         "ModelUnset": {
3838           "type": "object",
3839           "properties": {
3840             "Params": {
3841               "$ref": "#/definitions/ModelUnset"
3842             }
3843           }
3844         },
3845         "ModelUserInfo": {
3846           "type": "object",
3847           "properties": {
3848             "Result": {
3849               "$ref": "#/definitions/ModelUserInfoResults"
3850             }
3851           }
3852         },
3853         "PrivateAddress": {
3854           "type": "object",
3855           "properties": {
3856             "Params": {
3857               "$ref": "#/definitions/PrivateAddress"
3858             },
3859             "Result": {
3860               "$ref": "#/definitions/PrivateAddressResults"
3861             }
3862           }
3863         },
3864         "ProvisioningScript": {
3865           "type": "object",
3866           "properties": {
3867             "Params": {
3868               "$ref": "#/definitions/ProvisioningScriptParams"
3869             },
3870             "Result": {
3871               "$ref": "#/definitions/ProvisioningScriptResult"
3872             }
3873           }
3874         },
3875         "PublicAddress": {
3876           "type": "object",
3877           "properties": {
3878             "Params": {
3879               "$ref": "#/definitions/PublicAddress"
3880             },
3881             "Result": {
3882               "$ref": "#/definitions/PublicAddressResults"
3883             }
3884           }
3885         },
3886         "ResolveCharms": {
3887           "type": "object",
3888           "properties": {
3889             "Params": {
3890               "$ref": "#/definitions/ResolveCharms"
3891             },
3892             "Result": {
3893               "$ref": "#/definitions/ResolveCharmResults"
3894             }
3895           }
3896         },
3897         "Resolved": {
3898           "type": "object",
3899           "properties": {
3900             "Params": {
3901               "$ref": "#/definitions/Resolved"
3902             }
3903           }
3904         },
3905         "RetryProvisioning": {
3906           "type": "object",
3907           "properties": {
3908             "Params": {
3909               "$ref": "#/definitions/Entities"
3910             },
3911             "Result": {
3912               "$ref": "#/definitions/ErrorResults"
3913             }
3914           }
3915         },
3916         "SLALevel": {
3917           "type": "object",
3918           "properties": {
3919             "Result": {
3920               "$ref": "#/definitions/StringResult"
3921             }
3922           }
3923         },
3924         "SetModelAgentVersion": {
3925           "type": "object",
3926           "properties": {
3927             "Params": {
3928               "$ref": "#/definitions/SetModelAgentVersion"
3929             }
3930           }
3931         },
3932         "SetModelConstraints": {
3933           "type": "object",
3934           "properties": {
3935             "Params": {
3936               "$ref": "#/definitions/SetConstraints"
3937             }
3938           }
3939         },
3940         "SetSLALevel": {
3941           "type": "object",
3942           "properties": {
3943             "Params": {
3944               "$ref": "#/definitions/ModelSLA"
3945             }
3946           }
3947         },
3948         "StatusHistory": {
3949           "type": "object",
3950           "properties": {
3951             "Params": {
3952               "$ref": "#/definitions/StatusHistoryRequests"
3953             },
3954             "Result": {
3955               "$ref": "#/definitions/StatusHistoryResults"
3956             }
3957           }
3958         },
3959         "WatchAll": {
3960           "type": "object",
3961           "properties": {
3962             "Result": {
3963               "$ref": "#/definitions/AllWatcherId"
3964             }
3965           }
3966         }
3967       },
3968       "definitions": {
3969         "APIHostPortsResult": {
3970           "type": "object",
3971           "properties": {
3972             "servers": {
3973               "type": "array",
3974               "items": {
3975                 "type": "array",
3976                 "items": {
3977                   "$ref": "#/definitions/HostPort"
3978                 }
3979               }
3980             }
3981           },
3982           "additionalProperties": false,
3983           "required": [
3984             "servers"
3985           ]
3986         },
3987         "AddCharm": {
3988           "type": "object",
3989           "properties": {
3990             "channel": {
3991               "type": "string"
3992             },
3993             "url": {
3994               "type": "string"
3995             }
3996           },
3997           "additionalProperties": false,
3998           "required": [
3999             "url",
4000             "channel"
4001           ]
4002         },
4003         "AddCharmWithAuthorization": {
4004           "type": "object",
4005           "properties": {
4006             "channel": {
4007               "type": "string"
4008             },
4009             "macaroon": {
4010               "$ref": "#/definitions/Macaroon"
4011             },
4012             "url": {
4013               "type": "string"
4014             }
4015           },
4016           "additionalProperties": false,
4017           "required": [
4018             "url",
4019             "channel",
4020             "macaroon"
4021           ]
4022         },
4023         "AddMachineParams": {
4024           "type": "object",
4025           "properties": {
4026             "addresses": {
4027               "type": "array",
4028               "items": {
4029                 "$ref": "#/definitions/Address"
4030               }
4031             },
4032             "constraints": {
4033               "$ref": "#/definitions/Value"
4034             },
4035             "container-type": {
4036               "type": "string"
4037             },
4038             "disks": {
4039               "type": "array",
4040               "items": {
4041                 "$ref": "#/definitions/Constraints"
4042               }
4043             },
4044             "hardware-characteristics": {
4045               "$ref": "#/definitions/HardwareCharacteristics"
4046             },
4047             "instance-id": {
4048               "type": "string"
4049             },
4050             "jobs": {
4051               "type": "array",
4052               "items": {
4053                 "type": "string"
4054               }
4055             },
4056             "nonce": {
4057               "type": "string"
4058             },
4059             "parent-id": {
4060               "type": "string"
4061             },
4062             "placement": {
4063               "$ref": "#/definitions/Placement"
4064             },
4065             "series": {
4066               "type": "string"
4067             }
4068           },
4069           "additionalProperties": false,
4070           "required": [
4071             "series",
4072             "constraints",
4073             "jobs",
4074             "parent-id",
4075             "container-type",
4076             "instance-id",
4077             "nonce",
4078             "hardware-characteristics",
4079             "addresses"
4080           ]
4081         },
4082         "AddMachines": {
4083           "type": "object",
4084           "properties": {
4085             "params": {
4086               "type": "array",
4087               "items": {
4088                 "$ref": "#/definitions/AddMachineParams"
4089               }
4090             }
4091           },
4092           "additionalProperties": false,
4093           "required": [
4094             "params"
4095           ]
4096         },
4097         "AddMachinesResult": {
4098           "type": "object",
4099           "properties": {
4100             "error": {
4101               "$ref": "#/definitions/Error"
4102             },
4103             "machine": {
4104               "type": "string"
4105             }
4106           },
4107           "additionalProperties": false,
4108           "required": [
4109             "machine"
4110           ]
4111         },
4112         "AddMachinesResults": {
4113           "type": "object",
4114           "properties": {
4115             "machines": {
4116               "type": "array",
4117               "items": {
4118                 "$ref": "#/definitions/AddMachinesResult"
4119               }
4120             }
4121           },
4122           "additionalProperties": false,
4123           "required": [
4124             "machines"
4125           ]
4126         },
4127         "Address": {
4128           "type": "object",
4129           "properties": {
4130             "scope": {
4131               "type": "string"
4132             },
4133             "space-name": {
4134               "type": "string"
4135             },
4136             "type": {
4137               "type": "string"
4138             },
4139             "value": {
4140               "type": "string"
4141             }
4142           },
4143           "additionalProperties": false,
4144           "required": [
4145             "value",
4146             "type",
4147             "scope"
4148           ]
4149         },
4150         "AgentVersionResult": {
4151           "type": "object",
4152           "properties": {
4153             "version": {
4154               "$ref": "#/definitions/Number"
4155             }
4156           },
4157           "additionalProperties": false,
4158           "required": [
4159             "version"
4160           ]
4161         },
4162         "AllWatcherId": {
4163           "type": "object",
4164           "properties": {
4165             "watcher-id": {
4166               "type": "string"
4167             }
4168           },
4169           "additionalProperties": false,
4170           "required": [
4171             "watcher-id"
4172           ]
4173         },
4174         "ApplicationStatus": {
4175           "type": "object",
4176           "properties": {
4177             "can-upgrade-to": {
4178               "type": "string"
4179             },
4180             "charm": {
4181               "type": "string"
4182             },
4183             "err": {
4184               "type": "object",
4185               "additionalProperties": true
4186             },
4187             "exposed": {
4188               "type": "boolean"
4189             },
4190             "life": {
4191               "type": "string"
4192             },
4193             "meter-statuses": {
4194               "type": "object",
4195               "patternProperties": {
4196                 ".*": {
4197                   "$ref": "#/definitions/MeterStatus"
4198                 }
4199               }
4200             },
4201             "relations": {
4202               "type": "object",
4203               "patternProperties": {
4204                 ".*": {
4205                   "type": "array",
4206                   "items": {
4207                     "type": "string"
4208                   }
4209                 }
4210               }
4211             },
4212             "series": {
4213               "type": "string"
4214             },
4215             "status": {
4216               "$ref": "#/definitions/DetailedStatus"
4217             },
4218             "subordinate-to": {
4219               "type": "array",
4220               "items": {
4221                 "type": "string"
4222               }
4223             },
4224             "units": {
4225               "type": "object",
4226               "patternProperties": {
4227                 ".*": {
4228                   "$ref": "#/definitions/UnitStatus"
4229                 }
4230               }
4231             },
4232             "workload-version": {
4233               "type": "string"
4234             }
4235           },
4236           "additionalProperties": false,
4237           "required": [
4238             "charm",
4239             "series",
4240             "exposed",
4241             "life",
4242             "relations",
4243             "can-upgrade-to",
4244             "subordinate-to",
4245             "units",
4246             "meter-statuses",
4247             "status",
4248             "workload-version"
4249           ]
4250         },
4251         "Binary": {
4252           "type": "object",
4253           "properties": {
4254             "Arch": {
4255               "type": "string"
4256             },
4257             "Number": {
4258               "$ref": "#/definitions/Number"
4259             },
4260             "Series": {
4261               "type": "string"
4262             }
4263           },
4264           "additionalProperties": false,
4265           "required": [
4266             "Number",
4267             "Series",
4268             "Arch"
4269           ]
4270         },
4271         "BundleChange": {
4272           "type": "object",
4273           "properties": {
4274             "args": {
4275               "type": "array",
4276               "items": {
4277                 "type": "object",
4278                 "additionalProperties": true
4279               }
4280             },
4281             "id": {
4282               "type": "string"
4283             },
4284             "method": {
4285               "type": "string"
4286             },
4287             "requires": {
4288               "type": "array",
4289               "items": {
4290                 "type": "string"
4291               }
4292             }
4293           },
4294           "additionalProperties": false,
4295           "required": [
4296             "id",
4297             "method",
4298             "args",
4299             "requires"
4300           ]
4301         },
4302         "BundleChangesParams": {
4303           "type": "object",
4304           "properties": {
4305             "yaml": {
4306               "type": "string"
4307             }
4308           },
4309           "additionalProperties": false,
4310           "required": [
4311             "yaml"
4312           ]
4313         },
4314         "BundleChangesResults": {
4315           "type": "object",
4316           "properties": {
4317             "changes": {
4318               "type": "array",
4319               "items": {
4320                 "$ref": "#/definitions/BundleChange"
4321               }
4322             },
4323             "errors": {
4324               "type": "array",
4325               "items": {
4326                 "type": "string"
4327               }
4328             }
4329           },
4330           "additionalProperties": false
4331         },
4332         "ConfigValue": {
4333           "type": "object",
4334           "properties": {
4335             "source": {
4336               "type": "string"
4337             },
4338             "value": {
4339               "type": "object",
4340               "additionalProperties": true
4341             }
4342           },
4343           "additionalProperties": false,
4344           "required": [
4345             "value",
4346             "source"
4347           ]
4348         },
4349         "Constraints": {
4350           "type": "object",
4351           "properties": {
4352             "Count": {
4353               "type": "integer"
4354             },
4355             "Pool": {
4356               "type": "string"
4357             },
4358             "Size": {
4359               "type": "integer"
4360             }
4361           },
4362           "additionalProperties": false,
4363           "required": [
4364             "Pool",
4365             "Size",
4366             "Count"
4367           ]
4368         },
4369         "DestroyMachines": {
4370           "type": "object",
4371           "properties": {
4372             "force": {
4373               "type": "boolean"
4374             },
4375             "machine-names": {
4376               "type": "array",
4377               "items": {
4378                 "type": "string"
4379               }
4380             }
4381           },
4382           "additionalProperties": false,
4383           "required": [
4384             "machine-names",
4385             "force"
4386           ]
4387         },
4388         "DetailedStatus": {
4389           "type": "object",
4390           "properties": {
4391             "data": {
4392               "type": "object",
4393               "patternProperties": {
4394                 ".*": {
4395                   "type": "object",
4396                   "additionalProperties": true
4397                 }
4398               }
4399             },
4400             "err": {
4401               "type": "object",
4402               "additionalProperties": true
4403             },
4404             "info": {
4405               "type": "string"
4406             },
4407             "kind": {
4408               "type": "string"
4409             },
4410             "life": {
4411               "type": "string"
4412             },
4413             "since": {
4414               "type": "string",
4415               "format": "date-time"
4416             },
4417             "status": {
4418               "type": "string"
4419             },
4420             "version": {
4421               "type": "string"
4422             }
4423           },
4424           "additionalProperties": false,
4425           "required": [
4426             "status",
4427             "info",
4428             "data",
4429             "since",
4430             "kind",
4431             "version",
4432             "life"
4433           ]
4434         },
4435         "EndpointStatus": {
4436           "type": "object",
4437           "properties": {
4438             "application": {
4439               "type": "string"
4440             },
4441             "name": {
4442               "type": "string"
4443             },
4444             "role": {
4445               "type": "string"
4446             },
4447             "subordinate": {
4448               "type": "boolean"
4449             }
4450           },
4451           "additionalProperties": false,
4452           "required": [
4453             "application",
4454             "name",
4455             "role",
4456             "subordinate"
4457           ]
4458         },
4459         "Entities": {
4460           "type": "object",
4461           "properties": {
4462             "entities": {
4463               "type": "array",
4464               "items": {
4465                 "$ref": "#/definitions/Entity"
4466               }
4467             }
4468           },
4469           "additionalProperties": false,
4470           "required": [
4471             "entities"
4472           ]
4473         },
4474         "Entity": {
4475           "type": "object",
4476           "properties": {
4477             "tag": {
4478               "type": "string"
4479             }
4480           },
4481           "additionalProperties": false,
4482           "required": [
4483             "tag"
4484           ]
4485         },
4486         "EntityStatus": {
4487           "type": "object",
4488           "properties": {
4489             "data": {
4490               "type": "object",
4491               "patternProperties": {
4492                 ".*": {
4493                   "type": "object",
4494                   "additionalProperties": true
4495                 }
4496               }
4497             },
4498             "info": {
4499               "type": "string"
4500             },
4501             "since": {
4502               "type": "string",
4503               "format": "date-time"
4504             },
4505             "status": {
4506               "type": "string"
4507             }
4508           },
4509           "additionalProperties": false,
4510           "required": [
4511             "status",
4512             "info",
4513             "since"
4514           ]
4515         },
4516         "Error": {
4517           "type": "object",
4518           "properties": {
4519             "code": {
4520               "type": "string"
4521             },
4522             "info": {
4523               "$ref": "#/definitions/ErrorInfo"
4524             },
4525             "message": {
4526               "type": "string"
4527             }
4528           },
4529           "additionalProperties": false,
4530           "required": [
4531             "message",
4532             "code"
4533           ]
4534         },
4535         "ErrorInfo": {
4536           "type": "object",
4537           "properties": {
4538             "macaroon": {
4539               "$ref": "#/definitions/Macaroon"
4540             },
4541             "macaroon-path": {
4542               "type": "string"
4543             }
4544           },
4545           "additionalProperties": false
4546         },
4547         "ErrorResult": {
4548           "type": "object",
4549           "properties": {
4550             "error": {
4551               "$ref": "#/definitions/Error"
4552             }
4553           },
4554           "additionalProperties": false
4555         },
4556         "ErrorResults": {
4557           "type": "object",
4558           "properties": {
4559             "results": {
4560               "type": "array",
4561               "items": {
4562                 "$ref": "#/definitions/ErrorResult"
4563               }
4564             }
4565           },
4566           "additionalProperties": false,
4567           "required": [
4568             "results"
4569           ]
4570         },
4571         "FindToolsParams": {
4572           "type": "object",
4573           "properties": {
4574             "arch": {
4575               "type": "string"
4576             },
4577             "major": {
4578               "type": "integer"
4579             },
4580             "minor": {
4581               "type": "integer"
4582             },
4583             "number": {
4584               "$ref": "#/definitions/Number"
4585             },
4586             "series": {
4587               "type": "string"
4588             }
4589           },
4590           "additionalProperties": false,
4591           "required": [
4592             "number",
4593             "major",
4594             "minor",
4595             "arch",
4596             "series"
4597           ]
4598         },
4599         "FindToolsResult": {
4600           "type": "object",
4601           "properties": {
4602             "error": {
4603               "$ref": "#/definitions/Error"
4604             },
4605             "list": {
4606               "type": "array",
4607               "items": {
4608                 "$ref": "#/definitions/Tools"
4609               }
4610             }
4611           },
4612           "additionalProperties": false,
4613           "required": [
4614             "list"
4615           ]
4616         },
4617         "FullStatus": {
4618           "type": "object",
4619           "properties": {
4620             "applications": {
4621               "type": "object",
4622               "patternProperties": {
4623                 ".*": {
4624                   "$ref": "#/definitions/ApplicationStatus"
4625                 }
4626               }
4627             },
4628             "machines": {
4629               "type": "object",
4630               "patternProperties": {
4631                 ".*": {
4632                   "$ref": "#/definitions/MachineStatus"
4633                 }
4634               }
4635             },
4636             "model": {
4637               "$ref": "#/definitions/ModelStatusInfo"
4638             },
4639             "relations": {
4640               "type": "array",
4641               "items": {
4642                 "$ref": "#/definitions/RelationStatus"
4643               }
4644             },
4645             "remote-applications": {
4646               "type": "object",
4647               "patternProperties": {
4648                 ".*": {
4649                   "$ref": "#/definitions/RemoteApplicationStatus"
4650                 }
4651               }
4652             }
4653           },
4654           "additionalProperties": false,
4655           "required": [
4656             "model",
4657             "machines",
4658             "applications",
4659             "remote-applications",
4660             "relations"
4661           ]
4662         },
4663         "GetConstraintsResults": {
4664           "type": "object",
4665           "properties": {
4666             "constraints": {
4667               "$ref": "#/definitions/Value"
4668             }
4669           },
4670           "additionalProperties": false,
4671           "required": [
4672             "constraints"
4673           ]
4674         },
4675         "HardwareCharacteristics": {
4676           "type": "object",
4677           "properties": {
4678             "arch": {
4679               "type": "string"
4680             },
4681             "availability-zone": {
4682               "type": "string"
4683             },
4684             "cpu-cores": {
4685               "type": "integer"
4686             },
4687             "cpu-power": {
4688               "type": "integer"
4689             },
4690             "mem": {
4691               "type": "integer"
4692             },
4693             "root-disk": {
4694               "type": "integer"
4695             },
4696             "tags": {
4697               "type": "array",
4698               "items": {
4699                 "type": "string"
4700               }
4701             }
4702           },
4703           "additionalProperties": false
4704         },
4705         "History": {
4706           "type": "object",
4707           "properties": {
4708             "error": {
4709               "$ref": "#/definitions/Error"
4710             },
4711             "statuses": {
4712               "type": "array",
4713               "items": {
4714                 "$ref": "#/definitions/DetailedStatus"
4715               }
4716             }
4717           },
4718           "additionalProperties": false,
4719           "required": [
4720             "statuses"
4721           ]
4722         },
4723         "HostPort": {
4724           "type": "object",
4725           "properties": {
4726             "Address": {
4727               "$ref": "#/definitions/Address"
4728             },
4729             "port": {
4730               "type": "integer"
4731             }
4732           },
4733           "additionalProperties": false,
4734           "required": [
4735             "Address",
4736             "port"
4737           ]
4738         },
4739         "Macaroon": {
4740           "type": "object",
4741           "additionalProperties": false
4742         },
4743         "MachineHardware": {
4744           "type": "object",
4745           "properties": {
4746             "arch": {
4747               "type": "string"
4748             },
4749             "availability-zone": {
4750               "type": "string"
4751             },
4752             "cores": {
4753               "type": "integer"
4754             },
4755             "cpu-power": {
4756               "type": "integer"
4757             },
4758             "mem": {
4759               "type": "integer"
4760             },
4761             "root-disk": {
4762               "type": "integer"
4763             },
4764             "tags": {
4765               "type": "array",
4766               "items": {
4767                 "type": "string"
4768               }
4769             }
4770           },
4771           "additionalProperties": false
4772         },
4773         "MachineStatus": {
4774           "type": "object",
4775           "properties": {
4776             "agent-status": {
4777               "$ref": "#/definitions/DetailedStatus"
4778             },
4779             "constraints": {
4780               "type": "string"
4781             },
4782             "containers": {
4783               "type": "object",
4784               "patternProperties": {
4785                 ".*": {
4786                   "$ref": "#/definitions/MachineStatus"
4787                 }
4788               }
4789             },
4790             "dns-name": {
4791               "type": "string"
4792             },
4793             "hardware": {
4794               "type": "string"
4795             },
4796             "has-vote": {
4797               "type": "boolean"
4798             },
4799             "id": {
4800               "type": "string"
4801             },
4802             "instance-id": {
4803               "type": "string"
4804             },
4805             "instance-status": {
4806               "$ref": "#/definitions/DetailedStatus"
4807             },
4808             "ip-addresses": {
4809               "type": "array",
4810               "items": {
4811                 "type": "string"
4812               }
4813             },
4814             "jobs": {
4815               "type": "array",
4816               "items": {
4817                 "type": "string"
4818               }
4819             },
4820             "network-interfaces": {
4821               "type": "object",
4822               "patternProperties": {
4823                 ".*": {
4824                   "$ref": "#/definitions/NetworkInterface"
4825                 }
4826               }
4827             },
4828             "series": {
4829               "type": "string"
4830             },
4831             "wants-vote": {
4832               "type": "boolean"
4833             }
4834           },
4835           "additionalProperties": false,
4836           "required": [
4837             "agent-status",
4838             "instance-status",
4839             "dns-name",
4840             "instance-id",
4841             "series",
4842             "id",
4843             "containers",
4844             "constraints",
4845             "hardware",
4846             "jobs",
4847             "has-vote",
4848             "wants-vote"
4849           ]
4850         },
4851         "MeterStatus": {
4852           "type": "object",
4853           "properties": {
4854             "color": {
4855               "type": "string"
4856             },
4857             "message": {
4858               "type": "string"
4859             }
4860           },
4861           "additionalProperties": false,
4862           "required": [
4863             "color",
4864             "message"
4865           ]
4866         },
4867         "ModelConfigResults": {
4868           "type": "object",
4869           "properties": {
4870             "config": {
4871               "type": "object",
4872               "patternProperties": {
4873                 ".*": {
4874                   "$ref": "#/definitions/ConfigValue"
4875                 }
4876               }
4877             }
4878           },
4879           "additionalProperties": false,
4880           "required": [
4881             "config"
4882           ]
4883         },
4884         "ModelInfo": {
4885           "type": "object",
4886           "properties": {
4887             "cloud-credential-tag": {
4888               "type": "string"
4889             },
4890             "cloud-region": {
4891               "type": "string"
4892             },
4893             "cloud-tag": {
4894               "type": "string"
4895             },
4896             "controller-uuid": {
4897               "type": "string"
4898             },
4899             "default-series": {
4900               "type": "string"
4901             },
4902             "life": {
4903               "type": "string"
4904             },
4905             "machines": {
4906               "type": "array",
4907               "items": {
4908                 "$ref": "#/definitions/ModelMachineInfo"
4909               }
4910             },
4911             "migration": {
4912               "$ref": "#/definitions/ModelMigrationStatus"
4913             },
4914             "name": {
4915               "type": "string"
4916             },
4917             "owner-tag": {
4918               "type": "string"
4919             },
4920             "provider-type": {
4921               "type": "string"
4922             },
4923             "status": {
4924               "$ref": "#/definitions/EntityStatus"
4925             },
4926             "users": {
4927               "type": "array",
4928               "items": {
4929                 "$ref": "#/definitions/ModelUserInfo"
4930               }
4931             },
4932             "uuid": {
4933               "type": "string"
4934             }
4935           },
4936           "additionalProperties": false,
4937           "required": [
4938             "name",
4939             "uuid",
4940             "controller-uuid",
4941             "provider-type",
4942             "default-series",
4943             "cloud-tag",
4944             "owner-tag",
4945             "life",
4946             "status",
4947             "users",
4948             "machines"
4949           ]
4950         },
4951         "ModelMachineInfo": {
4952           "type": "object",
4953           "properties": {
4954             "hardware": {
4955               "$ref": "#/definitions/MachineHardware"
4956             },
4957             "has-vote": {
4958               "type": "boolean"
4959             },
4960             "id": {
4961               "type": "string"
4962             },
4963             "instance-id": {
4964               "type": "string"
4965             },
4966             "status": {
4967               "type": "string"
4968             },
4969             "wants-vote": {
4970               "type": "boolean"
4971             }
4972           },
4973           "additionalProperties": false,
4974           "required": [
4975             "id"
4976           ]
4977         },
4978         "ModelMigrationStatus": {
4979           "type": "object",
4980           "properties": {
4981             "end": {
4982               "type": "string",
4983               "format": "date-time"
4984             },
4985             "start": {
4986               "type": "string",
4987               "format": "date-time"
4988             },
4989             "status": {
4990               "type": "string"
4991             }
4992           },
4993           "additionalProperties": false,
4994           "required": [
4995             "status",
4996             "start"
4997           ]
4998         },
4999         "ModelSLA": {
5000           "type": "object",
5001           "properties": {
5002             "creds": {
5003               "type": "array",
5004               "items": {
5005                 "type": "integer"
5006               }
5007             },
5008             "level": {
5009               "type": "string"
5010             }
5011           },
5012           "additionalProperties": false,
5013           "required": [
5014             "level",
5015             "creds"
5016           ]
5017         },
5018         "ModelSet": {
5019           "type": "object",
5020           "properties": {
5021             "config": {
5022               "type": "object",
5023               "patternProperties": {
5024                 ".*": {
5025                   "type": "object",
5026                   "additionalProperties": true
5027                 }
5028               }
5029             }
5030           },
5031           "additionalProperties": false,
5032           "required": [
5033             "config"
5034           ]
5035         },
5036         "ModelStatusInfo": {
5037           "type": "object",
5038           "properties": {
5039             "available-version": {
5040               "type": "string"
5041             },
5042             "cloud-tag": {
5043               "type": "string"
5044             },
5045             "meter-status": {
5046               "$ref": "#/definitions/MeterStatus"
5047             },
5048             "model-status": {
5049               "$ref": "#/definitions/DetailedStatus"
5050             },
5051             "name": {
5052               "type": "string"
5053             },
5054             "region": {
5055               "type": "string"
5056             },
5057             "version": {
5058               "type": "string"
5059             }
5060           },
5061           "additionalProperties": false,
5062           "required": [
5063             "name",
5064             "cloud-tag",
5065             "version",
5066             "available-version",
5067             "model-status",
5068             "meter-status"
5069           ]
5070         },
5071         "ModelUnset": {
5072           "type": "object",
5073           "properties": {
5074             "keys": {
5075               "type": "array",
5076               "items": {
5077                 "type": "string"
5078               }
5079             }
5080           },
5081           "additionalProperties": false,
5082           "required": [
5083             "keys"
5084           ]
5085         },
5086         "ModelUserInfo": {
5087           "type": "object",
5088           "properties": {
5089             "access": {
5090               "type": "string"
5091             },
5092             "display-name": {
5093               "type": "string"
5094             },
5095             "last-connection": {
5096               "type": "string",
5097               "format": "date-time"
5098             },
5099             "user": {
5100               "type": "string"
5101             }
5102           },
5103           "additionalProperties": false,
5104           "required": [
5105             "user",
5106             "display-name",
5107             "last-connection",
5108             "access"
5109           ]
5110         },
5111         "ModelUserInfoResult": {
5112           "type": "object",
5113           "properties": {
5114             "error": {
5115               "$ref": "#/definitions/Error"
5116             },
5117             "result": {
5118               "$ref": "#/definitions/ModelUserInfo"
5119             }
5120           },
5121           "additionalProperties": false
5122         },
5123         "ModelUserInfoResults": {
5124           "type": "object",
5125           "properties": {
5126             "results": {
5127               "type": "array",
5128               "items": {
5129                 "$ref": "#/definitions/ModelUserInfoResult"
5130               }
5131             }
5132           },
5133           "additionalProperties": false,
5134           "required": [
5135             "results"
5136           ]
5137         },
5138         "NetworkInterface": {
5139           "type": "object",
5140           "properties": {
5141             "dns-nameservers": {
5142               "type": "array",
5143               "items": {
5144                 "type": "string"
5145               }
5146             },
5147             "gateway": {
5148               "type": "string"
5149             },
5150             "ip-addresses": {
5151               "type": "array",
5152               "items": {
5153                 "type": "string"
5154               }
5155             },
5156             "is-up": {
5157               "type": "boolean"
5158             },
5159             "mac-address": {
5160               "type": "string"
5161             },
5162             "space": {
5163               "type": "string"
5164             }
5165           },
5166           "additionalProperties": false,
5167           "required": [
5168             "ip-addresses",
5169             "mac-address",
5170             "is-up"
5171           ]
5172         },
5173         "Number": {
5174           "type": "object",
5175           "properties": {
5176             "Build": {
5177               "type": "integer"
5178             },
5179             "Major": {
5180               "type": "integer"
5181             },
5182             "Minor": {
5183               "type": "integer"
5184             },
5185             "Patch": {
5186               "type": "integer"
5187             },
5188             "Tag": {
5189               "type": "string"
5190             }
5191           },
5192           "additionalProperties": false,
5193           "required": [
5194             "Major",
5195             "Minor",
5196             "Tag",
5197             "Patch",
5198             "Build"
5199           ]
5200         },
5201         "Placement": {
5202           "type": "object",
5203           "properties": {
5204             "directive": {
5205               "type": "string"
5206             },
5207             "scope": {
5208               "type": "string"
5209             }
5210           },
5211           "additionalProperties": false,
5212           "required": [
5213             "scope",
5214             "directive"
5215           ]
5216         },
5217         "PrivateAddress": {
5218           "type": "object",
5219           "properties": {
5220             "target": {
5221               "type": "string"
5222             }
5223           },
5224           "additionalProperties": false,
5225           "required": [
5226             "target"
5227           ]
5228         },
5229         "PrivateAddressResults": {
5230           "type": "object",
5231           "properties": {
5232             "private-address": {
5233               "type": "string"
5234             }
5235           },
5236           "additionalProperties": false,
5237           "required": [
5238             "private-address"
5239           ]
5240         },
5241         "ProvisioningScriptParams": {
5242           "type": "object",
5243           "properties": {
5244             "data-dir": {
5245               "type": "string"
5246             },
5247             "disable-package-commands": {
5248               "type": "boolean"
5249             },
5250             "machine-id": {
5251               "type": "string"
5252             },
5253             "nonce": {
5254               "type": "string"
5255             }
5256           },
5257           "additionalProperties": false,
5258           "required": [
5259             "machine-id",
5260             "nonce",
5261             "data-dir",
5262             "disable-package-commands"
5263           ]
5264         },
5265         "ProvisioningScriptResult": {
5266           "type": "object",
5267           "properties": {
5268             "script": {
5269               "type": "string"
5270             }
5271           },
5272           "additionalProperties": false,
5273           "required": [
5274             "script"
5275           ]
5276         },
5277         "PublicAddress": {
5278           "type": "object",
5279           "properties": {
5280             "target": {
5281               "type": "string"
5282             }
5283           },
5284           "additionalProperties": false,
5285           "required": [
5286             "target"
5287           ]
5288         },
5289         "PublicAddressResults": {
5290           "type": "object",
5291           "properties": {
5292             "public-address": {
5293               "type": "string"
5294             }
5295           },
5296           "additionalProperties": false,
5297           "required": [
5298             "public-address"
5299           ]
5300         },
5301         "RelationStatus": {
5302           "type": "object",
5303           "properties": {
5304             "endpoints": {
5305               "type": "array",
5306               "items": {
5307                 "$ref": "#/definitions/EndpointStatus"
5308               }
5309             },
5310             "id": {
5311               "type": "integer"
5312             },
5313             "interface": {
5314               "type": "string"
5315             },
5316             "key": {
5317               "type": "string"
5318             },
5319             "scope": {
5320               "type": "string"
5321             }
5322           },
5323           "additionalProperties": false,
5324           "required": [
5325             "id",
5326             "key",
5327             "interface",
5328             "scope",
5329             "endpoints"
5330           ]
5331         },
5332         "RemoteApplicationStatus": {
5333           "type": "object",
5334           "properties": {
5335             "application-name": {
5336               "type": "string"
5337             },
5338             "application-url": {
5339               "type": "string"
5340             },
5341             "endpoints": {
5342               "type": "array",
5343               "items": {
5344                 "$ref": "#/definitions/RemoteEndpoint"
5345               }
5346             },
5347             "err": {
5348               "type": "object",
5349               "additionalProperties": true
5350             },
5351             "life": {
5352               "type": "string"
5353             },
5354             "relations": {
5355               "type": "object",
5356               "patternProperties": {
5357                 ".*": {
5358                   "type": "array",
5359                   "items": {
5360                     "type": "string"
5361                   }
5362                 }
5363               }
5364             },
5365             "status": {
5366               "$ref": "#/definitions/DetailedStatus"
5367             }
5368           },
5369           "additionalProperties": false,
5370           "required": [
5371             "application-url",
5372             "application-name",
5373             "endpoints",
5374             "life",
5375             "relations",
5376             "status"
5377           ]
5378         },
5379         "RemoteEndpoint": {
5380           "type": "object",
5381           "properties": {
5382             "interface": {
5383               "type": "string"
5384             },
5385             "limit": {
5386               "type": "integer"
5387             },
5388             "name": {
5389               "type": "string"
5390             },
5391             "role": {
5392               "type": "string"
5393             },
5394             "scope": {
5395               "type": "string"
5396             }
5397           },
5398           "additionalProperties": false,
5399           "required": [
5400             "name",
5401             "role",
5402             "interface",
5403             "limit",
5404             "scope"
5405           ]
5406         },
5407         "ResolveCharmResult": {
5408           "type": "object",
5409           "properties": {
5410             "error": {
5411               "type": "string"
5412             },
5413             "url": {
5414               "type": "string"
5415             }
5416           },
5417           "additionalProperties": false
5418         },
5419         "ResolveCharmResults": {
5420           "type": "object",
5421           "properties": {
5422             "urls": {
5423               "type": "array",
5424               "items": {
5425                 "$ref": "#/definitions/ResolveCharmResult"
5426               }
5427             }
5428           },
5429           "additionalProperties": false,
5430           "required": [
5431             "urls"
5432           ]
5433         },
5434         "ResolveCharms": {
5435           "type": "object",
5436           "properties": {
5437             "references": {
5438               "type": "array",
5439               "items": {
5440                 "type": "string"
5441               }
5442             }
5443           },
5444           "additionalProperties": false,
5445           "required": [
5446             "references"
5447           ]
5448         },
5449         "Resolved": {
5450           "type": "object",
5451           "properties": {
5452             "retry": {
5453               "type": "boolean"
5454             },
5455             "unit-name": {
5456               "type": "string"
5457             }
5458           },
5459           "additionalProperties": false,
5460           "required": [
5461             "unit-name",
5462             "retry"
5463           ]
5464         },
5465         "SetConstraints": {
5466           "type": "object",
5467           "properties": {
5468             "application": {
5469               "type": "string"
5470             },
5471             "constraints": {
5472               "$ref": "#/definitions/Value"
5473             }
5474           },
5475           "additionalProperties": false,
5476           "required": [
5477             "application",
5478             "constraints"
5479           ]
5480         },
5481         "SetModelAgentVersion": {
5482           "type": "object",
5483           "properties": {
5484             "version": {
5485               "$ref": "#/definitions/Number"
5486             }
5487           },
5488           "additionalProperties": false,
5489           "required": [
5490             "version"
5491           ]
5492         },
5493         "StatusHistoryFilter": {
5494           "type": "object",
5495           "properties": {
5496             "date": {
5497               "type": "string",
5498               "format": "date-time"
5499             },
5500             "delta": {
5501               "type": "integer"
5502             },
5503             "exclude": {
5504               "type": "array",
5505               "items": {
5506                 "type": "string"
5507               }
5508             },
5509             "size": {
5510               "type": "integer"
5511             }
5512           },
5513           "additionalProperties": false,
5514           "required": [
5515             "size",
5516             "date",
5517             "delta",
5518             "exclude"
5519           ]
5520         },
5521         "StatusHistoryRequest": {
5522           "type": "object",
5523           "properties": {
5524             "filter": {
5525               "$ref": "#/definitions/StatusHistoryFilter"
5526             },
5527             "historyKind": {
5528               "type": "string"
5529             },
5530             "size": {
5531               "type": "integer"
5532             },
5533             "tag": {
5534               "type": "string"
5535             }
5536           },
5537           "additionalProperties": false,
5538           "required": [
5539             "historyKind",
5540             "size",
5541             "filter",
5542             "tag"
5543           ]
5544         },
5545         "StatusHistoryRequests": {
5546           "type": "object",
5547           "properties": {
5548             "requests": {
5549               "type": "array",
5550               "items": {
5551                 "$ref": "#/definitions/StatusHistoryRequest"
5552               }
5553             }
5554           },
5555           "additionalProperties": false,
5556           "required": [
5557             "requests"
5558           ]
5559         },
5560         "StatusHistoryResult": {
5561           "type": "object",
5562           "properties": {
5563             "error": {
5564               "$ref": "#/definitions/Error"
5565             },
5566             "history": {
5567               "$ref": "#/definitions/History"
5568             }
5569           },
5570           "additionalProperties": false,
5571           "required": [
5572             "history"
5573           ]
5574         },
5575         "StatusHistoryResults": {
5576           "type": "object",
5577           "properties": {
5578             "results": {
5579               "type": "array",
5580               "items": {
5581                 "$ref": "#/definitions/StatusHistoryResult"
5582               }
5583             }
5584           },
5585           "additionalProperties": false,
5586           "required": [
5587             "results"
5588           ]
5589         },
5590         "StatusParams": {
5591           "type": "object",
5592           "properties": {
5593             "patterns": {
5594               "type": "array",
5595               "items": {
5596                 "type": "string"
5597               }
5598             }
5599           },
5600           "additionalProperties": false,
5601           "required": [
5602             "patterns"
5603           ]
5604         },
5605         "StringResult": {
5606           "type": "object",
5607           "properties": {
5608             "error": {
5609               "$ref": "#/definitions/Error"
5610             },
5611             "result": {
5612               "type": "string"
5613             }
5614           },
5615           "additionalProperties": false,
5616           "required": [
5617             "result"
5618           ]
5619         },
5620         "Tools": {
5621           "type": "object",
5622           "properties": {
5623             "sha256": {
5624               "type": "string"
5625             },
5626             "size": {
5627               "type": "integer"
5628             },
5629             "url": {
5630               "type": "string"
5631             },
5632             "version": {
5633               "$ref": "#/definitions/Binary"
5634             }
5635           },
5636           "additionalProperties": false,
5637           "required": [
5638             "version",
5639             "url",
5640             "size"
5641           ]
5642         },
5643         "UnitStatus": {
5644           "type": "object",
5645           "properties": {
5646             "agent-status": {
5647               "$ref": "#/definitions/DetailedStatus"
5648             },
5649             "charm": {
5650               "type": "string"
5651             },
5652             "leader": {
5653               "type": "boolean"
5654             },
5655             "machine": {
5656               "type": "string"
5657             },
5658             "opened-ports": {
5659               "type": "array",
5660               "items": {
5661                 "type": "string"
5662               }
5663             },
5664             "public-address": {
5665               "type": "string"
5666             },
5667             "subordinates": {
5668               "type": "object",
5669               "patternProperties": {
5670                 ".*": {
5671                   "$ref": "#/definitions/UnitStatus"
5672                 }
5673               }
5674             },
5675             "workload-status": {
5676               "$ref": "#/definitions/DetailedStatus"
5677             },
5678             "workload-version": {
5679               "type": "string"
5680             }
5681           },
5682           "additionalProperties": false,
5683           "required": [
5684             "agent-status",
5685             "workload-status",
5686             "workload-version",
5687             "machine",
5688             "opened-ports",
5689             "public-address",
5690             "charm",
5691             "subordinates"
5692           ]
5693         },
5694         "Value": {
5695           "type": "object",
5696           "properties": {
5697             "arch": {
5698               "type": "string"
5699             },
5700             "container": {
5701               "type": "string"
5702             },
5703             "cores": {
5704               "type": "integer"
5705             },
5706             "cpu-power": {
5707               "type": "integer"
5708             },
5709             "instance-type": {
5710               "type": "string"
5711             },
5712             "mem": {
5713               "type": "integer"
5714             },
5715             "root-disk": {
5716               "type": "integer"
5717             },
5718             "spaces": {
5719               "type": "array",
5720               "items": {
5721                 "type": "string"
5722               }
5723             },
5724             "tags": {
5725               "type": "array",
5726               "items": {
5727                 "type": "string"
5728               }
5729             },
5730             "virt-type": {
5731               "type": "string"
5732             }
5733           },
5734           "additionalProperties": false
5735         }
5736       }
5737     }
5738   },
5739   {
5740     "Name": "Cloud",
5741     "Version": 1,
5742     "Schema": {
5743       "type": "object",
5744       "properties": {
5745         "Cloud": {
5746           "type": "object",
5747           "properties": {
5748             "Params": {
5749               "$ref": "#/definitions/Entities"
5750             },
5751             "Result": {
5752               "$ref": "#/definitions/CloudResults"
5753             }
5754           }
5755         },
5756         "Clouds": {
5757           "type": "object",
5758           "properties": {
5759             "Result": {
5760               "$ref": "#/definitions/CloudsResult"
5761             }
5762           }
5763         },
5764         "Credential": {
5765           "type": "object",
5766           "properties": {
5767             "Params": {
5768               "$ref": "#/definitions/Entities"
5769             },
5770             "Result": {
5771               "$ref": "#/definitions/CloudCredentialResults"
5772             }
5773           }
5774         },
5775         "DefaultCloud": {
5776           "type": "object",
5777           "properties": {
5778             "Result": {
5779               "$ref": "#/definitions/StringResult"
5780             }
5781           }
5782         },
5783         "InstanceTypes": {
5784           "type": "object",
5785           "properties": {
5786             "Params": {
5787               "$ref": "#/definitions/CloudInstanceTypesConstraints"
5788             },
5789             "Result": {
5790               "$ref": "#/definitions/InstanceTypesResults"
5791             }
5792           }
5793         },
5794         "RevokeCredentials": {
5795           "type": "object",
5796           "properties": {
5797             "Params": {
5798               "$ref": "#/definitions/Entities"
5799             },
5800             "Result": {
5801               "$ref": "#/definitions/ErrorResults"
5802             }
5803           }
5804         },
5805         "UpdateCredentials": {
5806           "type": "object",
5807           "properties": {
5808             "Params": {
5809               "$ref": "#/definitions/UpdateCloudCredentials"
5810             },
5811             "Result": {
5812               "$ref": "#/definitions/ErrorResults"
5813             }
5814           }
5815         },
5816         "UserCredentials": {
5817           "type": "object",
5818           "properties": {
5819             "Params": {
5820               "$ref": "#/definitions/UserClouds"
5821             },
5822             "Result": {
5823               "$ref": "#/definitions/StringsResults"
5824             }
5825           }
5826         }
5827       },
5828       "definitions": {
5829         "Cloud": {
5830           "type": "object",
5831           "properties": {
5832             "auth-types": {
5833               "type": "array",
5834               "items": {
5835                 "type": "string"
5836               }
5837             },
5838             "endpoint": {
5839               "type": "string"
5840             },
5841             "identity-endpoint": {
5842               "type": "string"
5843             },
5844             "regions": {
5845               "type": "array",
5846               "items": {
5847                 "$ref": "#/definitions/CloudRegion"
5848               }
5849             },
5850             "storage-endpoint": {
5851               "type": "string"
5852             },
5853             "type": {
5854               "type": "string"
5855             }
5856           },
5857           "additionalProperties": false,
5858           "required": [
5859             "type"
5860           ]
5861         },
5862         "CloudCredential": {
5863           "type": "object",
5864           "properties": {
5865             "attrs": {
5866               "type": "object",
5867               "patternProperties": {
5868                 ".*": {
5869                   "type": "string"
5870                 }
5871               }
5872             },
5873             "auth-type": {
5874               "type": "string"
5875             },
5876             "redacted": {
5877               "type": "array",
5878               "items": {
5879                 "type": "string"
5880               }
5881             }
5882           },
5883           "additionalProperties": false,
5884           "required": [
5885             "auth-type"
5886           ]
5887         },
5888         "CloudCredentialResult": {
5889           "type": "object",
5890           "properties": {
5891             "error": {
5892               "$ref": "#/definitions/Error"
5893             },
5894             "result": {
5895               "$ref": "#/definitions/CloudCredential"
5896             }
5897           },
5898           "additionalProperties": false
5899         },
5900         "CloudCredentialResults": {
5901           "type": "object",
5902           "properties": {
5903             "results": {
5904               "type": "array",
5905               "items": {
5906                 "$ref": "#/definitions/CloudCredentialResult"
5907               }
5908             }
5909           },
5910           "additionalProperties": false
5911         },
5912         "CloudInstanceTypesConstraint": {
5913           "type": "object",
5914           "properties": {
5915             "cloud-tag": {
5916               "type": "string"
5917             },
5918             "constraints": {
5919               "$ref": "#/definitions/Value"
5920             },
5921             "region": {
5922               "type": "string"
5923             }
5924           },
5925           "additionalProperties": false,
5926           "required": [
5927             "cloud-tag",
5928             "region"
5929           ]
5930         },
5931         "CloudInstanceTypesConstraints": {
5932           "type": "object",
5933           "properties": {
5934             "constraints": {
5935               "type": "array",
5936               "items": {
5937                 "$ref": "#/definitions/CloudInstanceTypesConstraint"
5938               }
5939             }
5940           },
5941           "additionalProperties": false,
5942           "required": [
5943             "constraints"
5944           ]
5945         },
5946         "CloudRegion": {
5947           "type": "object",
5948           "properties": {
5949             "endpoint": {
5950               "type": "string"
5951             },
5952             "identity-endpoint": {
5953               "type": "string"
5954             },
5955             "name": {
5956               "type": "string"
5957             },
5958             "storage-endpoint": {
5959               "type": "string"
5960             }
5961           },
5962           "additionalProperties": false,
5963           "required": [
5964             "name"
5965           ]
5966         },
5967         "CloudResult": {
5968           "type": "object",
5969           "properties": {
5970             "cloud": {
5971               "$ref": "#/definitions/Cloud"
5972             },
5973             "error": {
5974               "$ref": "#/definitions/Error"
5975             }
5976           },
5977           "additionalProperties": false
5978         },
5979         "CloudResults": {
5980           "type": "object",
5981           "properties": {
5982             "results": {
5983               "type": "array",
5984               "items": {
5985                 "$ref": "#/definitions/CloudResult"
5986               }
5987             }
5988           },
5989           "additionalProperties": false
5990         },
5991         "CloudsResult": {
5992           "type": "object",
5993           "properties": {
5994             "clouds": {
5995               "type": "object",
5996               "patternProperties": {
5997                 ".*": {
5998                   "$ref": "#/definitions/Cloud"
5999                 }
6000               }
6001             }
6002           },
6003           "additionalProperties": false
6004         },
6005         "Entities": {
6006           "type": "object",
6007           "properties": {
6008             "entities": {
6009               "type": "array",
6010               "items": {
6011                 "$ref": "#/definitions/Entity"
6012               }
6013             }
6014           },
6015           "additionalProperties": false,
6016           "required": [
6017             "entities"
6018           ]
6019         },
6020         "Entity": {
6021           "type": "object",
6022           "properties": {
6023             "tag": {
6024               "type": "string"
6025             }
6026           },
6027           "additionalProperties": false,
6028           "required": [
6029             "tag"
6030           ]
6031         },
6032         "Error": {
6033           "type": "object",
6034           "properties": {
6035             "code": {
6036               "type": "string"
6037             },
6038             "info": {
6039               "$ref": "#/definitions/ErrorInfo"
6040             },
6041             "message": {
6042               "type": "string"
6043             }
6044           },
6045           "additionalProperties": false,
6046           "required": [
6047             "message",
6048             "code"
6049           ]
6050         },
6051         "ErrorInfo": {
6052           "type": "object",
6053           "properties": {
6054             "macaroon": {
6055               "$ref": "#/definitions/Macaroon"
6056             },
6057             "macaroon-path": {
6058               "type": "string"
6059             }
6060           },
6061           "additionalProperties": false
6062         },
6063         "ErrorResult": {
6064           "type": "object",
6065           "properties": {
6066             "error": {
6067               "$ref": "#/definitions/Error"
6068             }
6069           },
6070           "additionalProperties": false
6071         },
6072         "ErrorResults": {
6073           "type": "object",
6074           "properties": {
6075             "results": {
6076               "type": "array",
6077               "items": {
6078                 "$ref": "#/definitions/ErrorResult"
6079               }
6080             }
6081           },
6082           "additionalProperties": false,
6083           "required": [
6084             "results"
6085           ]
6086         },
6087         "InstanceType": {
6088           "type": "object",
6089           "properties": {
6090             "arches": {
6091               "type": "array",
6092               "items": {
6093                 "type": "string"
6094               }
6095             },
6096             "cost": {
6097               "type": "integer"
6098             },
6099             "cpu-cores": {
6100               "type": "integer"
6101             },
6102             "deprecated": {
6103               "type": "boolean"
6104             },
6105             "memory": {
6106               "type": "integer"
6107             },
6108             "name": {
6109               "type": "string"
6110             },
6111             "root-disk": {
6112               "type": "integer"
6113             },
6114             "virt-type": {
6115               "type": "string"
6116             }
6117           },
6118           "additionalProperties": false,
6119           "required": [
6120             "arches",
6121             "cpu-cores",
6122             "memory"
6123           ]
6124         },
6125         "InstanceTypesResult": {
6126           "type": "object",
6127           "properties": {
6128             "cost-currency": {
6129               "type": "string"
6130             },
6131             "cost-divisor": {
6132               "type": "integer"
6133             },
6134             "cost-unit": {
6135               "type": "string"
6136             },
6137             "error": {
6138               "$ref": "#/definitions/Error"
6139             },
6140             "instance-types": {
6141               "type": "array",
6142               "items": {
6143                 "$ref": "#/definitions/InstanceType"
6144               }
6145             }
6146           },
6147           "additionalProperties": false
6148         },
6149         "InstanceTypesResults": {
6150           "type": "object",
6151           "properties": {
6152             "results": {
6153               "type": "array",
6154               "items": {
6155                 "$ref": "#/definitions/InstanceTypesResult"
6156               }
6157             }
6158           },
6159           "additionalProperties": false,
6160           "required": [
6161             "results"
6162           ]
6163         },
6164         "Macaroon": {
6165           "type": "object",
6166           "additionalProperties": false
6167         },
6168         "StringResult": {
6169           "type": "object",
6170           "properties": {
6171             "error": {
6172               "$ref": "#/definitions/Error"
6173             },
6174             "result": {
6175               "type": "string"
6176             }
6177           },
6178           "additionalProperties": false,
6179           "required": [
6180             "result"
6181           ]
6182         },
6183         "StringsResult": {
6184           "type": "object",
6185           "properties": {
6186             "error": {
6187               "$ref": "#/definitions/Error"
6188             },
6189             "result": {
6190               "type": "array",
6191               "items": {
6192                 "type": "string"
6193               }
6194             }
6195           },
6196           "additionalProperties": false
6197         },
6198         "StringsResults": {
6199           "type": "object",
6200           "properties": {
6201             "results": {
6202               "type": "array",
6203               "items": {
6204                 "$ref": "#/definitions/StringsResult"
6205               }
6206             }
6207           },
6208           "additionalProperties": false,
6209           "required": [
6210             "results"
6211           ]
6212         },
6213         "UpdateCloudCredential": {
6214           "type": "object",
6215           "properties": {
6216             "credential": {
6217               "$ref": "#/definitions/CloudCredential"
6218             },
6219             "tag": {
6220               "type": "string"
6221             }
6222           },
6223           "additionalProperties": false,
6224           "required": [
6225             "tag",
6226             "credential"
6227           ]
6228         },
6229         "UpdateCloudCredentials": {
6230           "type": "object",
6231           "properties": {
6232             "credentials": {
6233               "type": "array",
6234               "items": {
6235                 "$ref": "#/definitions/UpdateCloudCredential"
6236               }
6237             }
6238           },
6239           "additionalProperties": false
6240         },
6241         "UserCloud": {
6242           "type": "object",
6243           "properties": {
6244             "cloud-tag": {
6245               "type": "string"
6246             },
6247             "user-tag": {
6248               "type": "string"
6249             }
6250           },
6251           "additionalProperties": false,
6252           "required": [
6253             "user-tag",
6254             "cloud-tag"
6255           ]
6256         },
6257         "UserClouds": {
6258           "type": "object",
6259           "properties": {
6260             "user-clouds": {
6261               "type": "array",
6262               "items": {
6263                 "$ref": "#/definitions/UserCloud"
6264               }
6265             }
6266           },
6267           "additionalProperties": false
6268         },
6269         "Value": {
6270           "type": "object",
6271           "properties": {
6272             "arch": {
6273               "type": "string"
6274             },
6275             "container": {
6276               "type": "string"
6277             },
6278             "cores": {
6279               "type": "integer"
6280             },
6281             "cpu-power": {
6282               "type": "integer"
6283             },
6284             "instance-type": {
6285               "type": "string"
6286             },
6287             "mem": {
6288               "type": "integer"
6289             },
6290             "root-disk": {
6291               "type": "integer"
6292             },
6293             "spaces": {
6294               "type": "array",
6295               "items": {
6296                 "type": "string"
6297               }
6298             },
6299             "tags": {
6300               "type": "array",
6301               "items": {
6302                 "type": "string"
6303               }
6304             },
6305             "virt-type": {
6306               "type": "string"
6307             }
6308           },
6309           "additionalProperties": false
6310         }
6311       }
6312     }
6313   },
6314   {
6315     "Name": "Controller",
6316     "Version": 3,
6317     "Schema": {
6318       "type": "object",
6319       "properties": {
6320         "AllModels": {
6321           "type": "object",
6322           "properties": {
6323             "Result": {
6324               "$ref": "#/definitions/UserModelList"
6325             }
6326           }
6327         },
6328         "CloudSpec": {
6329           "type": "object",
6330           "properties": {
6331             "Params": {
6332               "$ref": "#/definitions/Entities"
6333             },
6334             "Result": {
6335               "$ref": "#/definitions/CloudSpecResults"
6336             }
6337           }
6338         },
6339         "ControllerConfig": {
6340           "type": "object",
6341           "properties": {
6342             "Result": {
6343               "$ref": "#/definitions/ControllerConfigResult"
6344             }
6345           }
6346         },
6347         "DestroyController": {
6348           "type": "object",
6349           "properties": {
6350             "Params": {
6351               "$ref": "#/definitions/DestroyControllerArgs"
6352             }
6353           }
6354         },
6355         "GetCloudSpec": {
6356           "type": "object",
6357           "properties": {
6358             "Params": {
6359               "$ref": "#/definitions/ModelTag"
6360             },
6361             "Result": {
6362               "$ref": "#/definitions/CloudSpecResult"
6363             }
6364           }
6365         },
6366         "GetControllerAccess": {
6367           "type": "object",
6368           "properties": {
6369             "Params": {
6370               "$ref": "#/definitions/Entities"
6371             },
6372             "Result": {
6373               "$ref": "#/definitions/UserAccessResults"
6374             }
6375           }
6376         },
6377         "HostedModelConfigs": {
6378           "type": "object",
6379           "properties": {
6380             "Result": {
6381               "$ref": "#/definitions/HostedModelConfigsResults"
6382             }
6383           }
6384         },
6385         "InitiateMigration": {
6386           "type": "object",
6387           "properties": {
6388             "Params": {
6389               "$ref": "#/definitions/InitiateMigrationArgs"
6390             },
6391             "Result": {
6392               "$ref": "#/definitions/InitiateMigrationResults"
6393             }
6394           }
6395         },
6396         "ListBlockedModels": {
6397           "type": "object",
6398           "properties": {
6399             "Result": {
6400               "$ref": "#/definitions/ModelBlockInfoList"
6401             }
6402           }
6403         },
6404         "ModelConfig": {
6405           "type": "object",
6406           "properties": {
6407             "Result": {
6408               "$ref": "#/definitions/ModelConfigResults"
6409             }
6410           }
6411         },
6412         "ModelStatus": {
6413           "type": "object",
6414           "properties": {
6415             "Params": {
6416               "$ref": "#/definitions/Entities"
6417             },
6418             "Result": {
6419               "$ref": "#/definitions/ModelStatusResults"
6420             }
6421           }
6422         },
6423         "ModifyControllerAccess": {
6424           "type": "object",
6425           "properties": {
6426             "Params": {
6427               "$ref": "#/definitions/ModifyControllerAccessRequest"
6428             },
6429             "Result": {
6430               "$ref": "#/definitions/ErrorResults"
6431             }
6432           }
6433         },
6434         "RemoveBlocks": {
6435           "type": "object",
6436           "properties": {
6437             "Params": {
6438               "$ref": "#/definitions/RemoveBlocksArgs"
6439             }
6440           }
6441         },
6442         "WatchAllModels": {
6443           "type": "object",
6444           "properties": {
6445             "Result": {
6446               "$ref": "#/definitions/AllWatcherId"
6447             }
6448           }
6449         }
6450       },
6451       "definitions": {
6452         "AllWatcherId": {
6453           "type": "object",
6454           "properties": {
6455             "watcher-id": {
6456               "type": "string"
6457             }
6458           },
6459           "additionalProperties": false,
6460           "required": [
6461             "watcher-id"
6462           ]
6463         },
6464         "CloudCredential": {
6465           "type": "object",
6466           "properties": {
6467             "attrs": {
6468               "type": "object",
6469               "patternProperties": {
6470                 ".*": {
6471                   "type": "string"
6472                 }
6473               }
6474             },
6475             "auth-type": {
6476               "type": "string"
6477             },
6478             "redacted": {
6479               "type": "array",
6480               "items": {
6481                 "type": "string"
6482               }
6483             }
6484           },
6485           "additionalProperties": false,
6486           "required": [
6487             "auth-type"
6488           ]
6489         },
6490         "CloudSpec": {
6491           "type": "object",
6492           "properties": {
6493             "credential": {
6494               "$ref": "#/definitions/CloudCredential"
6495             },
6496             "endpoint": {
6497               "type": "string"
6498             },
6499             "identity-endpoint": {
6500               "type": "string"
6501             },
6502             "name": {
6503               "type": "string"
6504             },
6505             "region": {
6506               "type": "string"
6507             },
6508             "storage-endpoint": {
6509               "type": "string"
6510             },
6511             "type": {
6512               "type": "string"
6513             }
6514           },
6515           "additionalProperties": false,
6516           "required": [
6517             "type",
6518             "name"
6519           ]
6520         },
6521         "CloudSpecResult": {
6522           "type": "object",
6523           "properties": {
6524             "error": {
6525               "$ref": "#/definitions/Error"
6526             },
6527             "result": {
6528               "$ref": "#/definitions/CloudSpec"
6529             }
6530           },
6531           "additionalProperties": false
6532         },
6533         "CloudSpecResults": {
6534           "type": "object",
6535           "properties": {
6536             "results": {
6537               "type": "array",
6538               "items": {
6539                 "$ref": "#/definitions/CloudSpecResult"
6540               }
6541             }
6542           },
6543           "additionalProperties": false
6544         },
6545         "ConfigValue": {
6546           "type": "object",
6547           "properties": {
6548             "source": {
6549               "type": "string"
6550             },
6551             "value": {
6552               "type": "object",
6553               "additionalProperties": true
6554             }
6555           },
6556           "additionalProperties": false,
6557           "required": [
6558             "value",
6559             "source"
6560           ]
6561         },
6562         "ControllerConfigResult": {
6563           "type": "object",
6564           "properties": {
6565             "config": {
6566               "type": "object",
6567               "patternProperties": {
6568                 ".*": {
6569                   "type": "object",
6570                   "additionalProperties": true
6571                 }
6572               }
6573             }
6574           },
6575           "additionalProperties": false,
6576           "required": [
6577             "config"
6578           ]
6579         },
6580         "DestroyControllerArgs": {
6581           "type": "object",
6582           "properties": {
6583             "destroy-models": {
6584               "type": "boolean"
6585             }
6586           },
6587           "additionalProperties": false,
6588           "required": [
6589             "destroy-models"
6590           ]
6591         },
6592         "Entities": {
6593           "type": "object",
6594           "properties": {
6595             "entities": {
6596               "type": "array",
6597               "items": {
6598                 "$ref": "#/definitions/Entity"
6599               }
6600             }
6601           },
6602           "additionalProperties": false,
6603           "required": [
6604             "entities"
6605           ]
6606         },
6607         "Entity": {
6608           "type": "object",
6609           "properties": {
6610             "tag": {
6611               "type": "string"
6612             }
6613           },
6614           "additionalProperties": false,
6615           "required": [
6616             "tag"
6617           ]
6618         },
6619         "Error": {
6620           "type": "object",
6621           "properties": {
6622             "code": {
6623               "type": "string"
6624             },
6625             "info": {
6626               "$ref": "#/definitions/ErrorInfo"
6627             },
6628             "message": {
6629               "type": "string"
6630             }
6631           },
6632           "additionalProperties": false,
6633           "required": [
6634             "message",
6635             "code"
6636           ]
6637         },
6638         "ErrorInfo": {
6639           "type": "object",
6640           "properties": {
6641             "macaroon": {
6642               "$ref": "#/definitions/Macaroon"
6643             },
6644             "macaroon-path": {
6645               "type": "string"
6646             }
6647           },
6648           "additionalProperties": false
6649         },
6650         "ErrorResult": {
6651           "type": "object",
6652           "properties": {
6653             "error": {
6654               "$ref": "#/definitions/Error"
6655             }
6656           },
6657           "additionalProperties": false
6658         },
6659         "ErrorResults": {
6660           "type": "object",
6661           "properties": {
6662             "results": {
6663               "type": "array",
6664               "items": {
6665                 "$ref": "#/definitions/ErrorResult"
6666               }
6667             }
6668           },
6669           "additionalProperties": false,
6670           "required": [
6671             "results"
6672           ]
6673         },
6674         "HostedModelConfig": {
6675           "type": "object",
6676           "properties": {
6677             "cloud-spec": {
6678               "$ref": "#/definitions/CloudSpec"
6679             },
6680             "config": {
6681               "type": "object",
6682               "patternProperties": {
6683                 ".*": {
6684                   "type": "object",
6685                   "additionalProperties": true
6686                 }
6687               }
6688             },
6689             "error": {
6690               "$ref": "#/definitions/Error"
6691             },
6692             "name": {
6693               "type": "string"
6694             },
6695             "owner": {
6696               "type": "string"
6697             }
6698           },
6699           "additionalProperties": false,
6700           "required": [
6701             "name",
6702             "owner"
6703           ]
6704         },
6705         "HostedModelConfigsResults": {
6706           "type": "object",
6707           "properties": {
6708             "models": {
6709               "type": "array",
6710               "items": {
6711                 "$ref": "#/definitions/HostedModelConfig"
6712               }
6713             }
6714           },
6715           "additionalProperties": false,
6716           "required": [
6717             "models"
6718           ]
6719         },
6720         "InitiateMigrationArgs": {
6721           "type": "object",
6722           "properties": {
6723             "specs": {
6724               "type": "array",
6725               "items": {
6726                 "$ref": "#/definitions/MigrationSpec"
6727               }
6728             }
6729           },
6730           "additionalProperties": false,
6731           "required": [
6732             "specs"
6733           ]
6734         },
6735         "InitiateMigrationResult": {
6736           "type": "object",
6737           "properties": {
6738             "error": {
6739               "$ref": "#/definitions/Error"
6740             },
6741             "migration-id": {
6742               "type": "string"
6743             },
6744             "model-tag": {
6745               "type": "string"
6746             }
6747           },
6748           "additionalProperties": false,
6749           "required": [
6750             "model-tag",
6751             "migration-id"
6752           ]
6753         },
6754         "InitiateMigrationResults": {
6755           "type": "object",
6756           "properties": {
6757             "results": {
6758               "type": "array",
6759               "items": {
6760                 "$ref": "#/definitions/InitiateMigrationResult"
6761               }
6762             }
6763           },
6764           "additionalProperties": false,
6765           "required": [
6766             "results"
6767           ]
6768         },
6769         "Macaroon": {
6770           "type": "object",
6771           "additionalProperties": false
6772         },
6773         "MachineHardware": {
6774           "type": "object",
6775           "properties": {
6776             "arch": {
6777               "type": "string"
6778             },
6779             "availability-zone": {
6780               "type": "string"
6781             },
6782             "cores": {
6783               "type": "integer"
6784             },
6785             "cpu-power": {
6786               "type": "integer"
6787             },
6788             "mem": {
6789               "type": "integer"
6790             },
6791             "root-disk": {
6792               "type": "integer"
6793             },
6794             "tags": {
6795               "type": "array",
6796               "items": {
6797                 "type": "string"
6798               }
6799             }
6800           },
6801           "additionalProperties": false
6802         },
6803         "MigrationSpec": {
6804           "type": "object",
6805           "properties": {
6806             "external-control": {
6807               "type": "boolean"
6808             },
6809             "model-tag": {
6810               "type": "string"
6811             },
6812             "skip-initial-prechecks": {
6813               "type": "boolean"
6814             },
6815             "target-info": {
6816               "$ref": "#/definitions/MigrationTargetInfo"
6817             }
6818           },
6819           "additionalProperties": false,
6820           "required": [
6821             "model-tag",
6822             "target-info",
6823             "external-control",
6824             "skip-initial-prechecks"
6825           ]
6826         },
6827         "MigrationTargetInfo": {
6828           "type": "object",
6829           "properties": {
6830             "addrs": {
6831               "type": "array",
6832               "items": {
6833                 "type": "string"
6834               }
6835             },
6836             "auth-tag": {
6837               "type": "string"
6838             },
6839             "ca-cert": {
6840               "type": "string"
6841             },
6842             "controller-tag": {
6843               "type": "string"
6844             },
6845             "macaroons": {
6846               "type": "string"
6847             },
6848             "password": {
6849               "type": "string"
6850             }
6851           },
6852           "additionalProperties": false,
6853           "required": [
6854             "controller-tag",
6855             "addrs",
6856             "ca-cert",
6857             "auth-tag"
6858           ]
6859         },
6860         "Model": {
6861           "type": "object",
6862           "properties": {
6863             "name": {
6864               "type": "string"
6865             },
6866             "owner-tag": {
6867               "type": "string"
6868             },
6869             "uuid": {
6870               "type": "string"
6871             }
6872           },
6873           "additionalProperties": false,
6874           "required": [
6875             "name",
6876             "uuid",
6877             "owner-tag"
6878           ]
6879         },
6880         "ModelBlockInfo": {
6881           "type": "object",
6882           "properties": {
6883             "blocks": {
6884               "type": "array",
6885               "items": {
6886                 "type": "string"
6887               }
6888             },
6889             "model-uuid": {
6890               "type": "string"
6891             },
6892             "name": {
6893               "type": "string"
6894             },
6895             "owner-tag": {
6896               "type": "string"
6897             }
6898           },
6899           "additionalProperties": false,
6900           "required": [
6901             "name",
6902             "model-uuid",
6903             "owner-tag",
6904             "blocks"
6905           ]
6906         },
6907         "ModelBlockInfoList": {
6908           "type": "object",
6909           "properties": {
6910             "models": {
6911               "type": "array",
6912               "items": {
6913                 "$ref": "#/definitions/ModelBlockInfo"
6914               }
6915             }
6916           },
6917           "additionalProperties": false
6918         },
6919         "ModelConfigResults": {
6920           "type": "object",
6921           "properties": {
6922             "config": {
6923               "type": "object",
6924               "patternProperties": {
6925                 ".*": {
6926                   "$ref": "#/definitions/ConfigValue"
6927                 }
6928               }
6929             }
6930           },
6931           "additionalProperties": false,
6932           "required": [
6933             "config"
6934           ]
6935         },
6936         "ModelMachineInfo": {
6937           "type": "object",
6938           "properties": {
6939             "hardware": {
6940               "$ref": "#/definitions/MachineHardware"
6941             },
6942             "has-vote": {
6943               "type": "boolean"
6944             },
6945             "id": {
6946               "type": "string"
6947             },
6948             "instance-id": {
6949               "type": "string"
6950             },
6951             "status": {
6952               "type": "string"
6953             },
6954             "wants-vote": {
6955               "type": "boolean"
6956             }
6957           },
6958           "additionalProperties": false,
6959           "required": [
6960             "id"
6961           ]
6962         },
6963         "ModelStatus": {
6964           "type": "object",
6965           "properties": {
6966             "application-count": {
6967               "type": "integer"
6968             },
6969             "hosted-machine-count": {
6970               "type": "integer"
6971             },
6972             "life": {
6973               "type": "string"
6974             },
6975             "machines": {
6976               "type": "array",
6977               "items": {
6978                 "$ref": "#/definitions/ModelMachineInfo"
6979               }
6980             },
6981             "model-tag": {
6982               "type": "string"
6983             },
6984             "owner-tag": {
6985               "type": "string"
6986             }
6987           },
6988           "additionalProperties": false,
6989           "required": [
6990             "model-tag",
6991             "life",
6992             "hosted-machine-count",
6993             "application-count",
6994             "owner-tag"
6995           ]
6996         },
6997         "ModelStatusResults": {
6998           "type": "object",
6999           "properties": {
7000             "models": {
7001               "type": "array",
7002               "items": {
7003                 "$ref": "#/definitions/ModelStatus"
7004               }
7005             }
7006           },
7007           "additionalProperties": false,
7008           "required": [
7009             "models"
7010           ]
7011         },
7012         "ModelTag": {
7013           "type": "object",
7014           "additionalProperties": false
7015         },
7016         "ModifyControllerAccess": {
7017           "type": "object",
7018           "properties": {
7019             "access": {
7020               "type": "string"
7021             },
7022             "action": {
7023               "type": "string"
7024             },
7025             "user-tag": {
7026               "type": "string"
7027             }
7028           },
7029           "additionalProperties": false,
7030           "required": [
7031             "user-tag",
7032             "action",
7033             "access"
7034           ]
7035         },
7036         "ModifyControllerAccessRequest": {
7037           "type": "object",
7038           "properties": {
7039             "changes": {
7040               "type": "array",
7041               "items": {
7042                 "$ref": "#/definitions/ModifyControllerAccess"
7043               }
7044             }
7045           },
7046           "additionalProperties": false,
7047           "required": [
7048             "changes"
7049           ]
7050         },
7051         "RemoveBlocksArgs": {
7052           "type": "object",
7053           "properties": {
7054             "all": {
7055               "type": "boolean"
7056             }
7057           },
7058           "additionalProperties": false,
7059           "required": [
7060             "all"
7061           ]
7062         },
7063         "UserAccess": {
7064           "type": "object",
7065           "properties": {
7066             "access": {
7067               "type": "string"
7068             },
7069             "user-tag": {
7070               "type": "string"
7071             }
7072           },
7073           "additionalProperties": false,
7074           "required": [
7075             "user-tag",
7076             "access"
7077           ]
7078         },
7079         "UserAccessResult": {
7080           "type": "object",
7081           "properties": {
7082             "error": {
7083               "$ref": "#/definitions/Error"
7084             },
7085             "result": {
7086               "$ref": "#/definitions/UserAccess"
7087             }
7088           },
7089           "additionalProperties": false
7090         },
7091         "UserAccessResults": {
7092           "type": "object",
7093           "properties": {
7094             "results": {
7095               "type": "array",
7096               "items": {
7097                 "$ref": "#/definitions/UserAccessResult"
7098               }
7099             }
7100           },
7101           "additionalProperties": false
7102         },
7103         "UserModel": {
7104           "type": "object",
7105           "properties": {
7106             "last-connection": {
7107               "type": "string",
7108               "format": "date-time"
7109             },
7110             "model": {
7111               "$ref": "#/definitions/Model"
7112             }
7113           },
7114           "additionalProperties": false,
7115           "required": [
7116             "model",
7117             "last-connection"
7118           ]
7119         },
7120         "UserModelList": {
7121           "type": "object",
7122           "properties": {
7123             "user-models": {
7124               "type": "array",
7125               "items": {
7126                 "$ref": "#/definitions/UserModel"
7127               }
7128             }
7129           },
7130           "additionalProperties": false,
7131           "required": [
7132             "user-models"
7133           ]
7134         }
7135       }
7136     }
7137   },
7138   {
7139     "Name": "Deployer",
7140     "Version": 1,
7141     "Schema": {
7142       "type": "object",
7143       "properties": {
7144         "APIAddresses": {
7145           "type": "object",
7146           "properties": {
7147             "Result": {
7148               "$ref": "#/definitions/StringsResult"
7149             }
7150           }
7151         },
7152         "APIHostPorts": {
7153           "type": "object",
7154           "properties": {
7155             "Result": {
7156               "$ref": "#/definitions/APIHostPortsResult"
7157             }
7158           }
7159         },
7160         "CACert": {
7161           "type": "object",
7162           "properties": {
7163             "Result": {
7164               "$ref": "#/definitions/BytesResult"
7165             }
7166           }
7167         },
7168         "ConnectionInfo": {
7169           "type": "object",
7170           "properties": {
7171             "Result": {
7172               "$ref": "#/definitions/DeployerConnectionValues"
7173             }
7174           }
7175         },
7176         "Life": {
7177           "type": "object",
7178           "properties": {
7179             "Params": {
7180               "$ref": "#/definitions/Entities"
7181             },
7182             "Result": {
7183               "$ref": "#/definitions/LifeResults"
7184             }
7185           }
7186         },
7187         "ModelUUID": {
7188           "type": "object",
7189           "properties": {
7190             "Result": {
7191               "$ref": "#/definitions/StringResult"
7192             }
7193           }
7194         },
7195         "Remove": {
7196           "type": "object",
7197           "properties": {
7198             "Params": {
7199               "$ref": "#/definitions/Entities"
7200             },
7201             "Result": {
7202               "$ref": "#/definitions/ErrorResults"
7203             }
7204           }
7205         },
7206         "SetPasswords": {
7207           "type": "object",
7208           "properties": {
7209             "Params": {
7210               "$ref": "#/definitions/EntityPasswords"
7211             },
7212             "Result": {
7213               "$ref": "#/definitions/ErrorResults"
7214             }
7215           }
7216         },
7217         "SetStatus": {
7218           "type": "object",
7219           "properties": {
7220             "Params": {
7221               "$ref": "#/definitions/SetStatus"
7222             },
7223             "Result": {
7224               "$ref": "#/definitions/ErrorResults"
7225             }
7226           }
7227         },
7228         "StateAddresses": {
7229           "type": "object",
7230           "properties": {
7231             "Result": {
7232               "$ref": "#/definitions/StringsResult"
7233             }
7234           }
7235         },
7236         "UpdateStatus": {
7237           "type": "object",
7238           "properties": {
7239             "Params": {
7240               "$ref": "#/definitions/SetStatus"
7241             },
7242             "Result": {
7243               "$ref": "#/definitions/ErrorResults"
7244             }
7245           }
7246         },
7247         "WatchAPIHostPorts": {
7248           "type": "object",
7249           "properties": {
7250             "Result": {
7251               "$ref": "#/definitions/NotifyWatchResult"
7252             }
7253           }
7254         },
7255         "WatchUnits": {
7256           "type": "object",
7257           "properties": {
7258             "Params": {
7259               "$ref": "#/definitions/Entities"
7260             },
7261             "Result": {
7262               "$ref": "#/definitions/StringsWatchResults"
7263             }
7264           }
7265         }
7266       },
7267       "definitions": {
7268         "APIHostPortsResult": {
7269           "type": "object",
7270           "properties": {
7271             "servers": {
7272               "type": "array",
7273               "items": {
7274                 "type": "array",
7275                 "items": {
7276                   "$ref": "#/definitions/HostPort"
7277                 }
7278               }
7279             }
7280           },
7281           "additionalProperties": false,
7282           "required": [
7283             "servers"
7284           ]
7285         },
7286         "Address": {
7287           "type": "object",
7288           "properties": {
7289             "scope": {
7290               "type": "string"
7291             },
7292             "space-name": {
7293               "type": "string"
7294             },
7295             "type": {
7296               "type": "string"
7297             },
7298             "value": {
7299               "type": "string"
7300             }
7301           },
7302           "additionalProperties": false,
7303           "required": [
7304             "value",
7305             "type",
7306             "scope"
7307           ]
7308         },
7309         "BytesResult": {
7310           "type": "object",
7311           "properties": {
7312             "result": {
7313               "type": "array",
7314               "items": {
7315                 "type": "integer"
7316               }
7317             }
7318           },
7319           "additionalProperties": false,
7320           "required": [
7321             "result"
7322           ]
7323         },
7324         "DeployerConnectionValues": {
7325           "type": "object",
7326           "properties": {
7327             "api-addresses": {
7328               "type": "array",
7329               "items": {
7330                 "type": "string"
7331               }
7332             },
7333             "state-addresses": {
7334               "type": "array",
7335               "items": {
7336                 "type": "string"
7337               }
7338             }
7339           },
7340           "additionalProperties": false,
7341           "required": [
7342             "state-addresses",
7343             "api-addresses"
7344           ]
7345         },
7346         "Entities": {
7347           "type": "object",
7348           "properties": {
7349             "entities": {
7350               "type": "array",
7351               "items": {
7352                 "$ref": "#/definitions/Entity"
7353               }
7354             }
7355           },
7356           "additionalProperties": false,
7357           "required": [
7358             "entities"
7359           ]
7360         },
7361         "Entity": {
7362           "type": "object",
7363           "properties": {
7364             "tag": {
7365               "type": "string"
7366             }
7367           },
7368           "additionalProperties": false,
7369           "required": [
7370             "tag"
7371           ]
7372         },
7373         "EntityPassword": {
7374           "type": "object",
7375           "properties": {
7376             "password": {
7377               "type": "string"
7378             },
7379             "tag": {
7380               "type": "string"
7381             }
7382           },
7383           "additionalProperties": false,
7384           "required": [
7385             "tag",
7386             "password"
7387           ]
7388         },
7389         "EntityPasswords": {
7390           "type": "object",
7391           "properties": {
7392             "changes": {
7393               "type": "array",
7394               "items": {
7395                 "$ref": "#/definitions/EntityPassword"
7396               }
7397             }
7398           },
7399           "additionalProperties": false,
7400           "required": [
7401             "changes"
7402           ]
7403         },
7404         "EntityStatusArgs": {
7405           "type": "object",
7406           "properties": {
7407             "data": {
7408               "type": "object",
7409               "patternProperties": {
7410                 ".*": {
7411                   "type": "object",
7412                   "additionalProperties": true
7413                 }
7414               }
7415             },
7416             "info": {
7417               "type": "string"
7418             },
7419             "status": {
7420               "type": "string"
7421             },
7422             "tag": {
7423               "type": "string"
7424             }
7425           },
7426           "additionalProperties": false,
7427           "required": [
7428             "tag",
7429             "status",
7430             "info",
7431             "data"
7432           ]
7433         },
7434         "Error": {
7435           "type": "object",
7436           "properties": {
7437             "code": {
7438               "type": "string"
7439             },
7440             "info": {
7441               "$ref": "#/definitions/ErrorInfo"
7442             },
7443             "message": {
7444               "type": "string"
7445             }
7446           },
7447           "additionalProperties": false,
7448           "required": [
7449             "message",
7450             "code"
7451           ]
7452         },
7453         "ErrorInfo": {
7454           "type": "object",
7455           "properties": {
7456             "macaroon": {
7457               "$ref": "#/definitions/Macaroon"
7458             },
7459             "macaroon-path": {
7460               "type": "string"
7461             }
7462           },
7463           "additionalProperties": false
7464         },
7465         "ErrorResult": {
7466           "type": "object",
7467           "properties": {
7468             "error": {
7469               "$ref": "#/definitions/Error"
7470             }
7471           },
7472           "additionalProperties": false
7473         },
7474         "ErrorResults": {
7475           "type": "object",
7476           "properties": {
7477             "results": {
7478               "type": "array",
7479               "items": {
7480                 "$ref": "#/definitions/ErrorResult"
7481               }
7482             }
7483           },
7484           "additionalProperties": false,
7485           "required": [
7486             "results"
7487           ]
7488         },
7489         "HostPort": {
7490           "type": "object",
7491           "properties": {
7492             "Address": {
7493               "$ref": "#/definitions/Address"
7494             },
7495             "port": {
7496               "type": "integer"
7497             }
7498           },
7499           "additionalProperties": false,
7500           "required": [
7501             "Address",
7502             "port"
7503           ]
7504         },
7505         "LifeResult": {
7506           "type": "object",
7507           "properties": {
7508             "error": {
7509               "$ref": "#/definitions/Error"
7510             },
7511             "life": {
7512               "type": "string"
7513             }
7514           },
7515           "additionalProperties": false,
7516           "required": [
7517             "life"
7518           ]
7519         },
7520         "LifeResults": {
7521           "type": "object",
7522           "properties": {
7523             "results": {
7524               "type": "array",
7525               "items": {
7526                 "$ref": "#/definitions/LifeResult"
7527               }
7528             }
7529           },
7530           "additionalProperties": false,
7531           "required": [
7532             "results"
7533           ]
7534         },
7535         "Macaroon": {
7536           "type": "object",
7537           "additionalProperties": false
7538         },
7539         "NotifyWatchResult": {
7540           "type": "object",
7541           "properties": {
7542             "NotifyWatcherId": {
7543               "type": "string"
7544             },
7545             "error": {
7546               "$ref": "#/definitions/Error"
7547             }
7548           },
7549           "additionalProperties": false,
7550           "required": [
7551             "NotifyWatcherId"
7552           ]
7553         },
7554         "SetStatus": {
7555           "type": "object",
7556           "properties": {
7557             "entities": {
7558               "type": "array",
7559               "items": {
7560                 "$ref": "#/definitions/EntityStatusArgs"
7561               }
7562             }
7563           },
7564           "additionalProperties": false,
7565           "required": [
7566             "entities"
7567           ]
7568         },
7569         "StringResult": {
7570           "type": "object",
7571           "properties": {
7572             "error": {
7573               "$ref": "#/definitions/Error"
7574             },
7575             "result": {
7576               "type": "string"
7577             }
7578           },
7579           "additionalProperties": false,
7580           "required": [
7581             "result"
7582           ]
7583         },
7584         "StringsResult": {
7585           "type": "object",
7586           "properties": {
7587             "error": {
7588               "$ref": "#/definitions/Error"
7589             },
7590             "result": {
7591               "type": "array",
7592               "items": {
7593                 "type": "string"
7594               }
7595             }
7596           },
7597           "additionalProperties": false
7598         },
7599         "StringsWatchResult": {
7600           "type": "object",
7601           "properties": {
7602             "changes": {
7603               "type": "array",
7604               "items": {
7605                 "type": "string"
7606               }
7607             },
7608             "error": {
7609               "$ref": "#/definitions/Error"
7610             },
7611             "watcher-id": {
7612               "type": "string"
7613             }
7614           },
7615           "additionalProperties": false,
7616           "required": [
7617             "watcher-id"
7618           ]
7619         },
7620         "StringsWatchResults": {
7621           "type": "object",
7622           "properties": {
7623             "results": {
7624               "type": "array",
7625               "items": {
7626                 "$ref": "#/definitions/StringsWatchResult"
7627               }
7628             }
7629           },
7630           "additionalProperties": false,
7631           "required": [
7632             "results"
7633           ]
7634         }
7635       }
7636     }
7637   },
7638   {
7639     "Name": "DiscoverSpaces",
7640     "Version": 2,
7641     "Schema": {
7642       "type": "object",
7643       "properties": {
7644         "AddSubnets": {
7645           "type": "object",
7646           "properties": {
7647             "Params": {
7648               "$ref": "#/definitions/AddSubnetsParams"
7649             },
7650             "Result": {
7651               "$ref": "#/definitions/ErrorResults"
7652             }
7653           }
7654         },
7655         "CreateSpaces": {
7656           "type": "object",
7657           "properties": {
7658             "Params": {
7659               "$ref": "#/definitions/CreateSpacesParams"
7660             },
7661             "Result": {
7662               "$ref": "#/definitions/ErrorResults"
7663             }
7664           }
7665         },
7666         "ListSpaces": {
7667           "type": "object",
7668           "properties": {
7669             "Result": {
7670               "$ref": "#/definitions/DiscoverSpacesResults"
7671             }
7672           }
7673         },
7674         "ListSubnets": {
7675           "type": "object",
7676           "properties": {
7677             "Params": {
7678               "$ref": "#/definitions/SubnetsFilters"
7679             },
7680             "Result": {
7681               "$ref": "#/definitions/ListSubnetsResults"
7682             }
7683           }
7684         },
7685         "ModelConfig": {
7686           "type": "object",
7687           "properties": {
7688             "Result": {
7689               "$ref": "#/definitions/ModelConfigResult"
7690             }
7691           }
7692         }
7693       },
7694       "definitions": {
7695         "AddSubnetParams": {
7696           "type": "object",
7697           "properties": {
7698             "provider-network-id": {
7699               "type": "string"
7700             },
7701             "space-tag": {
7702               "type": "string"
7703             },
7704             "subnet-provider-id": {
7705               "type": "string"
7706             },
7707             "subnet-tag": {
7708               "type": "string"
7709             },
7710             "vlan-tag": {
7711               "type": "integer"
7712             },
7713             "zones": {
7714               "type": "array",
7715               "items": {
7716                 "type": "string"
7717               }
7718             }
7719           },
7720           "additionalProperties": false,
7721           "required": [
7722             "space-tag"
7723           ]
7724         },
7725         "AddSubnetsParams": {
7726           "type": "object",
7727           "properties": {
7728             "subnets": {
7729               "type": "array",
7730               "items": {
7731                 "$ref": "#/definitions/AddSubnetParams"
7732               }
7733             }
7734           },
7735           "additionalProperties": false,
7736           "required": [
7737             "subnets"
7738           ]
7739         },
7740         "CreateSpaceParams": {
7741           "type": "object",
7742           "properties": {
7743             "provider-id": {
7744               "type": "string"
7745             },
7746             "public": {
7747               "type": "boolean"
7748             },
7749             "space-tag": {
7750               "type": "string"
7751             },
7752             "subnet-tags": {
7753               "type": "array",
7754               "items": {
7755                 "type": "string"
7756               }
7757             }
7758           },
7759           "additionalProperties": false,
7760           "required": [
7761             "subnet-tags",
7762             "space-tag",
7763             "public"
7764           ]
7765         },
7766         "CreateSpacesParams": {
7767           "type": "object",
7768           "properties": {
7769             "spaces": {
7770               "type": "array",
7771               "items": {
7772                 "$ref": "#/definitions/CreateSpaceParams"
7773               }
7774             }
7775           },
7776           "additionalProperties": false,
7777           "required": [
7778             "spaces"
7779           ]
7780         },
7781         "DiscoverSpacesResults": {
7782           "type": "object",
7783           "properties": {
7784             "results": {
7785               "type": "array",
7786               "items": {
7787                 "$ref": "#/definitions/ProviderSpace"
7788               }
7789             }
7790           },
7791           "additionalProperties": false,
7792           "required": [
7793             "results"
7794           ]
7795         },
7796         "Error": {
7797           "type": "object",
7798           "properties": {
7799             "code": {
7800               "type": "string"
7801             },
7802             "info": {
7803               "$ref": "#/definitions/ErrorInfo"
7804             },
7805             "message": {
7806               "type": "string"
7807             }
7808           },
7809           "additionalProperties": false,
7810           "required": [
7811             "message",
7812             "code"
7813           ]
7814         },
7815         "ErrorInfo": {
7816           "type": "object",
7817           "properties": {
7818             "macaroon": {
7819               "$ref": "#/definitions/Macaroon"
7820             },
7821             "macaroon-path": {
7822               "type": "string"
7823             }
7824           },
7825           "additionalProperties": false
7826         },
7827         "ErrorResult": {
7828           "type": "object",
7829           "properties": {
7830             "error": {
7831               "$ref": "#/definitions/Error"
7832             }
7833           },
7834           "additionalProperties": false
7835         },
7836         "ErrorResults": {
7837           "type": "object",
7838           "properties": {
7839             "results": {
7840               "type": "array",
7841               "items": {
7842                 "$ref": "#/definitions/ErrorResult"
7843               }
7844             }
7845           },
7846           "additionalProperties": false,
7847           "required": [
7848             "results"
7849           ]
7850         },
7851         "ListSubnetsResults": {
7852           "type": "object",
7853           "properties": {
7854             "results": {
7855               "type": "array",
7856               "items": {
7857                 "$ref": "#/definitions/Subnet"
7858               }
7859             }
7860           },
7861           "additionalProperties": false,
7862           "required": [
7863             "results"
7864           ]
7865         },
7866         "Macaroon": {
7867           "type": "object",
7868           "additionalProperties": false
7869         },
7870         "ModelConfigResult": {
7871           "type": "object",
7872           "properties": {
7873             "config": {
7874               "type": "object",
7875               "patternProperties": {
7876                 ".*": {
7877                   "type": "object",
7878                   "additionalProperties": true
7879                 }
7880               }
7881             }
7882           },
7883           "additionalProperties": false,
7884           "required": [
7885             "config"
7886           ]
7887         },
7888         "ProviderSpace": {
7889           "type": "object",
7890           "properties": {
7891             "error": {
7892               "$ref": "#/definitions/Error"
7893             },
7894             "name": {
7895               "type": "string"
7896             },
7897             "provider-id": {
7898               "type": "string"
7899             },
7900             "subnets": {
7901               "type": "array",
7902               "items": {
7903                 "$ref": "#/definitions/Subnet"
7904               }
7905             }
7906           },
7907           "additionalProperties": false,
7908           "required": [
7909             "name",
7910             "provider-id",
7911             "subnets"
7912           ]
7913         },
7914         "Subnet": {
7915           "type": "object",
7916           "properties": {
7917             "cidr": {
7918               "type": "string"
7919             },
7920             "life": {
7921               "type": "string"
7922             },
7923             "provider-id": {
7924               "type": "string"
7925             },
7926             "provider-network-id": {
7927               "type": "string"
7928             },
7929             "space-tag": {
7930               "type": "string"
7931             },
7932             "status": {
7933               "type": "string"
7934             },
7935             "vlan-tag": {
7936               "type": "integer"
7937             },
7938             "zones": {
7939               "type": "array",
7940               "items": {
7941                 "type": "string"
7942               }
7943             }
7944           },
7945           "additionalProperties": false,
7946           "required": [
7947             "cidr",
7948             "vlan-tag",
7949             "life",
7950             "space-tag",
7951             "zones"
7952           ]
7953         },
7954         "SubnetsFilters": {
7955           "type": "object",
7956           "properties": {
7957             "space-tag": {
7958               "type": "string"
7959             },
7960             "zone": {
7961               "type": "string"
7962             }
7963           },
7964           "additionalProperties": false
7965         }
7966       }
7967     }
7968   },
7969   {
7970     "Name": "DiskManager",
7971     "Version": 2,
7972     "Schema": {
7973       "type": "object",
7974       "properties": {
7975         "SetMachineBlockDevices": {
7976           "type": "object",
7977           "properties": {
7978             "Params": {
7979               "$ref": "#/definitions/SetMachineBlockDevices"
7980             },
7981             "Result": {
7982               "$ref": "#/definitions/ErrorResults"
7983             }
7984           }
7985         }
7986       },
7987       "definitions": {
7988         "BlockDevice": {
7989           "type": "object",
7990           "properties": {
7991             "BusAddress": {
7992               "type": "string"
7993             },
7994             "DeviceLinks": {
7995               "type": "array",
7996               "items": {
7997                 "type": "string"
7998               }
7999             },
8000             "DeviceName": {
8001               "type": "string"
8002             },
8003             "FilesystemType": {
8004               "type": "string"
8005             },
8006             "HardwareId": {
8007               "type": "string"
8008             },
8009             "InUse": {
8010               "type": "boolean"
8011             },
8012             "Label": {
8013               "type": "string"
8014             },
8015             "MountPoint": {
8016               "type": "string"
8017             },
8018             "Size": {
8019               "type": "integer"
8020             },
8021             "UUID": {
8022               "type": "string"
8023             }
8024           },
8025           "additionalProperties": false,
8026           "required": [
8027             "DeviceName",
8028             "DeviceLinks",
8029             "Label",
8030             "UUID",
8031             "HardwareId",
8032             "BusAddress",
8033             "Size",
8034             "FilesystemType",
8035             "InUse",
8036             "MountPoint"
8037           ]
8038         },
8039         "Error": {
8040           "type": "object",
8041           "properties": {
8042             "code": {
8043               "type": "string"
8044             },
8045             "info": {
8046               "$ref": "#/definitions/ErrorInfo"
8047             },
8048             "message": {
8049               "type": "string"
8050             }
8051           },
8052           "additionalProperties": false,
8053           "required": [
8054             "message",
8055             "code"
8056           ]
8057         },
8058         "ErrorInfo": {
8059           "type": "object",
8060           "properties": {
8061             "macaroon": {
8062               "$ref": "#/definitions/Macaroon"
8063             },
8064             "macaroon-path": {
8065               "type": "string"
8066             }
8067           },
8068           "additionalProperties": false
8069         },
8070         "ErrorResult": {
8071           "type": "object",
8072           "properties": {
8073             "error": {
8074               "$ref": "#/definitions/Error"
8075             }
8076           },
8077           "additionalProperties": false
8078         },
8079         "ErrorResults": {
8080           "type": "object",
8081           "properties": {
8082             "results": {
8083               "type": "array",
8084               "items": {
8085                 "$ref": "#/definitions/ErrorResult"
8086               }
8087             }
8088           },
8089           "additionalProperties": false,
8090           "required": [
8091             "results"
8092           ]
8093         },
8094         "Macaroon": {
8095           "type": "object",
8096           "additionalProperties": false
8097         },
8098         "MachineBlockDevices": {
8099           "type": "object",
8100           "properties": {
8101             "block-devices": {
8102               "type": "array",
8103               "items": {
8104                 "$ref": "#/definitions/BlockDevice"
8105               }
8106             },
8107             "machine": {
8108               "type": "string"
8109             }
8110           },
8111           "additionalProperties": false,
8112           "required": [
8113             "machine"
8114           ]
8115         },
8116         "SetMachineBlockDevices": {
8117           "type": "object",
8118           "properties": {
8119             "machine-block-devices": {
8120               "type": "array",
8121               "items": {
8122                 "$ref": "#/definitions/MachineBlockDevices"
8123               }
8124             }
8125           },
8126           "additionalProperties": false,
8127           "required": [
8128             "machine-block-devices"
8129           ]
8130         }
8131       }
8132     }
8133   },
8134   {
8135     "Name": "EntityWatcher",
8136     "Version": 2,
8137     "Schema": {
8138       "type": "object",
8139       "properties": {
8140         "Next": {
8141           "type": "object",
8142           "properties": {
8143             "Result": {
8144               "$ref": "#/definitions/EntitiesWatchResult"
8145             }
8146           }
8147         },
8148         "Stop": {
8149           "type": "object"
8150         }
8151       },
8152       "definitions": {
8153         "EntitiesWatchResult": {
8154           "type": "object",
8155           "properties": {
8156             "changes": {
8157               "type": "array",
8158               "items": {
8159                 "type": "string"
8160               }
8161             },
8162             "error": {
8163               "$ref": "#/definitions/Error"
8164             },
8165             "watcher-id": {
8166               "type": "string"
8167             }
8168           },
8169           "additionalProperties": false,
8170           "required": [
8171             "watcher-id"
8172           ]
8173         },
8174         "Error": {
8175           "type": "object",
8176           "properties": {
8177             "code": {
8178               "type": "string"
8179             },
8180             "info": {
8181               "$ref": "#/definitions/ErrorInfo"
8182             },
8183             "message": {
8184               "type": "string"
8185             }
8186           },
8187           "additionalProperties": false,
8188           "required": [
8189             "message",
8190             "code"
8191           ]
8192         },
8193         "ErrorInfo": {
8194           "type": "object",
8195           "properties": {
8196             "macaroon": {
8197               "$ref": "#/definitions/Macaroon"
8198             },
8199             "macaroon-path": {
8200               "type": "string"
8201             }
8202           },
8203           "additionalProperties": false
8204         },
8205         "Macaroon": {
8206           "type": "object",
8207           "additionalProperties": false
8208         }
8209       }
8210     }
8211   },
8212   {
8213     "Name": "FilesystemAttachmentsWatcher",
8214     "Version": 2,
8215     "Schema": {
8216       "type": "object",
8217       "properties": {
8218         "Next": {
8219           "type": "object",
8220           "properties": {
8221             "Result": {
8222               "$ref": "#/definitions/MachineStorageIdsWatchResult"
8223             }
8224           }
8225         },
8226         "Stop": {
8227           "type": "object"
8228         }
8229       },
8230       "definitions": {
8231         "Error": {
8232           "type": "object",
8233           "properties": {
8234             "code": {
8235               "type": "string"
8236             },
8237             "info": {
8238               "$ref": "#/definitions/ErrorInfo"
8239             },
8240             "message": {
8241               "type": "string"
8242             }
8243           },
8244           "additionalProperties": false,
8245           "required": [
8246             "message",
8247             "code"
8248           ]
8249         },
8250         "ErrorInfo": {
8251           "type": "object",
8252           "properties": {
8253             "macaroon": {
8254               "$ref": "#/definitions/Macaroon"
8255             },
8256             "macaroon-path": {
8257               "type": "string"
8258             }
8259           },
8260           "additionalProperties": false
8261         },
8262         "Macaroon": {
8263           "type": "object",
8264           "additionalProperties": false
8265         },
8266         "MachineStorageId": {
8267           "type": "object",
8268           "properties": {
8269             "attachment-tag": {
8270               "type": "string"
8271             },
8272             "machine-tag": {
8273               "type": "string"
8274             }
8275           },
8276           "additionalProperties": false,
8277           "required": [
8278             "machine-tag",
8279             "attachment-tag"
8280           ]
8281         },
8282         "MachineStorageIdsWatchResult": {
8283           "type": "object",
8284           "properties": {
8285             "changes": {
8286               "type": "array",
8287               "items": {
8288                 "$ref": "#/definitions/MachineStorageId"
8289               }
8290             },
8291             "error": {
8292               "$ref": "#/definitions/Error"
8293             },
8294             "watcher-id": {
8295               "type": "string"
8296             }
8297           },
8298           "additionalProperties": false,
8299           "required": [
8300             "watcher-id",
8301             "changes"
8302           ]
8303         }
8304       }
8305     }
8306   },
8307   {
8308     "Name": "Firewaller",
8309     "Version": 3,
8310     "Schema": {
8311       "type": "object",
8312       "properties": {
8313         "CloudSpec": {
8314           "type": "object",
8315           "properties": {
8316             "Params": {
8317               "$ref": "#/definitions/Entities"
8318             },
8319             "Result": {
8320               "$ref": "#/definitions/CloudSpecResults"
8321             }
8322           }
8323         },
8324         "GetAssignedMachine": {
8325           "type": "object",
8326           "properties": {
8327             "Params": {
8328               "$ref": "#/definitions/Entities"
8329             },
8330             "Result": {
8331               "$ref": "#/definitions/StringResults"
8332             }
8333           }
8334         },
8335         "GetCloudSpec": {
8336           "type": "object",
8337           "properties": {
8338             "Params": {
8339               "$ref": "#/definitions/ModelTag"
8340             },
8341             "Result": {
8342               "$ref": "#/definitions/CloudSpecResult"
8343             }
8344           }
8345         },
8346         "GetExposed": {
8347           "type": "object",
8348           "properties": {
8349             "Params": {
8350               "$ref": "#/definitions/Entities"
8351             },
8352             "Result": {
8353               "$ref": "#/definitions/BoolResults"
8354             }
8355           }
8356         },
8357         "GetMachineActiveSubnets": {
8358           "type": "object",
8359           "properties": {
8360             "Params": {
8361               "$ref": "#/definitions/Entities"
8362             },
8363             "Result": {
8364               "$ref": "#/definitions/StringsResults"
8365             }
8366           }
8367         },
8368         "GetMachinePorts": {
8369           "type": "object",
8370           "properties": {
8371             "Params": {
8372               "$ref": "#/definitions/MachinePortsParams"
8373             },
8374             "Result": {
8375               "$ref": "#/definitions/MachinePortsResults"
8376             }
8377           }
8378         },
8379         "InstanceId": {
8380           "type": "object",
8381           "properties": {
8382             "Params": {
8383               "$ref": "#/definitions/Entities"
8384             },
8385             "Result": {
8386               "$ref": "#/definitions/StringResults"
8387             }
8388           }
8389         },
8390         "Life": {
8391           "type": "object",
8392           "properties": {
8393             "Params": {
8394               "$ref": "#/definitions/Entities"
8395             },
8396             "Result": {
8397               "$ref": "#/definitions/LifeResults"
8398             }
8399           }
8400         },
8401         "ModelConfig": {
8402           "type": "object",
8403           "properties": {
8404             "Result": {
8405               "$ref": "#/definitions/ModelConfigResult"
8406             }
8407           }
8408         },
8409         "Watch": {
8410           "type": "object",
8411           "properties": {
8412             "Params": {
8413               "$ref": "#/definitions/Entities"
8414             },
8415             "Result": {
8416               "$ref": "#/definitions/NotifyWatchResults"
8417             }
8418           }
8419         },
8420         "WatchForModelConfigChanges": {
8421           "type": "object",
8422           "properties": {
8423             "Result": {
8424               "$ref": "#/definitions/NotifyWatchResult"
8425             }
8426           }
8427         },
8428         "WatchModelMachines": {
8429           "type": "object",
8430           "properties": {
8431             "Result": {
8432               "$ref": "#/definitions/StringsWatchResult"
8433             }
8434           }
8435         },
8436         "WatchOpenedPorts": {
8437           "type": "object",
8438           "properties": {
8439             "Params": {
8440               "$ref": "#/definitions/Entities"
8441             },
8442             "Result": {
8443               "$ref": "#/definitions/StringsWatchResults"
8444             }
8445           }
8446         },
8447         "WatchUnits": {
8448           "type": "object",
8449           "properties": {
8450             "Params": {
8451               "$ref": "#/definitions/Entities"
8452             },
8453             "Result": {
8454               "$ref": "#/definitions/StringsWatchResults"
8455             }
8456           }
8457         }
8458       },
8459       "definitions": {
8460         "BoolResult": {
8461           "type": "object",
8462           "properties": {
8463             "error": {
8464               "$ref": "#/definitions/Error"
8465             },
8466             "result": {
8467               "type": "boolean"
8468             }
8469           },
8470           "additionalProperties": false,
8471           "required": [
8472             "result"
8473           ]
8474         },
8475         "BoolResults": {
8476           "type": "object",
8477           "properties": {
8478             "results": {
8479               "type": "array",
8480               "items": {
8481                 "$ref": "#/definitions/BoolResult"
8482               }
8483             }
8484           },
8485           "additionalProperties": false,
8486           "required": [
8487             "results"
8488           ]
8489         },
8490         "CloudCredential": {
8491           "type": "object",
8492           "properties": {
8493             "attrs": {
8494               "type": "object",
8495               "patternProperties": {
8496                 ".*": {
8497                   "type": "string"
8498                 }
8499               }
8500             },
8501             "auth-type": {
8502               "type": "string"
8503             },
8504             "redacted": {
8505               "type": "array",
8506               "items": {
8507                 "type": "string"
8508               }
8509             }
8510           },
8511           "additionalProperties": false,
8512           "required": [
8513             "auth-type"
8514           ]
8515         },
8516         "CloudSpec": {
8517           "type": "object",
8518           "properties": {
8519             "credential": {
8520               "$ref": "#/definitions/CloudCredential"
8521             },
8522             "endpoint": {
8523               "type": "string"
8524             },
8525             "identity-endpoint": {
8526               "type": "string"
8527             },
8528             "name": {
8529               "type": "string"
8530             },
8531             "region": {
8532               "type": "string"
8533             },
8534             "storage-endpoint": {
8535               "type": "string"
8536             },
8537             "type": {
8538               "type": "string"
8539             }
8540           },
8541           "additionalProperties": false,
8542           "required": [
8543             "type",
8544             "name"
8545           ]
8546         },
8547         "CloudSpecResult": {
8548           "type": "object",
8549           "properties": {
8550             "error": {
8551               "$ref": "#/definitions/Error"
8552             },
8553             "result": {
8554               "$ref": "#/definitions/CloudSpec"
8555             }
8556           },
8557           "additionalProperties": false
8558         },
8559         "CloudSpecResults": {
8560           "type": "object",
8561           "properties": {
8562             "results": {
8563               "type": "array",
8564               "items": {
8565                 "$ref": "#/definitions/CloudSpecResult"
8566               }
8567             }
8568           },
8569           "additionalProperties": false
8570         },
8571         "Entities": {
8572           "type": "object",
8573           "properties": {
8574             "entities": {
8575               "type": "array",
8576               "items": {
8577                 "$ref": "#/definitions/Entity"
8578               }
8579             }
8580           },
8581           "additionalProperties": false,
8582           "required": [
8583             "entities"
8584           ]
8585         },
8586         "Entity": {
8587           "type": "object",
8588           "properties": {
8589             "tag": {
8590               "type": "string"
8591             }
8592           },
8593           "additionalProperties": false,
8594           "required": [
8595             "tag"
8596           ]
8597         },
8598         "Error": {
8599           "type": "object",
8600           "properties": {
8601             "code": {
8602               "type": "string"
8603             },
8604             "info": {
8605               "$ref": "#/definitions/ErrorInfo"
8606             },
8607             "message": {
8608               "type": "string"
8609             }
8610           },
8611           "additionalProperties": false,
8612           "required": [
8613             "message",
8614             "code"
8615           ]
8616         },
8617         "ErrorInfo": {
8618           "type": "object",
8619           "properties": {
8620             "macaroon": {
8621               "$ref": "#/definitions/Macaroon"
8622             },
8623             "macaroon-path": {
8624               "type": "string"
8625             }
8626           },
8627           "additionalProperties": false
8628         },
8629         "LifeResult": {
8630           "type": "object",
8631           "properties": {
8632             "error": {
8633               "$ref": "#/definitions/Error"
8634             },
8635             "life": {
8636               "type": "string"
8637             }
8638           },
8639           "additionalProperties": false,
8640           "required": [
8641             "life"
8642           ]
8643         },
8644         "LifeResults": {
8645           "type": "object",
8646           "properties": {
8647             "results": {
8648               "type": "array",
8649               "items": {
8650                 "$ref": "#/definitions/LifeResult"
8651               }
8652             }
8653           },
8654           "additionalProperties": false,
8655           "required": [
8656             "results"
8657           ]
8658         },
8659         "Macaroon": {
8660           "type": "object",
8661           "additionalProperties": false
8662         },
8663         "MachinePortRange": {
8664           "type": "object",
8665           "properties": {
8666             "port-range": {
8667               "$ref": "#/definitions/PortRange"
8668             },
8669             "relation-tag": {
8670               "type": "string"
8671             },
8672             "unit-tag": {
8673               "type": "string"
8674             }
8675           },
8676           "additionalProperties": false,
8677           "required": [
8678             "unit-tag",
8679             "relation-tag",
8680             "port-range"
8681           ]
8682         },
8683         "MachinePorts": {
8684           "type": "object",
8685           "properties": {
8686             "machine-tag": {
8687               "type": "string"
8688             },
8689             "subnet-tag": {
8690               "type": "string"
8691             }
8692           },
8693           "additionalProperties": false,
8694           "required": [
8695             "machine-tag",
8696             "subnet-tag"
8697           ]
8698         },
8699         "MachinePortsParams": {
8700           "type": "object",
8701           "properties": {
8702             "params": {
8703               "type": "array",
8704               "items": {
8705                 "$ref": "#/definitions/MachinePorts"
8706               }
8707             }
8708           },
8709           "additionalProperties": false,
8710           "required": [
8711             "params"
8712           ]
8713         },
8714         "MachinePortsResult": {
8715           "type": "object",
8716           "properties": {
8717             "error": {
8718               "$ref": "#/definitions/Error"
8719             },
8720             "ports": {
8721               "type": "array",
8722               "items": {
8723                 "$ref": "#/definitions/MachinePortRange"
8724               }
8725             }
8726           },
8727           "additionalProperties": false,
8728           "required": [
8729             "ports"
8730           ]
8731         },
8732         "MachinePortsResults": {
8733           "type": "object",
8734           "properties": {
8735             "results": {
8736               "type": "array",
8737               "items": {
8738                 "$ref": "#/definitions/MachinePortsResult"
8739               }
8740             }
8741           },
8742           "additionalProperties": false,
8743           "required": [
8744             "results"
8745           ]
8746         },
8747         "ModelConfigResult": {
8748           "type": "object",
8749           "properties": {
8750             "config": {
8751               "type": "object",
8752               "patternProperties": {
8753                 ".*": {
8754                   "type": "object",
8755                   "additionalProperties": true
8756                 }
8757               }
8758             }
8759           },
8760           "additionalProperties": false,
8761           "required": [
8762             "config"
8763           ]
8764         },
8765         "ModelTag": {
8766           "type": "object",
8767           "additionalProperties": false
8768         },
8769         "NotifyWatchResult": {
8770           "type": "object",
8771           "properties": {
8772             "NotifyWatcherId": {
8773               "type": "string"
8774             },
8775             "error": {
8776               "$ref": "#/definitions/Error"
8777             }
8778           },
8779           "additionalProperties": false,
8780           "required": [
8781             "NotifyWatcherId"
8782           ]
8783         },
8784         "NotifyWatchResults": {
8785           "type": "object",
8786           "properties": {
8787             "results": {
8788               "type": "array",
8789               "items": {
8790                 "$ref": "#/definitions/NotifyWatchResult"
8791               }
8792             }
8793           },
8794           "additionalProperties": false,
8795           "required": [
8796             "results"
8797           ]
8798         },
8799         "PortRange": {
8800           "type": "object",
8801           "properties": {
8802             "from-port": {
8803               "type": "integer"
8804             },
8805             "protocol": {
8806               "type": "string"
8807             },
8808             "to-port": {
8809               "type": "integer"
8810             }
8811           },
8812           "additionalProperties": false,
8813           "required": [
8814             "from-port",
8815             "to-port",
8816             "protocol"
8817           ]
8818         },
8819         "StringResult": {
8820           "type": "object",
8821           "properties": {
8822             "error": {
8823               "$ref": "#/definitions/Error"
8824             },
8825             "result": {
8826               "type": "string"
8827             }
8828           },
8829           "additionalProperties": false,
8830           "required": [
8831             "result"
8832           ]
8833         },
8834         "StringResults": {
8835           "type": "object",
8836           "properties": {
8837             "results": {
8838               "type": "array",
8839               "items": {
8840                 "$ref": "#/definitions/StringResult"
8841               }
8842             }
8843           },
8844           "additionalProperties": false,
8845           "required": [
8846             "results"
8847           ]
8848         },
8849         "StringsResult": {
8850           "type": "object",
8851           "properties": {
8852             "error": {
8853               "$ref": "#/definitions/Error"
8854             },
8855             "result": {
8856               "type": "array",
8857               "items": {
8858                 "type": "string"
8859               }
8860             }
8861           },
8862           "additionalProperties": false
8863         },
8864         "StringsResults": {
8865           "type": "object",
8866           "properties": {
8867             "results": {
8868               "type": "array",
8869               "items": {
8870                 "$ref": "#/definitions/StringsResult"
8871               }
8872             }
8873           },
8874           "additionalProperties": false,
8875           "required": [
8876             "results"
8877           ]
8878         },
8879         "StringsWatchResult": {
8880           "type": "object",
8881           "properties": {
8882             "changes": {
8883               "type": "array",
8884               "items": {
8885                 "type": "string"
8886               }
8887             },
8888             "error": {
8889               "$ref": "#/definitions/Error"
8890             },
8891             "watcher-id": {
8892               "type": "string"
8893             }
8894           },
8895           "additionalProperties": false,
8896           "required": [
8897             "watcher-id"
8898           ]
8899         },
8900         "StringsWatchResults": {
8901           "type": "object",
8902           "properties": {
8903             "results": {
8904               "type": "array",
8905               "items": {
8906                 "$ref": "#/definitions/StringsWatchResult"
8907               }
8908             }
8909           },
8910           "additionalProperties": false,
8911           "required": [
8912             "results"
8913           ]
8914         }
8915       }
8916     }
8917   },
8918   {
8919     "Name": "HighAvailability",
8920     "Version": 2,
8921     "Schema": {
8922       "type": "object",
8923       "properties": {
8924         "EnableHA": {
8925           "type": "object",
8926           "properties": {
8927             "Params": {
8928               "$ref": "#/definitions/ControllersSpecs"
8929             },
8930             "Result": {
8931               "$ref": "#/definitions/ControllersChangeResults"
8932             }
8933           }
8934         },
8935         "ResumeHAReplicationAfterUpgrade": {
8936           "type": "object",
8937           "properties": {
8938             "Params": {
8939               "$ref": "#/definitions/ResumeReplicationParams"
8940             }
8941           }
8942         },
8943         "StopHAReplicationForUpgrade": {
8944           "type": "object",
8945           "properties": {
8946             "Params": {
8947               "$ref": "#/definitions/UpgradeMongoParams"
8948             },
8949             "Result": {
8950               "$ref": "#/definitions/MongoUpgradeResults"
8951             }
8952           }
8953         }
8954       },
8955       "definitions": {
8956         "Address": {
8957           "type": "object",
8958           "properties": {
8959             "Scope": {
8960               "type": "string"
8961             },
8962             "SpaceName": {
8963               "type": "string"
8964             },
8965             "SpaceProviderId": {
8966               "type": "string"
8967             },
8968             "Type": {
8969               "type": "string"
8970             },
8971             "Value": {
8972               "type": "string"
8973             }
8974           },
8975           "additionalProperties": false,
8976           "required": [
8977             "Value",
8978             "Type",
8979             "Scope",
8980             "SpaceName",
8981             "SpaceProviderId"
8982           ]
8983         },
8984         "ControllersChangeResult": {
8985           "type": "object",
8986           "properties": {
8987             "error": {
8988               "$ref": "#/definitions/Error"
8989             },
8990             "result": {
8991               "$ref": "#/definitions/ControllersChanges"
8992             }
8993           },
8994           "additionalProperties": false,
8995           "required": [
8996             "result"
8997           ]
8998         },
8999         "ControllersChangeResults": {
9000           "type": "object",
9001           "properties": {
9002             "results": {
9003               "type": "array",
9004               "items": {
9005                 "$ref": "#/definitions/ControllersChangeResult"
9006               }
9007             }
9008           },
9009           "additionalProperties": false,
9010           "required": [
9011             "results"
9012           ]
9013         },
9014         "ControllersChanges": {
9015           "type": "object",
9016           "properties": {
9017             "added": {
9018               "type": "array",
9019               "items": {
9020                 "type": "string"
9021               }
9022             },
9023             "converted": {
9024               "type": "array",
9025               "items": {
9026                 "type": "string"
9027               }
9028             },
9029             "demoted": {
9030               "type": "array",
9031               "items": {
9032                 "type": "string"
9033               }
9034             },
9035             "maintained": {
9036               "type": "array",
9037               "items": {
9038                 "type": "string"
9039               }
9040             },
9041             "promoted": {
9042               "type": "array",
9043               "items": {
9044                 "type": "string"
9045               }
9046             },
9047             "removed": {
9048               "type": "array",
9049               "items": {
9050                 "type": "string"
9051               }
9052             }
9053           },
9054           "additionalProperties": false
9055         },
9056         "ControllersSpec": {
9057           "type": "object",
9058           "properties": {
9059             "constraints": {
9060               "$ref": "#/definitions/Value"
9061             },
9062             "num-controllers": {
9063               "type": "integer"
9064             },
9065             "placement": {
9066               "type": "array",
9067               "items": {
9068                 "type": "string"
9069               }
9070             },
9071             "series": {
9072               "type": "string"
9073             }
9074           },
9075           "additionalProperties": false,
9076           "required": [
9077             "num-controllers"
9078           ]
9079         },
9080         "ControllersSpecs": {
9081           "type": "object",
9082           "properties": {
9083             "specs": {
9084               "type": "array",
9085               "items": {
9086                 "$ref": "#/definitions/ControllersSpec"
9087               }
9088             }
9089           },
9090           "additionalProperties": false,
9091           "required": [
9092             "specs"
9093           ]
9094         },
9095         "Error": {
9096           "type": "object",
9097           "properties": {
9098             "code": {
9099               "type": "string"
9100             },
9101             "info": {
9102               "$ref": "#/definitions/ErrorInfo"
9103             },
9104             "message": {
9105               "type": "string"
9106             }
9107           },
9108           "additionalProperties": false,
9109           "required": [
9110             "message",
9111             "code"
9112           ]
9113         },
9114         "ErrorInfo": {
9115           "type": "object",
9116           "properties": {
9117             "macaroon": {
9118               "$ref": "#/definitions/Macaroon"
9119             },
9120             "macaroon-path": {
9121               "type": "string"
9122             }
9123           },
9124           "additionalProperties": false
9125         },
9126         "HAMember": {
9127           "type": "object",
9128           "properties": {
9129             "public-address": {
9130               "$ref": "#/definitions/Address"
9131             },
9132             "series": {
9133               "type": "string"
9134             },
9135             "tag": {
9136               "type": "string"
9137             }
9138           },
9139           "additionalProperties": false,
9140           "required": [
9141             "tag",
9142             "public-address",
9143             "series"
9144           ]
9145         },
9146         "Macaroon": {
9147           "type": "object",
9148           "additionalProperties": false
9149         },
9150         "Member": {
9151           "type": "object",
9152           "properties": {
9153             "Address": {
9154               "type": "string"
9155             },
9156             "Arbiter": {
9157               "type": "boolean"
9158             },
9159             "BuildIndexes": {
9160               "type": "boolean"
9161             },
9162             "Hidden": {
9163               "type": "boolean"
9164             },
9165             "Id": {
9166               "type": "integer"
9167             },
9168             "Priority": {
9169               "type": "number"
9170             },
9171             "SlaveDelay": {
9172               "type": "integer"
9173             },
9174             "Tags": {
9175               "type": "object",
9176               "patternProperties": {
9177                 ".*": {
9178                   "type": "string"
9179                 }
9180               }
9181             },
9182             "Votes": {
9183               "type": "integer"
9184             }
9185           },
9186           "additionalProperties": false,
9187           "required": [
9188             "Id",
9189             "Address",
9190             "Arbiter",
9191             "BuildIndexes",
9192             "Hidden",
9193             "Priority",
9194             "Tags",
9195             "SlaveDelay",
9196             "Votes"
9197           ]
9198         },
9199         "MongoUpgradeResults": {
9200           "type": "object",
9201           "properties": {
9202             "ha-members": {
9203               "type": "array",
9204               "items": {
9205                 "$ref": "#/definitions/HAMember"
9206               }
9207             },
9208             "master": {
9209               "$ref": "#/definitions/HAMember"
9210             },
9211             "rs-members": {
9212               "type": "array",
9213               "items": {
9214                 "$ref": "#/definitions/Member"
9215               }
9216             }
9217           },
9218           "additionalProperties": false,
9219           "required": [
9220             "rs-members",
9221             "master",
9222             "ha-members"
9223           ]
9224         },
9225         "MongoVersion": {
9226           "type": "object",
9227           "properties": {
9228             "engine": {
9229               "type": "string"
9230             },
9231             "major": {
9232               "type": "integer"
9233             },
9234             "minor": {
9235               "type": "integer"
9236             },
9237             "patch": {
9238               "type": "string"
9239             }
9240           },
9241           "additionalProperties": false,
9242           "required": [
9243             "major",
9244             "minor",
9245             "patch",
9246             "engine"
9247           ]
9248         },
9249         "ResumeReplicationParams": {
9250           "type": "object",
9251           "properties": {
9252             "members": {
9253               "type": "array",
9254               "items": {
9255                 "$ref": "#/definitions/Member"
9256               }
9257             }
9258           },
9259           "additionalProperties": false,
9260           "required": [
9261             "members"
9262           ]
9263         },
9264         "UpgradeMongoParams": {
9265           "type": "object",
9266           "properties": {
9267             "target": {
9268               "$ref": "#/definitions/MongoVersion"
9269             }
9270           },
9271           "additionalProperties": false,
9272           "required": [
9273             "target"
9274           ]
9275         },
9276         "Value": {
9277           "type": "object",
9278           "properties": {
9279             "arch": {
9280               "type": "string"
9281             },
9282             "container": {
9283               "type": "string"
9284             },
9285             "cores": {
9286               "type": "integer"
9287             },
9288             "cpu-power": {
9289               "type": "integer"
9290             },
9291             "instance-type": {
9292               "type": "string"
9293             },
9294             "mem": {
9295               "type": "integer"
9296             },
9297             "root-disk": {
9298               "type": "integer"
9299             },
9300             "spaces": {
9301               "type": "array",
9302               "items": {
9303                 "type": "string"
9304               }
9305             },
9306             "tags": {
9307               "type": "array",
9308               "items": {
9309                 "type": "string"
9310               }
9311             },
9312             "virt-type": {
9313               "type": "string"
9314             }
9315           },
9316           "additionalProperties": false
9317         }
9318       }
9319     }
9320   },
9321   {
9322     "Name": "HostKeyReporter",
9323     "Version": 1,
9324     "Schema": {
9325       "type": "object",
9326       "properties": {
9327         "ReportKeys": {
9328           "type": "object",
9329           "properties": {
9330             "Params": {
9331               "$ref": "#/definitions/SSHHostKeySet"
9332             },
9333             "Result": {
9334               "$ref": "#/definitions/ErrorResults"
9335             }
9336           }
9337         }
9338       },
9339       "definitions": {
9340         "Error": {
9341           "type": "object",
9342           "properties": {
9343             "code": {
9344               "type": "string"
9345             },
9346             "info": {
9347               "$ref": "#/definitions/ErrorInfo"
9348             },
9349             "message": {
9350               "type": "string"
9351             }
9352           },
9353           "additionalProperties": false,
9354           "required": [
9355             "message",
9356             "code"
9357           ]
9358         },
9359         "ErrorInfo": {
9360           "type": "object",
9361           "properties": {
9362             "macaroon": {
9363               "$ref": "#/definitions/Macaroon"
9364             },
9365             "macaroon-path": {
9366               "type": "string"
9367             }
9368           },
9369           "additionalProperties": false
9370         },
9371         "ErrorResult": {
9372           "type": "object",
9373           "properties": {
9374             "error": {
9375               "$ref": "#/definitions/Error"
9376             }
9377           },
9378           "additionalProperties": false
9379         },
9380         "ErrorResults": {
9381           "type": "object",
9382           "properties": {
9383             "results": {
9384               "type": "array",
9385               "items": {
9386                 "$ref": "#/definitions/ErrorResult"
9387               }
9388             }
9389           },
9390           "additionalProperties": false,
9391           "required": [
9392             "results"
9393           ]
9394         },
9395         "Macaroon": {
9396           "type": "object",
9397           "additionalProperties": false
9398         },
9399         "SSHHostKeySet": {
9400           "type": "object",
9401           "properties": {
9402             "entity-keys": {
9403               "type": "array",
9404               "items": {
9405                 "$ref": "#/definitions/SSHHostKeys"
9406               }
9407             }
9408           },
9409           "additionalProperties": false,
9410           "required": [
9411             "entity-keys"
9412           ]
9413         },
9414         "SSHHostKeys": {
9415           "type": "object",
9416           "properties": {
9417             "public-keys": {
9418               "type": "array",
9419               "items": {
9420                 "type": "string"
9421               }
9422             },
9423             "tag": {
9424               "type": "string"
9425             }
9426           },
9427           "additionalProperties": false,
9428           "required": [
9429             "tag",
9430             "public-keys"
9431           ]
9432         }
9433       }
9434     }
9435   },
9436   {
9437     "Name": "ImageManager",
9438     "Version": 2,
9439     "Schema": {
9440       "type": "object",
9441       "properties": {
9442         "DeleteImages": {
9443           "type": "object",
9444           "properties": {
9445             "Params": {
9446               "$ref": "#/definitions/ImageFilterParams"
9447             },
9448             "Result": {
9449               "$ref": "#/definitions/ErrorResults"
9450             }
9451           }
9452         },
9453         "ListImages": {
9454           "type": "object",
9455           "properties": {
9456             "Params": {
9457               "$ref": "#/definitions/ImageFilterParams"
9458             },
9459             "Result": {
9460               "$ref": "#/definitions/ListImageResult"
9461             }
9462           }
9463         }
9464       },
9465       "definitions": {
9466         "Error": {
9467           "type": "object",
9468           "properties": {
9469             "code": {
9470               "type": "string"
9471             },
9472             "info": {
9473               "$ref": "#/definitions/ErrorInfo"
9474             },
9475             "message": {
9476               "type": "string"
9477             }
9478           },
9479           "additionalProperties": false,
9480           "required": [
9481             "message",
9482             "code"
9483           ]
9484         },
9485         "ErrorInfo": {
9486           "type": "object",
9487           "properties": {
9488             "macaroon": {
9489               "$ref": "#/definitions/Macaroon"
9490             },
9491             "macaroon-path": {
9492               "type": "string"
9493             }
9494           },
9495           "additionalProperties": false
9496         },
9497         "ErrorResult": {
9498           "type": "object",
9499           "properties": {
9500             "error": {
9501               "$ref": "#/definitions/Error"
9502             }
9503           },
9504           "additionalProperties": false
9505         },
9506         "ErrorResults": {
9507           "type": "object",
9508           "properties": {
9509             "results": {
9510               "type": "array",
9511               "items": {
9512                 "$ref": "#/definitions/ErrorResult"
9513               }
9514             }
9515           },
9516           "additionalProperties": false,
9517           "required": [
9518             "results"
9519           ]
9520         },
9521         "ImageFilterParams": {
9522           "type": "object",
9523           "properties": {
9524             "images": {
9525               "type": "array",
9526               "items": {
9527                 "$ref": "#/definitions/ImageSpec"
9528               }
9529             }
9530           },
9531           "additionalProperties": false,
9532           "required": [
9533             "images"
9534           ]
9535         },
9536         "ImageMetadata": {
9537           "type": "object",
9538           "properties": {
9539             "arch": {
9540               "type": "string"
9541             },
9542             "created": {
9543               "type": "string",
9544               "format": "date-time"
9545             },
9546             "kind": {
9547               "type": "string"
9548             },
9549             "series": {
9550               "type": "string"
9551             },
9552             "url": {
9553               "type": "string"
9554             }
9555           },
9556           "additionalProperties": false,
9557           "required": [
9558             "kind",
9559             "arch",
9560             "series",
9561             "url",
9562             "created"
9563           ]
9564         },
9565         "ImageSpec": {
9566           "type": "object",
9567           "properties": {
9568             "arch": {
9569               "type": "string"
9570             },
9571             "kind": {
9572               "type": "string"
9573             },
9574             "series": {
9575               "type": "string"
9576             }
9577           },
9578           "additionalProperties": false,
9579           "required": [
9580             "kind",
9581             "arch",
9582             "series"
9583           ]
9584         },
9585         "ListImageResult": {
9586           "type": "object",
9587           "properties": {
9588             "result": {
9589               "type": "array",
9590               "items": {
9591                 "$ref": "#/definitions/ImageMetadata"
9592               }
9593             }
9594           },
9595           "additionalProperties": false,
9596           "required": [
9597             "result"
9598           ]
9599         },
9600         "Macaroon": {
9601           "type": "object",
9602           "additionalProperties": false
9603         }
9604       }
9605     }
9606   },
9607   {
9608     "Name": "ImageMetadata",
9609     "Version": 2,
9610     "Schema": {
9611       "type": "object",
9612       "properties": {
9613         "Delete": {
9614           "type": "object",
9615           "properties": {
9616             "Params": {
9617               "$ref": "#/definitions/MetadataImageIds"
9618             },
9619             "Result": {
9620               "$ref": "#/definitions/ErrorResults"
9621             }
9622           }
9623         },
9624         "List": {
9625           "type": "object",
9626           "properties": {
9627             "Params": {
9628               "$ref": "#/definitions/ImageMetadataFilter"
9629             },
9630             "Result": {
9631               "$ref": "#/definitions/ListCloudImageMetadataResult"
9632             }
9633           }
9634         },
9635         "Save": {
9636           "type": "object",
9637           "properties": {
9638             "Params": {
9639               "$ref": "#/definitions/MetadataSaveParams"
9640             },
9641             "Result": {
9642               "$ref": "#/definitions/ErrorResults"
9643             }
9644           }
9645         },
9646         "UpdateFromPublishedImages": {
9647           "type": "object"
9648         }
9649       },
9650       "definitions": {
9651         "CloudImageMetadata": {
9652           "type": "object",
9653           "properties": {
9654             "arch": {
9655               "type": "string"
9656             },
9657             "image-id": {
9658               "type": "string"
9659             },
9660             "priority": {
9661               "type": "integer"
9662             },
9663             "region": {
9664               "type": "string"
9665             },
9666             "root-storage-size": {
9667               "type": "integer"
9668             },
9669             "root-storage-type": {
9670               "type": "string"
9671             },
9672             "series": {
9673               "type": "string"
9674             },
9675             "source": {
9676               "type": "string"
9677             },
9678             "stream": {
9679               "type": "string"
9680             },
9681             "version": {
9682               "type": "string"
9683             },
9684             "virt-type": {
9685               "type": "string"
9686             }
9687           },
9688           "additionalProperties": false,
9689           "required": [
9690             "image-id",
9691             "region",
9692             "version",
9693             "series",
9694             "arch",
9695             "source",
9696             "priority"
9697           ]
9698         },
9699         "CloudImageMetadataList": {
9700           "type": "object",
9701           "properties": {
9702             "metadata": {
9703               "type": "array",
9704               "items": {
9705                 "$ref": "#/definitions/CloudImageMetadata"
9706               }
9707             }
9708           },
9709           "additionalProperties": false
9710         },
9711         "Error": {
9712           "type": "object",
9713           "properties": {
9714             "code": {
9715               "type": "string"
9716             },
9717             "info": {
9718               "$ref": "#/definitions/ErrorInfo"
9719             },
9720             "message": {
9721               "type": "string"
9722             }
9723           },
9724           "additionalProperties": false,
9725           "required": [
9726             "message",
9727             "code"
9728           ]
9729         },
9730         "ErrorInfo": {
9731           "type": "object",
9732           "properties": {
9733             "macaroon": {
9734               "$ref": "#/definitions/Macaroon"
9735             },
9736             "macaroon-path": {
9737               "type": "string"
9738             }
9739           },
9740           "additionalProperties": false
9741         },
9742         "ErrorResult": {
9743           "type": "object",
9744           "properties": {
9745             "error": {
9746               "$ref": "#/definitions/Error"
9747             }
9748           },
9749           "additionalProperties": false
9750         },
9751         "ErrorResults": {
9752           "type": "object",
9753           "properties": {
9754             "results": {
9755               "type": "array",
9756               "items": {
9757                 "$ref": "#/definitions/ErrorResult"
9758               }
9759             }
9760           },
9761           "additionalProperties": false,
9762           "required": [
9763             "results"
9764           ]
9765         },
9766         "ImageMetadataFilter": {
9767           "type": "object",
9768           "properties": {
9769             "arches": {
9770               "type": "array",
9771               "items": {
9772                 "type": "string"
9773               }
9774             },
9775             "region": {
9776               "type": "string"
9777             },
9778             "root-storage-type": {
9779               "type": "string"
9780             },
9781             "series": {
9782               "type": "array",
9783               "items": {
9784                 "type": "string"
9785               }
9786             },
9787             "stream": {
9788               "type": "string"
9789             },
9790             "virt-type": {
9791               "type": "string"
9792             }
9793           },
9794           "additionalProperties": false
9795         },
9796         "ListCloudImageMetadataResult": {
9797           "type": "object",
9798           "properties": {
9799             "result": {
9800               "type": "array",
9801               "items": {
9802                 "$ref": "#/definitions/CloudImageMetadata"
9803               }
9804             }
9805           },
9806           "additionalProperties": false,
9807           "required": [
9808             "result"
9809           ]
9810         },
9811         "Macaroon": {
9812           "type": "object",
9813           "additionalProperties": false
9814         },
9815         "MetadataImageIds": {
9816           "type": "object",
9817           "properties": {
9818             "image-ids": {
9819               "type": "array",
9820               "items": {
9821                 "type": "string"
9822               }
9823             }
9824           },
9825           "additionalProperties": false,
9826           "required": [
9827             "image-ids"
9828           ]
9829         },
9830         "MetadataSaveParams": {
9831           "type": "object",
9832           "properties": {
9833             "metadata": {
9834               "type": "array",
9835               "items": {
9836                 "$ref": "#/definitions/CloudImageMetadataList"
9837               }
9838             }
9839           },
9840           "additionalProperties": false
9841         }
9842       }
9843     }
9844   },
9845   {
9846     "Name": "InstancePoller",
9847     "Version": 3,
9848     "Schema": {
9849       "type": "object",
9850       "properties": {
9851         "AreManuallyProvisioned": {
9852           "type": "object",
9853           "properties": {
9854             "Params": {
9855               "$ref": "#/definitions/Entities"
9856             },
9857             "Result": {
9858               "$ref": "#/definitions/BoolResults"
9859             }
9860           }
9861         },
9862         "InstanceId": {
9863           "type": "object",
9864           "properties": {
9865             "Params": {
9866               "$ref": "#/definitions/Entities"
9867             },
9868             "Result": {
9869               "$ref": "#/definitions/StringResults"
9870             }
9871           }
9872         },
9873         "InstanceStatus": {
9874           "type": "object",
9875           "properties": {
9876             "Params": {
9877               "$ref": "#/definitions/Entities"
9878             },
9879             "Result": {
9880               "$ref": "#/definitions/StatusResults"
9881             }
9882           }
9883         },
9884         "Life": {
9885           "type": "object",
9886           "properties": {
9887             "Params": {
9888               "$ref": "#/definitions/Entities"
9889             },
9890             "Result": {
9891               "$ref": "#/definitions/LifeResults"
9892             }
9893           }
9894         },
9895         "ModelConfig": {
9896           "type": "object",
9897           "properties": {
9898             "Result": {
9899               "$ref": "#/definitions/ModelConfigResult"
9900             }
9901           }
9902         },
9903         "ProviderAddresses": {
9904           "type": "object",
9905           "properties": {
9906             "Params": {
9907               "$ref": "#/definitions/Entities"
9908             },
9909             "Result": {
9910               "$ref": "#/definitions/MachineAddressesResults"
9911             }
9912           }
9913         },
9914         "SetInstanceStatus": {
9915           "type": "object",
9916           "properties": {
9917             "Params": {
9918               "$ref": "#/definitions/SetStatus"
9919             },
9920             "Result": {
9921               "$ref": "#/definitions/ErrorResults"
9922             }
9923           }
9924         },
9925         "SetProviderAddresses": {
9926           "type": "object",
9927           "properties": {
9928             "Params": {
9929               "$ref": "#/definitions/SetMachinesAddresses"
9930             },
9931             "Result": {
9932               "$ref": "#/definitions/ErrorResults"
9933             }
9934           }
9935         },
9936         "Status": {
9937           "type": "object",
9938           "properties": {
9939             "Params": {
9940               "$ref": "#/definitions/Entities"
9941             },
9942             "Result": {
9943               "$ref": "#/definitions/StatusResults"
9944             }
9945           }
9946         },
9947         "WatchForModelConfigChanges": {
9948           "type": "object",
9949           "properties": {
9950             "Result": {
9951               "$ref": "#/definitions/NotifyWatchResult"
9952             }
9953           }
9954         },
9955         "WatchModelMachines": {
9956           "type": "object",
9957           "properties": {
9958             "Result": {
9959               "$ref": "#/definitions/StringsWatchResult"
9960             }
9961           }
9962         }
9963       },
9964       "definitions": {
9965         "Address": {
9966           "type": "object",
9967           "properties": {
9968             "scope": {
9969               "type": "string"
9970             },
9971             "space-name": {
9972               "type": "string"
9973             },
9974             "type": {
9975               "type": "string"
9976             },
9977             "value": {
9978               "type": "string"
9979             }
9980           },
9981           "additionalProperties": false,
9982           "required": [
9983             "value",
9984             "type",
9985             "scope"
9986           ]
9987         },
9988         "BoolResult": {
9989           "type": "object",
9990           "properties": {
9991             "error": {
9992               "$ref": "#/definitions/Error"
9993             },
9994             "result": {
9995               "type": "boolean"
9996             }
9997           },
9998           "additionalProperties": false,
9999           "required": [
10000             "result"
10001           ]
10002         },
10003         "BoolResults": {
10004           "type": "object",
10005           "properties": {
10006             "results": {
10007               "type": "array",
10008               "items": {
10009                 "$ref": "#/definitions/BoolResult"
10010               }
10011             }
10012           },
10013           "additionalProperties": false,
10014           "required": [
10015             "results"
10016           ]
10017         },
10018         "Entities": {
10019           "type": "object",
10020           "properties": {
10021             "entities": {
10022               "type": "array",
10023               "items": {
10024                 "$ref": "#/definitions/Entity"
10025               }
10026             }
10027           },
10028           "additionalProperties": false,
10029           "required": [
10030             "entities"
10031           ]
10032         },
10033         "Entity": {
10034           "type": "object",
10035           "properties": {
10036             "tag": {
10037               "type": "string"
10038             }
10039           },
10040           "additionalProperties": false,
10041           "required": [
10042             "tag"
10043           ]
10044         },
10045         "EntityStatusArgs": {
10046           "type": "object",
10047           "properties": {
10048             "data": {
10049               "type": "object",
10050               "patternProperties": {
10051                 ".*": {
10052                   "type": "object",
10053                   "additionalProperties": true
10054                 }
10055               }
10056             },
10057             "info": {
10058               "type": "string"
10059             },
10060             "status": {
10061               "type": "string"
10062             },
10063             "tag": {
10064               "type": "string"
10065             }
10066           },
10067           "additionalProperties": false,
10068           "required": [
10069             "tag",
10070             "status",
10071             "info",
10072             "data"
10073           ]
10074         },
10075         "Error": {
10076           "type": "object",
10077           "properties": {
10078             "code": {
10079               "type": "string"
10080             },
10081             "info": {
10082               "$ref": "#/definitions/ErrorInfo"
10083             },
10084             "message": {
10085               "type": "string"
10086             }
10087           },
10088           "additionalProperties": false,
10089           "required": [
10090             "message",
10091             "code"
10092           ]
10093         },
10094         "ErrorInfo": {
10095           "type": "object",
10096           "properties": {
10097             "macaroon": {
10098               "$ref": "#/definitions/Macaroon"
10099             },
10100             "macaroon-path": {
10101               "type": "string"
10102             }
10103           },
10104           "additionalProperties": false
10105         },
10106         "ErrorResult": {
10107           "type": "object",
10108           "properties": {
10109             "error": {
10110               "$ref": "#/definitions/Error"
10111             }
10112           },
10113           "additionalProperties": false
10114         },
10115         "ErrorResults": {
10116           "type": "object",
10117           "properties": {
10118             "results": {
10119               "type": "array",
10120               "items": {
10121                 "$ref": "#/definitions/ErrorResult"
10122               }
10123             }
10124           },
10125           "additionalProperties": false,
10126           "required": [
10127             "results"
10128           ]
10129         },
10130         "LifeResult": {
10131           "type": "object",
10132           "properties": {
10133             "error": {
10134               "$ref": "#/definitions/Error"
10135             },
10136             "life": {
10137               "type": "string"
10138             }
10139           },
10140           "additionalProperties": false,
10141           "required": [
10142             "life"
10143           ]
10144         },
10145         "LifeResults": {
10146           "type": "object",
10147           "properties": {
10148             "results": {
10149               "type": "array",
10150               "items": {
10151                 "$ref": "#/definitions/LifeResult"
10152               }
10153             }
10154           },
10155           "additionalProperties": false,
10156           "required": [
10157             "results"
10158           ]
10159         },
10160         "Macaroon": {
10161           "type": "object",
10162           "additionalProperties": false
10163         },
10164         "MachineAddresses": {
10165           "type": "object",
10166           "properties": {
10167             "addresses": {
10168               "type": "array",
10169               "items": {
10170                 "$ref": "#/definitions/Address"
10171               }
10172             },
10173             "tag": {
10174               "type": "string"
10175             }
10176           },
10177           "additionalProperties": false,
10178           "required": [
10179             "tag",
10180             "addresses"
10181           ]
10182         },
10183         "MachineAddressesResult": {
10184           "type": "object",
10185           "properties": {
10186             "addresses": {
10187               "type": "array",
10188               "items": {
10189                 "$ref": "#/definitions/Address"
10190               }
10191             },
10192             "error": {
10193               "$ref": "#/definitions/Error"
10194             }
10195           },
10196           "additionalProperties": false,
10197           "required": [
10198             "addresses"
10199           ]
10200         },
10201         "MachineAddressesResults": {
10202           "type": "object",
10203           "properties": {
10204             "results": {
10205               "type": "array",
10206               "items": {
10207                 "$ref": "#/definitions/MachineAddressesResult"
10208               }
10209             }
10210           },
10211           "additionalProperties": false,
10212           "required": [
10213             "results"
10214           ]
10215         },
10216         "ModelConfigResult": {
10217           "type": "object",
10218           "properties": {
10219             "config": {
10220               "type": "object",
10221               "patternProperties": {
10222                 ".*": {
10223                   "type": "object",
10224                   "additionalProperties": true
10225                 }
10226               }
10227             }
10228           },
10229           "additionalProperties": false,
10230           "required": [
10231             "config"
10232           ]
10233         },
10234         "NotifyWatchResult": {
10235           "type": "object",
10236           "properties": {
10237             "NotifyWatcherId": {
10238               "type": "string"
10239             },
10240             "error": {
10241               "$ref": "#/definitions/Error"
10242             }
10243           },
10244           "additionalProperties": false,
10245           "required": [
10246             "NotifyWatcherId"
10247           ]
10248         },
10249         "SetMachinesAddresses": {
10250           "type": "object",
10251           "properties": {
10252             "machine-addresses": {
10253               "type": "array",
10254               "items": {
10255                 "$ref": "#/definitions/MachineAddresses"
10256               }
10257             }
10258           },
10259           "additionalProperties": false,
10260           "required": [
10261             "machine-addresses"
10262           ]
10263         },
10264         "SetStatus": {
10265           "type": "object",
10266           "properties": {
10267             "entities": {
10268               "type": "array",
10269               "items": {
10270                 "$ref": "#/definitions/EntityStatusArgs"
10271               }
10272             }
10273           },
10274           "additionalProperties": false,
10275           "required": [
10276             "entities"
10277           ]
10278         },
10279         "StatusResult": {
10280           "type": "object",
10281           "properties": {
10282             "data": {
10283               "type": "object",
10284               "patternProperties": {
10285                 ".*": {
10286                   "type": "object",
10287                   "additionalProperties": true
10288                 }
10289               }
10290             },
10291             "error": {
10292               "$ref": "#/definitions/Error"
10293             },
10294             "id": {
10295               "type": "string"
10296             },
10297             "info": {
10298               "type": "string"
10299             },
10300             "life": {
10301               "type": "string"
10302             },
10303             "since": {
10304               "type": "string",
10305               "format": "date-time"
10306             },
10307             "status": {
10308               "type": "string"
10309             }
10310           },
10311           "additionalProperties": false,
10312           "required": [
10313             "id",
10314             "life",
10315             "status",
10316             "info",
10317             "data",
10318             "since"
10319           ]
10320         },
10321         "StatusResults": {
10322           "type": "object",
10323           "properties": {
10324             "results": {
10325               "type": "array",
10326               "items": {
10327                 "$ref": "#/definitions/StatusResult"
10328               }
10329             }
10330           },
10331           "additionalProperties": false,
10332           "required": [
10333             "results"
10334           ]
10335         },
10336         "StringResult": {
10337           "type": "object",
10338           "properties": {
10339             "error": {
10340               "$ref": "#/definitions/Error"
10341             },
10342             "result": {
10343               "type": "string"
10344             }
10345           },
10346           "additionalProperties": false,
10347           "required": [
10348             "result"
10349           ]
10350         },
10351         "StringResults": {
10352           "type": "object",
10353           "properties": {
10354             "results": {
10355               "type": "array",
10356               "items": {
10357                 "$ref": "#/definitions/StringResult"
10358               }
10359             }
10360           },
10361           "additionalProperties": false,
10362           "required": [
10363             "results"
10364           ]
10365         },
10366         "StringsWatchResult": {
10367           "type": "object",
10368           "properties": {
10369             "changes": {
10370               "type": "array",
10371               "items": {
10372                 "type": "string"
10373               }
10374             },
10375             "error": {
10376               "$ref": "#/definitions/Error"
10377             },
10378             "watcher-id": {
10379               "type": "string"
10380             }
10381           },
10382           "additionalProperties": false,
10383           "required": [
10384             "watcher-id"
10385           ]
10386         }
10387       }
10388     }
10389   },
10390   {
10391     "Name": "KeyManager",
10392     "Version": 1,
10393     "Schema": {
10394       "type": "object",
10395       "properties": {
10396         "AddKeys": {
10397           "type": "object",
10398           "properties": {
10399             "Params": {
10400               "$ref": "#/definitions/ModifyUserSSHKeys"
10401             },
10402             "Result": {
10403               "$ref": "#/definitions/ErrorResults"
10404             }
10405           }
10406         },
10407         "DeleteKeys": {
10408           "type": "object",
10409           "properties": {
10410             "Params": {
10411               "$ref": "#/definitions/ModifyUserSSHKeys"
10412             },
10413             "Result": {
10414               "$ref": "#/definitions/ErrorResults"
10415             }
10416           }
10417         },
10418         "ImportKeys": {
10419           "type": "object",
10420           "properties": {
10421             "Params": {
10422               "$ref": "#/definitions/ModifyUserSSHKeys"
10423             },
10424             "Result": {
10425               "$ref": "#/definitions/ErrorResults"
10426             }
10427           }
10428         },
10429         "ListKeys": {
10430           "type": "object",
10431           "properties": {
10432             "Params": {
10433               "$ref": "#/definitions/ListSSHKeys"
10434             },
10435             "Result": {
10436               "$ref": "#/definitions/StringsResults"
10437             }
10438           }
10439         }
10440       },
10441       "definitions": {
10442         "Entities": {
10443           "type": "object",
10444           "properties": {
10445             "entities": {
10446               "type": "array",
10447               "items": {
10448                 "$ref": "#/definitions/Entity"
10449               }
10450             }
10451           },
10452           "additionalProperties": false,
10453           "required": [
10454             "entities"
10455           ]
10456         },
10457         "Entity": {
10458           "type": "object",
10459           "properties": {
10460             "tag": {
10461               "type": "string"
10462             }
10463           },
10464           "additionalProperties": false,
10465           "required": [
10466             "tag"
10467           ]
10468         },
10469         "Error": {
10470           "type": "object",
10471           "properties": {
10472             "code": {
10473               "type": "string"
10474             },
10475             "info": {
10476               "$ref": "#/definitions/ErrorInfo"
10477             },
10478             "message": {
10479               "type": "string"
10480             }
10481           },
10482           "additionalProperties": false,
10483           "required": [
10484             "message",
10485             "code"
10486           ]
10487         },
10488         "ErrorInfo": {
10489           "type": "object",
10490           "properties": {
10491             "macaroon": {
10492               "$ref": "#/definitions/Macaroon"
10493             },
10494             "macaroon-path": {
10495               "type": "string"
10496             }
10497           },
10498           "additionalProperties": false
10499         },
10500         "ErrorResult": {
10501           "type": "object",
10502           "properties": {
10503             "error": {
10504               "$ref": "#/definitions/Error"
10505             }
10506           },
10507           "additionalProperties": false
10508         },
10509         "ErrorResults": {
10510           "type": "object",
10511           "properties": {
10512             "results": {
10513               "type": "array",
10514               "items": {
10515                 "$ref": "#/definitions/ErrorResult"
10516               }
10517             }
10518           },
10519           "additionalProperties": false,
10520           "required": [
10521             "results"
10522           ]
10523         },
10524         "ListSSHKeys": {
10525           "type": "object",
10526           "properties": {
10527             "entities": {
10528               "$ref": "#/definitions/Entities"
10529             },
10530             "mode": {
10531               "type": "boolean"
10532             }
10533           },
10534           "additionalProperties": false,
10535           "required": [
10536             "entities",
10537             "mode"
10538           ]
10539         },
10540         "Macaroon": {
10541           "type": "object",
10542           "additionalProperties": false
10543         },
10544         "ModifyUserSSHKeys": {
10545           "type": "object",
10546           "properties": {
10547             "ssh-keys": {
10548               "type": "array",
10549               "items": {
10550                 "type": "string"
10551               }
10552             },
10553             "user": {
10554               "type": "string"
10555             }
10556           },
10557           "additionalProperties": false,
10558           "required": [
10559             "user",
10560             "ssh-keys"
10561           ]
10562         },
10563         "StringsResult": {
10564           "type": "object",
10565           "properties": {
10566             "error": {
10567               "$ref": "#/definitions/Error"
10568             },
10569             "result": {
10570               "type": "array",
10571               "items": {
10572                 "type": "string"
10573               }
10574             }
10575           },
10576           "additionalProperties": false
10577         },
10578         "StringsResults": {
10579           "type": "object",
10580           "properties": {
10581             "results": {
10582               "type": "array",
10583               "items": {
10584                 "$ref": "#/definitions/StringsResult"
10585               }
10586             }
10587           },
10588           "additionalProperties": false,
10589           "required": [
10590             "results"
10591           ]
10592         }
10593       }
10594     }
10595   },
10596   {
10597     "Name": "KeyUpdater",
10598     "Version": 1,
10599     "Schema": {
10600       "type": "object",
10601       "properties": {
10602         "AuthorisedKeys": {
10603           "type": "object",
10604           "properties": {
10605             "Params": {
10606               "$ref": "#/definitions/Entities"
10607             },
10608             "Result": {
10609               "$ref": "#/definitions/StringsResults"
10610             }
10611           }
10612         },
10613         "WatchAuthorisedKeys": {
10614           "type": "object",
10615           "properties": {
10616             "Params": {
10617               "$ref": "#/definitions/Entities"
10618             },
10619             "Result": {
10620               "$ref": "#/definitions/NotifyWatchResults"
10621             }
10622           }
10623         }
10624       },
10625       "definitions": {
10626         "Entities": {
10627           "type": "object",
10628           "properties": {
10629             "entities": {
10630               "type": "array",
10631               "items": {
10632                 "$ref": "#/definitions/Entity"
10633               }
10634             }
10635           },
10636           "additionalProperties": false,
10637           "required": [
10638             "entities"
10639           ]
10640         },
10641         "Entity": {
10642           "type": "object",
10643           "properties": {
10644             "tag": {
10645               "type": "string"
10646             }
10647           },
10648           "additionalProperties": false,
10649           "required": [
10650             "tag"
10651           ]
10652         },
10653         "Error": {
10654           "type": "object",
10655           "properties": {
10656             "code": {
10657               "type": "string"
10658             },
10659             "info": {
10660               "$ref": "#/definitions/ErrorInfo"
10661             },
10662             "message": {
10663               "type": "string"
10664             }
10665           },
10666           "additionalProperties": false,
10667           "required": [
10668             "message",
10669             "code"
10670           ]
10671         },
10672         "ErrorInfo": {
10673           "type": "object",
10674           "properties": {
10675             "macaroon": {
10676               "$ref": "#/definitions/Macaroon"
10677             },
10678             "macaroon-path": {
10679               "type": "string"
10680             }
10681           },
10682           "additionalProperties": false
10683         },
10684         "Macaroon": {
10685           "type": "object",
10686           "additionalProperties": false
10687         },
10688         "NotifyWatchResult": {
10689           "type": "object",
10690           "properties": {
10691             "NotifyWatcherId": {
10692               "type": "string"
10693             },
10694             "error": {
10695               "$ref": "#/definitions/Error"
10696             }
10697           },
10698           "additionalProperties": false,
10699           "required": [
10700             "NotifyWatcherId"
10701           ]
10702         },
10703         "NotifyWatchResults": {
10704           "type": "object",
10705           "properties": {
10706             "results": {
10707               "type": "array",
10708               "items": {
10709                 "$ref": "#/definitions/NotifyWatchResult"
10710               }
10711             }
10712           },
10713           "additionalProperties": false,
10714           "required": [
10715             "results"
10716           ]
10717         },
10718         "StringsResult": {
10719           "type": "object",
10720           "properties": {
10721             "error": {
10722               "$ref": "#/definitions/Error"
10723             },
10724             "result": {
10725               "type": "array",
10726               "items": {
10727                 "type": "string"
10728               }
10729             }
10730           },
10731           "additionalProperties": false
10732         },
10733         "StringsResults": {
10734           "type": "object",
10735           "properties": {
10736             "results": {
10737               "type": "array",
10738               "items": {
10739                 "$ref": "#/definitions/StringsResult"
10740               }
10741             }
10742           },
10743           "additionalProperties": false,
10744           "required": [
10745             "results"
10746           ]
10747         }
10748       }
10749     }
10750   },
10751   {
10752     "Name": "LeadershipService",
10753     "Version": 2,
10754     "Schema": {
10755       "type": "object",
10756       "properties": {
10757         "BlockUntilLeadershipReleased": {
10758           "type": "object",
10759           "properties": {
10760             "Params": {
10761               "$ref": "#/definitions/ApplicationTag"
10762             },
10763             "Result": {
10764               "$ref": "#/definitions/ErrorResult"
10765             }
10766           }
10767         },
10768         "ClaimLeadership": {
10769           "type": "object",
10770           "properties": {
10771             "Params": {
10772               "$ref": "#/definitions/ClaimLeadershipBulkParams"
10773             },
10774             "Result": {
10775               "$ref": "#/definitions/ClaimLeadershipBulkResults"
10776             }
10777           }
10778         }
10779       },
10780       "definitions": {
10781         "ApplicationTag": {
10782           "type": "object",
10783           "properties": {
10784             "Name": {
10785               "type": "string"
10786             }
10787           },
10788           "additionalProperties": false,
10789           "required": [
10790             "Name"
10791           ]
10792         },
10793         "ClaimLeadershipBulkParams": {
10794           "type": "object",
10795           "properties": {
10796             "params": {
10797               "type": "array",
10798               "items": {
10799                 "$ref": "#/definitions/ClaimLeadershipParams"
10800               }
10801             }
10802           },
10803           "additionalProperties": false,
10804           "required": [
10805             "params"
10806           ]
10807         },
10808         "ClaimLeadershipBulkResults": {
10809           "type": "object",
10810           "properties": {
10811             "results": {
10812               "type": "array",
10813               "items": {
10814                 "$ref": "#/definitions/ErrorResult"
10815               }
10816             }
10817           },
10818           "additionalProperties": false,
10819           "required": [
10820             "results"
10821           ]
10822         },
10823         "ClaimLeadershipParams": {
10824           "type": "object",
10825           "properties": {
10826             "application-tag": {
10827               "type": "string"
10828             },
10829             "duration": {
10830               "type": "number"
10831             },
10832             "unit-tag": {
10833               "type": "string"
10834             }
10835           },
10836           "additionalProperties": false,
10837           "required": [
10838             "application-tag",
10839             "unit-tag",
10840             "duration"
10841           ]
10842         },
10843         "Error": {
10844           "type": "object",
10845           "properties": {
10846             "code": {
10847               "type": "string"
10848             },
10849             "info": {
10850               "$ref": "#/definitions/ErrorInfo"
10851             },
10852             "message": {
10853               "type": "string"
10854             }
10855           },
10856           "additionalProperties": false,
10857           "required": [
10858             "message",
10859             "code"
10860           ]
10861         },
10862         "ErrorInfo": {
10863           "type": "object",
10864           "properties": {
10865             "macaroon": {
10866               "$ref": "#/definitions/Macaroon"
10867             },
10868             "macaroon-path": {
10869               "type": "string"
10870             }
10871           },
10872           "additionalProperties": false
10873         },
10874         "ErrorResult": {
10875           "type": "object",
10876           "properties": {
10877             "error": {
10878               "$ref": "#/definitions/Error"
10879             }
10880           },
10881           "additionalProperties": false
10882         },
10883         "Macaroon": {
10884           "type": "object",
10885           "additionalProperties": false
10886         }
10887       }
10888     }
10889   },
10890   {
10891     "Name": "LifeFlag",
10892     "Version": 1,
10893     "Schema": {
10894       "type": "object",
10895       "properties": {
10896         "Life": {
10897           "type": "object",
10898           "properties": {
10899             "Params": {
10900               "$ref": "#/definitions/Entities"
10901             },
10902             "Result": {
10903               "$ref": "#/definitions/LifeResults"
10904             }
10905           }
10906         },
10907         "Watch": {
10908           "type": "object",
10909           "properties": {
10910             "Params": {
10911               "$ref": "#/definitions/Entities"
10912             },
10913             "Result": {
10914               "$ref": "#/definitions/NotifyWatchResults"
10915             }
10916           }
10917         }
10918       },
10919       "definitions": {
10920         "Entities": {
10921           "type": "object",
10922           "properties": {
10923             "entities": {
10924               "type": "array",
10925               "items": {
10926                 "$ref": "#/definitions/Entity"
10927               }
10928             }
10929           },
10930           "additionalProperties": false,
10931           "required": [
10932             "entities"
10933           ]
10934         },
10935         "Entity": {
10936           "type": "object",
10937           "properties": {
10938             "tag": {
10939               "type": "string"
10940             }
10941           },
10942           "additionalProperties": false,
10943           "required": [
10944             "tag"
10945           ]
10946         },
10947         "Error": {
10948           "type": "object",
10949           "properties": {
10950             "code": {
10951               "type": "string"
10952             },
10953             "info": {
10954               "$ref": "#/definitions/ErrorInfo"
10955             },
10956             "message": {
10957               "type": "string"
10958             }
10959           },
10960           "additionalProperties": false,
10961           "required": [
10962             "message",
10963             "code"
10964           ]
10965         },
10966         "ErrorInfo": {
10967           "type": "object",
10968           "properties": {
10969             "macaroon": {
10970               "$ref": "#/definitions/Macaroon"
10971             },
10972             "macaroon-path": {
10973               "type": "string"
10974             }
10975           },
10976           "additionalProperties": false
10977         },
10978         "LifeResult": {
10979           "type": "object",
10980           "properties": {
10981             "error": {
10982               "$ref": "#/definitions/Error"
10983             },
10984             "life": {
10985               "type": "string"
10986             }
10987           },
10988           "additionalProperties": false,
10989           "required": [
10990             "life"
10991           ]
10992         },
10993         "LifeResults": {
10994           "type": "object",
10995           "properties": {
10996             "results": {
10997               "type": "array",
10998               "items": {
10999                 "$ref": "#/definitions/LifeResult"
11000               }
11001             }
11002           },
11003           "additionalProperties": false,
11004           "required": [
11005             "results"
11006           ]
11007         },
11008         "Macaroon": {
11009           "type": "object",
11010           "additionalProperties": false
11011         },
11012         "NotifyWatchResult": {
11013           "type": "object",
11014           "properties": {
11015             "NotifyWatcherId": {
11016               "type": "string"
11017             },
11018             "error": {
11019               "$ref": "#/definitions/Error"
11020             }
11021           },
11022           "additionalProperties": false,
11023           "required": [
11024             "NotifyWatcherId"
11025           ]
11026         },
11027         "NotifyWatchResults": {
11028           "type": "object",
11029           "properties": {
11030             "results": {
11031               "type": "array",
11032               "items": {
11033                 "$ref": "#/definitions/NotifyWatchResult"
11034               }
11035             }
11036           },
11037           "additionalProperties": false,
11038           "required": [
11039             "results"
11040           ]
11041         }
11042       }
11043     }
11044   },
11045   {
11046     "Name": "LogForwarding",
11047     "Version": 1,
11048     "Schema": {
11049       "type": "object",
11050       "properties": {
11051         "GetLastSent": {
11052           "type": "object",
11053           "properties": {
11054             "Params": {
11055               "$ref": "#/definitions/LogForwardingGetLastSentParams"
11056             },
11057             "Result": {
11058               "$ref": "#/definitions/LogForwardingGetLastSentResults"
11059             }
11060           }
11061         },
11062         "SetLastSent": {
11063           "type": "object",
11064           "properties": {
11065             "Params": {
11066               "$ref": "#/definitions/LogForwardingSetLastSentParams"
11067             },
11068             "Result": {
11069               "$ref": "#/definitions/ErrorResults"
11070             }
11071           }
11072         }
11073       },
11074       "definitions": {
11075         "Error": {
11076           "type": "object",
11077           "properties": {
11078             "code": {
11079               "type": "string"
11080             },
11081             "info": {
11082               "$ref": "#/definitions/ErrorInfo"
11083             },
11084             "message": {
11085               "type": "string"
11086             }
11087           },
11088           "additionalProperties": false,
11089           "required": [
11090             "message",
11091             "code"
11092           ]
11093         },
11094         "ErrorInfo": {
11095           "type": "object",
11096           "properties": {
11097             "macaroon": {
11098               "$ref": "#/definitions/Macaroon"
11099             },
11100             "macaroon-path": {
11101               "type": "string"
11102             }
11103           },
11104           "additionalProperties": false
11105         },
11106         "ErrorResult": {
11107           "type": "object",
11108           "properties": {
11109             "error": {
11110               "$ref": "#/definitions/Error"
11111             }
11112           },
11113           "additionalProperties": false
11114         },
11115         "ErrorResults": {
11116           "type": "object",
11117           "properties": {
11118             "results": {
11119               "type": "array",
11120               "items": {
11121                 "$ref": "#/definitions/ErrorResult"
11122               }
11123             }
11124           },
11125           "additionalProperties": false,
11126           "required": [
11127             "results"
11128           ]
11129         },
11130         "LogForwardingGetLastSentParams": {
11131           "type": "object",
11132           "properties": {
11133             "ids": {
11134               "type": "array",
11135               "items": {
11136                 "$ref": "#/definitions/LogForwardingID"
11137               }
11138             }
11139           },
11140           "additionalProperties": false,
11141           "required": [
11142             "ids"
11143           ]
11144         },
11145         "LogForwardingGetLastSentResult": {
11146           "type": "object",
11147           "properties": {
11148             "err": {
11149               "$ref": "#/definitions/Error"
11150             },
11151             "record-id": {
11152               "type": "integer"
11153             },
11154             "record-timestamp": {
11155               "type": "integer"
11156             }
11157           },
11158           "additionalProperties": false,
11159           "required": [
11160             "record-id",
11161             "record-timestamp",
11162             "err"
11163           ]
11164         },
11165         "LogForwardingGetLastSentResults": {
11166           "type": "object",
11167           "properties": {
11168             "results": {
11169               "type": "array",
11170               "items": {
11171                 "$ref": "#/definitions/LogForwardingGetLastSentResult"
11172               }
11173             }
11174           },
11175           "additionalProperties": false,
11176           "required": [
11177             "results"
11178           ]
11179         },
11180         "LogForwardingID": {
11181           "type": "object",
11182           "properties": {
11183             "model": {
11184               "type": "string"
11185             },
11186             "sink": {
11187               "type": "string"
11188             }
11189           },
11190           "additionalProperties": false,
11191           "required": [
11192             "model",
11193             "sink"
11194           ]
11195         },
11196         "LogForwardingSetLastSentParam": {
11197           "type": "object",
11198           "properties": {
11199             "LogForwardingID": {
11200               "$ref": "#/definitions/LogForwardingID"
11201             },
11202             "record-id": {
11203               "type": "integer"
11204             },
11205             "record-timestamp": {
11206               "type": "integer"
11207             }
11208           },
11209           "additionalProperties": false,
11210           "required": [
11211             "LogForwardingID",
11212             "record-id",
11213             "record-timestamp"
11214           ]
11215         },
11216         "LogForwardingSetLastSentParams": {
11217           "type": "object",
11218           "properties": {
11219             "params": {
11220               "type": "array",
11221               "items": {
11222                 "$ref": "#/definitions/LogForwardingSetLastSentParam"
11223               }
11224             }
11225           },
11226           "additionalProperties": false,
11227           "required": [
11228             "params"
11229           ]
11230         },
11231         "Macaroon": {
11232           "type": "object",
11233           "additionalProperties": false
11234         }
11235       }
11236     }
11237   },
11238   {
11239     "Name": "Logger",
11240     "Version": 1,
11241     "Schema": {
11242       "type": "object",
11243       "properties": {
11244         "LoggingConfig": {
11245           "type": "object",
11246           "properties": {
11247             "Params": {
11248               "$ref": "#/definitions/Entities"
11249             },
11250             "Result": {
11251               "$ref": "#/definitions/StringResults"
11252             }
11253           }
11254         },
11255         "WatchLoggingConfig": {
11256           "type": "object",
11257           "properties": {
11258             "Params": {
11259               "$ref": "#/definitions/Entities"
11260             },
11261             "Result": {
11262               "$ref": "#/definitions/NotifyWatchResults"
11263             }
11264           }
11265         }
11266       },
11267       "definitions": {
11268         "Entities": {
11269           "type": "object",
11270           "properties": {
11271             "entities": {
11272               "type": "array",
11273               "items": {
11274                 "$ref": "#/definitions/Entity"
11275               }
11276             }
11277           },
11278           "additionalProperties": false,
11279           "required": [
11280             "entities"
11281           ]
11282         },
11283         "Entity": {
11284           "type": "object",
11285           "properties": {
11286             "tag": {
11287               "type": "string"
11288             }
11289           },
11290           "additionalProperties": false,
11291           "required": [
11292             "tag"
11293           ]
11294         },
11295         "Error": {
11296           "type": "object",
11297           "properties": {
11298             "code": {
11299               "type": "string"
11300             },
11301             "info": {
11302               "$ref": "#/definitions/ErrorInfo"
11303             },
11304             "message": {
11305               "type": "string"
11306             }
11307           },
11308           "additionalProperties": false,
11309           "required": [
11310             "message",
11311             "code"
11312           ]
11313         },
11314         "ErrorInfo": {
11315           "type": "object",
11316           "properties": {
11317             "macaroon": {
11318               "$ref": "#/definitions/Macaroon"
11319             },
11320             "macaroon-path": {
11321               "type": "string"
11322             }
11323           },
11324           "additionalProperties": false
11325         },
11326         "Macaroon": {
11327           "type": "object",
11328           "additionalProperties": false
11329         },
11330         "NotifyWatchResult": {
11331           "type": "object",
11332           "properties": {
11333             "NotifyWatcherId": {
11334               "type": "string"
11335             },
11336             "error": {
11337               "$ref": "#/definitions/Error"
11338             }
11339           },
11340           "additionalProperties": false,
11341           "required": [
11342             "NotifyWatcherId"
11343           ]
11344         },
11345         "NotifyWatchResults": {
11346           "type": "object",
11347           "properties": {
11348             "results": {
11349               "type": "array",
11350               "items": {
11351                 "$ref": "#/definitions/NotifyWatchResult"
11352               }
11353             }
11354           },
11355           "additionalProperties": false,
11356           "required": [
11357             "results"
11358           ]
11359         },
11360         "StringResult": {
11361           "type": "object",
11362           "properties": {
11363             "error": {
11364               "$ref": "#/definitions/Error"
11365             },
11366             "result": {
11367               "type": "string"
11368             }
11369           },
11370           "additionalProperties": false,
11371           "required": [
11372             "result"
11373           ]
11374         },
11375         "StringResults": {
11376           "type": "object",
11377           "properties": {
11378             "results": {
11379               "type": "array",
11380               "items": {
11381                 "$ref": "#/definitions/StringResult"
11382               }
11383             }
11384           },
11385           "additionalProperties": false,
11386           "required": [
11387             "results"
11388           ]
11389         }
11390       }
11391     }
11392   },
11393   {
11394     "Name": "MachineActions",
11395     "Version": 1,
11396     "Schema": {
11397       "type": "object",
11398       "properties": {
11399         "Actions": {
11400           "type": "object",
11401           "properties": {
11402             "Params": {
11403               "$ref": "#/definitions/Entities"
11404             },
11405             "Result": {
11406               "$ref": "#/definitions/ActionResults"
11407             }
11408           }
11409         },
11410         "BeginActions": {
11411           "type": "object",
11412           "properties": {
11413             "Params": {
11414               "$ref": "#/definitions/Entities"
11415             },
11416             "Result": {
11417               "$ref": "#/definitions/ErrorResults"
11418             }
11419           }
11420         },
11421         "FinishActions": {
11422           "type": "object",
11423           "properties": {
11424             "Params": {
11425               "$ref": "#/definitions/ActionExecutionResults"
11426             },
11427             "Result": {
11428               "$ref": "#/definitions/ErrorResults"
11429             }
11430           }
11431         },
11432         "RunningActions": {
11433           "type": "object",
11434           "properties": {
11435             "Params": {
11436               "$ref": "#/definitions/Entities"
11437             },
11438             "Result": {
11439               "$ref": "#/definitions/ActionsByReceivers"
11440             }
11441           }
11442         },
11443         "WatchActionNotifications": {
11444           "type": "object",
11445           "properties": {
11446             "Params": {
11447               "$ref": "#/definitions/Entities"
11448             },
11449             "Result": {
11450               "$ref": "#/definitions/StringsWatchResults"
11451             }
11452           }
11453         }
11454       },
11455       "definitions": {
11456         "Action": {
11457           "type": "object",
11458           "properties": {
11459             "name": {
11460               "type": "string"
11461             },
11462             "parameters": {
11463               "type": "object",
11464               "patternProperties": {
11465                 ".*": {
11466                   "type": "object",
11467                   "additionalProperties": true
11468                 }
11469               }
11470             },
11471             "receiver": {
11472               "type": "string"
11473             },
11474             "tag": {
11475               "type": "string"
11476             }
11477           },
11478           "additionalProperties": false,
11479           "required": [
11480             "tag",
11481             "receiver",
11482             "name"
11483           ]
11484         },
11485         "ActionExecutionResult": {
11486           "type": "object",
11487           "properties": {
11488             "action-tag": {
11489               "type": "string"
11490             },
11491             "message": {
11492               "type": "string"
11493             },
11494             "results": {
11495               "type": "object",
11496               "patternProperties": {
11497                 ".*": {
11498                   "type": "object",
11499                   "additionalProperties": true
11500                 }
11501               }
11502             },
11503             "status": {
11504               "type": "string"
11505             }
11506           },
11507           "additionalProperties": false,
11508           "required": [
11509             "action-tag",
11510             "status"
11511           ]
11512         },
11513         "ActionExecutionResults": {
11514           "type": "object",
11515           "properties": {
11516             "results": {
11517               "type": "array",
11518               "items": {
11519                 "$ref": "#/definitions/ActionExecutionResult"
11520               }
11521             }
11522           },
11523           "additionalProperties": false
11524         },
11525         "ActionResult": {
11526           "type": "object",
11527           "properties": {
11528             "action": {
11529               "$ref": "#/definitions/Action"
11530             },
11531             "completed": {
11532               "type": "string",
11533               "format": "date-time"
11534             },
11535             "enqueued": {
11536               "type": "string",
11537               "format": "date-time"
11538             },
11539             "error": {
11540               "$ref": "#/definitions/Error"
11541             },
11542             "message": {
11543               "type": "string"
11544             },
11545             "output": {
11546               "type": "object",
11547               "patternProperties": {
11548                 ".*": {
11549                   "type": "object",
11550                   "additionalProperties": true
11551                 }
11552               }
11553             },
11554             "started": {
11555               "type": "string",
11556               "format": "date-time"
11557             },
11558             "status": {
11559               "type": "string"
11560             }
11561           },
11562           "additionalProperties": false
11563         },
11564         "ActionResults": {
11565           "type": "object",
11566           "properties": {
11567             "results": {
11568               "type": "array",
11569               "items": {
11570                 "$ref": "#/definitions/ActionResult"
11571               }
11572             }
11573           },
11574           "additionalProperties": false
11575         },
11576         "ActionsByReceiver": {
11577           "type": "object",
11578           "properties": {
11579             "actions": {
11580               "type": "array",
11581               "items": {
11582                 "$ref": "#/definitions/ActionResult"
11583               }
11584             },
11585             "error": {
11586               "$ref": "#/definitions/Error"
11587             },
11588             "receiver": {
11589               "type": "string"
11590             }
11591           },
11592           "additionalProperties": false
11593         },
11594         "ActionsByReceivers": {
11595           "type": "object",
11596           "properties": {
11597             "actions": {
11598               "type": "array",
11599               "items": {
11600                 "$ref": "#/definitions/ActionsByReceiver"
11601               }
11602             }
11603           },
11604           "additionalProperties": false
11605         },
11606         "Entities": {
11607           "type": "object",
11608           "properties": {
11609             "entities": {
11610               "type": "array",
11611               "items": {
11612                 "$ref": "#/definitions/Entity"
11613               }
11614             }
11615           },
11616           "additionalProperties": false,
11617           "required": [
11618             "entities"
11619           ]
11620         },
11621         "Entity": {
11622           "type": "object",
11623           "properties": {
11624             "tag": {
11625               "type": "string"
11626             }
11627           },
11628           "additionalProperties": false,
11629           "required": [
11630             "tag"
11631           ]
11632         },
11633         "Error": {
11634           "type": "object",
11635           "properties": {
11636             "code": {
11637               "type": "string"
11638             },
11639             "info": {
11640               "$ref": "#/definitions/ErrorInfo"
11641             },
11642             "message": {
11643               "type": "string"
11644             }
11645           },
11646           "additionalProperties": false,
11647           "required": [
11648             "message",
11649             "code"
11650           ]
11651         },
11652         "ErrorInfo": {
11653           "type": "object",
11654           "properties": {
11655             "macaroon": {
11656               "$ref": "#/definitions/Macaroon"
11657             },
11658             "macaroon-path": {
11659               "type": "string"
11660             }
11661           },
11662           "additionalProperties": false
11663         },
11664         "ErrorResult": {
11665           "type": "object",
11666           "properties": {
11667             "error": {
11668               "$ref": "#/definitions/Error"
11669             }
11670           },
11671           "additionalProperties": false
11672         },
11673         "ErrorResults": {
11674           "type": "object",
11675           "properties": {
11676             "results": {
11677               "type": "array",
11678               "items": {
11679                 "$ref": "#/definitions/ErrorResult"
11680               }
11681             }
11682           },
11683           "additionalProperties": false,
11684           "required": [
11685             "results"
11686           ]
11687         },
11688         "Macaroon": {
11689           "type": "object",
11690           "additionalProperties": false
11691         },
11692         "StringsWatchResult": {
11693           "type": "object",
11694           "properties": {
11695             "changes": {
11696               "type": "array",
11697               "items": {
11698                 "type": "string"
11699               }
11700             },
11701             "error": {
11702               "$ref": "#/definitions/Error"
11703             },
11704             "watcher-id": {
11705               "type": "string"
11706             }
11707           },
11708           "additionalProperties": false,
11709           "required": [
11710             "watcher-id"
11711           ]
11712         },
11713         "StringsWatchResults": {
11714           "type": "object",
11715           "properties": {
11716             "results": {
11717               "type": "array",
11718               "items": {
11719                 "$ref": "#/definitions/StringsWatchResult"
11720               }
11721             }
11722           },
11723           "additionalProperties": false,
11724           "required": [
11725             "results"
11726           ]
11727         }
11728       }
11729     }
11730   },
11731   {
11732     "Name": "MachineManager",
11733     "Version": 3,
11734     "Schema": {
11735       "type": "object",
11736       "properties": {
11737         "AddMachines": {
11738           "type": "object",
11739           "properties": {
11740             "Params": {
11741               "$ref": "#/definitions/AddMachines"
11742             },
11743             "Result": {
11744               "$ref": "#/definitions/AddMachinesResults"
11745             }
11746           }
11747         },
11748         "DestroyMachine": {
11749           "type": "object",
11750           "properties": {
11751             "Params": {
11752               "$ref": "#/definitions/Entities"
11753             },
11754             "Result": {
11755               "$ref": "#/definitions/DestroyMachineResults"
11756             }
11757           }
11758         },
11759         "ForceDestroyMachine": {
11760           "type": "object",
11761           "properties": {
11762             "Params": {
11763               "$ref": "#/definitions/Entities"
11764             },
11765             "Result": {
11766               "$ref": "#/definitions/DestroyMachineResults"
11767             }
11768           }
11769         },
11770         "InstanceTypes": {
11771           "type": "object",
11772           "properties": {
11773             "Params": {
11774               "$ref": "#/definitions/ModelInstanceTypesConstraints"
11775             },
11776             "Result": {
11777               "$ref": "#/definitions/InstanceTypesResults"
11778             }
11779           }
11780         }
11781       },
11782       "definitions": {
11783         "AddMachineParams": {
11784           "type": "object",
11785           "properties": {
11786             "addresses": {
11787               "type": "array",
11788               "items": {
11789                 "$ref": "#/definitions/Address"
11790               }
11791             },
11792             "constraints": {
11793               "$ref": "#/definitions/Value"
11794             },
11795             "container-type": {
11796               "type": "string"
11797             },
11798             "disks": {
11799               "type": "array",
11800               "items": {
11801                 "$ref": "#/definitions/Constraints"
11802               }
11803             },
11804             "hardware-characteristics": {
11805               "$ref": "#/definitions/HardwareCharacteristics"
11806             },
11807             "instance-id": {
11808               "type": "string"
11809             },
11810             "jobs": {
11811               "type": "array",
11812               "items": {
11813                 "type": "string"
11814               }
11815             },
11816             "nonce": {
11817               "type": "string"
11818             },
11819             "parent-id": {
11820               "type": "string"
11821             },
11822             "placement": {
11823               "$ref": "#/definitions/Placement"
11824             },
11825             "series": {
11826               "type": "string"
11827             }
11828           },
11829           "additionalProperties": false,
11830           "required": [
11831             "series",
11832             "constraints",
11833             "jobs",
11834             "parent-id",
11835             "container-type",
11836             "instance-id",
11837             "nonce",
11838             "hardware-characteristics",
11839             "addresses"
11840           ]
11841         },
11842         "AddMachines": {
11843           "type": "object",
11844           "properties": {
11845             "params": {
11846               "type": "array",
11847               "items": {
11848                 "$ref": "#/definitions/AddMachineParams"
11849               }
11850             }
11851           },
11852           "additionalProperties": false,
11853           "required": [
11854             "params"
11855           ]
11856         },
11857         "AddMachinesResult": {
11858           "type": "object",
11859           "properties": {
11860             "error": {
11861               "$ref": "#/definitions/Error"
11862             },
11863             "machine": {
11864               "type": "string"
11865             }
11866           },
11867           "additionalProperties": false,
11868           "required": [
11869             "machine"
11870           ]
11871         },
11872         "AddMachinesResults": {
11873           "type": "object",
11874           "properties": {
11875             "machines": {
11876               "type": "array",
11877               "items": {
11878                 "$ref": "#/definitions/AddMachinesResult"
11879               }
11880             }
11881           },
11882           "additionalProperties": false,
11883           "required": [
11884             "machines"
11885           ]
11886         },
11887         "Address": {
11888           "type": "object",
11889           "properties": {
11890             "scope": {
11891               "type": "string"
11892             },
11893             "space-name": {
11894               "type": "string"
11895             },
11896             "type": {
11897               "type": "string"
11898             },
11899             "value": {
11900               "type": "string"
11901             }
11902           },
11903           "additionalProperties": false,
11904           "required": [
11905             "value",
11906             "type",
11907             "scope"
11908           ]
11909         },
11910         "Constraints": {
11911           "type": "object",
11912           "properties": {
11913             "Count": {
11914               "type": "integer"
11915             },
11916             "Pool": {
11917               "type": "string"
11918             },
11919             "Size": {
11920               "type": "integer"
11921             }
11922           },
11923           "additionalProperties": false,
11924           "required": [
11925             "Pool",
11926             "Size",
11927             "Count"
11928           ]
11929         },
11930         "DestroyMachineInfo": {
11931           "type": "object",
11932           "properties": {
11933             "destroyed-storage": {
11934               "type": "array",
11935               "items": {
11936                 "$ref": "#/definitions/Entity"
11937               }
11938             },
11939             "destroyed-units": {
11940               "type": "array",
11941               "items": {
11942                 "$ref": "#/definitions/Entity"
11943               }
11944             },
11945             "detached-storage": {
11946               "type": "array",
11947               "items": {
11948                 "$ref": "#/definitions/Entity"
11949               }
11950             }
11951           },
11952           "additionalProperties": false
11953         },
11954         "DestroyMachineResult": {
11955           "type": "object",
11956           "properties": {
11957             "error": {
11958               "$ref": "#/definitions/Error"
11959             },
11960             "info": {
11961               "$ref": "#/definitions/DestroyMachineInfo"
11962             }
11963           },
11964           "additionalProperties": false
11965         },
11966         "DestroyMachineResults": {
11967           "type": "object",
11968           "properties": {
11969             "results": {
11970               "type": "array",
11971               "items": {
11972                 "$ref": "#/definitions/DestroyMachineResult"
11973               }
11974             }
11975           },
11976           "additionalProperties": false
11977         },
11978         "Entities": {
11979           "type": "object",
11980           "properties": {
11981             "entities": {
11982               "type": "array",
11983               "items": {
11984                 "$ref": "#/definitions/Entity"
11985               }
11986             }
11987           },
11988           "additionalProperties": false,
11989           "required": [
11990             "entities"
11991           ]
11992         },
11993         "Entity": {
11994           "type": "object",
11995           "properties": {
11996             "tag": {
11997               "type": "string"
11998             }
11999           },
12000           "additionalProperties": false,
12001           "required": [
12002             "tag"
12003           ]
12004         },
12005         "Error": {
12006           "type": "object",
12007           "properties": {
12008             "code": {
12009               "type": "string"
12010             },
12011             "info": {
12012               "$ref": "#/definitions/ErrorInfo"
12013             },
12014             "message": {
12015               "type": "string"
12016             }
12017           },
12018           "additionalProperties": false,
12019           "required": [
12020             "message",
12021             "code"
12022           ]
12023         },
12024         "ErrorInfo": {
12025           "type": "object",
12026           "properties": {
12027             "macaroon": {
12028               "$ref": "#/definitions/Macaroon"
12029             },
12030             "macaroon-path": {
12031               "type": "string"
12032             }
12033           },
12034           "additionalProperties": false
12035         },
12036         "HardwareCharacteristics": {
12037           "type": "object",
12038           "properties": {
12039             "arch": {
12040               "type": "string"
12041             },
12042             "availability-zone": {
12043               "type": "string"
12044             },
12045             "cpu-cores": {
12046               "type": "integer"
12047             },
12048             "cpu-power": {
12049               "type": "integer"
12050             },
12051             "mem": {
12052               "type": "integer"
12053             },
12054             "root-disk": {
12055               "type": "integer"
12056             },
12057             "tags": {
12058               "type": "array",
12059               "items": {
12060                 "type": "string"
12061               }
12062             }
12063           },
12064           "additionalProperties": false
12065         },
12066         "InstanceType": {
12067           "type": "object",
12068           "properties": {
12069             "arches": {
12070               "type": "array",
12071               "items": {
12072                 "type": "string"
12073               }
12074             },
12075             "cost": {
12076               "type": "integer"
12077             },
12078             "cpu-cores": {
12079               "type": "integer"
12080             },
12081             "deprecated": {
12082               "type": "boolean"
12083             },
12084             "memory": {
12085               "type": "integer"
12086             },
12087             "name": {
12088               "type": "string"
12089             },
12090             "root-disk": {
12091               "type": "integer"
12092             },
12093             "virt-type": {
12094               "type": "string"
12095             }
12096           },
12097           "additionalProperties": false,
12098           "required": [
12099             "arches",
12100             "cpu-cores",
12101             "memory"
12102           ]
12103         },
12104         "InstanceTypesResult": {
12105           "type": "object",
12106           "properties": {
12107             "cost-currency": {
12108               "type": "string"
12109             },
12110             "cost-divisor": {
12111               "type": "integer"
12112             },
12113             "cost-unit": {
12114               "type": "string"
12115             },
12116             "error": {
12117               "$ref": "#/definitions/Error"
12118             },
12119             "instance-types": {
12120               "type": "array",
12121               "items": {
12122                 "$ref": "#/definitions/InstanceType"
12123               }
12124             }
12125           },
12126           "additionalProperties": false
12127         },
12128         "InstanceTypesResults": {
12129           "type": "object",
12130           "properties": {
12131             "results": {
12132               "type": "array",
12133               "items": {
12134                 "$ref": "#/definitions/InstanceTypesResult"
12135               }
12136             }
12137           },
12138           "additionalProperties": false,
12139           "required": [
12140             "results"
12141           ]
12142         },
12143         "Macaroon": {
12144           "type": "object",
12145           "additionalProperties": false
12146         },
12147         "ModelInstanceTypesConstraint": {
12148           "type": "object",
12149           "properties": {
12150             "value": {
12151               "$ref": "#/definitions/Value"
12152             }
12153           },
12154           "additionalProperties": false
12155         },
12156         "ModelInstanceTypesConstraints": {
12157           "type": "object",
12158           "properties": {
12159             "constraints": {
12160               "type": "array",
12161               "items": {
12162                 "$ref": "#/definitions/ModelInstanceTypesConstraint"
12163               }
12164             }
12165           },
12166           "additionalProperties": false,
12167           "required": [
12168             "constraints"
12169           ]
12170         },
12171         "Placement": {
12172           "type": "object",
12173           "properties": {
12174             "directive": {
12175               "type": "string"
12176             },
12177             "scope": {
12178               "type": "string"
12179             }
12180           },
12181           "additionalProperties": false,
12182           "required": [
12183             "scope",
12184             "directive"
12185           ]
12186         },
12187         "Value": {
12188           "type": "object",
12189           "properties": {
12190             "arch": {
12191               "type": "string"
12192             },
12193             "container": {
12194               "type": "string"
12195             },
12196             "cores": {
12197               "type": "integer"
12198             },
12199             "cpu-power": {
12200               "type": "integer"
12201             },
12202             "instance-type": {
12203               "type": "string"
12204             },
12205             "mem": {
12206               "type": "integer"
12207             },
12208             "root-disk": {
12209               "type": "integer"
12210             },
12211             "spaces": {
12212               "type": "array",
12213               "items": {
12214                 "type": "string"
12215               }
12216             },
12217             "tags": {
12218               "type": "array",
12219               "items": {
12220                 "type": "string"
12221               }
12222             },
12223             "virt-type": {
12224               "type": "string"
12225             }
12226           },
12227           "additionalProperties": false
12228         }
12229       }
12230     }
12231   },
12232   {
12233     "Name": "MachineUndertaker",
12234     "Version": 1,
12235     "Schema": {
12236       "type": "object",
12237       "properties": {
12238         "AllMachineRemovals": {
12239           "type": "object",
12240           "properties": {
12241             "Params": {
12242               "$ref": "#/definitions/Entities"
12243             },
12244             "Result": {
12245               "$ref": "#/definitions/EntitiesResults"
12246             }
12247           }
12248         },
12249         "CompleteMachineRemovals": {
12250           "type": "object",
12251           "properties": {
12252             "Params": {
12253               "$ref": "#/definitions/Entities"
12254             }
12255           }
12256         },
12257         "GetMachineProviderInterfaceInfo": {
12258           "type": "object",
12259           "properties": {
12260             "Params": {
12261               "$ref": "#/definitions/Entities"
12262             },
12263             "Result": {
12264               "$ref": "#/definitions/ProviderInterfaceInfoResults"
12265             }
12266           }
12267         },
12268         "WatchMachineRemovals": {
12269           "type": "object",
12270           "properties": {
12271             "Params": {
12272               "$ref": "#/definitions/Entities"
12273             },
12274             "Result": {
12275               "$ref": "#/definitions/NotifyWatchResults"
12276             }
12277           }
12278         }
12279       },
12280       "definitions": {
12281         "Entities": {
12282           "type": "object",
12283           "properties": {
12284             "entities": {
12285               "type": "array",
12286               "items": {
12287                 "$ref": "#/definitions/Entity"
12288               }
12289             }
12290           },
12291           "additionalProperties": false,
12292           "required": [
12293             "entities"
12294           ]
12295         },
12296         "EntitiesResult": {
12297           "type": "object",
12298           "properties": {
12299             "entities": {
12300               "type": "array",
12301               "items": {
12302                 "$ref": "#/definitions/Entity"
12303               }
12304             },
12305             "error": {
12306               "$ref": "#/definitions/Error"
12307             }
12308           },
12309           "additionalProperties": false,
12310           "required": [
12311             "entities"
12312           ]
12313         },
12314         "EntitiesResults": {
12315           "type": "object",
12316           "properties": {
12317             "results": {
12318               "type": "array",
12319               "items": {
12320                 "$ref": "#/definitions/EntitiesResult"
12321               }
12322             }
12323           },
12324           "additionalProperties": false,
12325           "required": [
12326             "results"
12327           ]
12328         },
12329         "Entity": {
12330           "type": "object",
12331           "properties": {
12332             "tag": {
12333               "type": "string"
12334             }
12335           },
12336           "additionalProperties": false,
12337           "required": [
12338             "tag"
12339           ]
12340         },
12341         "Error": {
12342           "type": "object",
12343           "properties": {
12344             "code": {
12345               "type": "string"
12346             },
12347             "info": {
12348               "$ref": "#/definitions/ErrorInfo"
12349             },
12350             "message": {
12351               "type": "string"
12352             }
12353           },
12354           "additionalProperties": false,
12355           "required": [
12356             "message",
12357             "code"
12358           ]
12359         },
12360         "ErrorInfo": {
12361           "type": "object",
12362           "properties": {
12363             "macaroon": {
12364               "$ref": "#/definitions/Macaroon"
12365             },
12366             "macaroon-path": {
12367               "type": "string"
12368             }
12369           },
12370           "additionalProperties": false
12371         },
12372         "Macaroon": {
12373           "type": "object",
12374           "additionalProperties": false
12375         },
12376         "NotifyWatchResult": {
12377           "type": "object",
12378           "properties": {
12379             "NotifyWatcherId": {
12380               "type": "string"
12381             },
12382             "error": {
12383               "$ref": "#/definitions/Error"
12384             }
12385           },
12386           "additionalProperties": false,
12387           "required": [
12388             "NotifyWatcherId"
12389           ]
12390         },
12391         "NotifyWatchResults": {
12392           "type": "object",
12393           "properties": {
12394             "results": {
12395               "type": "array",
12396               "items": {
12397                 "$ref": "#/definitions/NotifyWatchResult"
12398               }
12399             }
12400           },
12401           "additionalProperties": false,
12402           "required": [
12403             "results"
12404           ]
12405         },
12406         "ProviderInterfaceInfo": {
12407           "type": "object",
12408           "properties": {
12409             "interface-name": {
12410               "type": "string"
12411             },
12412             "mac-address": {
12413               "type": "string"
12414             },
12415             "provider-id": {
12416               "type": "string"
12417             }
12418           },
12419           "additionalProperties": false,
12420           "required": [
12421             "interface-name",
12422             "mac-address",
12423             "provider-id"
12424           ]
12425         },
12426         "ProviderInterfaceInfoResult": {
12427           "type": "object",
12428           "properties": {
12429             "error": {
12430               "$ref": "#/definitions/Error"
12431             },
12432             "interfaces": {
12433               "type": "array",
12434               "items": {
12435                 "$ref": "#/definitions/ProviderInterfaceInfo"
12436               }
12437             },
12438             "machine-tag": {
12439               "type": "string"
12440             }
12441           },
12442           "additionalProperties": false,
12443           "required": [
12444             "machine-tag",
12445             "interfaces"
12446           ]
12447         },
12448         "ProviderInterfaceInfoResults": {
12449           "type": "object",
12450           "properties": {
12451             "results": {
12452               "type": "array",
12453               "items": {
12454                 "$ref": "#/definitions/ProviderInterfaceInfoResult"
12455               }
12456             }
12457           },
12458           "additionalProperties": false,
12459           "required": [
12460             "results"
12461           ]
12462         }
12463       }
12464     }
12465   },
12466   {
12467     "Name": "Machiner",
12468     "Version": 1,
12469     "Schema": {
12470       "type": "object",
12471       "properties": {
12472         "APIAddresses": {
12473           "type": "object",
12474           "properties": {
12475             "Result": {
12476               "$ref": "#/definitions/StringsResult"
12477             }
12478           }
12479         },
12480         "APIHostPorts": {
12481           "type": "object",
12482           "properties": {
12483             "Result": {
12484               "$ref": "#/definitions/APIHostPortsResult"
12485             }
12486           }
12487         },
12488         "CACert": {
12489           "type": "object",
12490           "properties": {
12491             "Result": {
12492               "$ref": "#/definitions/BytesResult"
12493             }
12494           }
12495         },
12496         "EnsureDead": {
12497           "type": "object",
12498           "properties": {
12499             "Params": {
12500               "$ref": "#/definitions/Entities"
12501             },
12502             "Result": {
12503               "$ref": "#/definitions/ErrorResults"
12504             }
12505           }
12506         },
12507         "Jobs": {
12508           "type": "object",
12509           "properties": {
12510             "Params": {
12511               "$ref": "#/definitions/Entities"
12512             },
12513             "Result": {
12514               "$ref": "#/definitions/JobsResults"
12515             }
12516           }
12517         },
12518         "Life": {
12519           "type": "object",
12520           "properties": {
12521             "Params": {
12522               "$ref": "#/definitions/Entities"
12523             },
12524             "Result": {
12525               "$ref": "#/definitions/LifeResults"
12526             }
12527           }
12528         },
12529         "ModelUUID": {
12530           "type": "object",
12531           "properties": {
12532             "Result": {
12533               "$ref": "#/definitions/StringResult"
12534             }
12535           }
12536         },
12537         "SetMachineAddresses": {
12538           "type": "object",
12539           "properties": {
12540             "Params": {
12541               "$ref": "#/definitions/SetMachinesAddresses"
12542             },
12543             "Result": {
12544               "$ref": "#/definitions/ErrorResults"
12545             }
12546           }
12547         },
12548         "SetObservedNetworkConfig": {
12549           "type": "object",
12550           "properties": {
12551             "Params": {
12552               "$ref": "#/definitions/SetMachineNetworkConfig"
12553             }
12554           }
12555         },
12556         "SetProviderNetworkConfig": {
12557           "type": "object",
12558           "properties": {
12559             "Params": {
12560               "$ref": "#/definitions/Entities"
12561             },
12562             "Result": {
12563               "$ref": "#/definitions/ErrorResults"
12564             }
12565           }
12566         },
12567         "SetStatus": {
12568           "type": "object",
12569           "properties": {
12570             "Params": {
12571               "$ref": "#/definitions/SetStatus"
12572             },
12573             "Result": {
12574               "$ref": "#/definitions/ErrorResults"
12575             }
12576           }
12577         },
12578         "UpdateStatus": {
12579           "type": "object",
12580           "properties": {
12581             "Params": {
12582               "$ref": "#/definitions/SetStatus"
12583             },
12584             "Result": {
12585               "$ref": "#/definitions/ErrorResults"
12586             }
12587           }
12588         },
12589         "Watch": {
12590           "type": "object",
12591           "properties": {
12592             "Params": {
12593               "$ref": "#/definitions/Entities"
12594             },
12595             "Result": {
12596               "$ref": "#/definitions/NotifyWatchResults"
12597             }
12598           }
12599         },
12600         "WatchAPIHostPorts": {
12601           "type": "object",
12602           "properties": {
12603             "Result": {
12604               "$ref": "#/definitions/NotifyWatchResult"
12605             }
12606           }
12607         }
12608       },
12609       "definitions": {
12610         "APIHostPortsResult": {
12611           "type": "object",
12612           "properties": {
12613             "servers": {
12614               "type": "array",
12615               "items": {
12616                 "type": "array",
12617                 "items": {
12618                   "$ref": "#/definitions/HostPort"
12619                 }
12620               }
12621             }
12622           },
12623           "additionalProperties": false,
12624           "required": [
12625             "servers"
12626           ]
12627         },
12628         "Address": {
12629           "type": "object",
12630           "properties": {
12631             "scope": {
12632               "type": "string"
12633             },
12634             "space-name": {
12635               "type": "string"
12636             },
12637             "type": {
12638               "type": "string"
12639             },
12640             "value": {
12641               "type": "string"
12642             }
12643           },
12644           "additionalProperties": false,
12645           "required": [
12646             "value",
12647             "type",
12648             "scope"
12649           ]
12650         },
12651         "BytesResult": {
12652           "type": "object",
12653           "properties": {
12654             "result": {
12655               "type": "array",
12656               "items": {
12657                 "type": "integer"
12658               }
12659             }
12660           },
12661           "additionalProperties": false,
12662           "required": [
12663             "result"
12664           ]
12665         },
12666         "Entities": {
12667           "type": "object",
12668           "properties": {
12669             "entities": {
12670               "type": "array",
12671               "items": {
12672                 "$ref": "#/definitions/Entity"
12673               }
12674             }
12675           },
12676           "additionalProperties": false,
12677           "required": [
12678             "entities"
12679           ]
12680         },
12681         "Entity": {
12682           "type": "object",
12683           "properties": {
12684             "tag": {
12685               "type": "string"
12686             }
12687           },
12688           "additionalProperties": false,
12689           "required": [
12690             "tag"
12691           ]
12692         },
12693         "EntityStatusArgs": {
12694           "type": "object",
12695           "properties": {
12696             "data": {
12697               "type": "object",
12698               "patternProperties": {
12699                 ".*": {
12700                   "type": "object",
12701                   "additionalProperties": true
12702                 }
12703               }
12704             },
12705             "info": {
12706               "type": "string"
12707             },
12708             "status": {
12709               "type": "string"
12710             },
12711             "tag": {
12712               "type": "string"
12713             }
12714           },
12715           "additionalProperties": false,
12716           "required": [
12717             "tag",
12718             "status",
12719             "info",
12720             "data"
12721           ]
12722         },
12723         "Error": {
12724           "type": "object",
12725           "properties": {
12726             "code": {
12727               "type": "string"
12728             },
12729             "info": {
12730               "$ref": "#/definitions/ErrorInfo"
12731             },
12732             "message": {
12733               "type": "string"
12734             }
12735           },
12736           "additionalProperties": false,
12737           "required": [
12738             "message",
12739             "code"
12740           ]
12741         },
12742         "ErrorInfo": {
12743           "type": "object",
12744           "properties": {
12745             "macaroon": {
12746               "$ref": "#/definitions/Macaroon"
12747             },
12748             "macaroon-path": {
12749               "type": "string"
12750             }
12751           },
12752           "additionalProperties": false
12753         },
12754         "ErrorResult": {
12755           "type": "object",
12756           "properties": {
12757             "error": {
12758               "$ref": "#/definitions/Error"
12759             }
12760           },
12761           "additionalProperties": false
12762         },
12763         "ErrorResults": {
12764           "type": "object",
12765           "properties": {
12766             "results": {
12767               "type": "array",
12768               "items": {
12769                 "$ref": "#/definitions/ErrorResult"
12770               }
12771             }
12772           },
12773           "additionalProperties": false,
12774           "required": [
12775             "results"
12776           ]
12777         },
12778         "HostPort": {
12779           "type": "object",
12780           "properties": {
12781             "Address": {
12782               "$ref": "#/definitions/Address"
12783             },
12784             "port": {
12785               "type": "integer"
12786             }
12787           },
12788           "additionalProperties": false,
12789           "required": [
12790             "Address",
12791             "port"
12792           ]
12793         },
12794         "JobsResult": {
12795           "type": "object",
12796           "properties": {
12797             "error": {
12798               "$ref": "#/definitions/Error"
12799             },
12800             "jobs": {
12801               "type": "array",
12802               "items": {
12803                 "type": "string"
12804               }
12805             }
12806           },
12807           "additionalProperties": false,
12808           "required": [
12809             "jobs"
12810           ]
12811         },
12812         "JobsResults": {
12813           "type": "object",
12814           "properties": {
12815             "results": {
12816               "type": "array",
12817               "items": {
12818                 "$ref": "#/definitions/JobsResult"
12819               }
12820             }
12821           },
12822           "additionalProperties": false,
12823           "required": [
12824             "results"
12825           ]
12826         },
12827         "LifeResult": {
12828           "type": "object",
12829           "properties": {
12830             "error": {
12831               "$ref": "#/definitions/Error"
12832             },
12833             "life": {
12834               "type": "string"
12835             }
12836           },
12837           "additionalProperties": false,
12838           "required": [
12839             "life"
12840           ]
12841         },
12842         "LifeResults": {
12843           "type": "object",
12844           "properties": {
12845             "results": {
12846               "type": "array",
12847               "items": {
12848                 "$ref": "#/definitions/LifeResult"
12849               }
12850             }
12851           },
12852           "additionalProperties": false,
12853           "required": [
12854             "results"
12855           ]
12856         },
12857         "Macaroon": {
12858           "type": "object",
12859           "additionalProperties": false
12860         },
12861         "MachineAddresses": {
12862           "type": "object",
12863           "properties": {
12864             "addresses": {
12865               "type": "array",
12866               "items": {
12867                 "$ref": "#/definitions/Address"
12868               }
12869             },
12870             "tag": {
12871               "type": "string"
12872             }
12873           },
12874           "additionalProperties": false,
12875           "required": [
12876             "tag",
12877             "addresses"
12878           ]
12879         },
12880         "NetworkConfig": {
12881           "type": "object",
12882           "properties": {
12883             "address": {
12884               "type": "string"
12885             },
12886             "cidr": {
12887               "type": "string"
12888             },
12889             "config-type": {
12890               "type": "string"
12891             },
12892             "device-index": {
12893               "type": "integer"
12894             },
12895             "disabled": {
12896               "type": "boolean"
12897             },
12898             "dns-search-domains": {
12899               "type": "array",
12900               "items": {
12901                 "type": "string"
12902               }
12903             },
12904             "dns-servers": {
12905               "type": "array",
12906               "items": {
12907                 "type": "string"
12908               }
12909             },
12910             "gateway-address": {
12911               "type": "string"
12912             },
12913             "interface-name": {
12914               "type": "string"
12915             },
12916             "interface-type": {
12917               "type": "string"
12918             },
12919             "mac-address": {
12920               "type": "string"
12921             },
12922             "mtu": {
12923               "type": "integer"
12924             },
12925             "no-auto-start": {
12926               "type": "boolean"
12927             },
12928             "parent-interface-name": {
12929               "type": "string"
12930             },
12931             "provider-address-id": {
12932               "type": "string"
12933             },
12934             "provider-id": {
12935               "type": "string"
12936             },
12937             "provider-space-id": {
12938               "type": "string"
12939             },
12940             "provider-subnet-id": {
12941               "type": "string"
12942             },
12943             "provider-vlan-id": {
12944               "type": "string"
12945             },
12946             "routes": {
12947               "type": "array",
12948               "items": {
12949                 "$ref": "#/definitions/NetworkRoute"
12950               }
12951             },
12952             "vlan-tag": {
12953               "type": "integer"
12954             }
12955           },
12956           "additionalProperties": false,
12957           "required": [
12958             "device-index",
12959             "mac-address",
12960             "cidr",
12961             "mtu",
12962             "provider-id",
12963             "provider-subnet-id",
12964             "provider-space-id",
12965             "provider-address-id",
12966             "provider-vlan-id",
12967             "vlan-tag",
12968             "interface-name",
12969             "parent-interface-name",
12970             "interface-type",
12971             "disabled"
12972           ]
12973         },
12974         "NetworkRoute": {
12975           "type": "object",
12976           "properties": {
12977             "destination-cidr": {
12978               "type": "string"
12979             },
12980             "gateway-ip": {
12981               "type": "string"
12982             },
12983             "metric": {
12984               "type": "integer"
12985             }
12986           },
12987           "additionalProperties": false,
12988           "required": [
12989             "destination-cidr",
12990             "gateway-ip",
12991             "metric"
12992           ]
12993         },
12994         "NotifyWatchResult": {
12995           "type": "object",
12996           "properties": {
12997             "NotifyWatcherId": {
12998               "type": "string"
12999             },
13000             "error": {
13001               "$ref": "#/definitions/Error"
13002             }
13003           },
13004           "additionalProperties": false,
13005           "required": [
13006             "NotifyWatcherId"
13007           ]
13008         },
13009         "NotifyWatchResults": {
13010           "type": "object",
13011           "properties": {
13012             "results": {
13013               "type": "array",
13014               "items": {
13015                 "$ref": "#/definitions/NotifyWatchResult"
13016               }
13017             }
13018           },
13019           "additionalProperties": false,
13020           "required": [
13021             "results"
13022           ]
13023         },
13024         "SetMachineNetworkConfig": {
13025           "type": "object",
13026           "properties": {
13027             "config": {
13028               "type": "array",
13029               "items": {
13030                 "$ref": "#/definitions/NetworkConfig"
13031               }
13032             },
13033             "tag": {
13034               "type": "string"
13035             }
13036           },
13037           "additionalProperties": false,
13038           "required": [
13039             "tag",
13040             "config"
13041           ]
13042         },
13043         "SetMachinesAddresses": {
13044           "type": "object",
13045           "properties": {
13046             "machine-addresses": {
13047               "type": "array",
13048               "items": {
13049                 "$ref": "#/definitions/MachineAddresses"
13050               }
13051             }
13052           },
13053           "additionalProperties": false,
13054           "required": [
13055             "machine-addresses"
13056           ]
13057         },
13058         "SetStatus": {
13059           "type": "object",
13060           "properties": {
13061             "entities": {
13062               "type": "array",
13063               "items": {
13064                 "$ref": "#/definitions/EntityStatusArgs"
13065               }
13066             }
13067           },
13068           "additionalProperties": false,
13069           "required": [
13070             "entities"
13071           ]
13072         },
13073         "StringResult": {
13074           "type": "object",
13075           "properties": {
13076             "error": {
13077               "$ref": "#/definitions/Error"
13078             },
13079             "result": {
13080               "type": "string"
13081             }
13082           },
13083           "additionalProperties": false,
13084           "required": [
13085             "result"
13086           ]
13087         },
13088         "StringsResult": {
13089           "type": "object",
13090           "properties": {
13091             "error": {
13092               "$ref": "#/definitions/Error"
13093             },
13094             "result": {
13095               "type": "array",
13096               "items": {
13097                 "type": "string"
13098               }
13099             }
13100           },
13101           "additionalProperties": false
13102         }
13103       }
13104     }
13105   },
13106   {
13107     "Name": "MeterStatus",
13108     "Version": 1,
13109     "Schema": {
13110       "type": "object",
13111       "properties": {
13112         "GetMeterStatus": {
13113           "type": "object",
13114           "properties": {
13115             "Params": {
13116               "$ref": "#/definitions/Entities"
13117             },
13118             "Result": {
13119               "$ref": "#/definitions/MeterStatusResults"
13120             }
13121           }
13122         },
13123         "WatchMeterStatus": {
13124           "type": "object",
13125           "properties": {
13126             "Params": {
13127               "$ref": "#/definitions/Entities"
13128             },
13129             "Result": {
13130               "$ref": "#/definitions/NotifyWatchResults"
13131             }
13132           }
13133         }
13134       },
13135       "definitions": {
13136         "Entities": {
13137           "type": "object",
13138           "properties": {
13139             "entities": {
13140               "type": "array",
13141               "items": {
13142                 "$ref": "#/definitions/Entity"
13143               }
13144             }
13145           },
13146           "additionalProperties": false,
13147           "required": [
13148             "entities"
13149           ]
13150         },
13151         "Entity": {
13152           "type": "object",
13153           "properties": {
13154             "tag": {
13155               "type": "string"
13156             }
13157           },
13158           "additionalProperties": false,
13159           "required": [
13160             "tag"
13161           ]
13162         },
13163         "Error": {
13164           "type": "object",
13165           "properties": {
13166             "code": {
13167               "type": "string"
13168             },
13169             "info": {
13170               "$ref": "#/definitions/ErrorInfo"
13171             },
13172             "message": {
13173               "type": "string"
13174             }
13175           },
13176           "additionalProperties": false,
13177           "required": [
13178             "message",
13179             "code"
13180           ]
13181         },
13182         "ErrorInfo": {
13183           "type": "object",
13184           "properties": {
13185             "macaroon": {
13186               "$ref": "#/definitions/Macaroon"
13187             },
13188             "macaroon-path": {
13189               "type": "string"
13190             }
13191           },
13192           "additionalProperties": false
13193         },
13194         "Macaroon": {
13195           "type": "object",
13196           "additionalProperties": false
13197         },
13198         "MeterStatusResult": {
13199           "type": "object",
13200           "properties": {
13201             "code": {
13202               "type": "string"
13203             },
13204             "error": {
13205               "$ref": "#/definitions/Error"
13206             },
13207             "info": {
13208               "type": "string"
13209             }
13210           },
13211           "additionalProperties": false,
13212           "required": [
13213             "code",
13214             "info"
13215           ]
13216         },
13217         "MeterStatusResults": {
13218           "type": "object",
13219           "properties": {
13220             "results": {
13221               "type": "array",
13222               "items": {
13223                 "$ref": "#/definitions/MeterStatusResult"
13224               }
13225             }
13226           },
13227           "additionalProperties": false,
13228           "required": [
13229             "results"
13230           ]
13231         },
13232         "NotifyWatchResult": {
13233           "type": "object",
13234           "properties": {
13235             "NotifyWatcherId": {
13236               "type": "string"
13237             },
13238             "error": {
13239               "$ref": "#/definitions/Error"
13240             }
13241           },
13242           "additionalProperties": false,
13243           "required": [
13244             "NotifyWatcherId"
13245           ]
13246         },
13247         "NotifyWatchResults": {
13248           "type": "object",
13249           "properties": {
13250             "results": {
13251               "type": "array",
13252               "items": {
13253                 "$ref": "#/definitions/NotifyWatchResult"
13254               }
13255             }
13256           },
13257           "additionalProperties": false,
13258           "required": [
13259             "results"
13260           ]
13261         }
13262       }
13263     }
13264   },
13265   {
13266     "Name": "MetricsAdder",
13267     "Version": 2,
13268     "Schema": {
13269       "type": "object",
13270       "properties": {
13271         "AddMetricBatches": {
13272           "type": "object",
13273           "properties": {
13274             "Params": {
13275               "$ref": "#/definitions/MetricBatchParams"
13276             },
13277             "Result": {
13278               "$ref": "#/definitions/ErrorResults"
13279             }
13280           }
13281         }
13282       },
13283       "definitions": {
13284         "Error": {
13285           "type": "object",
13286           "properties": {
13287             "code": {
13288               "type": "string"
13289             },
13290             "info": {
13291               "$ref": "#/definitions/ErrorInfo"
13292             },
13293             "message": {
13294               "type": "string"
13295             }
13296           },
13297           "additionalProperties": false,
13298           "required": [
13299             "message",
13300             "code"
13301           ]
13302         },
13303         "ErrorInfo": {
13304           "type": "object",
13305           "properties": {
13306             "macaroon": {
13307               "$ref": "#/definitions/Macaroon"
13308             },
13309             "macaroon-path": {
13310               "type": "string"
13311             }
13312           },
13313           "additionalProperties": false
13314         },
13315         "ErrorResult": {
13316           "type": "object",
13317           "properties": {
13318             "error": {
13319               "$ref": "#/definitions/Error"
13320             }
13321           },
13322           "additionalProperties": false
13323         },
13324         "ErrorResults": {
13325           "type": "object",
13326           "properties": {
13327             "results": {
13328               "type": "array",
13329               "items": {
13330                 "$ref": "#/definitions/ErrorResult"
13331               }
13332             }
13333           },
13334           "additionalProperties": false,
13335           "required": [
13336             "results"
13337           ]
13338         },
13339         "Macaroon": {
13340           "type": "object",
13341           "additionalProperties": false
13342         },
13343         "Metric": {
13344           "type": "object",
13345           "properties": {
13346             "key": {
13347               "type": "string"
13348             },
13349             "time": {
13350               "type": "string",
13351               "format": "date-time"
13352             },
13353             "value": {
13354               "type": "string"
13355             }
13356           },
13357           "additionalProperties": false,
13358           "required": [
13359             "key",
13360             "value",
13361             "time"
13362           ]
13363         },
13364         "MetricBatch": {
13365           "type": "object",
13366           "properties": {
13367             "charm-url": {
13368               "type": "string"
13369             },
13370             "created": {
13371               "type": "string",
13372               "format": "date-time"
13373             },
13374             "metrics": {
13375               "type": "array",
13376               "items": {
13377                 "$ref": "#/definitions/Metric"
13378               }
13379             },
13380             "uuid": {
13381               "type": "string"
13382             }
13383           },
13384           "additionalProperties": false,
13385           "required": [
13386             "uuid",
13387             "charm-url",
13388             "created",
13389             "metrics"
13390           ]
13391         },
13392         "MetricBatchParam": {
13393           "type": "object",
13394           "properties": {
13395             "batch": {
13396               "$ref": "#/definitions/MetricBatch"
13397             },
13398             "tag": {
13399               "type": "string"
13400             }
13401           },
13402           "additionalProperties": false,
13403           "required": [
13404             "tag",
13405             "batch"
13406           ]
13407         },
13408         "MetricBatchParams": {
13409           "type": "object",
13410           "properties": {
13411             "batches": {
13412               "type": "array",
13413               "items": {
13414                 "$ref": "#/definitions/MetricBatchParam"
13415               }
13416             }
13417           },
13418           "additionalProperties": false,
13419           "required": [
13420             "batches"
13421           ]
13422         }
13423       }
13424     }
13425   },
13426   {
13427     "Name": "MetricsDebug",
13428     "Version": 2,
13429     "Schema": {
13430       "type": "object",
13431       "properties": {
13432         "GetMetrics": {
13433           "type": "object",
13434           "properties": {
13435             "Params": {
13436               "$ref": "#/definitions/Entities"
13437             },
13438             "Result": {
13439               "$ref": "#/definitions/MetricResults"
13440             }
13441           }
13442         },
13443         "SetMeterStatus": {
13444           "type": "object",
13445           "properties": {
13446             "Params": {
13447               "$ref": "#/definitions/MeterStatusParams"
13448             },
13449             "Result": {
13450               "$ref": "#/definitions/ErrorResults"
13451             }
13452           }
13453         }
13454       },
13455       "definitions": {
13456         "Entities": {
13457           "type": "object",
13458           "properties": {
13459             "entities": {
13460               "type": "array",
13461               "items": {
13462                 "$ref": "#/definitions/Entity"
13463               }
13464             }
13465           },
13466           "additionalProperties": false,
13467           "required": [
13468             "entities"
13469           ]
13470         },
13471         "Entity": {
13472           "type": "object",
13473           "properties": {
13474             "tag": {
13475               "type": "string"
13476             }
13477           },
13478           "additionalProperties": false,
13479           "required": [
13480             "tag"
13481           ]
13482         },
13483         "EntityMetrics": {
13484           "type": "object",
13485           "properties": {
13486             "error": {
13487               "$ref": "#/definitions/Error"
13488             },
13489             "metrics": {
13490               "type": "array",
13491               "items": {
13492                 "$ref": "#/definitions/MetricResult"
13493               }
13494             }
13495           },
13496           "additionalProperties": false
13497         },
13498         "Error": {
13499           "type": "object",
13500           "properties": {
13501             "code": {
13502               "type": "string"
13503             },
13504             "info": {
13505               "$ref": "#/definitions/ErrorInfo"
13506             },
13507             "message": {
13508               "type": "string"
13509             }
13510           },
13511           "additionalProperties": false,
13512           "required": [
13513             "message",
13514             "code"
13515           ]
13516         },
13517         "ErrorInfo": {
13518           "type": "object",
13519           "properties": {
13520             "macaroon": {
13521               "$ref": "#/definitions/Macaroon"
13522             },
13523             "macaroon-path": {
13524               "type": "string"
13525             }
13526           },
13527           "additionalProperties": false
13528         },
13529         "ErrorResult": {
13530           "type": "object",
13531           "properties": {
13532             "error": {
13533               "$ref": "#/definitions/Error"
13534             }
13535           },
13536           "additionalProperties": false
13537         },
13538         "ErrorResults": {
13539           "type": "object",
13540           "properties": {
13541             "results": {
13542               "type": "array",
13543               "items": {
13544                 "$ref": "#/definitions/ErrorResult"
13545               }
13546             }
13547           },
13548           "additionalProperties": false,
13549           "required": [
13550             "results"
13551           ]
13552         },
13553         "Macaroon": {
13554           "type": "object",
13555           "additionalProperties": false
13556         },
13557         "MeterStatusParam": {
13558           "type": "object",
13559           "properties": {
13560             "code": {
13561               "type": "string"
13562             },
13563             "info": {
13564               "type": "string"
13565             },
13566             "tag": {
13567               "type": "string"
13568             }
13569           },
13570           "additionalProperties": false,
13571           "required": [
13572             "tag",
13573             "code",
13574             "info"
13575           ]
13576         },
13577         "MeterStatusParams": {
13578           "type": "object",
13579           "properties": {
13580             "statues": {
13581               "type": "array",
13582               "items": {
13583                 "$ref": "#/definitions/MeterStatusParam"
13584               }
13585             }
13586           },
13587           "additionalProperties": false,
13588           "required": [
13589             "statues"
13590           ]
13591         },
13592         "MetricResult": {
13593           "type": "object",
13594           "properties": {
13595             "key": {
13596               "type": "string"
13597             },
13598             "time": {
13599               "type": "string",
13600               "format": "date-time"
13601             },
13602             "unit": {
13603               "type": "string"
13604             },
13605             "value": {
13606               "type": "string"
13607             }
13608           },
13609           "additionalProperties": false,
13610           "required": [
13611             "time",
13612             "key",
13613             "value",
13614             "unit"
13615           ]
13616         },
13617         "MetricResults": {
13618           "type": "object",
13619           "properties": {
13620             "results": {
13621               "type": "array",
13622               "items": {
13623                 "$ref": "#/definitions/EntityMetrics"
13624               }
13625             }
13626           },
13627           "additionalProperties": false,
13628           "required": [
13629             "results"
13630           ]
13631         }
13632       }
13633     }
13634   },
13635   {
13636     "Name": "MetricsManager",
13637     "Version": 1,
13638     "Schema": {
13639       "type": "object",
13640       "properties": {
13641         "AddJujuMachineMetrics": {
13642           "type": "object"
13643         },
13644         "CleanupOldMetrics": {
13645           "type": "object",
13646           "properties": {
13647             "Params": {
13648               "$ref": "#/definitions/Entities"
13649             },
13650             "Result": {
13651               "$ref": "#/definitions/ErrorResults"
13652             }
13653           }
13654         },
13655         "SendMetrics": {
13656           "type": "object",
13657           "properties": {
13658             "Params": {
13659               "$ref": "#/definitions/Entities"
13660             },
13661             "Result": {
13662               "$ref": "#/definitions/ErrorResults"
13663             }
13664           }
13665         }
13666       },
13667       "definitions": {
13668         "Entities": {
13669           "type": "object",
13670           "properties": {
13671             "entities": {
13672               "type": "array",
13673               "items": {
13674                 "$ref": "#/definitions/Entity"
13675               }
13676             }
13677           },
13678           "additionalProperties": false,
13679           "required": [
13680             "entities"
13681           ]
13682         },
13683         "Entity": {
13684           "type": "object",
13685           "properties": {
13686             "tag": {
13687               "type": "string"
13688             }
13689           },
13690           "additionalProperties": false,
13691           "required": [
13692             "tag"
13693           ]
13694         },
13695         "Error": {
13696           "type": "object",
13697           "properties": {
13698             "code": {
13699               "type": "string"
13700             },
13701             "info": {
13702               "$ref": "#/definitions/ErrorInfo"
13703             },
13704             "message": {
13705               "type": "string"
13706             }
13707           },
13708           "additionalProperties": false,
13709           "required": [
13710             "message",
13711             "code"
13712           ]
13713         },
13714         "ErrorInfo": {
13715           "type": "object",
13716           "properties": {
13717             "macaroon": {
13718               "$ref": "#/definitions/Macaroon"
13719             },
13720             "macaroon-path": {
13721               "type": "string"
13722             }
13723           },
13724           "additionalProperties": false
13725         },
13726         "ErrorResult": {
13727           "type": "object",
13728           "properties": {
13729             "error": {
13730               "$ref": "#/definitions/Error"
13731             }
13732           },
13733           "additionalProperties": false
13734         },
13735         "ErrorResults": {
13736           "type": "object",
13737           "properties": {
13738             "results": {
13739               "type": "array",
13740               "items": {
13741                 "$ref": "#/definitions/ErrorResult"
13742               }
13743             }
13744           },
13745           "additionalProperties": false,
13746           "required": [
13747             "results"
13748           ]
13749         },
13750         "Macaroon": {
13751           "type": "object",
13752           "additionalProperties": false
13753         }
13754       }
13755     }
13756   },
13757   {
13758     "Name": "MigrationFlag",
13759     "Version": 1,
13760     "Schema": {
13761       "type": "object",
13762       "properties": {
13763         "Phase": {
13764           "type": "object",
13765           "properties": {
13766             "Params": {
13767               "$ref": "#/definitions/Entities"
13768             },
13769             "Result": {
13770               "$ref": "#/definitions/PhaseResults"
13771             }
13772           }
13773         },
13774         "Watch": {
13775           "type": "object",
13776           "properties": {
13777             "Params": {
13778               "$ref": "#/definitions/Entities"
13779             },
13780             "Result": {
13781               "$ref": "#/definitions/NotifyWatchResults"
13782             }
13783           }
13784         }
13785       },
13786       "definitions": {
13787         "Entities": {
13788           "type": "object",
13789           "properties": {
13790             "entities": {
13791               "type": "array",
13792               "items": {
13793                 "$ref": "#/definitions/Entity"
13794               }
13795             }
13796           },
13797           "additionalProperties": false,
13798           "required": [
13799             "entities"
13800           ]
13801         },
13802         "Entity": {
13803           "type": "object",
13804           "properties": {
13805             "tag": {
13806               "type": "string"
13807             }
13808           },
13809           "additionalProperties": false,
13810           "required": [
13811             "tag"
13812           ]
13813         },
13814         "Error": {
13815           "type": "object",
13816           "properties": {
13817             "code": {
13818               "type": "string"
13819             },
13820             "info": {
13821               "$ref": "#/definitions/ErrorInfo"
13822             },
13823             "message": {
13824               "type": "string"
13825             }
13826           },
13827           "additionalProperties": false,
13828           "required": [
13829             "message",
13830             "code"
13831           ]
13832         },
13833         "ErrorInfo": {
13834           "type": "object",
13835           "properties": {
13836             "macaroon": {
13837               "$ref": "#/definitions/Macaroon"
13838             },
13839             "macaroon-path": {
13840               "type": "string"
13841             }
13842           },
13843           "additionalProperties": false
13844         },
13845         "Macaroon": {
13846           "type": "object",
13847           "additionalProperties": false
13848         },
13849         "NotifyWatchResult": {
13850           "type": "object",
13851           "properties": {
13852             "NotifyWatcherId": {
13853               "type": "string"
13854             },
13855             "error": {
13856               "$ref": "#/definitions/Error"
13857             }
13858           },
13859           "additionalProperties": false,
13860           "required": [
13861             "NotifyWatcherId"
13862           ]
13863         },
13864         "NotifyWatchResults": {
13865           "type": "object",
13866           "properties": {
13867             "results": {
13868               "type": "array",
13869               "items": {
13870                 "$ref": "#/definitions/NotifyWatchResult"
13871               }
13872             }
13873           },
13874           "additionalProperties": false,
13875           "required": [
13876             "results"
13877           ]
13878         },
13879         "PhaseResult": {
13880           "type": "object",
13881           "properties": {
13882             "error": {
13883               "$ref": "#/definitions/Error"
13884             },
13885             "phase": {
13886               "type": "string"
13887             }
13888           },
13889           "additionalProperties": false
13890         },
13891         "PhaseResults": {
13892           "type": "object",
13893           "properties": {
13894             "results": {
13895               "type": "array",
13896               "items": {
13897                 "$ref": "#/definitions/PhaseResult"
13898               }
13899             }
13900           },
13901           "additionalProperties": false,
13902           "required": [
13903             "results"
13904           ]
13905         }
13906       }
13907     }
13908   },
13909   {
13910     "Name": "MigrationMaster",
13911     "Version": 1,
13912     "Schema": {
13913       "type": "object",
13914       "properties": {
13915         "Export": {
13916           "type": "object",
13917           "properties": {
13918             "Result": {
13919               "$ref": "#/definitions/SerializedModel"
13920             }
13921           }
13922         },
13923         "MigrationStatus": {
13924           "type": "object",
13925           "properties": {
13926             "Result": {
13927               "$ref": "#/definitions/MasterMigrationStatus"
13928             }
13929           }
13930         },
13931         "MinionReports": {
13932           "type": "object",
13933           "properties": {
13934             "Result": {
13935               "$ref": "#/definitions/MinionReports"
13936             }
13937           }
13938         },
13939         "ModelInfo": {
13940           "type": "object",
13941           "properties": {
13942             "Result": {
13943               "$ref": "#/definitions/MigrationModelInfo"
13944             }
13945           }
13946         },
13947         "Prechecks": {
13948           "type": "object"
13949         },
13950         "Reap": {
13951           "type": "object"
13952         },
13953         "SetPhase": {
13954           "type": "object",
13955           "properties": {
13956             "Params": {
13957               "$ref": "#/definitions/SetMigrationPhaseArgs"
13958             }
13959           }
13960         },
13961         "SetStatusMessage": {
13962           "type": "object",
13963           "properties": {
13964             "Params": {
13965               "$ref": "#/definitions/SetMigrationStatusMessageArgs"
13966             }
13967           }
13968         },
13969         "Watch": {
13970           "type": "object",
13971           "properties": {
13972             "Result": {
13973               "$ref": "#/definitions/NotifyWatchResult"
13974             }
13975           }
13976         },
13977         "WatchMinionReports": {
13978           "type": "object",
13979           "properties": {
13980             "Result": {
13981               "$ref": "#/definitions/NotifyWatchResult"
13982             }
13983           }
13984         }
13985       },
13986       "definitions": {
13987         "Error": {
13988           "type": "object",
13989           "properties": {
13990             "code": {
13991               "type": "string"
13992             },
13993             "info": {
13994               "$ref": "#/definitions/ErrorInfo"
13995             },
13996             "message": {
13997               "type": "string"
13998             }
13999           },
14000           "additionalProperties": false,
14001           "required": [
14002             "message",
14003             "code"
14004           ]
14005         },
14006         "ErrorInfo": {
14007           "type": "object",
14008           "properties": {
14009             "macaroon": {
14010               "$ref": "#/definitions/Macaroon"
14011             },
14012             "macaroon-path": {
14013               "type": "string"
14014             }
14015           },
14016           "additionalProperties": false
14017         },
14018         "Macaroon": {
14019           "type": "object",
14020           "additionalProperties": false
14021         },
14022         "MasterMigrationStatus": {
14023           "type": "object",
14024           "properties": {
14025             "migration-id": {
14026               "type": "string"
14027             },
14028             "phase": {
14029               "type": "string"
14030             },
14031             "phase-changed-time": {
14032               "type": "string",
14033               "format": "date-time"
14034             },
14035             "spec": {
14036               "$ref": "#/definitions/MigrationSpec"
14037             }
14038           },
14039           "additionalProperties": false,
14040           "required": [
14041             "spec",
14042             "migration-id",
14043             "phase",
14044             "phase-changed-time"
14045           ]
14046         },
14047         "MigrationModelInfo": {
14048           "type": "object",
14049           "properties": {
14050             "agent-version": {
14051               "$ref": "#/definitions/Number"
14052             },
14053             "controller-agent-version": {
14054               "$ref": "#/definitions/Number"
14055             },
14056             "name": {
14057               "type": "string"
14058             },
14059             "owner-tag": {
14060               "type": "string"
14061             },
14062             "uuid": {
14063               "type": "string"
14064             }
14065           },
14066           "additionalProperties": false,
14067           "required": [
14068             "uuid",
14069             "name",
14070             "owner-tag",
14071             "agent-version",
14072             "controller-agent-version"
14073           ]
14074         },
14075         "MigrationSpec": {
14076           "type": "object",
14077           "properties": {
14078             "external-control": {
14079               "type": "boolean"
14080             },
14081             "model-tag": {
14082               "type": "string"
14083             },
14084             "skip-initial-prechecks": {
14085               "type": "boolean"
14086             },
14087             "target-info": {
14088               "$ref": "#/definitions/MigrationTargetInfo"
14089             }
14090           },
14091           "additionalProperties": false,
14092           "required": [
14093             "model-tag",
14094             "target-info",
14095             "external-control",
14096             "skip-initial-prechecks"
14097           ]
14098         },
14099         "MigrationTargetInfo": {
14100           "type": "object",
14101           "properties": {
14102             "addrs": {
14103               "type": "array",
14104               "items": {
14105                 "type": "string"
14106               }
14107             },
14108             "auth-tag": {
14109               "type": "string"
14110             },
14111             "ca-cert": {
14112               "type": "string"
14113             },
14114             "controller-tag": {
14115               "type": "string"
14116             },
14117             "macaroons": {
14118               "type": "string"
14119             },
14120             "password": {
14121               "type": "string"
14122             }
14123           },
14124           "additionalProperties": false,
14125           "required": [
14126             "controller-tag",
14127             "addrs",
14128             "ca-cert",
14129             "auth-tag"
14130           ]
14131         },
14132         "MinionReports": {
14133           "type": "object",
14134           "properties": {
14135             "failed": {
14136               "type": "array",
14137               "items": {
14138                 "type": "string"
14139               }
14140             },
14141             "migration-id": {
14142               "type": "string"
14143             },
14144             "phase": {
14145               "type": "string"
14146             },
14147             "success-count": {
14148               "type": "integer"
14149             },
14150             "unknown-count": {
14151               "type": "integer"
14152             },
14153             "unknown-sample": {
14154               "type": "array",
14155               "items": {
14156                 "type": "string"
14157               }
14158             }
14159           },
14160           "additionalProperties": false,
14161           "required": [
14162             "migration-id",
14163             "phase",
14164             "success-count",
14165             "unknown-count",
14166             "unknown-sample",
14167             "failed"
14168           ]
14169         },
14170         "NotifyWatchResult": {
14171           "type": "object",
14172           "properties": {
14173             "NotifyWatcherId": {
14174               "type": "string"
14175             },
14176             "error": {
14177               "$ref": "#/definitions/Error"
14178             }
14179           },
14180           "additionalProperties": false,
14181           "required": [
14182             "NotifyWatcherId"
14183           ]
14184         },
14185         "Number": {
14186           "type": "object",
14187           "properties": {
14188             "Build": {
14189               "type": "integer"
14190             },
14191             "Major": {
14192               "type": "integer"
14193             },
14194             "Minor": {
14195               "type": "integer"
14196             },
14197             "Patch": {
14198               "type": "integer"
14199             },
14200             "Tag": {
14201               "type": "string"
14202             }
14203           },
14204           "additionalProperties": false,
14205           "required": [
14206             "Major",
14207             "Minor",
14208             "Tag",
14209             "Patch",
14210             "Build"
14211           ]
14212         },
14213         "SerializedModel": {
14214           "type": "object",
14215           "properties": {
14216             "bytes": {
14217               "type": "array",
14218               "items": {
14219                 "type": "integer"
14220               }
14221             },
14222             "charms": {
14223               "type": "array",
14224               "items": {
14225                 "type": "string"
14226               }
14227             },
14228             "resources": {
14229               "type": "array",
14230               "items": {
14231                 "$ref": "#/definitions/SerializedModelResource"
14232               }
14233             },
14234             "tools": {
14235               "type": "array",
14236               "items": {
14237                 "$ref": "#/definitions/SerializedModelTools"
14238               }
14239             }
14240           },
14241           "additionalProperties": false,
14242           "required": [
14243             "bytes",
14244             "charms",
14245             "tools",
14246             "resources"
14247           ]
14248         },
14249         "SerializedModelResource": {
14250           "type": "object",
14251           "properties": {
14252             "application": {
14253               "type": "string"
14254             },
14255             "application-revision": {
14256               "$ref": "#/definitions/SerializedModelResourceRevision"
14257             },
14258             "charmstore-revision": {
14259               "$ref": "#/definitions/SerializedModelResourceRevision"
14260             },
14261             "name": {
14262               "type": "string"
14263             },
14264             "unit-revisions": {
14265               "type": "object",
14266               "patternProperties": {
14267                 ".*": {
14268                   "$ref": "#/definitions/SerializedModelResourceRevision"
14269                 }
14270               }
14271             }
14272           },
14273           "additionalProperties": false,
14274           "required": [
14275             "application",
14276             "name",
14277             "application-revision",
14278             "charmstore-revision",
14279             "unit-revisions"
14280           ]
14281         },
14282         "SerializedModelResourceRevision": {
14283           "type": "object",
14284           "properties": {
14285             "description": {
14286               "type": "string"
14287             },
14288             "fingerprint": {
14289               "type": "string"
14290             },
14291             "origin": {
14292               "type": "string"
14293             },
14294             "path": {
14295               "type": "string"
14296             },
14297             "revision": {
14298               "type": "integer"
14299             },
14300             "size": {
14301               "type": "integer"
14302             },
14303             "timestamp": {
14304               "type": "string",
14305               "format": "date-time"
14306             },
14307             "type": {
14308               "type": "string"
14309             },
14310             "username": {
14311               "type": "string"
14312             }
14313           },
14314           "additionalProperties": false,
14315           "required": [
14316             "revision",
14317             "type",
14318             "path",
14319             "description",
14320             "origin",
14321             "fingerprint",
14322             "size",
14323             "timestamp"
14324           ]
14325         },
14326         "SerializedModelTools": {
14327           "type": "object",
14328           "properties": {
14329             "uri": {
14330               "type": "string"
14331             },
14332             "version": {
14333               "type": "string"
14334             }
14335           },
14336           "additionalProperties": false,
14337           "required": [
14338             "version",
14339             "uri"
14340           ]
14341         },
14342         "SetMigrationPhaseArgs": {
14343           "type": "object",
14344           "properties": {
14345             "phase": {
14346               "type": "string"
14347             }
14348           },
14349           "additionalProperties": false,
14350           "required": [
14351             "phase"
14352           ]
14353         },
14354         "SetMigrationStatusMessageArgs": {
14355           "type": "object",
14356           "properties": {
14357             "message": {
14358               "type": "string"
14359             }
14360           },
14361           "additionalProperties": false,
14362           "required": [
14363             "message"
14364           ]
14365         }
14366       }
14367     }
14368   },
14369   {
14370     "Name": "MigrationMinion",
14371     "Version": 1,
14372     "Schema": {
14373       "type": "object",
14374       "properties": {
14375         "Report": {
14376           "type": "object",
14377           "properties": {
14378             "Params": {
14379               "$ref": "#/definitions/MinionReport"
14380             }
14381           }
14382         },
14383         "Watch": {
14384           "type": "object",
14385           "properties": {
14386             "Result": {
14387               "$ref": "#/definitions/NotifyWatchResult"
14388             }
14389           }
14390         }
14391       },
14392       "definitions": {
14393         "Error": {
14394           "type": "object",
14395           "properties": {
14396             "code": {
14397               "type": "string"
14398             },
14399             "info": {
14400               "$ref": "#/definitions/ErrorInfo"
14401             },
14402             "message": {
14403               "type": "string"
14404             }
14405           },
14406           "additionalProperties": false,
14407           "required": [
14408             "message",
14409             "code"
14410           ]
14411         },
14412         "ErrorInfo": {
14413           "type": "object",
14414           "properties": {
14415             "macaroon": {
14416               "$ref": "#/definitions/Macaroon"
14417             },
14418             "macaroon-path": {
14419               "type": "string"
14420             }
14421           },
14422           "additionalProperties": false
14423         },
14424         "Macaroon": {
14425           "type": "object",
14426           "additionalProperties": false
14427         },
14428         "MinionReport": {
14429           "type": "object",
14430           "properties": {
14431             "migration-id": {
14432               "type": "string"
14433             },
14434             "phase": {
14435               "type": "string"
14436             },
14437             "success": {
14438               "type": "boolean"
14439             }
14440           },
14441           "additionalProperties": false,
14442           "required": [
14443             "migration-id",
14444             "phase",
14445             "success"
14446           ]
14447         },
14448         "NotifyWatchResult": {
14449           "type": "object",
14450           "properties": {
14451             "NotifyWatcherId": {
14452               "type": "string"
14453             },
14454             "error": {
14455               "$ref": "#/definitions/Error"
14456             }
14457           },
14458           "additionalProperties": false,
14459           "required": [
14460             "NotifyWatcherId"
14461           ]
14462         }
14463       }
14464     }
14465   },
14466   {
14467     "Name": "MigrationStatusWatcher",
14468     "Version": 1,
14469     "Schema": {
14470       "type": "object",
14471       "properties": {
14472         "Next": {
14473           "type": "object",
14474           "properties": {
14475             "Result": {
14476               "$ref": "#/definitions/MigrationStatus"
14477             }
14478           }
14479         },
14480         "Stop": {
14481           "type": "object"
14482         }
14483       },
14484       "definitions": {
14485         "MigrationStatus": {
14486           "type": "object",
14487           "properties": {
14488             "attempt": {
14489               "type": "integer"
14490             },
14491             "external-control": {
14492               "type": "boolean"
14493             },
14494             "migration-id": {
14495               "type": "string"
14496             },
14497             "phase": {
14498               "type": "string"
14499             },
14500             "source-api-addrs": {
14501               "type": "array",
14502               "items": {
14503                 "type": "string"
14504               }
14505             },
14506             "source-ca-cert": {
14507               "type": "string"
14508             },
14509             "target-api-addrs": {
14510               "type": "array",
14511               "items": {
14512                 "type": "string"
14513               }
14514             },
14515             "target-ca-cert": {
14516               "type": "string"
14517             }
14518           },
14519           "additionalProperties": false,
14520           "required": [
14521             "migration-id",
14522             "attempt",
14523             "phase",
14524             "external-control",
14525             "source-api-addrs",
14526             "source-ca-cert",
14527             "target-api-addrs",
14528             "target-ca-cert"
14529           ]
14530         }
14531       }
14532     }
14533   },
14534   {
14535     "Name": "MigrationTarget",
14536     "Version": 1,
14537     "Schema": {
14538       "type": "object",
14539       "properties": {
14540         "Abort": {
14541           "type": "object",
14542           "properties": {
14543             "Params": {
14544               "$ref": "#/definitions/ModelArgs"
14545             }
14546           }
14547         },
14548         "Activate": {
14549           "type": "object",
14550           "properties": {
14551             "Params": {
14552               "$ref": "#/definitions/ModelArgs"
14553             }
14554           }
14555         },
14556         "AdoptResources": {
14557           "type": "object",
14558           "properties": {
14559             "Params": {
14560               "$ref": "#/definitions/AdoptResourcesArgs"
14561             }
14562           }
14563         },
14564         "Import": {
14565           "type": "object",
14566           "properties": {
14567             "Params": {
14568               "$ref": "#/definitions/SerializedModel"
14569             }
14570           }
14571         },
14572         "LatestLogTime": {
14573           "type": "object",
14574           "properties": {
14575             "Params": {
14576               "$ref": "#/definitions/ModelArgs"
14577             },
14578             "Result": {
14579               "type": "string",
14580               "format": "date-time"
14581             }
14582           }
14583         },
14584         "Prechecks": {
14585           "type": "object",
14586           "properties": {
14587             "Params": {
14588               "$ref": "#/definitions/MigrationModelInfo"
14589             }
14590           }
14591         }
14592       },
14593       "definitions": {
14594         "AdoptResourcesArgs": {
14595           "type": "object",
14596           "properties": {
14597             "model-tag": {
14598               "type": "string"
14599             },
14600             "source-controller-version": {
14601               "$ref": "#/definitions/Number"
14602             }
14603           },
14604           "additionalProperties": false,
14605           "required": [
14606             "model-tag",
14607             "source-controller-version"
14608           ]
14609         },
14610         "MigrationModelInfo": {
14611           "type": "object",
14612           "properties": {
14613             "agent-version": {
14614               "$ref": "#/definitions/Number"
14615             },
14616             "controller-agent-version": {
14617               "$ref": "#/definitions/Number"
14618             },
14619             "name": {
14620               "type": "string"
14621             },
14622             "owner-tag": {
14623               "type": "string"
14624             },
14625             "uuid": {
14626               "type": "string"
14627             }
14628           },
14629           "additionalProperties": false,
14630           "required": [
14631             "uuid",
14632             "name",
14633             "owner-tag",
14634             "agent-version",
14635             "controller-agent-version"
14636           ]
14637         },
14638         "ModelArgs": {
14639           "type": "object",
14640           "properties": {
14641             "model-tag": {
14642               "type": "string"
14643             }
14644           },
14645           "additionalProperties": false,
14646           "required": [
14647             "model-tag"
14648           ]
14649         },
14650         "Number": {
14651           "type": "object",
14652           "properties": {
14653             "Build": {
14654               "type": "integer"
14655             },
14656             "Major": {
14657               "type": "integer"
14658             },
14659             "Minor": {
14660               "type": "integer"
14661             },
14662             "Patch": {
14663               "type": "integer"
14664             },
14665             "Tag": {
14666               "type": "string"
14667             }
14668           },
14669           "additionalProperties": false,
14670           "required": [
14671             "Major",
14672             "Minor",
14673             "Tag",
14674             "Patch",
14675             "Build"
14676           ]
14677         },
14678         "SerializedModel": {
14679           "type": "object",
14680           "properties": {
14681             "bytes": {
14682               "type": "array",
14683               "items": {
14684                 "type": "integer"
14685               }
14686             },
14687             "charms": {
14688               "type": "array",
14689               "items": {
14690                 "type": "string"
14691               }
14692             },
14693             "resources": {
14694               "type": "array",
14695               "items": {
14696                 "$ref": "#/definitions/SerializedModelResource"
14697               }
14698             },
14699             "tools": {
14700               "type": "array",
14701               "items": {
14702                 "$ref": "#/definitions/SerializedModelTools"
14703               }
14704             }
14705           },
14706           "additionalProperties": false,
14707           "required": [
14708             "bytes",
14709             "charms",
14710             "tools",
14711             "resources"
14712           ]
14713         },
14714         "SerializedModelResource": {
14715           "type": "object",
14716           "properties": {
14717             "application": {
14718               "type": "string"
14719             },
14720             "application-revision": {
14721               "$ref": "#/definitions/SerializedModelResourceRevision"
14722             },
14723             "charmstore-revision": {
14724               "$ref": "#/definitions/SerializedModelResourceRevision"
14725             },
14726             "name": {
14727               "type": "string"
14728             },
14729             "unit-revisions": {
14730               "type": "object",
14731               "patternProperties": {
14732                 ".*": {
14733                   "$ref": "#/definitions/SerializedModelResourceRevision"
14734                 }
14735               }
14736             }
14737           },
14738           "additionalProperties": false,
14739           "required": [
14740             "application",
14741             "name",
14742             "application-revision",
14743             "charmstore-revision",
14744             "unit-revisions"
14745           ]
14746         },
14747         "SerializedModelResourceRevision": {
14748           "type": "object",
14749           "properties": {
14750             "description": {
14751               "type": "string"
14752             },
14753             "fingerprint": {
14754               "type": "string"
14755             },
14756             "origin": {
14757               "type": "string"
14758             },
14759             "path": {
14760               "type": "string"
14761             },
14762             "revision": {
14763               "type": "integer"
14764             },
14765             "size": {
14766               "type": "integer"
14767             },
14768             "timestamp": {
14769               "type": "string",
14770               "format": "date-time"
14771             },
14772             "type": {
14773               "type": "string"
14774             },
14775             "username": {
14776               "type": "string"
14777             }
14778           },
14779           "additionalProperties": false,
14780           "required": [
14781             "revision",
14782             "type",
14783             "path",
14784             "description",
14785             "origin",
14786             "fingerprint",
14787             "size",
14788             "timestamp"
14789           ]
14790         },
14791         "SerializedModelTools": {
14792           "type": "object",
14793           "properties": {
14794             "uri": {
14795               "type": "string"
14796             },
14797             "version": {
14798               "type": "string"
14799             }
14800           },
14801           "additionalProperties": false,
14802           "required": [
14803             "version",
14804             "uri"
14805           ]
14806         }
14807       }
14808     }
14809   },
14810   {
14811     "Name": "ModelConfig",
14812     "Version": 1,
14813     "Schema": {
14814       "type": "object",
14815       "properties": {
14816         "ModelGet": {
14817           "type": "object",
14818           "properties": {
14819             "Result": {
14820               "$ref": "#/definitions/ModelConfigResults"
14821             }
14822           }
14823         },
14824         "ModelSet": {
14825           "type": "object",
14826           "properties": {
14827             "Params": {
14828               "$ref": "#/definitions/ModelSet"
14829             }
14830           }
14831         },
14832         "ModelUnset": {
14833           "type": "object",
14834           "properties": {
14835             "Params": {
14836               "$ref": "#/definitions/ModelUnset"
14837             }
14838           }
14839         },
14840         "SLALevel": {
14841           "type": "object",
14842           "properties": {
14843             "Result": {
14844               "$ref": "#/definitions/StringResult"
14845             }
14846           }
14847         },
14848         "SetSLALevel": {
14849           "type": "object",
14850           "properties": {
14851             "Params": {
14852               "$ref": "#/definitions/ModelSLA"
14853             }
14854           }
14855         }
14856       },
14857       "definitions": {
14858         "ConfigValue": {
14859           "type": "object",
14860           "properties": {
14861             "source": {
14862               "type": "string"
14863             },
14864             "value": {
14865               "type": "object",
14866               "additionalProperties": true
14867             }
14868           },
14869           "additionalProperties": false,
14870           "required": [
14871             "value",
14872             "source"
14873           ]
14874         },
14875         "Error": {
14876           "type": "object",
14877           "properties": {
14878             "code": {
14879               "type": "string"
14880             },
14881             "info": {
14882               "$ref": "#/definitions/ErrorInfo"
14883             },
14884             "message": {
14885               "type": "string"
14886             }
14887           },
14888           "additionalProperties": false,
14889           "required": [
14890             "message",
14891             "code"
14892           ]
14893         },
14894         "ErrorInfo": {
14895           "type": "object",
14896           "properties": {
14897             "macaroon": {
14898               "$ref": "#/definitions/Macaroon"
14899             },
14900             "macaroon-path": {
14901               "type": "string"
14902             }
14903           },
14904           "additionalProperties": false
14905         },
14906         "Macaroon": {
14907           "type": "object",
14908           "additionalProperties": false
14909         },
14910         "ModelConfigResults": {
14911           "type": "object",
14912           "properties": {
14913             "config": {
14914               "type": "object",
14915               "patternProperties": {
14916                 ".*": {
14917                   "$ref": "#/definitions/ConfigValue"
14918                 }
14919               }
14920             }
14921           },
14922           "additionalProperties": false,
14923           "required": [
14924             "config"
14925           ]
14926         },
14927         "ModelSLA": {
14928           "type": "object",
14929           "properties": {
14930             "creds": {
14931               "type": "array",
14932               "items": {
14933                 "type": "integer"
14934               }
14935             },
14936             "level": {
14937               "type": "string"
14938             }
14939           },
14940           "additionalProperties": false,
14941           "required": [
14942             "level",
14943             "creds"
14944           ]
14945         },
14946         "ModelSet": {
14947           "type": "object",
14948           "properties": {
14949             "config": {
14950               "type": "object",
14951               "patternProperties": {
14952                 ".*": {
14953                   "type": "object",
14954                   "additionalProperties": true
14955                 }
14956               }
14957             }
14958           },
14959           "additionalProperties": false,
14960           "required": [
14961             "config"
14962           ]
14963         },
14964         "ModelUnset": {
14965           "type": "object",
14966           "properties": {
14967             "keys": {
14968               "type": "array",
14969               "items": {
14970                 "type": "string"
14971               }
14972             }
14973           },
14974           "additionalProperties": false,
14975           "required": [
14976             "keys"
14977           ]
14978         },
14979         "StringResult": {
14980           "type": "object",
14981           "properties": {
14982             "error": {
14983               "$ref": "#/definitions/Error"
14984             },
14985             "result": {
14986               "type": "string"
14987             }
14988           },
14989           "additionalProperties": false,
14990           "required": [
14991             "result"
14992           ]
14993         }
14994       }
14995     }
14996   },
14997   {
14998     "Name": "ModelManager",
14999     "Version": 2,
15000     "Schema": {
15001       "type": "object",
15002       "properties": {
15003         "CreateModel": {
15004           "type": "object",
15005           "properties": {
15006             "Params": {
15007               "$ref": "#/definitions/ModelCreateArgs"
15008             },
15009             "Result": {
15010               "$ref": "#/definitions/ModelInfo"
15011             }
15012           }
15013         },
15014         "DestroyModels": {
15015           "type": "object",
15016           "properties": {
15017             "Params": {
15018               "$ref": "#/definitions/Entities"
15019             },
15020             "Result": {
15021               "$ref": "#/definitions/ErrorResults"
15022             }
15023           }
15024         },
15025         "DumpModels": {
15026           "type": "object",
15027           "properties": {
15028             "Params": {
15029               "$ref": "#/definitions/Entities"
15030             },
15031             "Result": {
15032               "$ref": "#/definitions/MapResults"
15033             }
15034           }
15035         },
15036         "DumpModelsDB": {
15037           "type": "object",
15038           "properties": {
15039             "Params": {
15040               "$ref": "#/definitions/Entities"
15041             },
15042             "Result": {
15043               "$ref": "#/definitions/MapResults"
15044             }
15045           }
15046         },
15047         "ListModels": {
15048           "type": "object",
15049           "properties": {
15050             "Params": {
15051               "$ref": "#/definitions/Entity"
15052             },
15053             "Result": {
15054               "$ref": "#/definitions/UserModelList"
15055             }
15056           }
15057         },
15058         "ModelDefaults": {
15059           "type": "object",
15060           "properties": {
15061             "Result": {
15062               "$ref": "#/definitions/ModelDefaultsResult"
15063             }
15064           }
15065         },
15066         "ModelInfo": {
15067           "type": "object",
15068           "properties": {
15069             "Params": {
15070               "$ref": "#/definitions/Entities"
15071             },
15072             "Result": {
15073               "$ref": "#/definitions/ModelInfoResults"
15074             }
15075           }
15076         },
15077         "ModelStatus": {
15078           "type": "object",
15079           "properties": {
15080             "Params": {
15081               "$ref": "#/definitions/Entities"
15082             },
15083             "Result": {
15084               "$ref": "#/definitions/ModelStatusResults"
15085             }
15086           }
15087         },
15088         "ModifyModelAccess": {
15089           "type": "object",
15090           "properties": {
15091             "Params": {
15092               "$ref": "#/definitions/ModifyModelAccessRequest"
15093             },
15094             "Result": {
15095               "$ref": "#/definitions/ErrorResults"
15096             }
15097           }
15098         },
15099         "SetModelDefaults": {
15100           "type": "object",
15101           "properties": {
15102             "Params": {
15103               "$ref": "#/definitions/SetModelDefaults"
15104             },
15105             "Result": {
15106               "$ref": "#/definitions/ErrorResults"
15107             }
15108           }
15109         },
15110         "UnsetModelDefaults": {
15111           "type": "object",
15112           "properties": {
15113             "Params": {
15114               "$ref": "#/definitions/UnsetModelDefaults"
15115             },
15116             "Result": {
15117               "$ref": "#/definitions/ErrorResults"
15118             }
15119           }
15120         }
15121       },
15122       "definitions": {
15123         "Entities": {
15124           "type": "object",
15125           "properties": {
15126             "entities": {
15127               "type": "array",
15128               "items": {
15129                 "$ref": "#/definitions/Entity"
15130               }
15131             }
15132           },
15133           "additionalProperties": false,
15134           "required": [
15135             "entities"
15136           ]
15137         },
15138         "Entity": {
15139           "type": "object",
15140           "properties": {
15141             "tag": {
15142               "type": "string"
15143             }
15144           },
15145           "additionalProperties": false,
15146           "required": [
15147             "tag"
15148           ]
15149         },
15150         "EntityStatus": {
15151           "type": "object",
15152           "properties": {
15153             "data": {
15154               "type": "object",
15155               "patternProperties": {
15156                 ".*": {
15157                   "type": "object",
15158                   "additionalProperties": true
15159                 }
15160               }
15161             },
15162             "info": {
15163               "type": "string"
15164             },
15165             "since": {
15166               "type": "string",
15167               "format": "date-time"
15168             },
15169             "status": {
15170               "type": "string"
15171             }
15172           },
15173           "additionalProperties": false,
15174           "required": [
15175             "status",
15176             "info",
15177             "since"
15178           ]
15179         },
15180         "Error": {
15181           "type": "object",
15182           "properties": {
15183             "code": {
15184               "type": "string"
15185             },
15186             "info": {
15187               "$ref": "#/definitions/ErrorInfo"
15188             },
15189             "message": {
15190               "type": "string"
15191             }
15192           },
15193           "additionalProperties": false,
15194           "required": [
15195             "message",
15196             "code"
15197           ]
15198         },
15199         "ErrorInfo": {
15200           "type": "object",
15201           "properties": {
15202             "macaroon": {
15203               "$ref": "#/definitions/Macaroon"
15204             },
15205             "macaroon-path": {
15206               "type": "string"
15207             }
15208           },
15209           "additionalProperties": false
15210         },
15211         "ErrorResult": {
15212           "type": "object",
15213           "properties": {
15214             "error": {
15215               "$ref": "#/definitions/Error"
15216             }
15217           },
15218           "additionalProperties": false
15219         },
15220         "ErrorResults": {
15221           "type": "object",
15222           "properties": {
15223             "results": {
15224               "type": "array",
15225               "items": {
15226                 "$ref": "#/definitions/ErrorResult"
15227               }
15228             }
15229           },
15230           "additionalProperties": false,
15231           "required": [
15232             "results"
15233           ]
15234         },
15235         "Macaroon": {
15236           "type": "object",
15237           "additionalProperties": false
15238         },
15239         "MachineHardware": {
15240           "type": "object",
15241           "properties": {
15242             "arch": {
15243               "type": "string"
15244             },
15245             "availability-zone": {
15246               "type": "string"
15247             },
15248             "cores": {
15249               "type": "integer"
15250             },
15251             "cpu-power": {
15252               "type": "integer"
15253             },
15254             "mem": {
15255               "type": "integer"
15256             },
15257             "root-disk": {
15258               "type": "integer"
15259             },
15260             "tags": {
15261               "type": "array",
15262               "items": {
15263                 "type": "string"
15264               }
15265             }
15266           },
15267           "additionalProperties": false
15268         },
15269         "MapResult": {
15270           "type": "object",
15271           "properties": {
15272             "error": {
15273               "$ref": "#/definitions/Error"
15274             },
15275             "result": {
15276               "type": "object",
15277               "patternProperties": {
15278                 ".*": {
15279                   "type": "object",
15280                   "additionalProperties": true
15281                 }
15282               }
15283             }
15284           },
15285           "additionalProperties": false,
15286           "required": [
15287             "result"
15288           ]
15289         },
15290         "MapResults": {
15291           "type": "object",
15292           "properties": {
15293             "results": {
15294               "type": "array",
15295               "items": {
15296                 "$ref": "#/definitions/MapResult"
15297               }
15298             }
15299           },
15300           "additionalProperties": false,
15301           "required": [
15302             "results"
15303           ]
15304         },
15305         "Model": {
15306           "type": "object",
15307           "properties": {
15308             "name": {
15309               "type": "string"
15310             },
15311             "owner-tag": {
15312               "type": "string"
15313             },
15314             "uuid": {
15315               "type": "string"
15316             }
15317           },
15318           "additionalProperties": false,
15319           "required": [
15320             "name",
15321             "uuid",
15322             "owner-tag"
15323           ]
15324         },
15325         "ModelCreateArgs": {
15326           "type": "object",
15327           "properties": {
15328             "cloud-tag": {
15329               "type": "string"
15330             },
15331             "config": {
15332               "type": "object",
15333               "patternProperties": {
15334                 ".*": {
15335                   "type": "object",
15336                   "additionalProperties": true
15337                 }
15338               }
15339             },
15340             "credential": {
15341               "type": "string"
15342             },
15343             "name": {
15344               "type": "string"
15345             },
15346             "owner-tag": {
15347               "type": "string"
15348             },
15349             "region": {
15350               "type": "string"
15351             }
15352           },
15353           "additionalProperties": false,
15354           "required": [
15355             "name",
15356             "owner-tag"
15357           ]
15358         },
15359         "ModelDefaultValues": {
15360           "type": "object",
15361           "properties": {
15362             "cloud-region": {
15363               "type": "string"
15364             },
15365             "cloud-tag": {
15366               "type": "string"
15367             },
15368             "config": {
15369               "type": "object",
15370               "patternProperties": {
15371                 ".*": {
15372                   "type": "object",
15373                   "additionalProperties": true
15374                 }
15375               }
15376             }
15377           },
15378           "additionalProperties": false,
15379           "required": [
15380             "config"
15381           ]
15382         },
15383         "ModelDefaults": {
15384           "type": "object",
15385           "properties": {
15386             "controller": {
15387               "type": "object",
15388               "additionalProperties": true
15389             },
15390             "default": {
15391               "type": "object",
15392               "additionalProperties": true
15393             },
15394             "regions": {
15395               "type": "array",
15396               "items": {
15397                 "$ref": "#/definitions/RegionDefaults"
15398               }
15399             }
15400           },
15401           "additionalProperties": false
15402         },
15403         "ModelDefaultsResult": {
15404           "type": "object",
15405           "properties": {
15406             "config": {
15407               "type": "object",
15408               "patternProperties": {
15409                 ".*": {
15410                   "$ref": "#/definitions/ModelDefaults"
15411                 }
15412               }
15413             }
15414           },
15415           "additionalProperties": false,
15416           "required": [
15417             "config"
15418           ]
15419         },
15420         "ModelInfo": {
15421           "type": "object",
15422           "properties": {
15423             "cloud-credential-tag": {
15424               "type": "string"
15425             },
15426             "cloud-region": {
15427               "type": "string"
15428             },
15429             "cloud-tag": {
15430               "type": "string"
15431             },
15432             "controller-uuid": {
15433               "type": "string"
15434             },
15435             "default-series": {
15436               "type": "string"
15437             },
15438             "life": {
15439               "type": "string"
15440             },
15441             "machines": {
15442               "type": "array",
15443               "items": {
15444                 "$ref": "#/definitions/ModelMachineInfo"
15445               }
15446             },
15447             "migration": {
15448               "$ref": "#/definitions/ModelMigrationStatus"
15449             },
15450             "name": {
15451               "type": "string"
15452             },
15453             "owner-tag": {
15454               "type": "string"
15455             },
15456             "provider-type": {
15457               "type": "string"
15458             },
15459             "status": {
15460               "$ref": "#/definitions/EntityStatus"
15461             },
15462             "users": {
15463               "type": "array",
15464               "items": {
15465                 "$ref": "#/definitions/ModelUserInfo"
15466               }
15467             },
15468             "uuid": {
15469               "type": "string"
15470             }
15471           },
15472           "additionalProperties": false,
15473           "required": [
15474             "name",
15475             "uuid",
15476             "controller-uuid",
15477             "provider-type",
15478             "default-series",
15479             "cloud-tag",
15480             "owner-tag",
15481             "life",
15482             "status",
15483             "users",
15484             "machines"
15485           ]
15486         },
15487         "ModelInfoResult": {
15488           "type": "object",
15489           "properties": {
15490             "error": {
15491               "$ref": "#/definitions/Error"
15492             },
15493             "result": {
15494               "$ref": "#/definitions/ModelInfo"
15495             }
15496           },
15497           "additionalProperties": false
15498         },
15499         "ModelInfoResults": {
15500           "type": "object",
15501           "properties": {
15502             "results": {
15503               "type": "array",
15504               "items": {
15505                 "$ref": "#/definitions/ModelInfoResult"
15506               }
15507             }
15508           },
15509           "additionalProperties": false,
15510           "required": [
15511             "results"
15512           ]
15513         },
15514         "ModelMachineInfo": {
15515           "type": "object",
15516           "properties": {
15517             "hardware": {
15518               "$ref": "#/definitions/MachineHardware"
15519             },
15520             "has-vote": {
15521               "type": "boolean"
15522             },
15523             "id": {
15524               "type": "string"
15525             },
15526             "instance-id": {
15527               "type": "string"
15528             },
15529             "status": {
15530               "type": "string"
15531             },
15532             "wants-vote": {
15533               "type": "boolean"
15534             }
15535           },
15536           "additionalProperties": false,
15537           "required": [
15538             "id"
15539           ]
15540         },
15541         "ModelMigrationStatus": {
15542           "type": "object",
15543           "properties": {
15544             "end": {
15545               "type": "string",
15546               "format": "date-time"
15547             },
15548             "start": {
15549               "type": "string",
15550               "format": "date-time"
15551             },
15552             "status": {
15553               "type": "string"
15554             }
15555           },
15556           "additionalProperties": false,
15557           "required": [
15558             "status",
15559             "start"
15560           ]
15561         },
15562         "ModelStatus": {
15563           "type": "object",
15564           "properties": {
15565             "application-count": {
15566               "type": "integer"
15567             },
15568             "hosted-machine-count": {
15569               "type": "integer"
15570             },
15571             "life": {
15572               "type": "string"
15573             },
15574             "machines": {
15575               "type": "array",
15576               "items": {
15577                 "$ref": "#/definitions/ModelMachineInfo"
15578               }
15579             },
15580             "model-tag": {
15581               "type": "string"
15582             },
15583             "owner-tag": {
15584               "type": "string"
15585             }
15586           },
15587           "additionalProperties": false,
15588           "required": [
15589             "model-tag",
15590             "life",
15591             "hosted-machine-count",
15592             "application-count",
15593             "owner-tag"
15594           ]
15595         },
15596         "ModelStatusResults": {
15597           "type": "object",
15598           "properties": {
15599             "models": {
15600               "type": "array",
15601               "items": {
15602                 "$ref": "#/definitions/ModelStatus"
15603               }
15604             }
15605           },
15606           "additionalProperties": false,
15607           "required": [
15608             "models"
15609           ]
15610         },
15611         "ModelUnsetKeys": {
15612           "type": "object",
15613           "properties": {
15614             "cloud-region": {
15615               "type": "string"
15616             },
15617             "cloud-tag": {
15618               "type": "string"
15619             },
15620             "keys": {
15621               "type": "array",
15622               "items": {
15623                 "type": "string"
15624               }
15625             }
15626           },
15627           "additionalProperties": false,
15628           "required": [
15629             "keys"
15630           ]
15631         },
15632         "ModelUserInfo": {
15633           "type": "object",
15634           "properties": {
15635             "access": {
15636               "type": "string"
15637             },
15638             "display-name": {
15639               "type": "string"
15640             },
15641             "last-connection": {
15642               "type": "string",
15643               "format": "date-time"
15644             },
15645             "user": {
15646               "type": "string"
15647             }
15648           },
15649           "additionalProperties": false,
15650           "required": [
15651             "user",
15652             "display-name",
15653             "last-connection",
15654             "access"
15655           ]
15656         },
15657         "ModifyModelAccess": {
15658           "type": "object",
15659           "properties": {
15660             "access": {
15661               "type": "string"
15662             },
15663             "action": {
15664               "type": "string"
15665             },
15666             "model-tag": {
15667               "type": "string"
15668             },
15669             "user-tag": {
15670               "type": "string"
15671             }
15672           },
15673           "additionalProperties": false,
15674           "required": [
15675             "user-tag",
15676             "action",
15677             "access",
15678             "model-tag"
15679           ]
15680         },
15681         "ModifyModelAccessRequest": {
15682           "type": "object",
15683           "properties": {
15684             "changes": {
15685               "type": "array",
15686               "items": {
15687                 "$ref": "#/definitions/ModifyModelAccess"
15688               }
15689             }
15690           },
15691           "additionalProperties": false,
15692           "required": [
15693             "changes"
15694           ]
15695         },
15696         "RegionDefaults": {
15697           "type": "object",
15698           "properties": {
15699             "region-name": {
15700               "type": "string"
15701             },
15702             "value": {
15703               "type": "object",
15704               "additionalProperties": true
15705             }
15706           },
15707           "additionalProperties": false,
15708           "required": [
15709             "region-name",
15710             "value"
15711           ]
15712         },
15713         "SetModelDefaults": {
15714           "type": "object",
15715           "properties": {
15716             "config": {
15717               "type": "array",
15718               "items": {
15719                 "$ref": "#/definitions/ModelDefaultValues"
15720               }
15721             }
15722           },
15723           "additionalProperties": false,
15724           "required": [
15725             "config"
15726           ]
15727         },
15728         "UnsetModelDefaults": {
15729           "type": "object",
15730           "properties": {
15731             "keys": {
15732               "type": "array",
15733               "items": {
15734                 "$ref": "#/definitions/ModelUnsetKeys"
15735               }
15736             }
15737           },
15738           "additionalProperties": false,
15739           "required": [
15740             "keys"
15741           ]
15742         },
15743         "UserModel": {
15744           "type": "object",
15745           "properties": {
15746             "last-connection": {
15747               "type": "string",
15748               "format": "date-time"
15749             },
15750             "model": {
15751               "$ref": "#/definitions/Model"
15752             }
15753           },
15754           "additionalProperties": false,
15755           "required": [
15756             "model",
15757             "last-connection"
15758           ]
15759         },
15760         "UserModelList": {
15761           "type": "object",
15762           "properties": {
15763             "user-models": {
15764               "type": "array",
15765               "items": {
15766                 "$ref": "#/definitions/UserModel"
15767               }
15768             }
15769           },
15770           "additionalProperties": false,
15771           "required": [
15772             "user-models"
15773           ]
15774         }
15775       }
15776     }
15777   },
15778   {
15779     "Name": "NotifyWatcher",
15780     "Version": 1,
15781     "Schema": {
15782       "type": "object",
15783       "properties": {
15784         "Next": {
15785           "type": "object"
15786         },
15787         "Stop": {
15788           "type": "object"
15789         }
15790       }
15791     }
15792   },
15793   {
15794     "Name": "Payloads",
15795     "Version": 1,
15796     "Schema": {
15797       "type": "object",
15798       "properties": {
15799         "List": {
15800           "type": "object",
15801           "properties": {
15802             "Params": {
15803               "$ref": "#/definitions/PayloadListArgs"
15804             },
15805             "Result": {
15806               "$ref": "#/definitions/PayloadListResults"
15807             }
15808           }
15809         }
15810       },
15811       "definitions": {
15812         "Payload": {
15813           "type": "object",
15814           "properties": {
15815             "class": {
15816               "type": "string"
15817             },
15818             "id": {
15819               "type": "string"
15820             },
15821             "labels": {
15822               "type": "array",
15823               "items": {
15824                 "type": "string"
15825               }
15826             },
15827             "machine": {
15828               "type": "string"
15829             },
15830             "status": {
15831               "type": "string"
15832             },
15833             "type": {
15834               "type": "string"
15835             },
15836             "unit": {
15837               "type": "string"
15838             }
15839           },
15840           "additionalProperties": false,
15841           "required": [
15842             "class",
15843             "type",
15844             "id",
15845             "status",
15846             "labels",
15847             "unit",
15848             "machine"
15849           ]
15850         },
15851         "PayloadListArgs": {
15852           "type": "object",
15853           "properties": {
15854             "patterns": {
15855               "type": "array",
15856               "items": {
15857                 "type": "string"
15858               }
15859             }
15860           },
15861           "additionalProperties": false,
15862           "required": [
15863             "patterns"
15864           ]
15865         },
15866         "PayloadListResults": {
15867           "type": "object",
15868           "properties": {
15869             "results": {
15870               "type": "array",
15871               "items": {
15872                 "$ref": "#/definitions/Payload"
15873               }
15874             }
15875           },
15876           "additionalProperties": false,
15877           "required": [
15878             "results"
15879           ]
15880         }
15881       }
15882     }
15883   },
15884   {
15885     "Name": "PayloadsHookContext",
15886     "Version": 1,
15887     "Schema": {
15888       "type": "object",
15889       "properties": {
15890         "List": {
15891           "type": "object",
15892           "properties": {
15893             "Params": {
15894               "$ref": "#/definitions/Entities"
15895             },
15896             "Result": {
15897               "$ref": "#/definitions/PayloadResults"
15898             }
15899           }
15900         },
15901         "LookUp": {
15902           "type": "object",
15903           "properties": {
15904             "Params": {
15905               "$ref": "#/definitions/LookUpPayloadArgs"
15906             },
15907             "Result": {
15908               "$ref": "#/definitions/PayloadResults"
15909             }
15910           }
15911         },
15912         "SetStatus": {
15913           "type": "object",
15914           "properties": {
15915             "Params": {
15916               "$ref": "#/definitions/SetPayloadStatusArgs"
15917             },
15918             "Result": {
15919               "$ref": "#/definitions/PayloadResults"
15920             }
15921           }
15922         },
15923         "Track": {
15924           "type": "object",
15925           "properties": {
15926             "Params": {
15927               "$ref": "#/definitions/TrackPayloadArgs"
15928             },
15929             "Result": {
15930               "$ref": "#/definitions/PayloadResults"
15931             }
15932           }
15933         },
15934         "Untrack": {
15935           "type": "object",
15936           "properties": {
15937             "Params": {
15938               "$ref": "#/definitions/Entities"
15939             },
15940             "Result": {
15941               "$ref": "#/definitions/PayloadResults"
15942             }
15943           }
15944         }
15945       },
15946       "definitions": {
15947         "Entities": {
15948           "type": "object",
15949           "properties": {
15950             "entities": {
15951               "type": "array",
15952               "items": {
15953                 "$ref": "#/definitions/Entity"
15954               }
15955             }
15956           },
15957           "additionalProperties": false,
15958           "required": [
15959             "entities"
15960           ]
15961         },
15962         "Entity": {
15963           "type": "object",
15964           "properties": {
15965             "tag": {
15966               "type": "string"
15967             }
15968           },
15969           "additionalProperties": false,
15970           "required": [
15971             "tag"
15972           ]
15973         },
15974         "Error": {
15975           "type": "object",
15976           "properties": {
15977             "code": {
15978               "type": "string"
15979             },
15980             "info": {
15981               "$ref": "#/definitions/ErrorInfo"
15982             },
15983             "message": {
15984               "type": "string"
15985             }
15986           },
15987           "additionalProperties": false,
15988           "required": [
15989             "message",
15990             "code"
15991           ]
15992         },
15993         "ErrorInfo": {
15994           "type": "object",
15995           "properties": {
15996             "macaroon": {
15997               "$ref": "#/definitions/Macaroon"
15998             },
15999             "macaroon-path": {
16000               "type": "string"
16001             }
16002           },
16003           "additionalProperties": false
16004         },
16005         "LookUpPayloadArg": {
16006           "type": "object",
16007           "properties": {
16008             "id": {
16009               "type": "string"
16010             },
16011             "name": {
16012               "type": "string"
16013             }
16014           },
16015           "additionalProperties": false,
16016           "required": [
16017             "name",
16018             "id"
16019           ]
16020         },
16021         "LookUpPayloadArgs": {
16022           "type": "object",
16023           "properties": {
16024             "args": {
16025               "type": "array",
16026               "items": {
16027                 "$ref": "#/definitions/LookUpPayloadArg"
16028               }
16029             }
16030           },
16031           "additionalProperties": false,
16032           "required": [
16033             "args"
16034           ]
16035         },
16036         "Macaroon": {
16037           "type": "object",
16038           "additionalProperties": false
16039         },
16040         "Payload": {
16041           "type": "object",
16042           "properties": {
16043             "class": {
16044               "type": "string"
16045             },
16046             "id": {
16047               "type": "string"
16048             },
16049             "labels": {
16050               "type": "array",
16051               "items": {
16052                 "type": "string"
16053               }
16054             },
16055             "machine": {
16056               "type": "string"
16057             },
16058             "status": {
16059               "type": "string"
16060             },
16061             "type": {
16062               "type": "string"
16063             },
16064             "unit": {
16065               "type": "string"
16066             }
16067           },
16068           "additionalProperties": false,
16069           "required": [
16070             "class",
16071             "type",
16072             "id",
16073             "status",
16074             "labels",
16075             "unit",
16076             "machine"
16077           ]
16078         },
16079         "PayloadResult": {
16080           "type": "object",
16081           "properties": {
16082             "Entity": {
16083               "$ref": "#/definitions/Entity"
16084             },
16085             "error": {
16086               "$ref": "#/definitions/Error"
16087             },
16088             "not-found": {
16089               "type": "boolean"
16090             },
16091             "payload": {
16092               "$ref": "#/definitions/Payload"
16093             }
16094           },
16095           "additionalProperties": false,
16096           "required": [
16097             "Entity",
16098             "payload",
16099             "not-found"
16100           ]
16101         },
16102         "PayloadResults": {
16103           "type": "object",
16104           "properties": {
16105             "results": {
16106               "type": "array",
16107               "items": {
16108                 "$ref": "#/definitions/PayloadResult"
16109               }
16110             }
16111           },
16112           "additionalProperties": false,
16113           "required": [
16114             "results"
16115           ]
16116         },
16117         "SetPayloadStatusArg": {
16118           "type": "object",
16119           "properties": {
16120             "Entity": {
16121               "$ref": "#/definitions/Entity"
16122             },
16123             "status": {
16124               "type": "string"
16125             }
16126           },
16127           "additionalProperties": false,
16128           "required": [
16129             "Entity",
16130             "status"
16131           ]
16132         },
16133         "SetPayloadStatusArgs": {
16134           "type": "object",
16135           "properties": {
16136             "args": {
16137               "type": "array",
16138               "items": {
16139                 "$ref": "#/definitions/SetPayloadStatusArg"
16140               }
16141             }
16142           },
16143           "additionalProperties": false,
16144           "required": [
16145             "args"
16146           ]
16147         },
16148         "TrackPayloadArgs": {
16149           "type": "object",
16150           "properties": {
16151             "payloads": {
16152               "type": "array",
16153               "items": {
16154                 "$ref": "#/definitions/Payload"
16155               }
16156             }
16157           },
16158           "additionalProperties": false,
16159           "required": [
16160             "payloads"
16161           ]
16162         }
16163       }
16164     }
16165   },
16166   {
16167     "Name": "Pinger",
16168     "Version": 1,
16169     "Schema": {
16170       "type": "object",
16171       "properties": {
16172         "Ping": {
16173           "type": "object"
16174         },
16175         "Stop": {
16176           "type": "object"
16177         }
16178       }
16179     }
16180   },
16181   {
16182     "Name": "Provisioner",
16183     "Version": 3,
16184     "Schema": {
16185       "type": "object",
16186       "properties": {
16187         "APIAddresses": {
16188           "type": "object",
16189           "properties": {
16190             "Result": {
16191               "$ref": "#/definitions/StringsResult"
16192             }
16193           }
16194         },
16195         "APIHostPorts": {
16196           "type": "object",
16197           "properties": {
16198             "Result": {
16199               "$ref": "#/definitions/APIHostPortsResult"
16200             }
16201           }
16202         },
16203         "CACert": {
16204           "type": "object",
16205           "properties": {
16206             "Result": {
16207               "$ref": "#/definitions/BytesResult"
16208             }
16209           }
16210         },
16211         "Constraints": {
16212           "type": "object",
16213           "properties": {
16214             "Params": {
16215               "$ref": "#/definitions/Entities"
16216             },
16217             "Result": {
16218               "$ref": "#/definitions/ConstraintsResults"
16219             }
16220           }
16221         },
16222         "ContainerConfig": {
16223           "type": "object",
16224           "properties": {
16225             "Result": {
16226               "$ref": "#/definitions/ContainerConfig"
16227             }
16228           }
16229         },
16230         "ContainerManagerConfig": {
16231           "type": "object",
16232           "properties": {
16233             "Params": {
16234               "$ref": "#/definitions/ContainerManagerConfigParams"
16235             },
16236             "Result": {
16237               "$ref": "#/definitions/ContainerManagerConfig"
16238             }
16239           }
16240         },
16241         "ControllerConfig": {
16242           "type": "object",
16243           "properties": {
16244             "Result": {
16245               "$ref": "#/definitions/ControllerConfigResult"
16246             }
16247           }
16248         },
16249         "DistributionGroup": {
16250           "type": "object",
16251           "properties": {
16252             "Params": {
16253               "$ref": "#/definitions/Entities"
16254             },
16255             "Result": {
16256               "$ref": "#/definitions/DistributionGroupResults"
16257             }
16258           }
16259         },
16260         "EnsureDead": {
16261           "type": "object",
16262           "properties": {
16263             "Params": {
16264               "$ref": "#/definitions/Entities"
16265             },
16266             "Result": {
16267               "$ref": "#/definitions/ErrorResults"
16268             }
16269           }
16270         },
16271         "FindTools": {
16272           "type": "object",
16273           "properties": {
16274             "Params": {
16275               "$ref": "#/definitions/FindToolsParams"
16276             },
16277             "Result": {
16278               "$ref": "#/definitions/FindToolsResult"
16279             }
16280           }
16281         },
16282         "GetContainerInterfaceInfo": {
16283           "type": "object",
16284           "properties": {
16285             "Params": {
16286               "$ref": "#/definitions/Entities"
16287             },
16288             "Result": {
16289               "$ref": "#/definitions/MachineNetworkConfigResults"
16290             }
16291           }
16292         },
16293         "HostChangesForContainers": {
16294           "type": "object",
16295           "properties": {
16296             "Params": {
16297               "$ref": "#/definitions/Entities"
16298             },
16299             "Result": {
16300               "$ref": "#/definitions/HostNetworkChangeResults"
16301             }
16302           }
16303         },
16304         "InstanceId": {
16305           "type": "object",
16306           "properties": {
16307             "Params": {
16308               "$ref": "#/definitions/Entities"
16309             },
16310             "Result": {
16311               "$ref": "#/definitions/StringResults"
16312             }
16313           }
16314         },
16315         "InstanceStatus": {
16316           "type": "object",
16317           "properties": {
16318             "Params": {
16319               "$ref": "#/definitions/Entities"
16320             },
16321             "Result": {
16322               "$ref": "#/definitions/StatusResults"
16323             }
16324           }
16325         },
16326         "Life": {
16327           "type": "object",
16328           "properties": {
16329             "Params": {
16330               "$ref": "#/definitions/Entities"
16331             },
16332             "Result": {
16333               "$ref": "#/definitions/LifeResults"
16334             }
16335           }
16336         },
16337         "MachinesWithTransientErrors": {
16338           "type": "object",
16339           "properties": {
16340             "Result": {
16341               "$ref": "#/definitions/StatusResults"
16342             }
16343           }
16344         },
16345         "MarkMachinesForRemoval": {
16346           "type": "object",
16347           "properties": {
16348             "Params": {
16349               "$ref": "#/definitions/Entities"
16350             },
16351             "Result": {
16352               "$ref": "#/definitions/ErrorResults"
16353             }
16354           }
16355         },
16356         "ModelConfig": {
16357           "type": "object",
16358           "properties": {
16359             "Result": {
16360               "$ref": "#/definitions/ModelConfigResult"
16361             }
16362           }
16363         },
16364         "ModelUUID": {
16365           "type": "object",
16366           "properties": {
16367             "Result": {
16368               "$ref": "#/definitions/StringResult"
16369             }
16370           }
16371         },
16372         "PrepareContainerInterfaceInfo": {
16373           "type": "object",
16374           "properties": {
16375             "Params": {
16376               "$ref": "#/definitions/Entities"
16377             },
16378             "Result": {
16379               "$ref": "#/definitions/MachineNetworkConfigResults"
16380             }
16381           }
16382         },
16383         "ProvisioningInfo": {
16384           "type": "object",
16385           "properties": {
16386             "Params": {
16387               "$ref": "#/definitions/Entities"
16388             },
16389             "Result": {
16390               "$ref": "#/definitions/ProvisioningInfoResults"
16391             }
16392           }
16393         },
16394         "ReleaseContainerAddresses": {
16395           "type": "object",
16396           "properties": {
16397             "Params": {
16398               "$ref": "#/definitions/Entities"
16399             },
16400             "Result": {
16401               "$ref": "#/definitions/ErrorResults"
16402             }
16403           }
16404         },
16405         "Remove": {
16406           "type": "object",
16407           "properties": {
16408             "Params": {
16409               "$ref": "#/definitions/Entities"
16410             },
16411             "Result": {
16412               "$ref": "#/definitions/ErrorResults"
16413             }
16414           }
16415         },
16416         "Series": {
16417           "type": "object",
16418           "properties": {
16419             "Params": {
16420               "$ref": "#/definitions/Entities"
16421             },
16422             "Result": {
16423               "$ref": "#/definitions/StringResults"
16424             }
16425           }
16426         },
16427         "SetHostMachineNetworkConfig": {
16428           "type": "object",
16429           "properties": {
16430             "Params": {
16431               "$ref": "#/definitions/SetMachineNetworkConfig"
16432             }
16433           }
16434         },
16435         "SetInstanceInfo": {
16436           "type": "object",
16437           "properties": {
16438             "Params": {
16439               "$ref": "#/definitions/InstancesInfo"
16440             },
16441             "Result": {
16442               "$ref": "#/definitions/ErrorResults"
16443             }
16444           }
16445         },
16446         "SetInstanceStatus": {
16447           "type": "object",
16448           "properties": {
16449             "Params": {
16450               "$ref": "#/definitions/SetStatus"
16451             },
16452             "Result": {
16453               "$ref": "#/definitions/ErrorResults"
16454             }
16455           }
16456         },
16457         "SetObservedNetworkConfig": {
16458           "type": "object",
16459           "properties": {
16460             "Params": {
16461               "$ref": "#/definitions/SetMachineNetworkConfig"
16462             }
16463           }
16464         },
16465         "SetPasswords": {
16466           "type": "object",
16467           "properties": {
16468             "Params": {
16469               "$ref": "#/definitions/EntityPasswords"
16470             },
16471             "Result": {
16472               "$ref": "#/definitions/ErrorResults"
16473             }
16474           }
16475         },
16476         "SetProviderNetworkConfig": {
16477           "type": "object",
16478           "properties": {
16479             "Params": {
16480               "$ref": "#/definitions/Entities"
16481             },
16482             "Result": {
16483               "$ref": "#/definitions/ErrorResults"
16484             }
16485           }
16486         },
16487         "SetStatus": {
16488           "type": "object",
16489           "properties": {
16490             "Params": {
16491               "$ref": "#/definitions/SetStatus"
16492             },
16493             "Result": {
16494               "$ref": "#/definitions/ErrorResults"
16495             }
16496           }
16497         },
16498         "SetSupportedContainers": {
16499           "type": "object",
16500           "properties": {
16501             "Params": {
16502               "$ref": "#/definitions/MachineContainersParams"
16503             },
16504             "Result": {
16505               "$ref": "#/definitions/ErrorResults"
16506             }
16507           }
16508         },
16509         "StateAddresses": {
16510           "type": "object",
16511           "properties": {
16512             "Result": {
16513               "$ref": "#/definitions/StringsResult"
16514             }
16515           }
16516         },
16517         "Status": {
16518           "type": "object",
16519           "properties": {
16520             "Params": {
16521               "$ref": "#/definitions/Entities"
16522             },
16523             "Result": {
16524               "$ref": "#/definitions/StatusResults"
16525             }
16526           }
16527         },
16528         "Tools": {
16529           "type": "object",
16530           "properties": {
16531             "Params": {
16532               "$ref": "#/definitions/Entities"
16533             },
16534             "Result": {
16535               "$ref": "#/definitions/ToolsResults"
16536             }
16537           }
16538         },
16539         "UpdateStatus": {
16540           "type": "object",
16541           "properties": {
16542             "Params": {
16543               "$ref": "#/definitions/SetStatus"
16544             },
16545             "Result": {
16546               "$ref": "#/definitions/ErrorResults"
16547             }
16548           }
16549         },
16550         "WatchAPIHostPorts": {
16551           "type": "object",
16552           "properties": {
16553             "Result": {
16554               "$ref": "#/definitions/NotifyWatchResult"
16555             }
16556           }
16557         },
16558         "WatchAllContainers": {
16559           "type": "object",
16560           "properties": {
16561             "Params": {
16562               "$ref": "#/definitions/WatchContainers"
16563             },
16564             "Result": {
16565               "$ref": "#/definitions/StringsWatchResults"
16566             }
16567           }
16568         },
16569         "WatchContainers": {
16570           "type": "object",
16571           "properties": {
16572             "Params": {
16573               "$ref": "#/definitions/WatchContainers"
16574             },
16575             "Result": {
16576               "$ref": "#/definitions/StringsWatchResults"
16577             }
16578           }
16579         },
16580         "WatchForModelConfigChanges": {
16581           "type": "object",
16582           "properties": {
16583             "Result": {
16584               "$ref": "#/definitions/NotifyWatchResult"
16585             }
16586           }
16587         },
16588         "WatchMachineErrorRetry": {
16589           "type": "object",
16590           "properties": {
16591             "Result": {
16592               "$ref": "#/definitions/NotifyWatchResult"
16593             }
16594           }
16595         },
16596         "WatchModelMachines": {
16597           "type": "object",
16598           "properties": {
16599             "Result": {
16600               "$ref": "#/definitions/StringsWatchResult"
16601             }
16602           }
16603         }
16604       },
16605       "definitions": {
16606         "APIHostPortsResult": {
16607           "type": "object",
16608           "properties": {
16609             "servers": {
16610               "type": "array",
16611               "items": {
16612                 "type": "array",
16613                 "items": {
16614                   "$ref": "#/definitions/HostPort"
16615                 }
16616               }
16617             }
16618           },
16619           "additionalProperties": false,
16620           "required": [
16621             "servers"
16622           ]
16623         },
16624         "Address": {
16625           "type": "object",
16626           "properties": {
16627             "scope": {
16628               "type": "string"
16629             },
16630             "space-name": {
16631               "type": "string"
16632             },
16633             "type": {
16634               "type": "string"
16635             },
16636             "value": {
16637               "type": "string"
16638             }
16639           },
16640           "additionalProperties": false,
16641           "required": [
16642             "value",
16643             "type",
16644             "scope"
16645           ]
16646         },
16647         "Binary": {
16648           "type": "object",
16649           "properties": {
16650             "Arch": {
16651               "type": "string"
16652             },
16653             "Number": {
16654               "$ref": "#/definitions/Number"
16655             },
16656             "Series": {
16657               "type": "string"
16658             }
16659           },
16660           "additionalProperties": false,
16661           "required": [
16662             "Number",
16663             "Series",
16664             "Arch"
16665           ]
16666         },
16667         "BytesResult": {
16668           "type": "object",
16669           "properties": {
16670             "result": {
16671               "type": "array",
16672               "items": {
16673                 "type": "integer"
16674               }
16675             }
16676           },
16677           "additionalProperties": false,
16678           "required": [
16679             "result"
16680           ]
16681         },
16682         "CloudImageMetadata": {
16683           "type": "object",
16684           "properties": {
16685             "arch": {
16686               "type": "string"
16687             },
16688             "image-id": {
16689               "type": "string"
16690             },
16691             "priority": {
16692               "type": "integer"
16693             },
16694             "region": {
16695               "type": "string"
16696             },
16697             "root-storage-size": {
16698               "type": "integer"
16699             },
16700             "root-storage-type": {
16701               "type": "string"
16702             },
16703             "series": {
16704               "type": "string"
16705             },
16706             "source": {
16707               "type": "string"
16708             },
16709             "stream": {
16710               "type": "string"
16711             },
16712             "version": {
16713               "type": "string"
16714             },
16715             "virt-type": {
16716               "type": "string"
16717             }
16718           },
16719           "additionalProperties": false,
16720           "required": [
16721             "image-id",
16722             "region",
16723             "version",
16724             "series",
16725             "arch",
16726             "source",
16727             "priority"
16728           ]
16729         },
16730         "ConstraintsResult": {
16731           "type": "object",
16732           "properties": {
16733             "constraints": {
16734               "$ref": "#/definitions/Value"
16735             },
16736             "error": {
16737               "$ref": "#/definitions/Error"
16738             }
16739           },
16740           "additionalProperties": false,
16741           "required": [
16742             "constraints"
16743           ]
16744         },
16745         "ConstraintsResults": {
16746           "type": "object",
16747           "properties": {
16748             "results": {
16749               "type": "array",
16750               "items": {
16751                 "$ref": "#/definitions/ConstraintsResult"
16752               }
16753             }
16754           },
16755           "additionalProperties": false,
16756           "required": [
16757             "results"
16758           ]
16759         },
16760         "ContainerConfig": {
16761           "type": "object",
16762           "properties": {
16763             "UpdateBehavior": {
16764               "$ref": "#/definitions/UpdateBehavior"
16765             },
16766             "apt-mirror": {
16767               "type": "string"
16768             },
16769             "apt-proxy": {
16770               "$ref": "#/definitions/Settings"
16771             },
16772             "authorized-keys": {
16773               "type": "string"
16774             },
16775             "provider-type": {
16776               "type": "string"
16777             },
16778             "proxy": {
16779               "$ref": "#/definitions/Settings"
16780             },
16781             "ssl-hostname-verification": {
16782               "type": "boolean"
16783             }
16784           },
16785           "additionalProperties": false,
16786           "required": [
16787             "provider-type",
16788             "authorized-keys",
16789             "ssl-hostname-verification",
16790             "proxy",
16791             "apt-proxy",
16792             "apt-mirror",
16793             "UpdateBehavior"
16794           ]
16795         },
16796         "ContainerManagerConfig": {
16797           "type": "object",
16798           "properties": {
16799             "config": {
16800               "type": "object",
16801               "patternProperties": {
16802                 ".*": {
16803                   "type": "string"
16804                 }
16805               }
16806             }
16807           },
16808           "additionalProperties": false,
16809           "required": [
16810             "config"
16811           ]
16812         },
16813         "ContainerManagerConfigParams": {
16814           "type": "object",
16815           "properties": {
16816             "type": {
16817               "type": "string"
16818             }
16819           },
16820           "additionalProperties": false,
16821           "required": [
16822             "type"
16823           ]
16824         },
16825         "ControllerConfigResult": {
16826           "type": "object",
16827           "properties": {
16828             "config": {
16829               "type": "object",
16830               "patternProperties": {
16831                 ".*": {
16832                   "type": "object",
16833                   "additionalProperties": true
16834                 }
16835               }
16836             }
16837           },
16838           "additionalProperties": false,
16839           "required": [
16840             "config"
16841           ]
16842         },
16843         "DeviceBridgeInfo": {
16844           "type": "object",
16845           "properties": {
16846             "bridge-name": {
16847               "type": "string"
16848             },
16849             "host-device-name": {
16850               "type": "string"
16851             }
16852           },
16853           "additionalProperties": false,
16854           "required": [
16855             "host-device-name",
16856             "bridge-name"
16857           ]
16858         },
16859         "DistributionGroupResult": {
16860           "type": "object",
16861           "properties": {
16862             "error": {
16863               "$ref": "#/definitions/Error"
16864             },
16865             "result": {
16866               "type": "array",
16867               "items": {
16868                 "type": "string"
16869               }
16870             }
16871           },
16872           "additionalProperties": false,
16873           "required": [
16874             "result"
16875           ]
16876         },
16877         "DistributionGroupResults": {
16878           "type": "object",
16879           "properties": {
16880             "results": {
16881               "type": "array",
16882               "items": {
16883                 "$ref": "#/definitions/DistributionGroupResult"
16884               }
16885             }
16886           },
16887           "additionalProperties": false,
16888           "required": [
16889             "results"
16890           ]
16891         },
16892         "Entities": {
16893           "type": "object",
16894           "properties": {
16895             "entities": {
16896               "type": "array",
16897               "items": {
16898                 "$ref": "#/definitions/Entity"
16899               }
16900             }
16901           },
16902           "additionalProperties": false,
16903           "required": [
16904             "entities"
16905           ]
16906         },
16907         "Entity": {
16908           "type": "object",
16909           "properties": {
16910             "tag": {
16911               "type": "string"
16912             }
16913           },
16914           "additionalProperties": false,
16915           "required": [
16916             "tag"
16917           ]
16918         },
16919         "EntityPassword": {
16920           "type": "object",
16921           "properties": {
16922             "password": {
16923               "type": "string"
16924             },
16925             "tag": {
16926               "type": "string"
16927             }
16928           },
16929           "additionalProperties": false,
16930           "required": [
16931             "tag",
16932             "password"
16933           ]
16934         },
16935         "EntityPasswords": {
16936           "type": "object",
16937           "properties": {
16938             "changes": {
16939               "type": "array",
16940               "items": {
16941                 "$ref": "#/definitions/EntityPassword"
16942               }
16943             }
16944           },
16945           "additionalProperties": false,
16946           "required": [
16947             "changes"
16948           ]
16949         },
16950         "EntityStatusArgs": {
16951           "type": "object",
16952           "properties": {
16953             "data": {
16954               "type": "object",
16955               "patternProperties": {
16956                 ".*": {
16957                   "type": "object",
16958                   "additionalProperties": true
16959                 }
16960               }
16961             },
16962             "info": {
16963               "type": "string"
16964             },
16965             "status": {
16966               "type": "string"
16967             },
16968             "tag": {
16969               "type": "string"
16970             }
16971           },
16972           "additionalProperties": false,
16973           "required": [
16974             "tag",
16975             "status",
16976             "info",
16977             "data"
16978           ]
16979         },
16980         "Error": {
16981           "type": "object",
16982           "properties": {
16983             "code": {
16984               "type": "string"
16985             },
16986             "info": {
16987               "$ref": "#/definitions/ErrorInfo"
16988             },
16989             "message": {
16990               "type": "string"
16991             }
16992           },
16993           "additionalProperties": false,
16994           "required": [
16995             "message",
16996             "code"
16997           ]
16998         },
16999         "ErrorInfo": {
17000           "type": "object",
17001           "properties": {
17002             "macaroon": {
17003               "$ref": "#/definitions/Macaroon"
17004             },
17005             "macaroon-path": {
17006               "type": "string"
17007             }
17008           },
17009           "additionalProperties": false
17010         },
17011         "ErrorResult": {
17012           "type": "object",
17013           "properties": {
17014             "error": {
17015               "$ref": "#/definitions/Error"
17016             }
17017           },
17018           "additionalProperties": false
17019         },
17020         "ErrorResults": {
17021           "type": "object",
17022           "properties": {
17023             "results": {
17024               "type": "array",
17025               "items": {
17026                 "$ref": "#/definitions/ErrorResult"
17027               }
17028             }
17029           },
17030           "additionalProperties": false,
17031           "required": [
17032             "results"
17033           ]
17034         },
17035         "FindToolsParams": {
17036           "type": "object",
17037           "properties": {
17038             "arch": {
17039               "type": "string"
17040             },
17041             "major": {
17042               "type": "integer"
17043             },
17044             "minor": {
17045               "type": "integer"
17046             },
17047             "number": {
17048               "$ref": "#/definitions/Number"
17049             },
17050             "series": {
17051               "type": "string"
17052             }
17053           },
17054           "additionalProperties": false,
17055           "required": [
17056             "number",
17057             "major",
17058             "minor",
17059             "arch",
17060             "series"
17061           ]
17062         },
17063         "FindToolsResult": {
17064           "type": "object",
17065           "properties": {
17066             "error": {
17067               "$ref": "#/definitions/Error"
17068             },
17069             "list": {
17070               "type": "array",
17071               "items": {
17072                 "$ref": "#/definitions/Tools"
17073               }
17074             }
17075           },
17076           "additionalProperties": false,
17077           "required": [
17078             "list"
17079           ]
17080         },
17081         "HardwareCharacteristics": {
17082           "type": "object",
17083           "properties": {
17084             "arch": {
17085               "type": "string"
17086             },
17087             "availability-zone": {
17088               "type": "string"
17089             },
17090             "cpu-cores": {
17091               "type": "integer"
17092             },
17093             "cpu-power": {
17094               "type": "integer"
17095             },
17096             "mem": {
17097               "type": "integer"
17098             },
17099             "root-disk": {
17100               "type": "integer"
17101             },
17102             "tags": {
17103               "type": "array",
17104               "items": {
17105                 "type": "string"
17106               }
17107             }
17108           },
17109           "additionalProperties": false
17110         },
17111         "HostNetworkChange": {
17112           "type": "object",
17113           "properties": {
17114             "error": {
17115               "$ref": "#/definitions/Error"
17116             },
17117             "new-bridges": {
17118               "type": "array",
17119               "items": {
17120                 "$ref": "#/definitions/DeviceBridgeInfo"
17121               }
17122             },
17123             "reconfigure-delay": {
17124               "type": "integer"
17125             }
17126           },
17127           "additionalProperties": false,
17128           "required": [
17129             "new-bridges",
17130             "reconfigure-delay"
17131           ]
17132         },
17133         "HostNetworkChangeResults": {
17134           "type": "object",
17135           "properties": {
17136             "results": {
17137               "type": "array",
17138               "items": {
17139                 "$ref": "#/definitions/HostNetworkChange"
17140               }
17141             }
17142           },
17143           "additionalProperties": false,
17144           "required": [
17145             "results"
17146           ]
17147         },
17148         "HostPort": {
17149           "type": "object",
17150           "properties": {
17151             "Address": {
17152               "$ref": "#/definitions/Address"
17153             },
17154             "port": {
17155               "type": "integer"
17156             }
17157           },
17158           "additionalProperties": false,
17159           "required": [
17160             "Address",
17161             "port"
17162           ]
17163         },
17164         "InstanceInfo": {
17165           "type": "object",
17166           "properties": {
17167             "characteristics": {
17168               "$ref": "#/definitions/HardwareCharacteristics"
17169             },
17170             "instance-id": {
17171               "type": "string"
17172             },
17173             "network-config": {
17174               "type": "array",
17175               "items": {
17176                 "$ref": "#/definitions/NetworkConfig"
17177               }
17178             },
17179             "nonce": {
17180               "type": "string"
17181             },
17182             "tag": {
17183               "type": "string"
17184             },
17185             "volume-attachments": {
17186               "type": "object",
17187               "patternProperties": {
17188                 ".*": {
17189                   "$ref": "#/definitions/VolumeAttachmentInfo"
17190                 }
17191               }
17192             },
17193             "volumes": {
17194               "type": "array",
17195               "items": {
17196                 "$ref": "#/definitions/Volume"
17197               }
17198             }
17199           },
17200           "additionalProperties": false,
17201           "required": [
17202             "tag",
17203             "instance-id",
17204             "nonce",
17205             "characteristics",
17206             "volumes",
17207             "volume-attachments",
17208             "network-config"
17209           ]
17210         },
17211         "InstancesInfo": {
17212           "type": "object",
17213           "properties": {
17214             "machines": {
17215               "type": "array",
17216               "items": {
17217                 "$ref": "#/definitions/InstanceInfo"
17218               }
17219             }
17220           },
17221           "additionalProperties": false,
17222           "required": [
17223             "machines"
17224           ]
17225         },
17226         "LifeResult": {
17227           "type": "object",
17228           "properties": {
17229             "error": {
17230               "$ref": "#/definitions/Error"
17231             },
17232             "life": {
17233               "type": "string"
17234             }
17235           },
17236           "additionalProperties": false,
17237           "required": [
17238             "life"
17239           ]
17240         },
17241         "LifeResults": {
17242           "type": "object",
17243           "properties": {
17244             "results": {
17245               "type": "array",
17246               "items": {
17247                 "$ref": "#/definitions/LifeResult"
17248               }
17249             }
17250           },
17251           "additionalProperties": false,
17252           "required": [
17253             "results"
17254           ]
17255         },
17256         "Macaroon": {
17257           "type": "object",
17258           "additionalProperties": false
17259         },
17260         "MachineContainers": {
17261           "type": "object",
17262           "properties": {
17263             "container-types": {
17264               "type": "array",
17265               "items": {
17266                 "type": "string"
17267               }
17268             },
17269             "machine-tag": {
17270               "type": "string"
17271             }
17272           },
17273           "additionalProperties": false,
17274           "required": [
17275             "machine-tag",
17276             "container-types"
17277           ]
17278         },
17279         "MachineContainersParams": {
17280           "type": "object",
17281           "properties": {
17282             "params": {
17283               "type": "array",
17284               "items": {
17285                 "$ref": "#/definitions/MachineContainers"
17286               }
17287             }
17288           },
17289           "additionalProperties": false,
17290           "required": [
17291             "params"
17292           ]
17293         },
17294         "MachineNetworkConfigResult": {
17295           "type": "object",
17296           "properties": {
17297             "error": {
17298               "$ref": "#/definitions/Error"
17299             },
17300             "info": {
17301               "type": "array",
17302               "items": {
17303                 "$ref": "#/definitions/NetworkConfig"
17304               }
17305             }
17306           },
17307           "additionalProperties": false,
17308           "required": [
17309             "info"
17310           ]
17311         },
17312         "MachineNetworkConfigResults": {
17313           "type": "object",
17314           "properties": {
17315             "results": {
17316               "type": "array",
17317               "items": {
17318                 "$ref": "#/definitions/MachineNetworkConfigResult"
17319               }
17320             }
17321           },
17322           "additionalProperties": false,
17323           "required": [
17324             "results"
17325           ]
17326         },
17327         "ModelConfigResult": {
17328           "type": "object",
17329           "properties": {
17330             "config": {
17331               "type": "object",
17332               "patternProperties": {
17333                 ".*": {
17334                   "type": "object",
17335                   "additionalProperties": true
17336                 }
17337               }
17338             }
17339           },
17340           "additionalProperties": false,
17341           "required": [
17342             "config"
17343           ]
17344         },
17345         "NetworkConfig": {
17346           "type": "object",
17347           "properties": {
17348             "address": {
17349               "type": "string"
17350             },
17351             "cidr": {
17352               "type": "string"
17353             },
17354             "config-type": {
17355               "type": "string"
17356             },
17357             "device-index": {
17358               "type": "integer"
17359             },
17360             "disabled": {
17361               "type": "boolean"
17362             },
17363             "dns-search-domains": {
17364               "type": "array",
17365               "items": {
17366                 "type": "string"
17367               }
17368             },
17369             "dns-servers": {
17370               "type": "array",
17371               "items": {
17372                 "type": "string"
17373               }
17374             },
17375             "gateway-address": {
17376               "type": "string"
17377             },
17378             "interface-name": {
17379               "type": "string"
17380             },
17381             "interface-type": {
17382               "type": "string"
17383             },
17384             "mac-address": {
17385               "type": "string"
17386             },
17387             "mtu": {
17388               "type": "integer"
17389             },
17390             "no-auto-start": {
17391               "type": "boolean"
17392             },
17393             "parent-interface-name": {
17394               "type": "string"
17395             },
17396             "provider-address-id": {
17397               "type": "string"
17398             },
17399             "provider-id": {
17400               "type": "string"
17401             },
17402             "provider-space-id": {
17403               "type": "string"
17404             },
17405             "provider-subnet-id": {
17406               "type": "string"
17407             },
17408             "provider-vlan-id": {
17409               "type": "string"
17410             },
17411             "routes": {
17412               "type": "array",
17413               "items": {
17414                 "$ref": "#/definitions/NetworkRoute"
17415               }
17416             },
17417             "vlan-tag": {
17418               "type": "integer"
17419             }
17420           },
17421           "additionalProperties": false,
17422           "required": [
17423             "device-index",
17424             "mac-address",
17425             "cidr",
17426             "mtu",
17427             "provider-id",
17428             "provider-subnet-id",
17429             "provider-space-id",
17430             "provider-address-id",
17431             "provider-vlan-id",
17432             "vlan-tag",
17433             "interface-name",
17434             "parent-interface-name",
17435             "interface-type",
17436             "disabled"
17437           ]
17438         },
17439         "NetworkRoute": {
17440           "type": "object",
17441           "properties": {
17442             "destination-cidr": {
17443               "type": "string"
17444             },
17445             "gateway-ip": {
17446               "type": "string"
17447             },
17448             "metric": {
17449               "type": "integer"
17450             }
17451           },
17452           "additionalProperties": false,
17453           "required": [
17454             "destination-cidr",
17455             "gateway-ip",
17456             "metric"
17457           ]
17458         },
17459         "NotifyWatchResult": {
17460           "type": "object",
17461           "properties": {
17462             "NotifyWatcherId": {
17463               "type": "string"
17464             },
17465             "error": {
17466               "$ref": "#/definitions/Error"
17467             }
17468           },
17469           "additionalProperties": false,
17470           "required": [
17471             "NotifyWatcherId"
17472           ]
17473         },
17474         "Number": {
17475           "type": "object",
17476           "properties": {
17477             "Build": {
17478               "type": "integer"
17479             },
17480             "Major": {
17481               "type": "integer"
17482             },
17483             "Minor": {
17484               "type": "integer"
17485             },
17486             "Patch": {
17487               "type": "integer"
17488             },
17489             "Tag": {
17490               "type": "string"
17491             }
17492           },
17493           "additionalProperties": false,
17494           "required": [
17495             "Major",
17496             "Minor",
17497             "Tag",
17498             "Patch",
17499             "Build"
17500           ]
17501         },
17502         "ProvisioningInfo": {
17503           "type": "object",
17504           "properties": {
17505             "constraints": {
17506               "$ref": "#/definitions/Value"
17507             },
17508             "controller-config": {
17509               "type": "object",
17510               "patternProperties": {
17511                 ".*": {
17512                   "type": "object",
17513                   "additionalProperties": true
17514                 }
17515               }
17516             },
17517             "endpoint-bindings": {
17518               "type": "object",
17519               "patternProperties": {
17520                 ".*": {
17521                   "type": "string"
17522                 }
17523               }
17524             },
17525             "image-metadata": {
17526               "type": "array",
17527               "items": {
17528                 "$ref": "#/definitions/CloudImageMetadata"
17529               }
17530             },
17531             "jobs": {
17532               "type": "array",
17533               "items": {
17534                 "type": "string"
17535               }
17536             },
17537             "placement": {
17538               "type": "string"
17539             },
17540             "series": {
17541               "type": "string"
17542             },
17543             "subnets-to-zones": {
17544               "type": "object",
17545               "patternProperties": {
17546                 ".*": {
17547                   "type": "array",
17548                   "items": {
17549                     "type": "string"
17550                   }
17551                 }
17552               }
17553             },
17554             "tags": {
17555               "type": "object",
17556               "patternProperties": {
17557                 ".*": {
17558                   "type": "string"
17559                 }
17560               }
17561             },
17562             "volumes": {
17563               "type": "array",
17564               "items": {
17565                 "$ref": "#/definitions/VolumeParams"
17566               }
17567             }
17568           },
17569           "additionalProperties": false,
17570           "required": [
17571             "constraints",
17572             "series",
17573             "placement",
17574             "jobs"
17575           ]
17576         },
17577         "ProvisioningInfoResult": {
17578           "type": "object",
17579           "properties": {
17580             "error": {
17581               "$ref": "#/definitions/Error"
17582             },
17583             "result": {
17584               "$ref": "#/definitions/ProvisioningInfo"
17585             }
17586           },
17587           "additionalProperties": false,
17588           "required": [
17589             "result"
17590           ]
17591         },
17592         "ProvisioningInfoResults": {
17593           "type": "object",
17594           "properties": {
17595             "results": {
17596               "type": "array",
17597               "items": {
17598                 "$ref": "#/definitions/ProvisioningInfoResult"
17599               }
17600             }
17601           },
17602           "additionalProperties": false,
17603           "required": [
17604             "results"
17605           ]
17606         },
17607         "SetMachineNetworkConfig": {
17608           "type": "object",
17609           "properties": {
17610             "config": {
17611               "type": "array",
17612               "items": {
17613                 "$ref": "#/definitions/NetworkConfig"
17614               }
17615             },
17616             "tag": {
17617               "type": "string"
17618             }
17619           },
17620           "additionalProperties": false,
17621           "required": [
17622             "tag",
17623             "config"
17624           ]
17625         },
17626         "SetStatus": {
17627           "type": "object",
17628           "properties": {
17629             "entities": {
17630               "type": "array",
17631               "items": {
17632                 "$ref": "#/definitions/EntityStatusArgs"
17633               }
17634             }
17635           },
17636           "additionalProperties": false,
17637           "required": [
17638             "entities"
17639           ]
17640         },
17641         "Settings": {
17642           "type": "object",
17643           "properties": {
17644             "Ftp": {
17645               "type": "string"
17646             },
17647             "Http": {
17648               "type": "string"
17649             },
17650             "Https": {
17651               "type": "string"
17652             },
17653             "NoProxy": {
17654               "type": "string"
17655             }
17656           },
17657           "additionalProperties": false,
17658           "required": [
17659             "Http",
17660             "Https",
17661             "Ftp",
17662             "NoProxy"
17663           ]
17664         },
17665         "StatusResult": {
17666           "type": "object",
17667           "properties": {
17668             "data": {
17669               "type": "object",
17670               "patternProperties": {
17671                 ".*": {
17672                   "type": "object",
17673                   "additionalProperties": true
17674                 }
17675               }
17676             },
17677             "error": {
17678               "$ref": "#/definitions/Error"
17679             },
17680             "id": {
17681               "type": "string"
17682             },
17683             "info": {
17684               "type": "string"
17685             },
17686             "life": {
17687               "type": "string"
17688             },
17689             "since": {
17690               "type": "string",
17691               "format": "date-time"
17692             },
17693             "status": {
17694               "type": "string"
17695             }
17696           },
17697           "additionalProperties": false,
17698           "required": [
17699             "id",
17700             "life",
17701             "status",
17702             "info",
17703             "data",
17704             "since"
17705           ]
17706         },
17707         "StatusResults": {
17708           "type": "object",
17709           "properties": {
17710             "results": {
17711               "type": "array",
17712               "items": {
17713                 "$ref": "#/definitions/StatusResult"
17714               }
17715             }
17716           },
17717           "additionalProperties": false,
17718           "required": [
17719             "results"
17720           ]
17721         },
17722         "StringResult": {
17723           "type": "object",
17724           "properties": {
17725             "error": {
17726               "$ref": "#/definitions/Error"
17727             },
17728             "result": {
17729               "type": "string"
17730             }
17731           },
17732           "additionalProperties": false,
17733           "required": [
17734             "result"
17735           ]
17736         },
17737         "StringResults": {
17738           "type": "object",
17739           "properties": {
17740             "results": {
17741               "type": "array",
17742               "items": {
17743                 "$ref": "#/definitions/StringResult"
17744               }
17745             }
17746           },
17747           "additionalProperties": false,
17748           "required": [
17749             "results"
17750           ]
17751         },
17752         "StringsResult": {
17753           "type": "object",
17754           "properties": {
17755             "error": {
17756               "$ref": "#/definitions/Error"
17757             },
17758             "result": {
17759               "type": "array",
17760               "items": {
17761                 "type": "string"
17762               }
17763             }
17764           },
17765           "additionalProperties": false
17766         },
17767         "StringsWatchResult": {
17768           "type": "object",
17769           "properties": {
17770             "changes": {
17771               "type": "array",
17772               "items": {
17773                 "type": "string"
17774               }
17775             },
17776             "error": {
17777               "$ref": "#/definitions/Error"
17778             },
17779             "watcher-id": {
17780               "type": "string"
17781             }
17782           },
17783           "additionalProperties": false,
17784           "required": [
17785             "watcher-id"
17786           ]
17787         },
17788         "StringsWatchResults": {
17789           "type": "object",
17790           "properties": {
17791             "results": {
17792               "type": "array",
17793               "items": {
17794                 "$ref": "#/definitions/StringsWatchResult"
17795               }
17796             }
17797           },
17798           "additionalProperties": false,
17799           "required": [
17800             "results"
17801           ]
17802         },
17803         "Tools": {
17804           "type": "object",
17805           "properties": {
17806             "sha256": {
17807               "type": "string"
17808             },
17809             "size": {
17810               "type": "integer"
17811             },
17812             "url": {
17813               "type": "string"
17814             },
17815             "version": {
17816               "$ref": "#/definitions/Binary"
17817             }
17818           },
17819           "additionalProperties": false,
17820           "required": [
17821             "version",
17822             "url",
17823             "size"
17824           ]
17825         },
17826         "ToolsResult": {
17827           "type": "object",
17828           "properties": {
17829             "disable-ssl-hostname-verification": {
17830               "type": "boolean"
17831             },
17832             "error": {
17833               "$ref": "#/definitions/Error"
17834             },
17835             "tools": {
17836               "type": "array",
17837               "items": {
17838                 "$ref": "#/definitions/Tools"
17839               }
17840             }
17841           },
17842           "additionalProperties": false,
17843           "required": [
17844             "tools",
17845             "disable-ssl-hostname-verification"
17846           ]
17847         },
17848         "ToolsResults": {
17849           "type": "object",
17850           "properties": {
17851             "results": {
17852               "type": "array",
17853               "items": {
17854                 "$ref": "#/definitions/ToolsResult"
17855               }
17856             }
17857           },
17858           "additionalProperties": false,
17859           "required": [
17860             "results"
17861           ]
17862         },
17863         "UpdateBehavior": {
17864           "type": "object",
17865           "properties": {
17866             "enable-os-refresh-update": {
17867               "type": "boolean"
17868             },
17869             "enable-os-upgrade": {
17870               "type": "boolean"
17871             }
17872           },
17873           "additionalProperties": false,
17874           "required": [
17875             "enable-os-refresh-update",
17876             "enable-os-upgrade"
17877           ]
17878         },
17879         "Value": {
17880           "type": "object",
17881           "properties": {
17882             "arch": {
17883               "type": "string"
17884             },
17885             "container": {
17886               "type": "string"
17887             },
17888             "cores": {
17889               "type": "integer"
17890             },
17891             "cpu-power": {
17892               "type": "integer"
17893             },
17894             "instance-type": {
17895               "type": "string"
17896             },
17897             "mem": {
17898               "type": "integer"
17899             },
17900             "root-disk": {
17901               "type": "integer"
17902             },
17903             "spaces": {
17904               "type": "array",
17905               "items": {
17906                 "type": "string"
17907               }
17908             },
17909             "tags": {
17910               "type": "array",
17911               "items": {
17912                 "type": "string"
17913               }
17914             },
17915             "virt-type": {
17916               "type": "string"
17917             }
17918           },
17919           "additionalProperties": false
17920         },
17921         "Volume": {
17922           "type": "object",
17923           "properties": {
17924             "info": {
17925               "$ref": "#/definitions/VolumeInfo"
17926             },
17927             "volume-tag": {
17928               "type": "string"
17929             }
17930           },
17931           "additionalProperties": false,
17932           "required": [
17933             "volume-tag",
17934             "info"
17935           ]
17936         },
17937         "VolumeAttachmentInfo": {
17938           "type": "object",
17939           "properties": {
17940             "bus-address": {
17941               "type": "string"
17942             },
17943             "device-link": {
17944               "type": "string"
17945             },
17946             "device-name": {
17947               "type": "string"
17948             },
17949             "read-only": {
17950               "type": "boolean"
17951             }
17952           },
17953           "additionalProperties": false
17954         },
17955         "VolumeAttachmentParams": {
17956           "type": "object",
17957           "properties": {
17958             "instance-id": {
17959               "type": "string"
17960             },
17961             "machine-tag": {
17962               "type": "string"
17963             },
17964             "provider": {
17965               "type": "string"
17966             },
17967             "read-only": {
17968               "type": "boolean"
17969             },
17970             "volume-id": {
17971               "type": "string"
17972             },
17973             "volume-tag": {
17974               "type": "string"
17975             }
17976           },
17977           "additionalProperties": false,
17978           "required": [
17979             "volume-tag",
17980             "machine-tag",
17981             "provider"
17982           ]
17983         },
17984         "VolumeInfo": {
17985           "type": "object",
17986           "properties": {
17987             "hardware-id": {
17988               "type": "string"
17989             },
17990             "persistent": {
17991               "type": "boolean"
17992             },
17993             "pool": {
17994               "type": "string"
17995             },
17996             "size": {
17997               "type": "integer"
17998             },
17999             "volume-id": {
18000               "type": "string"
18001             }
18002           },
18003           "additionalProperties": false,
18004           "required": [
18005             "volume-id",
18006             "size",
18007             "persistent"
18008           ]
18009         },
18010         "VolumeParams": {
18011           "type": "object",
18012           "properties": {
18013             "attachment": {
18014               "$ref": "#/definitions/VolumeAttachmentParams"
18015             },
18016             "attributes": {
18017               "type": "object",
18018               "patternProperties": {
18019                 ".*": {
18020                   "type": "object",
18021                   "additionalProperties": true
18022                 }
18023               }
18024             },
18025             "provider": {
18026               "type": "string"
18027             },
18028             "size": {
18029               "type": "integer"
18030             },
18031             "tags": {
18032               "type": "object",
18033               "patternProperties": {
18034                 ".*": {
18035                   "type": "string"
18036                 }
18037               }
18038             },
18039             "volume-tag": {
18040               "type": "string"
18041             }
18042           },
18043           "additionalProperties": false,
18044           "required": [
18045             "volume-tag",
18046             "size",
18047             "provider"
18048           ]
18049         },
18050         "WatchContainer": {
18051           "type": "object",
18052           "properties": {
18053             "container-type": {
18054               "type": "string"
18055             },
18056             "machine-tag": {
18057               "type": "string"
18058             }
18059           },
18060           "additionalProperties": false,
18061           "required": [
18062             "machine-tag",
18063             "container-type"
18064           ]
18065         },
18066         "WatchContainers": {
18067           "type": "object",
18068           "properties": {
18069             "params": {
18070               "type": "array",
18071               "items": {
18072                 "$ref": "#/definitions/WatchContainer"
18073               }
18074             }
18075           },
18076           "additionalProperties": false,
18077           "required": [
18078             "params"
18079           ]
18080         }
18081       }
18082     }
18083   },
18084   {
18085     "Name": "ProxyUpdater",
18086     "Version": 1,
18087     "Schema": {
18088       "type": "object",
18089       "properties": {
18090         "ProxyConfig": {
18091           "type": "object",
18092           "properties": {
18093             "Params": {
18094               "$ref": "#/definitions/Entities"
18095             },
18096             "Result": {
18097               "$ref": "#/definitions/ProxyConfigResults"
18098             }
18099           }
18100         },
18101         "WatchForProxyConfigAndAPIHostPortChanges": {
18102           "type": "object",
18103           "properties": {
18104             "Params": {
18105               "$ref": "#/definitions/Entities"
18106             },
18107             "Result": {
18108               "$ref": "#/definitions/NotifyWatchResults"
18109             }
18110           }
18111         }
18112       },
18113       "definitions": {
18114         "Entities": {
18115           "type": "object",
18116           "properties": {
18117             "entities": {
18118               "type": "array",
18119               "items": {
18120                 "$ref": "#/definitions/Entity"
18121               }
18122             }
18123           },
18124           "additionalProperties": false,
18125           "required": [
18126             "entities"
18127           ]
18128         },
18129         "Entity": {
18130           "type": "object",
18131           "properties": {
18132             "tag": {
18133               "type": "string"
18134             }
18135           },
18136           "additionalProperties": false,
18137           "required": [
18138             "tag"
18139           ]
18140         },
18141         "Error": {
18142           "type": "object",
18143           "properties": {
18144             "code": {
18145               "type": "string"
18146             },
18147             "info": {
18148               "$ref": "#/definitions/ErrorInfo"
18149             },
18150             "message": {
18151               "type": "string"
18152             }
18153           },
18154           "additionalProperties": false,
18155           "required": [
18156             "message",
18157             "code"
18158           ]
18159         },
18160         "ErrorInfo": {
18161           "type": "object",
18162           "properties": {
18163             "macaroon": {
18164               "$ref": "#/definitions/Macaroon"
18165             },
18166             "macaroon-path": {
18167               "type": "string"
18168             }
18169           },
18170           "additionalProperties": false
18171         },
18172         "Macaroon": {
18173           "type": "object",
18174           "additionalProperties": false
18175         },
18176         "NotifyWatchResult": {
18177           "type": "object",
18178           "properties": {
18179             "NotifyWatcherId": {
18180               "type": "string"
18181             },
18182             "error": {
18183               "$ref": "#/definitions/Error"
18184             }
18185           },
18186           "additionalProperties": false,
18187           "required": [
18188             "NotifyWatcherId"
18189           ]
18190         },
18191         "NotifyWatchResults": {
18192           "type": "object",
18193           "properties": {
18194             "results": {
18195               "type": "array",
18196               "items": {
18197                 "$ref": "#/definitions/NotifyWatchResult"
18198               }
18199             }
18200           },
18201           "additionalProperties": false,
18202           "required": [
18203             "results"
18204           ]
18205         },
18206         "ProxyConfig": {
18207           "type": "object",
18208           "properties": {
18209             "ftp": {
18210               "type": "string"
18211             },
18212             "http": {
18213               "type": "string"
18214             },
18215             "https": {
18216               "type": "string"
18217             },
18218             "no-proxy": {
18219               "type": "string"
18220             }
18221           },
18222           "additionalProperties": false,
18223           "required": [
18224             "http",
18225             "https",
18226             "ftp",
18227             "no-proxy"
18228           ]
18229         },
18230         "ProxyConfigResult": {
18231           "type": "object",
18232           "properties": {
18233             "apt-proxy-settings": {
18234               "$ref": "#/definitions/ProxyConfig"
18235             },
18236             "error": {
18237               "$ref": "#/definitions/Error"
18238             },
18239             "proxy-settings": {
18240               "$ref": "#/definitions/ProxyConfig"
18241             }
18242           },
18243           "additionalProperties": false,
18244           "required": [
18245             "proxy-settings",
18246             "apt-proxy-settings"
18247           ]
18248         },
18249         "ProxyConfigResults": {
18250           "type": "object",
18251           "properties": {
18252             "results": {
18253               "type": "array",
18254               "items": {
18255                 "$ref": "#/definitions/ProxyConfigResult"
18256               }
18257             }
18258           },
18259           "additionalProperties": false,
18260           "required": [
18261             "results"
18262           ]
18263         }
18264       }
18265     }
18266   },
18267   {
18268     "Name": "Reboot",
18269     "Version": 2,
18270     "Schema": {
18271       "type": "object",
18272       "properties": {
18273         "ClearReboot": {
18274           "type": "object",
18275           "properties": {
18276             "Params": {
18277               "$ref": "#/definitions/Entities"
18278             },
18279             "Result": {
18280               "$ref": "#/definitions/ErrorResults"
18281             }
18282           }
18283         },
18284         "GetRebootAction": {
18285           "type": "object",
18286           "properties": {
18287             "Params": {
18288               "$ref": "#/definitions/Entities"
18289             },
18290             "Result": {
18291               "$ref": "#/definitions/RebootActionResults"
18292             }
18293           }
18294         },
18295         "RequestReboot": {
18296           "type": "object",
18297           "properties": {
18298             "Params": {
18299               "$ref": "#/definitions/Entities"
18300             },
18301             "Result": {
18302               "$ref": "#/definitions/ErrorResults"
18303             }
18304           }
18305         },
18306         "WatchForRebootEvent": {
18307           "type": "object",
18308           "properties": {
18309             "Result": {
18310               "$ref": "#/definitions/NotifyWatchResult"
18311             }
18312           }
18313         }
18314       },
18315       "definitions": {
18316         "Entities": {
18317           "type": "object",
18318           "properties": {
18319             "entities": {
18320               "type": "array",
18321               "items": {
18322                 "$ref": "#/definitions/Entity"
18323               }
18324             }
18325           },
18326           "additionalProperties": false,
18327           "required": [
18328             "entities"
18329           ]
18330         },
18331         "Entity": {
18332           "type": "object",
18333           "properties": {
18334             "tag": {
18335               "type": "string"
18336             }
18337           },
18338           "additionalProperties": false,
18339           "required": [
18340             "tag"
18341           ]
18342         },
18343         "Error": {
18344           "type": "object",
18345           "properties": {
18346             "code": {
18347               "type": "string"
18348             },
18349             "info": {
18350               "$ref": "#/definitions/ErrorInfo"
18351             },
18352             "message": {
18353               "type": "string"
18354             }
18355           },
18356           "additionalProperties": false,
18357           "required": [
18358             "message",
18359             "code"
18360           ]
18361         },
18362         "ErrorInfo": {
18363           "type": "object",
18364           "properties": {
18365             "macaroon": {
18366               "$ref": "#/definitions/Macaroon"
18367             },
18368             "macaroon-path": {
18369               "type": "string"
18370             }
18371           },
18372           "additionalProperties": false
18373         },
18374         "ErrorResult": {
18375           "type": "object",
18376           "properties": {
18377             "error": {
18378               "$ref": "#/definitions/Error"
18379             }
18380           },
18381           "additionalProperties": false
18382         },
18383         "ErrorResults": {
18384           "type": "object",
18385           "properties": {
18386             "results": {
18387               "type": "array",
18388               "items": {
18389                 "$ref": "#/definitions/ErrorResult"
18390               }
18391             }
18392           },
18393           "additionalProperties": false,
18394           "required": [
18395             "results"
18396           ]
18397         },
18398         "Macaroon": {
18399           "type": "object",
18400           "additionalProperties": false
18401         },
18402         "NotifyWatchResult": {
18403           "type": "object",
18404           "properties": {
18405             "NotifyWatcherId": {
18406               "type": "string"
18407             },
18408             "error": {
18409               "$ref": "#/definitions/Error"
18410             }
18411           },
18412           "additionalProperties": false,
18413           "required": [
18414             "NotifyWatcherId"
18415           ]
18416         },
18417         "RebootActionResult": {
18418           "type": "object",
18419           "properties": {
18420             "error": {
18421               "$ref": "#/definitions/Error"
18422             },
18423             "result": {
18424               "type": "string"
18425             }
18426           },
18427           "additionalProperties": false
18428         },
18429         "RebootActionResults": {
18430           "type": "object",
18431           "properties": {
18432             "results": {
18433               "type": "array",
18434               "items": {
18435                 "$ref": "#/definitions/RebootActionResult"
18436               }
18437             }
18438           },
18439           "additionalProperties": false
18440         }
18441       }
18442     }
18443   },
18444   {
18445     "Name": "RelationUnitsWatcher",
18446     "Version": 1,
18447     "Schema": {
18448       "type": "object",
18449       "properties": {
18450         "Next": {
18451           "type": "object",
18452           "properties": {
18453             "Result": {
18454               "$ref": "#/definitions/RelationUnitsWatchResult"
18455             }
18456           }
18457         },
18458         "Stop": {
18459           "type": "object"
18460         }
18461       },
18462       "definitions": {
18463         "Error": {
18464           "type": "object",
18465           "properties": {
18466             "code": {
18467               "type": "string"
18468             },
18469             "info": {
18470               "$ref": "#/definitions/ErrorInfo"
18471             },
18472             "message": {
18473               "type": "string"
18474             }
18475           },
18476           "additionalProperties": false,
18477           "required": [
18478             "message",
18479             "code"
18480           ]
18481         },
18482         "ErrorInfo": {
18483           "type": "object",
18484           "properties": {
18485             "macaroon": {
18486               "$ref": "#/definitions/Macaroon"
18487             },
18488             "macaroon-path": {
18489               "type": "string"
18490             }
18491           },
18492           "additionalProperties": false
18493         },
18494         "Macaroon": {
18495           "type": "object",
18496           "additionalProperties": false
18497         },
18498         "RelationUnitsChange": {
18499           "type": "object",
18500           "properties": {
18501             "changed": {
18502               "type": "object",
18503               "patternProperties": {
18504                 ".*": {
18505                   "$ref": "#/definitions/UnitSettings"
18506                 }
18507               }
18508             },
18509             "departed": {
18510               "type": "array",
18511               "items": {
18512                 "type": "string"
18513               }
18514             }
18515           },
18516           "additionalProperties": false,
18517           "required": [
18518             "changed"
18519           ]
18520         },
18521         "RelationUnitsWatchResult": {
18522           "type": "object",
18523           "properties": {
18524             "changes": {
18525               "$ref": "#/definitions/RelationUnitsChange"
18526             },
18527             "error": {
18528               "$ref": "#/definitions/Error"
18529             },
18530             "watcher-id": {
18531               "type": "string"
18532             }
18533           },
18534           "additionalProperties": false,
18535           "required": [
18536             "watcher-id",
18537             "changes"
18538           ]
18539         },
18540         "UnitSettings": {
18541           "type": "object",
18542           "properties": {
18543             "version": {
18544               "type": "integer"
18545             }
18546           },
18547           "additionalProperties": false,
18548           "required": [
18549             "version"
18550           ]
18551         }
18552       }
18553     }
18554   },
18555   {
18556     "Name": "Resources",
18557     "Version": 1,
18558     "Schema": {
18559       "type": "object",
18560       "properties": {
18561         "AddPendingResources": {
18562           "type": "object",
18563           "properties": {
18564             "Params": {
18565               "$ref": "#/definitions/AddPendingResourcesArgs"
18566             },
18567             "Result": {
18568               "$ref": "#/definitions/AddPendingResourcesResult"
18569             }
18570           }
18571         },
18572         "ListResources": {
18573           "type": "object",
18574           "properties": {
18575             "Params": {
18576               "$ref": "#/definitions/ListResourcesArgs"
18577             },
18578             "Result": {
18579               "$ref": "#/definitions/ResourcesResults"
18580             }
18581           }
18582         }
18583       },
18584       "definitions": {
18585         "AddCharmWithAuthorization": {
18586           "type": "object",
18587           "properties": {
18588             "channel": {
18589               "type": "string"
18590             },
18591             "macaroon": {
18592               "$ref": "#/definitions/Macaroon"
18593             },
18594             "url": {
18595               "type": "string"
18596             }
18597           },
18598           "additionalProperties": false,
18599           "required": [
18600             "url",
18601             "channel",
18602             "macaroon"
18603           ]
18604         },
18605         "AddPendingResourcesArgs": {
18606           "type": "object",
18607           "properties": {
18608             "AddCharmWithAuthorization": {
18609               "$ref": "#/definitions/AddCharmWithAuthorization"
18610             },
18611             "Entity": {
18612               "$ref": "#/definitions/Entity"
18613             },
18614             "resources": {
18615               "type": "array",
18616               "items": {
18617                 "$ref": "#/definitions/CharmResource"
18618               }
18619             }
18620           },
18621           "additionalProperties": false,
18622           "required": [
18623             "Entity",
18624             "AddCharmWithAuthorization",
18625             "resources"
18626           ]
18627         },
18628         "AddPendingResourcesResult": {
18629           "type": "object",
18630           "properties": {
18631             "ErrorResult": {
18632               "$ref": "#/definitions/ErrorResult"
18633             },
18634             "pending-ids": {
18635               "type": "array",
18636               "items": {
18637                 "type": "string"
18638               }
18639             }
18640           },
18641           "additionalProperties": false,
18642           "required": [
18643             "ErrorResult",
18644             "pending-ids"
18645           ]
18646         },
18647         "CharmResource": {
18648           "type": "object",
18649           "properties": {
18650             "description": {
18651               "type": "string"
18652             },
18653             "fingerprint": {
18654               "type": "array",
18655               "items": {
18656                 "type": "integer"
18657               }
18658             },
18659             "name": {
18660               "type": "string"
18661             },
18662             "origin": {
18663               "type": "string"
18664             },
18665             "path": {
18666               "type": "string"
18667             },
18668             "revision": {
18669               "type": "integer"
18670             },
18671             "size": {
18672               "type": "integer"
18673             },
18674             "type": {
18675               "type": "string"
18676             }
18677           },
18678           "additionalProperties": false,
18679           "required": [
18680             "name",
18681             "type",
18682             "path",
18683             "origin",
18684             "revision",
18685             "fingerprint",
18686             "size"
18687           ]
18688         },
18689         "Entity": {
18690           "type": "object",
18691           "properties": {
18692             "tag": {
18693               "type": "string"
18694             }
18695           },
18696           "additionalProperties": false,
18697           "required": [
18698             "tag"
18699           ]
18700         },
18701         "Error": {
18702           "type": "object",
18703           "properties": {
18704             "code": {
18705               "type": "string"
18706             },
18707             "info": {
18708               "$ref": "#/definitions/ErrorInfo"
18709             },
18710             "message": {
18711               "type": "string"
18712             }
18713           },
18714           "additionalProperties": false,
18715           "required": [
18716             "message",
18717             "code"
18718           ]
18719         },
18720         "ErrorInfo": {
18721           "type": "object",
18722           "properties": {
18723             "macaroon": {
18724               "$ref": "#/definitions/Macaroon"
18725             },
18726             "macaroon-path": {
18727               "type": "string"
18728             }
18729           },
18730           "additionalProperties": false
18731         },
18732         "ErrorResult": {
18733           "type": "object",
18734           "properties": {
18735             "error": {
18736               "$ref": "#/definitions/Error"
18737             }
18738           },
18739           "additionalProperties": false
18740         },
18741         "ListResourcesArgs": {
18742           "type": "object",
18743           "properties": {
18744             "entities": {
18745               "type": "array",
18746               "items": {
18747                 "$ref": "#/definitions/Entity"
18748               }
18749             }
18750           },
18751           "additionalProperties": false,
18752           "required": [
18753             "entities"
18754           ]
18755         },
18756         "Macaroon": {
18757           "type": "object",
18758           "additionalProperties": false
18759         },
18760         "Resource": {
18761           "type": "object",
18762           "properties": {
18763             "CharmResource": {
18764               "$ref": "#/definitions/CharmResource"
18765             },
18766             "application": {
18767               "type": "string"
18768             },
18769             "id": {
18770               "type": "string"
18771             },
18772             "pending-id": {
18773               "type": "string"
18774             },
18775             "timestamp": {
18776               "type": "string",
18777               "format": "date-time"
18778             },
18779             "username": {
18780               "type": "string"
18781             }
18782           },
18783           "additionalProperties": false,
18784           "required": [
18785             "CharmResource",
18786             "id",
18787             "pending-id",
18788             "application",
18789             "username",
18790             "timestamp"
18791           ]
18792         },
18793         "ResourcesResult": {
18794           "type": "object",
18795           "properties": {
18796             "ErrorResult": {
18797               "$ref": "#/definitions/ErrorResult"
18798             },
18799             "charm-store-resources": {
18800               "type": "array",
18801               "items": {
18802                 "$ref": "#/definitions/CharmResource"
18803               }
18804             },
18805             "resources": {
18806               "type": "array",
18807               "items": {
18808                 "$ref": "#/definitions/Resource"
18809               }
18810             },
18811             "unit-resources": {
18812               "type": "array",
18813               "items": {
18814                 "$ref": "#/definitions/UnitResources"
18815               }
18816             }
18817           },
18818           "additionalProperties": false,
18819           "required": [
18820             "ErrorResult",
18821             "resources",
18822             "charm-store-resources",
18823             "unit-resources"
18824           ]
18825         },
18826         "ResourcesResults": {
18827           "type": "object",
18828           "properties": {
18829             "results": {
18830               "type": "array",
18831               "items": {
18832                 "$ref": "#/definitions/ResourcesResult"
18833               }
18834             }
18835           },
18836           "additionalProperties": false,
18837           "required": [
18838             "results"
18839           ]
18840         },
18841         "UnitResources": {
18842           "type": "object",
18843           "properties": {
18844             "Entity": {
18845               "$ref": "#/definitions/Entity"
18846             },
18847             "download-progress": {
18848               "type": "object",
18849               "patternProperties": {
18850                 ".*": {
18851                   "type": "integer"
18852                 }
18853               }
18854             },
18855             "resources": {
18856               "type": "array",
18857               "items": {
18858                 "$ref": "#/definitions/Resource"
18859               }
18860             }
18861           },
18862           "additionalProperties": false,
18863           "required": [
18864             "Entity",
18865             "resources",
18866             "download-progress"
18867           ]
18868         }
18869       }
18870     }
18871   },
18872   {
18873     "Name": "ResourcesHookContext",
18874     "Version": 1,
18875     "Schema": {
18876       "type": "object",
18877       "properties": {
18878         "GetResourceInfo": {
18879           "type": "object",
18880           "properties": {
18881             "Params": {
18882               "$ref": "#/definitions/ListUnitResourcesArgs"
18883             },
18884             "Result": {
18885               "$ref": "#/definitions/UnitResourcesResult"
18886             }
18887           }
18888         }
18889       },
18890       "definitions": {
18891         "CharmResource": {
18892           "type": "object",
18893           "properties": {
18894             "description": {
18895               "type": "string"
18896             },
18897             "fingerprint": {
18898               "type": "array",
18899               "items": {
18900                 "type": "integer"
18901               }
18902             },
18903             "name": {
18904               "type": "string"
18905             },
18906             "origin": {
18907               "type": "string"
18908             },
18909             "path": {
18910               "type": "string"
18911             },
18912             "revision": {
18913               "type": "integer"
18914             },
18915             "size": {
18916               "type": "integer"
18917             },
18918             "type": {
18919               "type": "string"
18920             }
18921           },
18922           "additionalProperties": false,
18923           "required": [
18924             "name",
18925             "type",
18926             "path",
18927             "origin",
18928             "revision",
18929             "fingerprint",
18930             "size"
18931           ]
18932         },
18933         "Error": {
18934           "type": "object",
18935           "properties": {
18936             "code": {
18937               "type": "string"
18938             },
18939             "info": {
18940               "$ref": "#/definitions/ErrorInfo"
18941             },
18942             "message": {
18943               "type": "string"
18944             }
18945           },
18946           "additionalProperties": false,
18947           "required": [
18948             "message",
18949             "code"
18950           ]
18951         },
18952         "ErrorInfo": {
18953           "type": "object",
18954           "properties": {
18955             "macaroon": {
18956               "$ref": "#/definitions/Macaroon"
18957             },
18958             "macaroon-path": {
18959               "type": "string"
18960             }
18961           },
18962           "additionalProperties": false
18963         },
18964         "ErrorResult": {
18965           "type": "object",
18966           "properties": {
18967             "error": {
18968               "$ref": "#/definitions/Error"
18969             }
18970           },
18971           "additionalProperties": false
18972         },
18973         "ListUnitResourcesArgs": {
18974           "type": "object",
18975           "properties": {
18976             "resource-names": {
18977               "type": "array",
18978               "items": {
18979                 "type": "string"
18980               }
18981             }
18982           },
18983           "additionalProperties": false,
18984           "required": [
18985             "resource-names"
18986           ]
18987         },
18988         "Macaroon": {
18989           "type": "object",
18990           "additionalProperties": false
18991         },
18992         "Resource": {
18993           "type": "object",
18994           "properties": {
18995             "CharmResource": {
18996               "$ref": "#/definitions/CharmResource"
18997             },
18998             "application": {
18999               "type": "string"
19000             },
19001             "id": {
19002               "type": "string"
19003             },
19004             "pending-id": {
19005               "type": "string"
19006             },
19007             "timestamp": {
19008               "type": "string",
19009               "format": "date-time"
19010             },
19011             "username": {
19012               "type": "string"
19013             }
19014           },
19015           "additionalProperties": false,
19016           "required": [
19017             "CharmResource",
19018             "id",
19019             "pending-id",
19020             "application",
19021             "username",
19022             "timestamp"
19023           ]
19024         },
19025         "UnitResourceResult": {
19026           "type": "object",
19027           "properties": {
19028             "ErrorResult": {
19029               "$ref": "#/definitions/ErrorResult"
19030             },
19031             "resource": {
19032               "$ref": "#/definitions/Resource"
19033             }
19034           },
19035           "additionalProperties": false,
19036           "required": [
19037             "ErrorResult",
19038             "resource"
19039           ]
19040         },
19041         "UnitResourcesResult": {
19042           "type": "object",
19043           "properties": {
19044             "ErrorResult": {
19045               "$ref": "#/definitions/ErrorResult"
19046             },
19047             "resources": {
19048               "type": "array",
19049               "items": {
19050                 "$ref": "#/definitions/UnitResourceResult"
19051               }
19052             }
19053           },
19054           "additionalProperties": false,
19055           "required": [
19056             "ErrorResult",
19057             "resources"
19058           ]
19059         }
19060       }
19061     }
19062   },
19063   {
19064     "Name": "Resumer",
19065     "Version": 2,
19066     "Schema": {
19067       "type": "object",
19068       "properties": {
19069         "ResumeTransactions": {
19070           "type": "object"
19071         }
19072       }
19073     }
19074   },
19075   {
19076     "Name": "RetryStrategy",
19077     "Version": 1,
19078     "Schema": {
19079       "type": "object",
19080       "properties": {
19081         "RetryStrategy": {
19082           "type": "object",
19083           "properties": {
19084             "Params": {
19085               "$ref": "#/definitions/Entities"
19086             },
19087             "Result": {
19088               "$ref": "#/definitions/RetryStrategyResults"
19089             }
19090           }
19091         },
19092         "WatchRetryStrategy": {
19093           "type": "object",
19094           "properties": {
19095             "Params": {
19096               "$ref": "#/definitions/Entities"
19097             },
19098             "Result": {
19099               "$ref": "#/definitions/NotifyWatchResults"
19100             }
19101           }
19102         }
19103       },
19104       "definitions": {
19105         "Entities": {
19106           "type": "object",
19107           "properties": {
19108             "entities": {
19109               "type": "array",
19110               "items": {
19111                 "$ref": "#/definitions/Entity"
19112               }
19113             }
19114           },
19115           "additionalProperties": false,
19116           "required": [
19117             "entities"
19118           ]
19119         },
19120         "Entity": {
19121           "type": "object",
19122           "properties": {
19123             "tag": {
19124               "type": "string"
19125             }
19126           },
19127           "additionalProperties": false,
19128           "required": [
19129             "tag"
19130           ]
19131         },
19132         "Error": {
19133           "type": "object",
19134           "properties": {
19135             "code": {
19136               "type": "string"
19137             },
19138             "info": {
19139               "$ref": "#/definitions/ErrorInfo"
19140             },
19141             "message": {
19142               "type": "string"
19143             }
19144           },
19145           "additionalProperties": false,
19146           "required": [
19147             "message",
19148             "code"
19149           ]
19150         },
19151         "ErrorInfo": {
19152           "type": "object",
19153           "properties": {
19154             "macaroon": {
19155               "$ref": "#/definitions/Macaroon"
19156             },
19157             "macaroon-path": {
19158               "type": "string"
19159             }
19160           },
19161           "additionalProperties": false
19162         },
19163         "Macaroon": {
19164           "type": "object",
19165           "additionalProperties": false
19166         },
19167         "NotifyWatchResult": {
19168           "type": "object",
19169           "properties": {
19170             "NotifyWatcherId": {
19171               "type": "string"
19172             },
19173             "error": {
19174               "$ref": "#/definitions/Error"
19175             }
19176           },
19177           "additionalProperties": false,
19178           "required": [
19179             "NotifyWatcherId"
19180           ]
19181         },
19182         "NotifyWatchResults": {
19183           "type": "object",
19184           "properties": {
19185             "results": {
19186               "type": "array",
19187               "items": {
19188                 "$ref": "#/definitions/NotifyWatchResult"
19189               }
19190             }
19191           },
19192           "additionalProperties": false,
19193           "required": [
19194             "results"
19195           ]
19196         },
19197         "RetryStrategy": {
19198           "type": "object",
19199           "properties": {
19200             "jitter-retry-time": {
19201               "type": "boolean"
19202             },
19203             "max-retry-time": {
19204               "type": "integer"
19205             },
19206             "min-retry-time": {
19207               "type": "integer"
19208             },
19209             "retry-time-factor": {
19210               "type": "integer"
19211             },
19212             "should-retry": {
19213               "type": "boolean"
19214             }
19215           },
19216           "additionalProperties": false,
19217           "required": [
19218             "should-retry",
19219             "min-retry-time",
19220             "max-retry-time",
19221             "jitter-retry-time",
19222             "retry-time-factor"
19223           ]
19224         },
19225         "RetryStrategyResult": {
19226           "type": "object",
19227           "properties": {
19228             "error": {
19229               "$ref": "#/definitions/Error"
19230             },
19231             "result": {
19232               "$ref": "#/definitions/RetryStrategy"
19233             }
19234           },
19235           "additionalProperties": false
19236         },
19237         "RetryStrategyResults": {
19238           "type": "object",
19239           "properties": {
19240             "results": {
19241               "type": "array",
19242               "items": {
19243                 "$ref": "#/definitions/RetryStrategyResult"
19244               }
19245             }
19246           },
19247           "additionalProperties": false,
19248           "required": [
19249             "results"
19250           ]
19251         }
19252       }
19253     }
19254   },
19255   {
19256     "Name": "SSHClient",
19257     "Version": 2,
19258     "Schema": {
19259       "type": "object",
19260       "properties": {
19261         "AllAddresses": {
19262           "type": "object",
19263           "properties": {
19264             "Params": {
19265               "$ref": "#/definitions/Entities"
19266             },
19267             "Result": {
19268               "$ref": "#/definitions/SSHAddressesResults"
19269             }
19270           }
19271         },
19272         "PrivateAddress": {
19273           "type": "object",
19274           "properties": {
19275             "Params": {
19276               "$ref": "#/definitions/Entities"
19277             },
19278             "Result": {
19279               "$ref": "#/definitions/SSHAddressResults"
19280             }
19281           }
19282         },
19283         "Proxy": {
19284           "type": "object",
19285           "properties": {
19286             "Result": {
19287               "$ref": "#/definitions/SSHProxyResult"
19288             }
19289           }
19290         },
19291         "PublicAddress": {
19292           "type": "object",
19293           "properties": {
19294             "Params": {
19295               "$ref": "#/definitions/Entities"
19296             },
19297             "Result": {
19298               "$ref": "#/definitions/SSHAddressResults"
19299             }
19300           }
19301         },
19302         "PublicKeys": {
19303           "type": "object",
19304           "properties": {
19305             "Params": {
19306               "$ref": "#/definitions/Entities"
19307             },
19308             "Result": {
19309               "$ref": "#/definitions/SSHPublicKeysResults"
19310             }
19311           }
19312         }
19313       },
19314       "definitions": {
19315         "Entities": {
19316           "type": "object",
19317           "properties": {
19318             "entities": {
19319               "type": "array",
19320               "items": {
19321                 "$ref": "#/definitions/Entity"
19322               }
19323             }
19324           },
19325           "additionalProperties": false,
19326           "required": [
19327             "entities"
19328           ]
19329         },
19330         "Entity": {
19331           "type": "object",
19332           "properties": {
19333             "tag": {
19334               "type": "string"
19335             }
19336           },
19337           "additionalProperties": false,
19338           "required": [
19339             "tag"
19340           ]
19341         },
19342         "Error": {
19343           "type": "object",
19344           "properties": {
19345             "code": {
19346               "type": "string"
19347             },
19348             "info": {
19349               "$ref": "#/definitions/ErrorInfo"
19350             },
19351             "message": {
19352               "type": "string"
19353             }
19354           },
19355           "additionalProperties": false,
19356           "required": [
19357             "message",
19358             "code"
19359           ]
19360         },
19361         "ErrorInfo": {
19362           "type": "object",
19363           "properties": {
19364             "macaroon": {
19365               "$ref": "#/definitions/Macaroon"
19366             },
19367             "macaroon-path": {
19368               "type": "string"
19369             }
19370           },
19371           "additionalProperties": false
19372         },
19373         "Macaroon": {
19374           "type": "object",
19375           "additionalProperties": false
19376         },
19377         "SSHAddressResult": {
19378           "type": "object",
19379           "properties": {
19380             "address": {
19381               "type": "string"
19382             },
19383             "error": {
19384               "$ref": "#/definitions/Error"
19385             }
19386           },
19387           "additionalProperties": false
19388         },
19389         "SSHAddressResults": {
19390           "type": "object",
19391           "properties": {
19392             "results": {
19393               "type": "array",
19394               "items": {
19395                 "$ref": "#/definitions/SSHAddressResult"
19396               }
19397             }
19398           },
19399           "additionalProperties": false,
19400           "required": [
19401             "results"
19402           ]
19403         },
19404         "SSHAddressesResult": {
19405           "type": "object",
19406           "properties": {
19407             "addresses": {
19408               "type": "array",
19409               "items": {
19410                 "type": "string"
19411               }
19412             },
19413             "error": {
19414               "$ref": "#/definitions/Error"
19415             }
19416           },
19417           "additionalProperties": false,
19418           "required": [
19419             "addresses"
19420           ]
19421         },
19422         "SSHAddressesResults": {
19423           "type": "object",
19424           "properties": {
19425             "results": {
19426               "type": "array",
19427               "items": {
19428                 "$ref": "#/definitions/SSHAddressesResult"
19429               }
19430             }
19431           },
19432           "additionalProperties": false,
19433           "required": [
19434             "results"
19435           ]
19436         },
19437         "SSHProxyResult": {
19438           "type": "object",
19439           "properties": {
19440             "use-proxy": {
19441               "type": "boolean"
19442             }
19443           },
19444           "additionalProperties": false,
19445           "required": [
19446             "use-proxy"
19447           ]
19448         },
19449         "SSHPublicKeysResult": {
19450           "type": "object",
19451           "properties": {
19452             "error": {
19453               "$ref": "#/definitions/Error"
19454             },
19455             "public-keys": {
19456               "type": "array",
19457               "items": {
19458                 "type": "string"
19459               }
19460             }
19461           },
19462           "additionalProperties": false
19463         },
19464         "SSHPublicKeysResults": {
19465           "type": "object",
19466           "properties": {
19467             "results": {
19468               "type": "array",
19469               "items": {
19470                 "$ref": "#/definitions/SSHPublicKeysResult"
19471               }
19472             }
19473           },
19474           "additionalProperties": false,
19475           "required": [
19476             "results"
19477           ]
19478         }
19479       }
19480     }
19481   },
19482   {
19483     "Name": "Singular",
19484     "Version": 1,
19485     "Schema": {
19486       "type": "object",
19487       "properties": {
19488         "Claim": {
19489           "type": "object",
19490           "properties": {
19491             "Params": {
19492               "$ref": "#/definitions/SingularClaims"
19493             },
19494             "Result": {
19495               "$ref": "#/definitions/ErrorResults"
19496             }
19497           }
19498         },
19499         "Wait": {
19500           "type": "object",
19501           "properties": {
19502             "Params": {
19503               "$ref": "#/definitions/Entities"
19504             },
19505             "Result": {
19506               "$ref": "#/definitions/ErrorResults"
19507             }
19508           }
19509         }
19510       },
19511       "definitions": {
19512         "Entities": {
19513           "type": "object",
19514           "properties": {
19515             "entities": {
19516               "type": "array",
19517               "items": {
19518                 "$ref": "#/definitions/Entity"
19519               }
19520             }
19521           },
19522           "additionalProperties": false,
19523           "required": [
19524             "entities"
19525           ]
19526         },
19527         "Entity": {
19528           "type": "object",
19529           "properties": {
19530             "tag": {
19531               "type": "string"
19532             }
19533           },
19534           "additionalProperties": false,
19535           "required": [
19536             "tag"
19537           ]
19538         },
19539         "Error": {
19540           "type": "object",
19541           "properties": {
19542             "code": {
19543               "type": "string"
19544             },
19545             "info": {
19546               "$ref": "#/definitions/ErrorInfo"
19547             },
19548             "message": {
19549               "type": "string"
19550             }
19551           },
19552           "additionalProperties": false,
19553           "required": [
19554             "message",
19555             "code"
19556           ]
19557         },
19558         "ErrorInfo": {
19559           "type": "object",
19560           "properties": {
19561             "macaroon": {
19562               "$ref": "#/definitions/Macaroon"
19563             },
19564             "macaroon-path": {
19565               "type": "string"
19566             }
19567           },
19568           "additionalProperties": false
19569         },
19570         "ErrorResult": {
19571           "type": "object",
19572           "properties": {
19573             "error": {
19574               "$ref": "#/definitions/Error"
19575             }
19576           },
19577           "additionalProperties": false
19578         },
19579         "ErrorResults": {
19580           "type": "object",
19581           "properties": {
19582             "results": {
19583               "type": "array",
19584               "items": {
19585                 "$ref": "#/definitions/ErrorResult"
19586               }
19587             }
19588           },
19589           "additionalProperties": false,
19590           "required": [
19591             "results"
19592           ]
19593         },
19594         "Macaroon": {
19595           "type": "object",
19596           "additionalProperties": false
19597         },
19598         "SingularClaim": {
19599           "type": "object",
19600           "properties": {
19601             "controller-tag": {
19602               "type": "string"
19603             },
19604             "duration": {
19605               "type": "integer"
19606             },
19607             "model-tag": {
19608               "type": "string"
19609             }
19610           },
19611           "additionalProperties": false,
19612           "required": [
19613             "model-tag",
19614             "controller-tag",
19615             "duration"
19616           ]
19617         },
19618         "SingularClaims": {
19619           "type": "object",
19620           "properties": {
19621             "claims": {
19622               "type": "array",
19623               "items": {
19624                 "$ref": "#/definitions/SingularClaim"
19625               }
19626             }
19627           },
19628           "additionalProperties": false,
19629           "required": [
19630             "claims"
19631           ]
19632         }
19633       }
19634     }
19635   },
19636   {
19637     "Name": "Spaces",
19638     "Version": 2,
19639     "Schema": {
19640       "type": "object",
19641       "properties": {
19642         "CreateSpaces": {
19643           "type": "object",
19644           "properties": {
19645             "Params": {
19646               "$ref": "#/definitions/CreateSpacesParams"
19647             },
19648             "Result": {
19649               "$ref": "#/definitions/ErrorResults"
19650             }
19651           }
19652         },
19653         "ListSpaces": {
19654           "type": "object",
19655           "properties": {
19656             "Result": {
19657               "$ref": "#/definitions/ListSpacesResults"
19658             }
19659           }
19660         }
19661       },
19662       "definitions": {
19663         "CreateSpaceParams": {
19664           "type": "object",
19665           "properties": {
19666             "provider-id": {
19667               "type": "string"
19668             },
19669             "public": {
19670               "type": "boolean"
19671             },
19672             "space-tag": {
19673               "type": "string"
19674             },
19675             "subnet-tags": {
19676               "type": "array",
19677               "items": {
19678                 "type": "string"
19679               }
19680             }
19681           },
19682           "additionalProperties": false,
19683           "required": [
19684             "subnet-tags",
19685             "space-tag",
19686             "public"
19687           ]
19688         },
19689         "CreateSpacesParams": {
19690           "type": "object",
19691           "properties": {
19692             "spaces": {
19693               "type": "array",
19694               "items": {
19695                 "$ref": "#/definitions/CreateSpaceParams"
19696               }
19697             }
19698           },
19699           "additionalProperties": false,
19700           "required": [
19701             "spaces"
19702           ]
19703         },
19704         "Error": {
19705           "type": "object",
19706           "properties": {
19707             "code": {
19708               "type": "string"
19709             },
19710             "info": {
19711               "$ref": "#/definitions/ErrorInfo"
19712             },
19713             "message": {
19714               "type": "string"
19715             }
19716           },
19717           "additionalProperties": false,
19718           "required": [
19719             "message",
19720             "code"
19721           ]
19722         },
19723         "ErrorInfo": {
19724           "type": "object",
19725           "properties": {
19726             "macaroon": {
19727               "$ref": "#/definitions/Macaroon"
19728             },
19729             "macaroon-path": {
19730               "type": "string"
19731             }
19732           },
19733           "additionalProperties": false
19734         },
19735         "ErrorResult": {
19736           "type": "object",
19737           "properties": {
19738             "error": {
19739               "$ref": "#/definitions/Error"
19740             }
19741           },
19742           "additionalProperties": false
19743         },
19744         "ErrorResults": {
19745           "type": "object",
19746           "properties": {
19747             "results": {
19748               "type": "array",
19749               "items": {
19750                 "$ref": "#/definitions/ErrorResult"
19751               }
19752             }
19753           },
19754           "additionalProperties": false,
19755           "required": [
19756             "results"
19757           ]
19758         },
19759         "ListSpacesResults": {
19760           "type": "object",
19761           "properties": {
19762             "results": {
19763               "type": "array",
19764               "items": {
19765                 "$ref": "#/definitions/Space"
19766               }
19767             }
19768           },
19769           "additionalProperties": false,
19770           "required": [
19771             "results"
19772           ]
19773         },
19774         "Macaroon": {
19775           "type": "object",
19776           "additionalProperties": false
19777         },
19778         "Space": {
19779           "type": "object",
19780           "properties": {
19781             "error": {
19782               "$ref": "#/definitions/Error"
19783             },
19784             "name": {
19785               "type": "string"
19786             },
19787             "subnets": {
19788               "type": "array",
19789               "items": {
19790                 "$ref": "#/definitions/Subnet"
19791               }
19792             }
19793           },
19794           "additionalProperties": false,
19795           "required": [
19796             "name",
19797             "subnets"
19798           ]
19799         },
19800         "Subnet": {
19801           "type": "object",
19802           "properties": {
19803             "cidr": {
19804               "type": "string"
19805             },
19806             "life": {
19807               "type": "string"
19808             },
19809             "provider-id": {
19810               "type": "string"
19811             },
19812             "provider-network-id": {
19813               "type": "string"
19814             },
19815             "space-tag": {
19816               "type": "string"
19817             },
19818             "status": {
19819               "type": "string"
19820             },
19821             "vlan-tag": {
19822               "type": "integer"
19823             },
19824             "zones": {
19825               "type": "array",
19826               "items": {
19827                 "type": "string"
19828               }
19829             }
19830           },
19831           "additionalProperties": false,
19832           "required": [
19833             "cidr",
19834             "vlan-tag",
19835             "life",
19836             "space-tag",
19837             "zones"
19838           ]
19839         }
19840       }
19841     }
19842   },
19843   {
19844     "Name": "StatusHistory",
19845     "Version": 2,
19846     "Schema": {
19847       "type": "object",
19848       "properties": {
19849         "Prune": {
19850           "type": "object",
19851           "properties": {
19852             "Params": {
19853               "$ref": "#/definitions/StatusHistoryPruneArgs"
19854             }
19855           }
19856         }
19857       },
19858       "definitions": {
19859         "StatusHistoryPruneArgs": {
19860           "type": "object",
19861           "properties": {
19862             "max-history-mb": {
19863               "type": "integer"
19864             },
19865             "max-history-time": {
19866               "type": "integer"
19867             }
19868           },
19869           "additionalProperties": false,
19870           "required": [
19871             "max-history-time",
19872             "max-history-mb"
19873           ]
19874         }
19875       }
19876     }
19877   },
19878   {
19879     "Name": "Storage",
19880     "Version": 3,
19881     "Schema": {
19882       "type": "object",
19883       "properties": {
19884         "AddToUnit": {
19885           "type": "object",
19886           "properties": {
19887             "Params": {
19888               "$ref": "#/definitions/StoragesAddParams"
19889             },
19890             "Result": {
19891               "$ref": "#/definitions/ErrorResults"
19892             }
19893           }
19894         },
19895         "Attach": {
19896           "type": "object",
19897           "properties": {
19898             "Params": {
19899               "$ref": "#/definitions/StorageAttachmentIds"
19900             },
19901             "Result": {
19902               "$ref": "#/definitions/ErrorResults"
19903             }
19904           }
19905         },
19906         "CreatePool": {
19907           "type": "object",
19908           "properties": {
19909             "Params": {
19910               "$ref": "#/definitions/StoragePool"
19911             }
19912           }
19913         },
19914         "Destroy": {
19915           "type": "object",
19916           "properties": {
19917             "Params": {
19918               "$ref": "#/definitions/Entities"
19919             },
19920             "Result": {
19921               "$ref": "#/definitions/ErrorResults"
19922             }
19923           }
19924         },
19925         "Detach": {
19926           "type": "object",
19927           "properties": {
19928             "Params": {
19929               "$ref": "#/definitions/StorageAttachmentIds"
19930             },
19931             "Result": {
19932               "$ref": "#/definitions/ErrorResults"
19933             }
19934           }
19935         },
19936         "ListFilesystems": {
19937           "type": "object",
19938           "properties": {
19939             "Params": {
19940               "$ref": "#/definitions/FilesystemFilters"
19941             },
19942             "Result": {
19943               "$ref": "#/definitions/FilesystemDetailsListResults"
19944             }
19945           }
19946         },
19947         "ListPools": {
19948           "type": "object",
19949           "properties": {
19950             "Params": {
19951               "$ref": "#/definitions/StoragePoolFilters"
19952             },
19953             "Result": {
19954               "$ref": "#/definitions/StoragePoolsResults"
19955             }
19956           }
19957         },
19958         "ListStorageDetails": {
19959           "type": "object",
19960           "properties": {
19961             "Params": {
19962               "$ref": "#/definitions/StorageFilters"
19963             },
19964             "Result": {
19965               "$ref": "#/definitions/StorageDetailsListResults"
19966             }
19967           }
19968         },
19969         "ListVolumes": {
19970           "type": "object",
19971           "properties": {
19972             "Params": {
19973               "$ref": "#/definitions/VolumeFilters"
19974             },
19975             "Result": {
19976               "$ref": "#/definitions/VolumeDetailsListResults"
19977             }
19978           }
19979         },
19980         "StorageDetails": {
19981           "type": "object",
19982           "properties": {
19983             "Params": {
19984               "$ref": "#/definitions/Entities"
19985             },
19986             "Result": {
19987               "$ref": "#/definitions/StorageDetailsResults"
19988             }
19989           }
19990         }
19991       },
19992       "definitions": {
19993         "Entities": {
19994           "type": "object",
19995           "properties": {
19996             "entities": {
19997               "type": "array",
19998               "items": {
19999                 "$ref": "#/definitions/Entity"
20000               }
20001             }
20002           },
20003           "additionalProperties": false,
20004           "required": [
20005             "entities"
20006           ]
20007         },
20008         "Entity": {
20009           "type": "object",
20010           "properties": {
20011             "tag": {
20012               "type": "string"
20013             }
20014           },
20015           "additionalProperties": false,
20016           "required": [
20017             "tag"
20018           ]
20019         },
20020         "EntityStatus": {
20021           "type": "object",
20022           "properties": {
20023             "data": {
20024               "type": "object",
20025               "patternProperties": {
20026                 ".*": {
20027                   "type": "object",
20028                   "additionalProperties": true
20029                 }
20030               }
20031             },
20032             "info": {
20033               "type": "string"
20034             },
20035             "since": {
20036               "type": "string",
20037               "format": "date-time"
20038             },
20039             "status": {
20040               "type": "string"
20041             }
20042           },
20043           "additionalProperties": false,
20044           "required": [
20045             "status",
20046             "info",
20047             "since"
20048           ]
20049         },
20050         "Error": {
20051           "type": "object",
20052           "properties": {
20053             "code": {
20054               "type": "string"
20055             },
20056             "info": {
20057               "$ref": "#/definitions/ErrorInfo"
20058             },
20059             "message": {
20060               "type": "string"
20061             }
20062           },
20063           "additionalProperties": false,
20064           "required": [
20065             "message",
20066             "code"
20067           ]
20068         },
20069         "ErrorInfo": {
20070           "type": "object",
20071           "properties": {
20072             "macaroon": {
20073               "$ref": "#/definitions/Macaroon"
20074             },
20075             "macaroon-path": {
20076               "type": "string"
20077             }
20078           },
20079           "additionalProperties": false
20080         },
20081         "ErrorResult": {
20082           "type": "object",
20083           "properties": {
20084             "error": {
20085               "$ref": "#/definitions/Error"
20086             }
20087           },
20088           "additionalProperties": false
20089         },
20090         "ErrorResults": {
20091           "type": "object",
20092           "properties": {
20093             "results": {
20094               "type": "array",
20095               "items": {
20096                 "$ref": "#/definitions/ErrorResult"
20097               }
20098             }
20099           },
20100           "additionalProperties": false,
20101           "required": [
20102             "results"
20103           ]
20104         },
20105         "FilesystemAttachmentDetails": {
20106           "type": "object",
20107           "properties": {
20108             "FilesystemAttachmentInfo": {
20109               "$ref": "#/definitions/FilesystemAttachmentInfo"
20110             },
20111             "life": {
20112               "type": "string"
20113             }
20114           },
20115           "additionalProperties": false,
20116           "required": [
20117             "FilesystemAttachmentInfo"
20118           ]
20119         },
20120         "FilesystemAttachmentInfo": {
20121           "type": "object",
20122           "properties": {
20123             "mount-point": {
20124               "type": "string"
20125             },
20126             "read-only": {
20127               "type": "boolean"
20128             }
20129           },
20130           "additionalProperties": false
20131         },
20132         "FilesystemDetails": {
20133           "type": "object",
20134           "properties": {
20135             "filesystem-tag": {
20136               "type": "string"
20137             },
20138             "info": {
20139               "$ref": "#/definitions/FilesystemInfo"
20140             },
20141             "life": {
20142               "type": "string"
20143             },
20144             "machine-attachments": {
20145               "type": "object",
20146               "patternProperties": {
20147                 ".*": {
20148                   "$ref": "#/definitions/FilesystemAttachmentDetails"
20149                 }
20150               }
20151             },
20152             "status": {
20153               "$ref": "#/definitions/EntityStatus"
20154             },
20155             "storage": {
20156               "$ref": "#/definitions/StorageDetails"
20157             },
20158             "volume-tag": {
20159               "type": "string"
20160             }
20161           },
20162           "additionalProperties": false,
20163           "required": [
20164             "filesystem-tag",
20165             "info",
20166             "status"
20167           ]
20168         },
20169         "FilesystemDetailsListResult": {
20170           "type": "object",
20171           "properties": {
20172             "error": {
20173               "$ref": "#/definitions/Error"
20174             },
20175             "result": {
20176               "type": "array",
20177               "items": {
20178                 "$ref": "#/definitions/FilesystemDetails"
20179               }
20180             }
20181           },
20182           "additionalProperties": false
20183         },
20184         "FilesystemDetailsListResults": {
20185           "type": "object",
20186           "properties": {
20187             "results": {
20188               "type": "array",
20189               "items": {
20190                 "$ref": "#/definitions/FilesystemDetailsListResult"
20191               }
20192             }
20193           },
20194           "additionalProperties": false
20195         },
20196         "FilesystemFilter": {
20197           "type": "object",
20198           "properties": {
20199             "machines": {
20200               "type": "array",
20201               "items": {
20202                 "type": "string"
20203               }
20204             }
20205           },
20206           "additionalProperties": false
20207         },
20208         "FilesystemFilters": {
20209           "type": "object",
20210           "properties": {
20211             "filters": {
20212               "type": "array",
20213               "items": {
20214                 "$ref": "#/definitions/FilesystemFilter"
20215               }
20216             }
20217           },
20218           "additionalProperties": false
20219         },
20220         "FilesystemInfo": {
20221           "type": "object",
20222           "properties": {
20223             "filesystem-id": {
20224               "type": "string"
20225             },
20226             "pool": {
20227               "type": "string"
20228             },
20229             "size": {
20230               "type": "integer"
20231             }
20232           },
20233           "additionalProperties": false,
20234           "required": [
20235             "filesystem-id",
20236             "pool",
20237             "size"
20238           ]
20239         },
20240         "Macaroon": {
20241           "type": "object",
20242           "additionalProperties": false
20243         },
20244         "StorageAddParams": {
20245           "type": "object",
20246           "properties": {
20247             "name": {
20248               "type": "string"
20249             },
20250             "storage": {
20251               "$ref": "#/definitions/StorageConstraints"
20252             },
20253             "unit": {
20254               "type": "string"
20255             }
20256           },
20257           "additionalProperties": false,
20258           "required": [
20259             "unit",
20260             "name",
20261             "storage"
20262           ]
20263         },
20264         "StorageAttachmentDetails": {
20265           "type": "object",
20266           "properties": {
20267             "life": {
20268               "type": "string"
20269             },
20270             "location": {
20271               "type": "string"
20272             },
20273             "machine-tag": {
20274               "type": "string"
20275             },
20276             "storage-tag": {
20277               "type": "string"
20278             },
20279             "unit-tag": {
20280               "type": "string"
20281             }
20282           },
20283           "additionalProperties": false,
20284           "required": [
20285             "storage-tag",
20286             "unit-tag",
20287             "machine-tag"
20288           ]
20289         },
20290         "StorageAttachmentId": {
20291           "type": "object",
20292           "properties": {
20293             "storage-tag": {
20294               "type": "string"
20295             },
20296             "unit-tag": {
20297               "type": "string"
20298             }
20299           },
20300           "additionalProperties": false,
20301           "required": [
20302             "storage-tag",
20303             "unit-tag"
20304           ]
20305         },
20306         "StorageAttachmentIds": {
20307           "type": "object",
20308           "properties": {
20309             "ids": {
20310               "type": "array",
20311               "items": {
20312                 "$ref": "#/definitions/StorageAttachmentId"
20313               }
20314             }
20315           },
20316           "additionalProperties": false,
20317           "required": [
20318             "ids"
20319           ]
20320         },
20321         "StorageConstraints": {
20322           "type": "object",
20323           "properties": {
20324             "count": {
20325               "type": "integer"
20326             },
20327             "pool": {
20328               "type": "string"
20329             },
20330             "size": {
20331               "type": "integer"
20332             }
20333           },
20334           "additionalProperties": false
20335         },
20336         "StorageDetails": {
20337           "type": "object",
20338           "properties": {
20339             "attachments": {
20340               "type": "object",
20341               "patternProperties": {
20342                 ".*": {
20343                   "$ref": "#/definitions/StorageAttachmentDetails"
20344                 }
20345               }
20346             },
20347             "kind": {
20348               "type": "integer"
20349             },
20350             "life": {
20351               "type": "string"
20352             },
20353             "owner-tag": {
20354               "type": "string"
20355             },
20356             "persistent": {
20357               "type": "boolean"
20358             },
20359             "status": {
20360               "$ref": "#/definitions/EntityStatus"
20361             },
20362             "storage-tag": {
20363               "type": "string"
20364             }
20365           },
20366           "additionalProperties": false,
20367           "required": [
20368             "storage-tag",
20369             "owner-tag",
20370             "kind",
20371             "status",
20372             "persistent"
20373           ]
20374         },
20375         "StorageDetailsListResult": {
20376           "type": "object",
20377           "properties": {
20378             "error": {
20379               "$ref": "#/definitions/Error"
20380             },
20381             "result": {
20382               "type": "array",
20383               "items": {
20384                 "$ref": "#/definitions/StorageDetails"
20385               }
20386             }
20387           },
20388           "additionalProperties": false
20389         },
20390         "StorageDetailsListResults": {
20391           "type": "object",
20392           "properties": {
20393             "results": {
20394               "type": "array",
20395               "items": {
20396                 "$ref": "#/definitions/StorageDetailsListResult"
20397               }
20398             }
20399           },
20400           "additionalProperties": false
20401         },
20402         "StorageDetailsResult": {
20403           "type": "object",
20404           "properties": {
20405             "error": {
20406               "$ref": "#/definitions/Error"
20407             },
20408             "result": {
20409               "$ref": "#/definitions/StorageDetails"
20410             }
20411           },
20412           "additionalProperties": false
20413         },
20414         "StorageDetailsResults": {
20415           "type": "object",
20416           "properties": {
20417             "results": {
20418               "type": "array",
20419               "items": {
20420                 "$ref": "#/definitions/StorageDetailsResult"
20421               }
20422             }
20423           },
20424           "additionalProperties": false
20425         },
20426         "StorageFilter": {
20427           "type": "object",
20428           "additionalProperties": false
20429         },
20430         "StorageFilters": {
20431           "type": "object",
20432           "properties": {
20433             "filters": {
20434               "type": "array",
20435               "items": {
20436                 "$ref": "#/definitions/StorageFilter"
20437               }
20438             }
20439           },
20440           "additionalProperties": false
20441         },
20442         "StoragePool": {
20443           "type": "object",
20444           "properties": {
20445             "attrs": {
20446               "type": "object",
20447               "patternProperties": {
20448                 ".*": {
20449                   "type": "object",
20450                   "additionalProperties": true
20451                 }
20452               }
20453             },
20454             "name": {
20455               "type": "string"
20456             },
20457             "provider": {
20458               "type": "string"
20459             }
20460           },
20461           "additionalProperties": false,
20462           "required": [
20463             "name",
20464             "provider",
20465             "attrs"
20466           ]
20467         },
20468         "StoragePoolFilter": {
20469           "type": "object",
20470           "properties": {
20471             "names": {
20472               "type": "array",
20473               "items": {
20474                 "type": "string"
20475               }
20476             },
20477             "providers": {
20478               "type": "array",
20479               "items": {
20480                 "type": "string"
20481               }
20482             }
20483           },
20484           "additionalProperties": false
20485         },
20486         "StoragePoolFilters": {
20487           "type": "object",
20488           "properties": {
20489             "filters": {
20490               "type": "array",
20491               "items": {
20492                 "$ref": "#/definitions/StoragePoolFilter"
20493               }
20494             }
20495           },
20496           "additionalProperties": false
20497         },
20498         "StoragePoolsResult": {
20499           "type": "object",
20500           "properties": {
20501             "error": {
20502               "$ref": "#/definitions/Error"
20503             },
20504             "storage-pools": {
20505               "type": "array",
20506               "items": {
20507                 "$ref": "#/definitions/StoragePool"
20508               }
20509             }
20510           },
20511           "additionalProperties": false
20512         },
20513         "StoragePoolsResults": {
20514           "type": "object",
20515           "properties": {
20516             "results": {
20517               "type": "array",
20518               "items": {
20519                 "$ref": "#/definitions/StoragePoolsResult"
20520               }
20521             }
20522           },
20523           "additionalProperties": false
20524         },
20525         "StoragesAddParams": {
20526           "type": "object",
20527           "properties": {
20528             "storages": {
20529               "type": "array",
20530               "items": {
20531                 "$ref": "#/definitions/StorageAddParams"
20532               }
20533             }
20534           },
20535           "additionalProperties": false,
20536           "required": [
20537             "storages"
20538           ]
20539         },
20540         "VolumeAttachmentDetails": {
20541           "type": "object",
20542           "properties": {
20543             "VolumeAttachmentInfo": {
20544               "$ref": "#/definitions/VolumeAttachmentInfo"
20545             },
20546             "life": {
20547               "type": "string"
20548             }
20549           },
20550           "additionalProperties": false,
20551           "required": [
20552             "VolumeAttachmentInfo"
20553           ]
20554         },
20555         "VolumeAttachmentInfo": {
20556           "type": "object",
20557           "properties": {
20558             "bus-address": {
20559               "type": "string"
20560             },
20561             "device-link": {
20562               "type": "string"
20563             },
20564             "device-name": {
20565               "type": "string"
20566             },
20567             "read-only": {
20568               "type": "boolean"
20569             }
20570           },
20571           "additionalProperties": false
20572         },
20573         "VolumeDetails": {
20574           "type": "object",
20575           "properties": {
20576             "info": {
20577               "$ref": "#/definitions/VolumeInfo"
20578             },
20579             "life": {
20580               "type": "string"
20581             },
20582             "machine-attachments": {
20583               "type": "object",
20584               "patternProperties": {
20585                 ".*": {
20586                   "$ref": "#/definitions/VolumeAttachmentDetails"
20587                 }
20588               }
20589             },
20590             "status": {
20591               "$ref": "#/definitions/EntityStatus"
20592             },
20593             "storage": {
20594               "$ref": "#/definitions/StorageDetails"
20595             },
20596             "volume-tag": {
20597               "type": "string"
20598             }
20599           },
20600           "additionalProperties": false,
20601           "required": [
20602             "volume-tag",
20603             "info",
20604             "status"
20605           ]
20606         },
20607         "VolumeDetailsListResult": {
20608           "type": "object",
20609           "properties": {
20610             "error": {
20611               "$ref": "#/definitions/Error"
20612             },
20613             "result": {
20614               "type": "array",
20615               "items": {
20616                 "$ref": "#/definitions/VolumeDetails"
20617               }
20618             }
20619           },
20620           "additionalProperties": false
20621         },
20622         "VolumeDetailsListResults": {
20623           "type": "object",
20624           "properties": {
20625             "results": {
20626               "type": "array",
20627               "items": {
20628                 "$ref": "#/definitions/VolumeDetailsListResult"
20629               }
20630             }
20631           },
20632           "additionalProperties": false
20633         },
20634         "VolumeFilter": {
20635           "type": "object",
20636           "properties": {
20637             "machines": {
20638               "type": "array",
20639               "items": {
20640                 "type": "string"
20641               }
20642             }
20643           },
20644           "additionalProperties": false
20645         },
20646         "VolumeFilters": {
20647           "type": "object",
20648           "properties": {
20649             "filters": {
20650               "type": "array",
20651               "items": {
20652                 "$ref": "#/definitions/VolumeFilter"
20653               }
20654             }
20655           },
20656           "additionalProperties": false
20657         },
20658         "VolumeInfo": {
20659           "type": "object",
20660           "properties": {
20661             "hardware-id": {
20662               "type": "string"
20663             },
20664             "persistent": {
20665               "type": "boolean"
20666             },
20667             "pool": {
20668               "type": "string"
20669             },
20670             "size": {
20671               "type": "integer"
20672             },
20673             "volume-id": {
20674               "type": "string"
20675             }
20676           },
20677           "additionalProperties": false,
20678           "required": [
20679             "volume-id",
20680             "size",
20681             "persistent"
20682           ]
20683         }
20684       }
20685     }
20686   },
20687   {
20688     "Name": "StorageProvisioner",
20689     "Version": 3,
20690     "Schema": {
20691       "type": "object",
20692       "properties": {
20693         "AttachmentLife": {
20694           "type": "object",
20695           "properties": {
20696             "Params": {
20697               "$ref": "#/definitions/MachineStorageIds"
20698             },
20699             "Result": {
20700               "$ref": "#/definitions/LifeResults"
20701             }
20702           }
20703         },
20704         "EnsureDead": {
20705           "type": "object",
20706           "properties": {
20707             "Params": {
20708               "$ref": "#/definitions/Entities"
20709             },
20710             "Result": {
20711               "$ref": "#/definitions/ErrorResults"
20712             }
20713           }
20714         },
20715         "FilesystemAttachmentParams": {
20716           "type": "object",
20717           "properties": {
20718             "Params": {
20719               "$ref": "#/definitions/MachineStorageIds"
20720             },
20721             "Result": {
20722               "$ref": "#/definitions/FilesystemAttachmentParamsResults"
20723             }
20724           }
20725         },
20726         "FilesystemAttachments": {
20727           "type": "object",
20728           "properties": {
20729             "Params": {
20730               "$ref": "#/definitions/MachineStorageIds"
20731             },
20732             "Result": {
20733               "$ref": "#/definitions/FilesystemAttachmentResults"
20734             }
20735           }
20736         },
20737         "FilesystemParams": {
20738           "type": "object",
20739           "properties": {
20740             "Params": {
20741               "$ref": "#/definitions/Entities"
20742             },
20743             "Result": {
20744               "$ref": "#/definitions/FilesystemParamsResults"
20745             }
20746           }
20747         },
20748         "Filesystems": {
20749           "type": "object",
20750           "properties": {
20751             "Params": {
20752               "$ref": "#/definitions/Entities"
20753             },
20754             "Result": {
20755               "$ref": "#/definitions/FilesystemResults"
20756             }
20757           }
20758         },
20759         "InstanceId": {
20760           "type": "object",
20761           "properties": {
20762             "Params": {
20763               "$ref": "#/definitions/Entities"
20764             },
20765             "Result": {
20766               "$ref": "#/definitions/StringResults"
20767             }
20768           }
20769         },
20770         "Life": {
20771           "type": "object",
20772           "properties": {
20773             "Params": {
20774               "$ref": "#/definitions/Entities"
20775             },
20776             "Result": {
20777               "$ref": "#/definitions/LifeResults"
20778             }
20779           }
20780         },
20781         "Remove": {
20782           "type": "object",
20783           "properties": {
20784             "Params": {
20785               "$ref": "#/definitions/Entities"
20786             },
20787             "Result": {
20788               "$ref": "#/definitions/ErrorResults"
20789             }
20790           }
20791         },
20792         "RemoveAttachment": {
20793           "type": "object",
20794           "properties": {
20795             "Params": {
20796               "$ref": "#/definitions/MachineStorageIds"
20797             },
20798             "Result": {
20799               "$ref": "#/definitions/ErrorResults"
20800             }
20801           }
20802         },
20803         "SetFilesystemAttachmentInfo": {
20804           "type": "object",
20805           "properties": {
20806             "Params": {
20807               "$ref": "#/definitions/FilesystemAttachments"
20808             },
20809             "Result": {
20810               "$ref": "#/definitions/ErrorResults"
20811             }
20812           }
20813         },
20814         "SetFilesystemInfo": {
20815           "type": "object",
20816           "properties": {
20817             "Params": {
20818               "$ref": "#/definitions/Filesystems"
20819             },
20820             "Result": {
20821               "$ref": "#/definitions/ErrorResults"
20822             }
20823           }
20824         },
20825         "SetStatus": {
20826           "type": "object",
20827           "properties": {
20828             "Params": {
20829               "$ref": "#/definitions/SetStatus"
20830             },
20831             "Result": {
20832               "$ref": "#/definitions/ErrorResults"
20833             }
20834           }
20835         },
20836         "SetVolumeAttachmentInfo": {
20837           "type": "object",
20838           "properties": {
20839             "Params": {
20840               "$ref": "#/definitions/VolumeAttachments"
20841             },
20842             "Result": {
20843               "$ref": "#/definitions/ErrorResults"
20844             }
20845           }
20846         },
20847         "SetVolumeInfo": {
20848           "type": "object",
20849           "properties": {
20850             "Params": {
20851               "$ref": "#/definitions/Volumes"
20852             },
20853             "Result": {
20854               "$ref": "#/definitions/ErrorResults"
20855             }
20856           }
20857         },
20858         "UpdateStatus": {
20859           "type": "object",
20860           "properties": {
20861             "Params": {
20862               "$ref": "#/definitions/SetStatus"
20863             },
20864             "Result": {
20865               "$ref": "#/definitions/ErrorResults"
20866             }
20867           }
20868         },
20869         "VolumeAttachmentParams": {
20870           "type": "object",
20871           "properties": {
20872             "Params": {
20873               "$ref": "#/definitions/MachineStorageIds"
20874             },
20875             "Result": {
20876               "$ref": "#/definitions/VolumeAttachmentParamsResults"
20877             }
20878           }
20879         },
20880         "VolumeAttachments": {
20881           "type": "object",
20882           "properties": {
20883             "Params": {
20884               "$ref": "#/definitions/MachineStorageIds"
20885             },
20886             "Result": {
20887               "$ref": "#/definitions/VolumeAttachmentResults"
20888             }
20889           }
20890         },
20891         "VolumeBlockDevices": {
20892           "type": "object",
20893           "properties": {
20894             "Params": {
20895               "$ref": "#/definitions/MachineStorageIds"
20896             },
20897             "Result": {
20898               "$ref": "#/definitions/BlockDeviceResults"
20899             }
20900           }
20901         },
20902         "VolumeParams": {
20903           "type": "object",
20904           "properties": {
20905             "Params": {
20906               "$ref": "#/definitions/Entities"
20907             },
20908             "Result": {
20909               "$ref": "#/definitions/VolumeParamsResults"
20910             }
20911           }
20912         },
20913         "Volumes": {
20914           "type": "object",
20915           "properties": {
20916             "Params": {
20917               "$ref": "#/definitions/Entities"
20918             },
20919             "Result": {
20920               "$ref": "#/definitions/VolumeResults"
20921             }
20922           }
20923         },
20924         "WatchBlockDevices": {
20925           "type": "object",
20926           "properties": {
20927             "Params": {
20928               "$ref": "#/definitions/Entities"
20929             },
20930             "Result": {
20931               "$ref": "#/definitions/NotifyWatchResults"
20932             }
20933           }
20934         },
20935         "WatchFilesystemAttachments": {
20936           "type": "object",
20937           "properties": {
20938             "Params": {
20939               "$ref": "#/definitions/Entities"
20940             },
20941             "Result": {
20942               "$ref": "#/definitions/MachineStorageIdsWatchResults"
20943             }
20944           }
20945         },
20946         "WatchFilesystems": {
20947           "type": "object",
20948           "properties": {
20949             "Params": {
20950               "$ref": "#/definitions/Entities"
20951             },
20952             "Result": {
20953               "$ref": "#/definitions/StringsWatchResults"
20954             }
20955           }
20956         },
20957         "WatchMachines": {
20958           "type": "object",
20959           "properties": {
20960             "Params": {
20961               "$ref": "#/definitions/Entities"
20962             },
20963             "Result": {
20964               "$ref": "#/definitions/NotifyWatchResults"
20965             }
20966           }
20967         },
20968         "WatchVolumeAttachments": {
20969           "type": "object",
20970           "properties": {
20971             "Params": {
20972               "$ref": "#/definitions/Entities"
20973             },
20974             "Result": {
20975               "$ref": "#/definitions/MachineStorageIdsWatchResults"
20976             }
20977           }
20978         },
20979         "WatchVolumes": {
20980           "type": "object",
20981           "properties": {
20982             "Params": {
20983               "$ref": "#/definitions/Entities"
20984             },
20985             "Result": {
20986               "$ref": "#/definitions/StringsWatchResults"
20987             }
20988           }
20989         }
20990       },
20991       "definitions": {
20992         "BlockDevice": {
20993           "type": "object",
20994           "properties": {
20995             "BusAddress": {
20996               "type": "string"
20997             },
20998             "DeviceLinks": {
20999               "type": "array",
21000               "items": {
21001                 "type": "string"
21002               }
21003             },
21004             "DeviceName": {
21005               "type": "string"
21006             },
21007             "FilesystemType": {
21008               "type": "string"
21009             },
21010             "HardwareId": {
21011               "type": "string"
21012             },
21013             "InUse": {
21014               "type": "boolean"
21015             },
21016             "Label": {
21017               "type": "string"
21018             },
21019             "MountPoint": {
21020               "type": "string"
21021             },
21022             "Size": {
21023               "type": "integer"
21024             },
21025             "UUID": {
21026               "type": "string"
21027             }
21028           },
21029           "additionalProperties": false,
21030           "required": [
21031             "DeviceName",
21032             "DeviceLinks",
21033             "Label",
21034             "UUID",
21035             "HardwareId",
21036             "BusAddress",
21037             "Size",
21038             "FilesystemType",
21039             "InUse",
21040             "MountPoint"
21041           ]
21042         },
21043         "BlockDeviceResult": {
21044           "type": "object",
21045           "properties": {
21046             "error": {
21047               "$ref": "#/definitions/Error"
21048             },
21049             "result": {
21050               "$ref": "#/definitions/BlockDevice"
21051             }
21052           },
21053           "additionalProperties": false,
21054           "required": [
21055             "result"
21056           ]
21057         },
21058         "BlockDeviceResults": {
21059           "type": "object",
21060           "properties": {
21061             "results": {
21062               "type": "array",
21063               "items": {
21064                 "$ref": "#/definitions/BlockDeviceResult"
21065               }
21066             }
21067           },
21068           "additionalProperties": false
21069         },
21070         "Entities": {
21071           "type": "object",
21072           "properties": {
21073             "entities": {
21074               "type": "array",
21075               "items": {
21076                 "$ref": "#/definitions/Entity"
21077               }
21078             }
21079           },
21080           "additionalProperties": false,
21081           "required": [
21082             "entities"
21083           ]
21084         },
21085         "Entity": {
21086           "type": "object",
21087           "properties": {
21088             "tag": {
21089               "type": "string"
21090             }
21091           },
21092           "additionalProperties": false,
21093           "required": [
21094             "tag"
21095           ]
21096         },
21097         "EntityStatusArgs": {
21098           "type": "object",
21099           "properties": {
21100             "data": {
21101               "type": "object",
21102               "patternProperties": {
21103                 ".*": {
21104                   "type": "object",
21105                   "additionalProperties": true
21106                 }
21107               }
21108             },
21109             "info": {
21110               "type": "string"
21111             },
21112             "status": {
21113               "type": "string"
21114             },
21115             "tag": {
21116               "type": "string"
21117             }
21118           },
21119           "additionalProperties": false,
21120           "required": [
21121             "tag",
21122             "status",
21123             "info",
21124             "data"
21125           ]
21126         },
21127         "Error": {
21128           "type": "object",
21129           "properties": {
21130             "code": {
21131               "type": "string"
21132             },
21133             "info": {
21134               "$ref": "#/definitions/ErrorInfo"
21135             },
21136             "message": {
21137               "type": "string"
21138             }
21139           },
21140           "additionalProperties": false,
21141           "required": [
21142             "message",
21143             "code"
21144           ]
21145         },
21146         "ErrorInfo": {
21147           "type": "object",
21148           "properties": {
21149             "macaroon": {
21150               "$ref": "#/definitions/Macaroon"
21151             },
21152             "macaroon-path": {
21153               "type": "string"
21154             }
21155           },
21156           "additionalProperties": false
21157         },
21158         "ErrorResult": {
21159           "type": "object",
21160           "properties": {
21161             "error": {
21162               "$ref": "#/definitions/Error"
21163             }
21164           },
21165           "additionalProperties": false
21166         },
21167         "ErrorResults": {
21168           "type": "object",
21169           "properties": {
21170             "results": {
21171               "type": "array",
21172               "items": {
21173                 "$ref": "#/definitions/ErrorResult"
21174               }
21175             }
21176           },
21177           "additionalProperties": false,
21178           "required": [
21179             "results"
21180           ]
21181         },
21182         "Filesystem": {
21183           "type": "object",
21184           "properties": {
21185             "filesystem-tag": {
21186               "type": "string"
21187             },
21188             "info": {
21189               "$ref": "#/definitions/FilesystemInfo"
21190             },
21191             "volume-tag": {
21192               "type": "string"
21193             }
21194           },
21195           "additionalProperties": false,
21196           "required": [
21197             "filesystem-tag",
21198             "info"
21199           ]
21200         },
21201         "FilesystemAttachment": {
21202           "type": "object",
21203           "properties": {
21204             "filesystem-tag": {
21205               "type": "string"
21206             },
21207             "info": {
21208               "$ref": "#/definitions/FilesystemAttachmentInfo"
21209             },
21210             "machine-tag": {
21211               "type": "string"
21212             }
21213           },
21214           "additionalProperties": false,
21215           "required": [
21216             "filesystem-tag",
21217             "machine-tag",
21218             "info"
21219           ]
21220         },
21221         "FilesystemAttachmentInfo": {
21222           "type": "object",
21223           "properties": {
21224             "mount-point": {
21225               "type": "string"
21226             },
21227             "read-only": {
21228               "type": "boolean"
21229             }
21230           },
21231           "additionalProperties": false
21232         },
21233         "FilesystemAttachmentParams": {
21234           "type": "object",
21235           "properties": {
21236             "filesystem-id": {
21237               "type": "string"
21238             },
21239             "filesystem-tag": {
21240               "type": "string"
21241             },
21242             "instance-id": {
21243               "type": "string"
21244             },
21245             "machine-tag": {
21246               "type": "string"
21247             },
21248             "mount-point": {
21249               "type": "string"
21250             },
21251             "provider": {
21252               "type": "string"
21253             },
21254             "read-only": {
21255               "type": "boolean"
21256             }
21257           },
21258           "additionalProperties": false,
21259           "required": [
21260             "filesystem-tag",
21261             "machine-tag",
21262             "provider"
21263           ]
21264         },
21265         "FilesystemAttachmentParamsResult": {
21266           "type": "object",
21267           "properties": {
21268             "error": {
21269               "$ref": "#/definitions/Error"
21270             },
21271             "result": {
21272               "$ref": "#/definitions/FilesystemAttachmentParams"
21273             }
21274           },
21275           "additionalProperties": false,
21276           "required": [
21277             "result"
21278           ]
21279         },
21280         "FilesystemAttachmentParamsResults": {
21281           "type": "object",
21282           "properties": {
21283             "results": {
21284               "type": "array",
21285               "items": {
21286                 "$ref": "#/definitions/FilesystemAttachmentParamsResult"
21287               }
21288             }
21289           },
21290           "additionalProperties": false
21291         },
21292         "FilesystemAttachmentResult": {
21293           "type": "object",
21294           "properties": {
21295             "error": {
21296               "$ref": "#/definitions/Error"
21297             },
21298             "result": {
21299               "$ref": "#/definitions/FilesystemAttachment"
21300             }
21301           },
21302           "additionalProperties": false,
21303           "required": [
21304             "result"
21305           ]
21306         },
21307         "FilesystemAttachmentResults": {
21308           "type": "object",
21309           "properties": {
21310             "results": {
21311               "type": "array",
21312               "items": {
21313                 "$ref": "#/definitions/FilesystemAttachmentResult"
21314               }
21315             }
21316           },
21317           "additionalProperties": false
21318         },
21319         "FilesystemAttachments": {
21320           "type": "object",
21321           "properties": {
21322             "filesystem-attachments": {
21323               "type": "array",
21324               "items": {
21325                 "$ref": "#/definitions/FilesystemAttachment"
21326               }
21327             }
21328           },
21329           "additionalProperties": false,
21330           "required": [
21331             "filesystem-attachments"
21332           ]
21333         },
21334         "FilesystemInfo": {
21335           "type": "object",
21336           "properties": {
21337             "filesystem-id": {
21338               "type": "string"
21339             },
21340             "pool": {
21341               "type": "string"
21342             },
21343             "size": {
21344               "type": "integer"
21345             }
21346           },
21347           "additionalProperties": false,
21348           "required": [
21349             "filesystem-id",
21350             "pool",
21351             "size"
21352           ]
21353         },
21354         "FilesystemParams": {
21355           "type": "object",
21356           "properties": {
21357             "attachment": {
21358               "$ref": "#/definitions/FilesystemAttachmentParams"
21359             },
21360             "attributes": {
21361               "type": "object",
21362               "patternProperties": {
21363                 ".*": {
21364                   "type": "object",
21365                   "additionalProperties": true
21366                 }
21367               }
21368             },
21369             "filesystem-tag": {
21370               "type": "string"
21371             },
21372             "provider": {
21373               "type": "string"
21374             },
21375             "size": {
21376               "type": "integer"
21377             },
21378             "tags": {
21379               "type": "object",
21380               "patternProperties": {
21381                 ".*": {
21382                   "type": "string"
21383                 }
21384               }
21385             },
21386             "volume-tag": {
21387               "type": "string"
21388             }
21389           },
21390           "additionalProperties": false,
21391           "required": [
21392             "filesystem-tag",
21393             "size",
21394             "provider"
21395           ]
21396         },
21397         "FilesystemParamsResult": {
21398           "type": "object",
21399           "properties": {
21400             "error": {
21401               "$ref": "#/definitions/Error"
21402             },
21403             "result": {
21404               "$ref": "#/definitions/FilesystemParams"
21405             }
21406           },
21407           "additionalProperties": false,
21408           "required": [
21409             "result"
21410           ]
21411         },
21412         "FilesystemParamsResults": {
21413           "type": "object",
21414           "properties": {
21415             "results": {
21416               "type": "array",
21417               "items": {
21418                 "$ref": "#/definitions/FilesystemParamsResult"
21419               }
21420             }
21421           },
21422           "additionalProperties": false
21423         },
21424         "FilesystemResult": {
21425           "type": "object",
21426           "properties": {
21427             "error": {
21428               "$ref": "#/definitions/Error"
21429             },
21430             "result": {
21431               "$ref": "#/definitions/Filesystem"
21432             }
21433           },
21434           "additionalProperties": false,
21435           "required": [
21436             "result"
21437           ]
21438         },
21439         "FilesystemResults": {
21440           "type": "object",
21441           "properties": {
21442             "results": {
21443               "type": "array",
21444               "items": {
21445                 "$ref": "#/definitions/FilesystemResult"
21446               }
21447             }
21448           },
21449           "additionalProperties": false
21450         },
21451         "Filesystems": {
21452           "type": "object",
21453           "properties": {
21454             "filesystems": {
21455               "type": "array",
21456               "items": {
21457                 "$ref": "#/definitions/Filesystem"
21458               }
21459             }
21460           },
21461           "additionalProperties": false,
21462           "required": [
21463             "filesystems"
21464           ]
21465         },
21466         "LifeResult": {
21467           "type": "object",
21468           "properties": {
21469             "error": {
21470               "$ref": "#/definitions/Error"
21471             },
21472             "life": {
21473               "type": "string"
21474             }
21475           },
21476           "additionalProperties": false,
21477           "required": [
21478             "life"
21479           ]
21480         },
21481         "LifeResults": {
21482           "type": "object",
21483           "properties": {
21484             "results": {
21485               "type": "array",
21486               "items": {
21487                 "$ref": "#/definitions/LifeResult"
21488               }
21489             }
21490           },
21491           "additionalProperties": false,
21492           "required": [
21493             "results"
21494           ]
21495         },
21496         "Macaroon": {
21497           "type": "object",
21498           "additionalProperties": false
21499         },
21500         "MachineStorageId": {
21501           "type": "object",
21502           "properties": {
21503             "attachment-tag": {
21504               "type": "string"
21505             },
21506             "machine-tag": {
21507               "type": "string"
21508             }
21509           },
21510           "additionalProperties": false,
21511           "required": [
21512             "machine-tag",
21513             "attachment-tag"
21514           ]
21515         },
21516         "MachineStorageIds": {
21517           "type": "object",
21518           "properties": {
21519             "ids": {
21520               "type": "array",
21521               "items": {
21522                 "$ref": "#/definitions/MachineStorageId"
21523               }
21524             }
21525           },
21526           "additionalProperties": false,
21527           "required": [
21528             "ids"
21529           ]
21530         },
21531         "MachineStorageIdsWatchResult": {
21532           "type": "object",
21533           "properties": {
21534             "changes": {
21535               "type": "array",
21536               "items": {
21537                 "$ref": "#/definitions/MachineStorageId"
21538               }
21539             },
21540             "error": {
21541               "$ref": "#/definitions/Error"
21542             },
21543             "watcher-id": {
21544               "type": "string"
21545             }
21546           },
21547           "additionalProperties": false,
21548           "required": [
21549             "watcher-id",
21550             "changes"
21551           ]
21552         },
21553         "MachineStorageIdsWatchResults": {
21554           "type": "object",
21555           "properties": {
21556             "results": {
21557               "type": "array",
21558               "items": {
21559                 "$ref": "#/definitions/MachineStorageIdsWatchResult"
21560               }
21561             }
21562           },
21563           "additionalProperties": false,
21564           "required": [
21565             "results"
21566           ]
21567         },
21568         "NotifyWatchResult": {
21569           "type": "object",
21570           "properties": {
21571             "NotifyWatcherId": {
21572               "type": "string"
21573             },
21574             "error": {
21575               "$ref": "#/definitions/Error"
21576             }
21577           },
21578           "additionalProperties": false,
21579           "required": [
21580             "NotifyWatcherId"
21581           ]
21582         },
21583         "NotifyWatchResults": {
21584           "type": "object",
21585           "properties": {
21586             "results": {
21587               "type": "array",
21588               "items": {
21589                 "$ref": "#/definitions/NotifyWatchResult"
21590               }
21591             }
21592           },
21593           "additionalProperties": false,
21594           "required": [
21595             "results"
21596           ]
21597         },
21598         "SetStatus": {
21599           "type": "object",
21600           "properties": {
21601             "entities": {
21602               "type": "array",
21603               "items": {
21604                 "$ref": "#/definitions/EntityStatusArgs"
21605               }
21606             }
21607           },
21608           "additionalProperties": false,
21609           "required": [
21610             "entities"
21611           ]
21612         },
21613         "StringResult": {
21614           "type": "object",
21615           "properties": {
21616             "error": {
21617               "$ref": "#/definitions/Error"
21618             },
21619             "result": {
21620               "type": "string"
21621             }
21622           },
21623           "additionalProperties": false,
21624           "required": [
21625             "result"
21626           ]
21627         },
21628         "StringResults": {
21629           "type": "object",
21630           "properties": {
21631             "results": {
21632               "type": "array",
21633               "items": {
21634                 "$ref": "#/definitions/StringResult"
21635               }
21636             }
21637           },
21638           "additionalProperties": false,
21639           "required": [
21640             "results"
21641           ]
21642         },
21643         "StringsWatchResult": {
21644           "type": "object",
21645           "properties": {
21646             "changes": {
21647               "type": "array",
21648               "items": {
21649                 "type": "string"
21650               }
21651             },
21652             "error": {
21653               "$ref": "#/definitions/Error"
21654             },
21655             "watcher-id": {
21656               "type": "string"
21657             }
21658           },
21659           "additionalProperties": false,
21660           "required": [
21661             "watcher-id"
21662           ]
21663         },
21664         "StringsWatchResults": {
21665           "type": "object",
21666           "properties": {
21667             "results": {
21668               "type": "array",
21669               "items": {
21670                 "$ref": "#/definitions/StringsWatchResult"
21671               }
21672             }
21673           },
21674           "additionalProperties": false,
21675           "required": [
21676             "results"
21677           ]
21678         },
21679         "Volume": {
21680           "type": "object",
21681           "properties": {
21682             "info": {
21683               "$ref": "#/definitions/VolumeInfo"
21684             },
21685             "volume-tag": {
21686               "type": "string"
21687             }
21688           },
21689           "additionalProperties": false,
21690           "required": [
21691             "volume-tag",
21692             "info"
21693           ]
21694         },
21695         "VolumeAttachment": {
21696           "type": "object",
21697           "properties": {
21698             "info": {
21699               "$ref": "#/definitions/VolumeAttachmentInfo"
21700             },
21701             "machine-tag": {
21702               "type": "string"
21703             },
21704             "volume-tag": {
21705               "type": "string"
21706             }
21707           },
21708           "additionalProperties": false,
21709           "required": [
21710             "volume-tag",
21711             "machine-tag",
21712             "info"
21713           ]
21714         },
21715         "VolumeAttachmentInfo": {
21716           "type": "object",
21717           "properties": {
21718             "bus-address": {
21719               "type": "string"
21720             },
21721             "device-link": {
21722               "type": "string"
21723             },
21724             "device-name": {
21725               "type": "string"
21726             },
21727             "read-only": {
21728               "type": "boolean"
21729             }
21730           },
21731           "additionalProperties": false
21732         },
21733         "VolumeAttachmentParams": {
21734           "type": "object",
21735           "properties": {
21736             "instance-id": {
21737               "type": "string"
21738             },
21739             "machine-tag": {
21740               "type": "string"
21741             },
21742             "provider": {
21743               "type": "string"
21744             },
21745             "read-only": {
21746               "type": "boolean"
21747             },
21748             "volume-id": {
21749               "type": "string"
21750             },
21751             "volume-tag": {
21752               "type": "string"
21753             }
21754           },
21755           "additionalProperties": false,
21756           "required": [
21757             "volume-tag",
21758             "machine-tag",
21759             "provider"
21760           ]
21761         },
21762         "VolumeAttachmentParamsResult": {
21763           "type": "object",
21764           "properties": {
21765             "error": {
21766               "$ref": "#/definitions/Error"
21767             },
21768             "result": {
21769               "$ref": "#/definitions/VolumeAttachmentParams"
21770             }
21771           },
21772           "additionalProperties": false,
21773           "required": [
21774             "result"
21775           ]
21776         },
21777         "VolumeAttachmentParamsResults": {
21778           "type": "object",
21779           "properties": {
21780             "results": {
21781               "type": "array",
21782               "items": {
21783                 "$ref": "#/definitions/VolumeAttachmentParamsResult"
21784               }
21785             }
21786           },
21787           "additionalProperties": false
21788         },
21789         "VolumeAttachmentResult": {
21790           "type": "object",
21791           "properties": {
21792             "error": {
21793               "$ref": "#/definitions/Error"
21794             },
21795             "result": {
21796               "$ref": "#/definitions/VolumeAttachment"
21797             }
21798           },
21799           "additionalProperties": false,
21800           "required": [
21801             "result"
21802           ]
21803         },
21804         "VolumeAttachmentResults": {
21805           "type": "object",
21806           "properties": {
21807             "results": {
21808               "type": "array",
21809               "items": {
21810                 "$ref": "#/definitions/VolumeAttachmentResult"
21811               }
21812             }
21813           },
21814           "additionalProperties": false
21815         },
21816         "VolumeAttachments": {
21817           "type": "object",
21818           "properties": {
21819             "volume-attachments": {
21820               "type": "array",
21821               "items": {
21822                 "$ref": "#/definitions/VolumeAttachment"
21823               }
21824             }
21825           },
21826           "additionalProperties": false,
21827           "required": [
21828             "volume-attachments"
21829           ]
21830         },
21831         "VolumeInfo": {
21832           "type": "object",
21833           "properties": {
21834             "hardware-id": {
21835               "type": "string"
21836             },
21837             "persistent": {
21838               "type": "boolean"
21839             },
21840             "pool": {
21841               "type": "string"
21842             },
21843             "size": {
21844               "type": "integer"
21845             },
21846             "volume-id": {
21847               "type": "string"
21848             }
21849           },
21850           "additionalProperties": false,
21851           "required": [
21852             "volume-id",
21853             "size",
21854             "persistent"
21855           ]
21856         },
21857         "VolumeParams": {
21858           "type": "object",
21859           "properties": {
21860             "attachment": {
21861               "$ref": "#/definitions/VolumeAttachmentParams"
21862             },
21863             "attributes": {
21864               "type": "object",
21865               "patternProperties": {
21866                 ".*": {
21867                   "type": "object",
21868                   "additionalProperties": true
21869                 }
21870               }
21871             },
21872             "provider": {
21873               "type": "string"
21874             },
21875             "size": {
21876               "type": "integer"
21877             },
21878             "tags": {
21879               "type": "object",
21880               "patternProperties": {
21881                 ".*": {
21882                   "type": "string"
21883                 }
21884               }
21885             },
21886             "volume-tag": {
21887               "type": "string"
21888             }
21889           },
21890           "additionalProperties": false,
21891           "required": [
21892             "volume-tag",
21893             "size",
21894             "provider"
21895           ]
21896         },
21897         "VolumeParamsResult": {
21898           "type": "object",
21899           "properties": {
21900             "error": {
21901               "$ref": "#/definitions/Error"
21902             },
21903             "result": {
21904               "$ref": "#/definitions/VolumeParams"
21905             }
21906           },
21907           "additionalProperties": false,
21908           "required": [
21909             "result"
21910           ]
21911         },
21912         "VolumeParamsResults": {
21913           "type": "object",
21914           "properties": {
21915             "results": {
21916               "type": "array",
21917               "items": {
21918                 "$ref": "#/definitions/VolumeParamsResult"
21919               }
21920             }
21921           },
21922           "additionalProperties": false
21923         },
21924         "VolumeResult": {
21925           "type": "object",
21926           "properties": {
21927             "error": {
21928               "$ref": "#/definitions/Error"
21929             },
21930             "result": {
21931               "$ref": "#/definitions/Volume"
21932             }
21933           },
21934           "additionalProperties": false,
21935           "required": [
21936             "result"
21937           ]
21938         },
21939         "VolumeResults": {
21940           "type": "object",
21941           "properties": {
21942             "results": {
21943               "type": "array",
21944               "items": {
21945                 "$ref": "#/definitions/VolumeResult"
21946               }
21947             }
21948           },
21949           "additionalProperties": false
21950         },
21951         "Volumes": {
21952           "type": "object",
21953           "properties": {
21954             "volumes": {
21955               "type": "array",
21956               "items": {
21957                 "$ref": "#/definitions/Volume"
21958               }
21959             }
21960           },
21961           "additionalProperties": false,
21962           "required": [
21963             "volumes"
21964           ]
21965         }
21966       }
21967     }
21968   },
21969   {
21970     "Name": "StringsWatcher",
21971     "Version": 1,
21972     "Schema": {
21973       "type": "object",
21974       "properties": {
21975         "Next": {
21976           "type": "object",
21977           "properties": {
21978             "Result": {
21979               "$ref": "#/definitions/StringsWatchResult"
21980             }
21981           }
21982         },
21983         "Stop": {
21984           "type": "object"
21985         }
21986       },
21987       "definitions": {
21988         "Error": {
21989           "type": "object",
21990           "properties": {
21991             "code": {
21992               "type": "string"
21993             },
21994             "info": {
21995               "$ref": "#/definitions/ErrorInfo"
21996             },
21997             "message": {
21998               "type": "string"
21999             }
22000           },
22001           "additionalProperties": false,
22002           "required": [
22003             "message",
22004             "code"
22005           ]
22006         },
22007         "ErrorInfo": {
22008           "type": "object",
22009           "properties": {
22010             "macaroon": {
22011               "$ref": "#/definitions/Macaroon"
22012             },
22013             "macaroon-path": {
22014               "type": "string"
22015             }
22016           },
22017           "additionalProperties": false
22018         },
22019         "Macaroon": {
22020           "type": "object",
22021           "additionalProperties": false
22022         },
22023         "StringsWatchResult": {
22024           "type": "object",
22025           "properties": {
22026             "changes": {
22027               "type": "array",
22028               "items": {
22029                 "type": "string"
22030               }
22031             },
22032             "error": {
22033               "$ref": "#/definitions/Error"
22034             },
22035             "watcher-id": {
22036               "type": "string"
22037             }
22038           },
22039           "additionalProperties": false,
22040           "required": [
22041             "watcher-id"
22042           ]
22043         }
22044       }
22045     }
22046   },
22047   {
22048     "Name": "Subnets",
22049     "Version": 2,
22050     "Schema": {
22051       "type": "object",
22052       "properties": {
22053         "AddSubnets": {
22054           "type": "object",
22055           "properties": {
22056             "Params": {
22057               "$ref": "#/definitions/AddSubnetsParams"
22058             },
22059             "Result": {
22060               "$ref": "#/definitions/ErrorResults"
22061             }
22062           }
22063         },
22064         "AllSpaces": {
22065           "type": "object",
22066           "properties": {
22067             "Result": {
22068               "$ref": "#/definitions/SpaceResults"
22069             }
22070           }
22071         },
22072         "AllZones": {
22073           "type": "object",
22074           "properties": {
22075             "Result": {
22076               "$ref": "#/definitions/ZoneResults"
22077             }
22078           }
22079         },
22080         "ListSubnets": {
22081           "type": "object",
22082           "properties": {
22083             "Params": {
22084               "$ref": "#/definitions/SubnetsFilters"
22085             },
22086             "Result": {
22087               "$ref": "#/definitions/ListSubnetsResults"
22088             }
22089           }
22090         }
22091       },
22092       "definitions": {
22093         "AddSubnetParams": {
22094           "type": "object",
22095           "properties": {
22096             "provider-network-id": {
22097               "type": "string"
22098             },
22099             "space-tag": {
22100               "type": "string"
22101             },
22102             "subnet-provider-id": {
22103               "type": "string"
22104             },
22105             "subnet-tag": {
22106               "type": "string"
22107             },
22108             "vlan-tag": {
22109               "type": "integer"
22110             },
22111             "zones": {
22112               "type": "array",
22113               "items": {
22114                 "type": "string"
22115               }
22116             }
22117           },
22118           "additionalProperties": false,
22119           "required": [
22120             "space-tag"
22121           ]
22122         },
22123         "AddSubnetsParams": {
22124           "type": "object",
22125           "properties": {
22126             "subnets": {
22127               "type": "array",
22128               "items": {
22129                 "$ref": "#/definitions/AddSubnetParams"
22130               }
22131             }
22132           },
22133           "additionalProperties": false,
22134           "required": [
22135             "subnets"
22136           ]
22137         },
22138         "Error": {
22139           "type": "object",
22140           "properties": {
22141             "code": {
22142               "type": "string"
22143             },
22144             "info": {
22145               "$ref": "#/definitions/ErrorInfo"
22146             },
22147             "message": {
22148               "type": "string"
22149             }
22150           },
22151           "additionalProperties": false,
22152           "required": [
22153             "message",
22154             "code"
22155           ]
22156         },
22157         "ErrorInfo": {
22158           "type": "object",
22159           "properties": {
22160             "macaroon": {
22161               "$ref": "#/definitions/Macaroon"
22162             },
22163             "macaroon-path": {
22164               "type": "string"
22165             }
22166           },
22167           "additionalProperties": false
22168         },
22169         "ErrorResult": {
22170           "type": "object",
22171           "properties": {
22172             "error": {
22173               "$ref": "#/definitions/Error"
22174             }
22175           },
22176           "additionalProperties": false
22177         },
22178         "ErrorResults": {
22179           "type": "object",
22180           "properties": {
22181             "results": {
22182               "type": "array",
22183               "items": {
22184                 "$ref": "#/definitions/ErrorResult"
22185               }
22186             }
22187           },
22188           "additionalProperties": false,
22189           "required": [
22190             "results"
22191           ]
22192         },
22193         "ListSubnetsResults": {
22194           "type": "object",
22195           "properties": {
22196             "results": {
22197               "type": "array",
22198               "items": {
22199                 "$ref": "#/definitions/Subnet"
22200               }
22201             }
22202           },
22203           "additionalProperties": false,
22204           "required": [
22205             "results"
22206           ]
22207         },
22208         "Macaroon": {
22209           "type": "object",
22210           "additionalProperties": false
22211         },
22212         "SpaceResult": {
22213           "type": "object",
22214           "properties": {
22215             "error": {
22216               "$ref": "#/definitions/Error"
22217             },
22218             "tag": {
22219               "type": "string"
22220             }
22221           },
22222           "additionalProperties": false,
22223           "required": [
22224             "tag"
22225           ]
22226         },
22227         "SpaceResults": {
22228           "type": "object",
22229           "properties": {
22230             "results": {
22231               "type": "array",
22232               "items": {
22233                 "$ref": "#/definitions/SpaceResult"
22234               }
22235             }
22236           },
22237           "additionalProperties": false,
22238           "required": [
22239             "results"
22240           ]
22241         },
22242         "Subnet": {
22243           "type": "object",
22244           "properties": {
22245             "cidr": {
22246               "type": "string"
22247             },
22248             "life": {
22249               "type": "string"
22250             },
22251             "provider-id": {
22252               "type": "string"
22253             },
22254             "provider-network-id": {
22255               "type": "string"
22256             },
22257             "space-tag": {
22258               "type": "string"
22259             },
22260             "status": {
22261               "type": "string"
22262             },
22263             "vlan-tag": {
22264               "type": "integer"
22265             },
22266             "zones": {
22267               "type": "array",
22268               "items": {
22269                 "type": "string"
22270               }
22271             }
22272           },
22273           "additionalProperties": false,
22274           "required": [
22275             "cidr",
22276             "vlan-tag",
22277             "life",
22278             "space-tag",
22279             "zones"
22280           ]
22281         },
22282         "SubnetsFilters": {
22283           "type": "object",
22284           "properties": {
22285             "space-tag": {
22286               "type": "string"
22287             },
22288             "zone": {
22289               "type": "string"
22290             }
22291           },
22292           "additionalProperties": false
22293         },
22294         "ZoneResult": {
22295           "type": "object",
22296           "properties": {
22297             "available": {
22298               "type": "boolean"
22299             },
22300             "error": {
22301               "$ref": "#/definitions/Error"
22302             },
22303             "name": {
22304               "type": "string"
22305             }
22306           },
22307           "additionalProperties": false,
22308           "required": [
22309             "name",
22310             "available"
22311           ]
22312         },
22313         "ZoneResults": {
22314           "type": "object",
22315           "properties": {
22316             "results": {
22317               "type": "array",
22318               "items": {
22319                 "$ref": "#/definitions/ZoneResult"
22320               }
22321             }
22322           },
22323           "additionalProperties": false,
22324           "required": [
22325             "results"
22326           ]
22327         }
22328       }
22329     }
22330   },
22331   {
22332     "Name": "Undertaker",
22333     "Version": 1,
22334     "Schema": {
22335       "type": "object",
22336       "properties": {
22337         "ModelConfig": {
22338           "type": "object",
22339           "properties": {
22340             "Result": {
22341               "$ref": "#/definitions/ModelConfigResult"
22342             }
22343           }
22344         },
22345         "ModelInfo": {
22346           "type": "object",
22347           "properties": {
22348             "Result": {
22349               "$ref": "#/definitions/UndertakerModelInfoResult"
22350             }
22351           }
22352         },
22353         "ProcessDyingModel": {
22354           "type": "object"
22355         },
22356         "RemoveModel": {
22357           "type": "object"
22358         },
22359         "SetStatus": {
22360           "type": "object",
22361           "properties": {
22362             "Params": {
22363               "$ref": "#/definitions/SetStatus"
22364             },
22365             "Result": {
22366               "$ref": "#/definitions/ErrorResults"
22367             }
22368           }
22369         },
22370         "UpdateStatus": {
22371           "type": "object",
22372           "properties": {
22373             "Params": {
22374               "$ref": "#/definitions/SetStatus"
22375             },
22376             "Result": {
22377               "$ref": "#/definitions/ErrorResults"
22378             }
22379           }
22380         },
22381         "WatchModelResources": {
22382           "type": "object",
22383           "properties": {
22384             "Result": {
22385               "$ref": "#/definitions/NotifyWatchResults"
22386             }
22387           }
22388         }
22389       },
22390       "definitions": {
22391         "EntityStatusArgs": {
22392           "type": "object",
22393           "properties": {
22394             "data": {
22395               "type": "object",
22396               "patternProperties": {
22397                 ".*": {
22398                   "type": "object",
22399                   "additionalProperties": true
22400                 }
22401               }
22402             },
22403             "info": {
22404               "type": "string"
22405             },
22406             "status": {
22407               "type": "string"
22408             },
22409             "tag": {
22410               "type": "string"
22411             }
22412           },
22413           "additionalProperties": false,
22414           "required": [
22415             "tag",
22416             "status",
22417             "info",
22418             "data"
22419           ]
22420         },
22421         "Error": {
22422           "type": "object",
22423           "properties": {
22424             "code": {
22425               "type": "string"
22426             },
22427             "info": {
22428               "$ref": "#/definitions/ErrorInfo"
22429             },
22430             "message": {
22431               "type": "string"
22432             }
22433           },
22434           "additionalProperties": false,
22435           "required": [
22436             "message",
22437             "code"
22438           ]
22439         },
22440         "ErrorInfo": {
22441           "type": "object",
22442           "properties": {
22443             "macaroon": {
22444               "$ref": "#/definitions/Macaroon"
22445             },
22446             "macaroon-path": {
22447               "type": "string"
22448             }
22449           },
22450           "additionalProperties": false
22451         },
22452         "ErrorResult": {
22453           "type": "object",
22454           "properties": {
22455             "error": {
22456               "$ref": "#/definitions/Error"
22457             }
22458           },
22459           "additionalProperties": false
22460         },
22461         "ErrorResults": {
22462           "type": "object",
22463           "properties": {
22464             "results": {
22465               "type": "array",
22466               "items": {
22467                 "$ref": "#/definitions/ErrorResult"
22468               }
22469             }
22470           },
22471           "additionalProperties": false,
22472           "required": [
22473             "results"
22474           ]
22475         },
22476         "Macaroon": {
22477           "type": "object",
22478           "additionalProperties": false
22479         },
22480         "ModelConfigResult": {
22481           "type": "object",
22482           "properties": {
22483             "config": {
22484               "type": "object",
22485               "patternProperties": {
22486                 ".*": {
22487                   "type": "object",
22488                   "additionalProperties": true
22489                 }
22490               }
22491             }
22492           },
22493           "additionalProperties": false,
22494           "required": [
22495             "config"
22496           ]
22497         },
22498         "NotifyWatchResult": {
22499           "type": "object",
22500           "properties": {
22501             "NotifyWatcherId": {
22502               "type": "string"
22503             },
22504             "error": {
22505               "$ref": "#/definitions/Error"
22506             }
22507           },
22508           "additionalProperties": false,
22509           "required": [
22510             "NotifyWatcherId"
22511           ]
22512         },
22513         "NotifyWatchResults": {
22514           "type": "object",
22515           "properties": {
22516             "results": {
22517               "type": "array",
22518               "items": {
22519                 "$ref": "#/definitions/NotifyWatchResult"
22520               }
22521             }
22522           },
22523           "additionalProperties": false,
22524           "required": [
22525             "results"
22526           ]
22527         },
22528         "SetStatus": {
22529           "type": "object",
22530           "properties": {
22531             "entities": {
22532               "type": "array",
22533               "items": {
22534                 "$ref": "#/definitions/EntityStatusArgs"
22535               }
22536             }
22537           },
22538           "additionalProperties": false,
22539           "required": [
22540             "entities"
22541           ]
22542         },
22543         "UndertakerModelInfo": {
22544           "type": "object",
22545           "properties": {
22546             "global-name": {
22547               "type": "string"
22548             },
22549             "is-system": {
22550               "type": "boolean"
22551             },
22552             "life": {
22553               "type": "string"
22554             },
22555             "name": {
22556               "type": "string"
22557             },
22558             "uuid": {
22559               "type": "string"
22560             }
22561           },
22562           "additionalProperties": false,
22563           "required": [
22564             "uuid",
22565             "name",
22566             "global-name",
22567             "is-system",
22568             "life"
22569           ]
22570         },
22571         "UndertakerModelInfoResult": {
22572           "type": "object",
22573           "properties": {
22574             "error": {
22575               "$ref": "#/definitions/Error"
22576             },
22577             "result": {
22578               "$ref": "#/definitions/UndertakerModelInfo"
22579             }
22580           },
22581           "additionalProperties": false,
22582           "required": [
22583             "result"
22584           ]
22585         }
22586       }
22587     }
22588   },
22589   {
22590     "Name": "UnitAssigner",
22591     "Version": 1,
22592     "Schema": {
22593       "type": "object",
22594       "properties": {
22595         "AssignUnits": {
22596           "type": "object",
22597           "properties": {
22598             "Params": {
22599               "$ref": "#/definitions/Entities"
22600             },
22601             "Result": {
22602               "$ref": "#/definitions/ErrorResults"
22603             }
22604           }
22605         },
22606         "SetAgentStatus": {
22607           "type": "object",
22608           "properties": {
22609             "Params": {
22610               "$ref": "#/definitions/SetStatus"
22611             },
22612             "Result": {
22613               "$ref": "#/definitions/ErrorResults"
22614             }
22615           }
22616         },
22617         "WatchUnitAssignments": {
22618           "type": "object",
22619           "properties": {
22620             "Result": {
22621               "$ref": "#/definitions/StringsWatchResult"
22622             }
22623           }
22624         }
22625       },
22626       "definitions": {
22627         "Entities": {
22628           "type": "object",
22629           "properties": {
22630             "entities": {
22631               "type": "array",
22632               "items": {
22633                 "$ref": "#/definitions/Entity"
22634               }
22635             }
22636           },
22637           "additionalProperties": false,
22638           "required": [
22639             "entities"
22640           ]
22641         },
22642         "Entity": {
22643           "type": "object",
22644           "properties": {
22645             "tag": {
22646               "type": "string"
22647             }
22648           },
22649           "additionalProperties": false,
22650           "required": [
22651             "tag"
22652           ]
22653         },
22654         "EntityStatusArgs": {
22655           "type": "object",
22656           "properties": {
22657             "data": {
22658               "type": "object",
22659               "patternProperties": {
22660                 ".*": {
22661                   "type": "object",
22662                   "additionalProperties": true
22663                 }
22664               }
22665             },
22666             "info": {
22667               "type": "string"
22668             },
22669             "status": {
22670               "type": "string"
22671             },
22672             "tag": {
22673               "type": "string"
22674             }
22675           },
22676           "additionalProperties": false,
22677           "required": [
22678             "tag",
22679             "status",
22680             "info",
22681             "data"
22682           ]
22683         },
22684         "Error": {
22685           "type": "object",
22686           "properties": {
22687             "code": {
22688               "type": "string"
22689             },
22690             "info": {
22691               "$ref": "#/definitions/ErrorInfo"
22692             },
22693             "message": {
22694               "type": "string"
22695             }
22696           },
22697           "additionalProperties": false,
22698           "required": [
22699             "message",
22700             "code"
22701           ]
22702         },
22703         "ErrorInfo": {
22704           "type": "object",
22705           "properties": {
22706             "macaroon": {
22707               "$ref": "#/definitions/Macaroon"
22708             },
22709             "macaroon-path": {
22710               "type": "string"
22711             }
22712           },
22713           "additionalProperties": false
22714         },
22715         "ErrorResult": {
22716           "type": "object",
22717           "properties": {
22718             "error": {
22719               "$ref": "#/definitions/Error"
22720             }
22721           },
22722           "additionalProperties": false
22723         },
22724         "ErrorResults": {
22725           "type": "object",
22726           "properties": {
22727             "results": {
22728               "type": "array",
22729               "items": {
22730                 "$ref": "#/definitions/ErrorResult"
22731               }
22732             }
22733           },
22734           "additionalProperties": false,
22735           "required": [
22736             "results"
22737           ]
22738         },
22739         "Macaroon": {
22740           "type": "object",
22741           "additionalProperties": false
22742         },
22743         "SetStatus": {
22744           "type": "object",
22745           "properties": {
22746             "entities": {
22747               "type": "array",
22748               "items": {
22749                 "$ref": "#/definitions/EntityStatusArgs"
22750               }
22751             }
22752           },
22753           "additionalProperties": false,
22754           "required": [
22755             "entities"
22756           ]
22757         },
22758         "StringsWatchResult": {
22759           "type": "object",
22760           "properties": {
22761             "changes": {
22762               "type": "array",
22763               "items": {
22764                 "type": "string"
22765               }
22766             },
22767             "error": {
22768               "$ref": "#/definitions/Error"
22769             },
22770             "watcher-id": {
22771               "type": "string"
22772             }
22773           },
22774           "additionalProperties": false,
22775           "required": [
22776             "watcher-id"
22777           ]
22778         }
22779       }
22780     }
22781   },
22782   {
22783     "Name": "Uniter",
22784     "Version": 5,
22785     "Schema": {
22786       "type": "object",
22787       "properties": {
22788         "APIAddresses": {
22789           "type": "object",
22790           "properties": {
22791             "Result": {
22792               "$ref": "#/definitions/StringsResult"
22793             }
22794           }
22795         },
22796         "APIHostPorts": {
22797           "type": "object",
22798           "properties": {
22799             "Result": {
22800               "$ref": "#/definitions/APIHostPortsResult"
22801             }
22802           }
22803         },
22804         "Actions": {
22805           "type": "object",
22806           "properties": {
22807             "Params": {
22808               "$ref": "#/definitions/Entities"
22809             },
22810             "Result": {
22811               "$ref": "#/definitions/ActionResults"
22812             }
22813           }
22814         },
22815         "AddMetricBatches": {
22816           "type": "object",
22817           "properties": {
22818             "Params": {
22819               "$ref": "#/definitions/MetricBatchParams"
22820             },
22821             "Result": {
22822               "$ref": "#/definitions/ErrorResults"
22823             }
22824           }
22825         },
22826         "AddUnitStorage": {
22827           "type": "object",
22828           "properties": {
22829             "Params": {
22830               "$ref": "#/definitions/StoragesAddParams"
22831             },
22832             "Result": {
22833               "$ref": "#/definitions/ErrorResults"
22834             }
22835           }
22836         },
22837         "AllMachinePorts": {
22838           "type": "object",
22839           "properties": {
22840             "Params": {
22841               "$ref": "#/definitions/Entities"
22842             },
22843             "Result": {
22844               "$ref": "#/definitions/MachinePortsResults"
22845             }
22846           }
22847         },
22848         "ApplicationStatus": {
22849           "type": "object",
22850           "properties": {
22851             "Params": {
22852               "$ref": "#/definitions/Entities"
22853             },
22854             "Result": {
22855               "$ref": "#/definitions/ApplicationStatusResults"
22856             }
22857           }
22858         },
22859         "AssignedMachine": {
22860           "type": "object",
22861           "properties": {
22862             "Params": {
22863               "$ref": "#/definitions/Entities"
22864             },
22865             "Result": {
22866               "$ref": "#/definitions/StringResults"
22867             }
22868           }
22869         },
22870         "AvailabilityZone": {
22871           "type": "object",
22872           "properties": {
22873             "Params": {
22874               "$ref": "#/definitions/Entities"
22875             },
22876             "Result": {
22877               "$ref": "#/definitions/StringResults"
22878             }
22879           }
22880         },
22881         "BeginActions": {
22882           "type": "object",
22883           "properties": {
22884             "Params": {
22885               "$ref": "#/definitions/Entities"
22886             },
22887             "Result": {
22888               "$ref": "#/definitions/ErrorResults"
22889             }
22890           }
22891         },
22892         "CACert": {
22893           "type": "object",
22894           "properties": {
22895             "Result": {
22896               "$ref": "#/definitions/BytesResult"
22897             }
22898           }
22899         },
22900         "CharmArchiveSha256": {
22901           "type": "object",
22902           "properties": {
22903             "Params": {
22904               "$ref": "#/definitions/CharmURLs"
22905             },
22906             "Result": {
22907               "$ref": "#/definitions/StringResults"
22908             }
22909           }
22910         },
22911         "CharmModifiedVersion": {
22912           "type": "object",
22913           "properties": {
22914             "Params": {
22915               "$ref": "#/definitions/Entities"
22916             },
22917             "Result": {
22918               "$ref": "#/definitions/IntResults"
22919             }
22920           }
22921         },
22922         "CharmURL": {
22923           "type": "object",
22924           "properties": {
22925             "Params": {
22926               "$ref": "#/definitions/Entities"
22927             },
22928             "Result": {
22929               "$ref": "#/definitions/StringBoolResults"
22930             }
22931           }
22932         },
22933         "ClearResolved": {
22934           "type": "object",
22935           "properties": {
22936             "Params": {
22937               "$ref": "#/definitions/Entities"
22938             },
22939             "Result": {
22940               "$ref": "#/definitions/ErrorResults"
22941             }
22942           }
22943         },
22944         "ClosePorts": {
22945           "type": "object",
22946           "properties": {
22947             "Params": {
22948               "$ref": "#/definitions/EntitiesPortRanges"
22949             },
22950             "Result": {
22951               "$ref": "#/definitions/ErrorResults"
22952             }
22953           }
22954         },
22955         "ConfigSettings": {
22956           "type": "object",
22957           "properties": {
22958             "Params": {
22959               "$ref": "#/definitions/Entities"
22960             },
22961             "Result": {
22962               "$ref": "#/definitions/ConfigSettingsResults"
22963             }
22964           }
22965         },
22966         "CurrentModel": {
22967           "type": "object",
22968           "properties": {
22969             "Result": {
22970               "$ref": "#/definitions/ModelResult"
22971             }
22972           }
22973         },
22974         "Destroy": {
22975           "type": "object",
22976           "properties": {
22977             "Params": {
22978               "$ref": "#/definitions/Entities"
22979             },
22980             "Result": {
22981               "$ref": "#/definitions/ErrorResults"
22982             }
22983           }
22984         },
22985         "DestroyAllSubordinates": {
22986           "type": "object",
22987           "properties": {
22988             "Params": {
22989               "$ref": "#/definitions/Entities"
22990             },
22991             "Result": {
22992               "$ref": "#/definitions/ErrorResults"
22993             }
22994           }
22995         },
22996         "DestroyUnitStorageAttachments": {
22997           "type": "object",
22998           "properties": {
22999             "Params": {
23000               "$ref": "#/definitions/Entities"
23001             },
23002             "Result": {
23003               "$ref": "#/definitions/ErrorResults"
23004             }
23005           }
23006         },
23007         "EnsureDead": {
23008           "type": "object",
23009           "properties": {
23010             "Params": {
23011               "$ref": "#/definitions/Entities"
23012             },
23013             "Result": {
23014               "$ref": "#/definitions/ErrorResults"
23015             }
23016           }
23017         },
23018         "EnterScope": {
23019           "type": "object",
23020           "properties": {
23021             "Params": {
23022               "$ref": "#/definitions/RelationUnits"
23023             },
23024             "Result": {
23025               "$ref": "#/definitions/ErrorResults"
23026             }
23027           }
23028         },
23029         "FinishActions": {
23030           "type": "object",
23031           "properties": {
23032             "Params": {
23033               "$ref": "#/definitions/ActionExecutionResults"
23034             },
23035             "Result": {
23036               "$ref": "#/definitions/ErrorResults"
23037             }
23038           }
23039         },
23040         "GetMeterStatus": {
23041           "type": "object",
23042           "properties": {
23043             "Params": {
23044               "$ref": "#/definitions/Entities"
23045             },
23046             "Result": {
23047               "$ref": "#/definitions/MeterStatusResults"
23048             }
23049           }
23050         },
23051         "GetPrincipal": {
23052           "type": "object",
23053           "properties": {
23054             "Params": {
23055               "$ref": "#/definitions/Entities"
23056             },
23057             "Result": {
23058               "$ref": "#/definitions/StringBoolResults"
23059             }
23060           }
23061         },
23062         "HasSubordinates": {
23063           "type": "object",
23064           "properties": {
23065             "Params": {
23066               "$ref": "#/definitions/Entities"
23067             },
23068             "Result": {
23069               "$ref": "#/definitions/BoolResults"
23070             }
23071           }
23072         },
23073         "JoinedRelations": {
23074           "type": "object",
23075           "properties": {
23076             "Params": {
23077               "$ref": "#/definitions/Entities"
23078             },
23079             "Result": {
23080               "$ref": "#/definitions/StringsResults"
23081             }
23082           }
23083         },
23084         "LeaveScope": {
23085           "type": "object",
23086           "properties": {
23087             "Params": {
23088               "$ref": "#/definitions/RelationUnits"
23089             },
23090             "Result": {
23091               "$ref": "#/definitions/ErrorResults"
23092             }
23093           }
23094         },
23095         "Life": {
23096           "type": "object",
23097           "properties": {
23098             "Params": {
23099               "$ref": "#/definitions/Entities"
23100             },
23101             "Result": {
23102               "$ref": "#/definitions/LifeResults"
23103             }
23104           }
23105         },
23106         "Merge": {
23107           "type": "object",
23108           "properties": {
23109             "Params": {
23110               "$ref": "#/definitions/MergeLeadershipSettingsBulkParams"
23111             },
23112             "Result": {
23113               "$ref": "#/definitions/ErrorResults"
23114             }
23115           }
23116         },
23117         "ModelConfig": {
23118           "type": "object",
23119           "properties": {
23120             "Result": {
23121               "$ref": "#/definitions/ModelConfigResult"
23122             }
23123           }
23124         },
23125         "ModelUUID": {
23126           "type": "object",
23127           "properties": {
23128             "Result": {
23129               "$ref": "#/definitions/StringResult"
23130             }
23131           }
23132         },
23133         "NetworkConfig": {
23134           "type": "object",
23135           "properties": {
23136             "Params": {
23137               "$ref": "#/definitions/UnitsNetworkConfig"
23138             },
23139             "Result": {
23140               "$ref": "#/definitions/UnitNetworkConfigResults"
23141             }
23142           }
23143         },
23144         "OpenPorts": {
23145           "type": "object",
23146           "properties": {
23147             "Params": {
23148               "$ref": "#/definitions/EntitiesPortRanges"
23149             },
23150             "Result": {
23151               "$ref": "#/definitions/ErrorResults"
23152             }
23153           }
23154         },
23155         "PrivateAddress": {
23156           "type": "object",
23157           "properties": {
23158             "Params": {
23159               "$ref": "#/definitions/Entities"
23160             },
23161             "Result": {
23162               "$ref": "#/definitions/StringResults"
23163             }
23164           }
23165         },
23166         "ProviderType": {
23167           "type": "object",
23168           "properties": {
23169             "Result": {
23170               "$ref": "#/definitions/StringResult"
23171             }
23172           }
23173         },
23174         "PublicAddress": {
23175           "type": "object",
23176           "properties": {
23177             "Params": {
23178               "$ref": "#/definitions/Entities"
23179             },
23180             "Result": {
23181               "$ref": "#/definitions/StringResults"
23182             }
23183           }
23184         },
23185         "Read": {
23186           "type": "object",
23187           "properties": {
23188             "Params": {
23189               "$ref": "#/definitions/Entities"
23190             },
23191             "Result": {
23192               "$ref": "#/definitions/GetLeadershipSettingsBulkResults"
23193             }
23194           }
23195         },
23196         "ReadRemoteSettings": {
23197           "type": "object",
23198           "properties": {
23199             "Params": {
23200               "$ref": "#/definitions/RelationUnitPairs"
23201             },
23202             "Result": {
23203               "$ref": "#/definitions/SettingsResults"
23204             }
23205           }
23206         },
23207         "ReadSettings": {
23208           "type": "object",
23209           "properties": {
23210             "Params": {
23211               "$ref": "#/definitions/RelationUnits"
23212             },
23213             "Result": {
23214               "$ref": "#/definitions/SettingsResults"
23215             }
23216           }
23217         },
23218         "Relation": {
23219           "type": "object",
23220           "properties": {
23221             "Params": {
23222               "$ref": "#/definitions/RelationUnits"
23223             },
23224             "Result": {
23225               "$ref": "#/definitions/RelationResults"
23226             }
23227           }
23228         },
23229         "RelationById": {
23230           "type": "object",
23231           "properties": {
23232             "Params": {
23233               "$ref": "#/definitions/RelationIds"
23234             },
23235             "Result": {
23236               "$ref": "#/definitions/RelationResults"
23237             }
23238           }
23239         },
23240         "RemoveStorageAttachments": {
23241           "type": "object",
23242           "properties": {
23243             "Params": {
23244               "$ref": "#/definitions/StorageAttachmentIds"
23245             },
23246             "Result": {
23247               "$ref": "#/definitions/ErrorResults"
23248             }
23249           }
23250         },
23251         "RequestReboot": {
23252           "type": "object",
23253           "properties": {
23254             "Params": {
23255               "$ref": "#/definitions/Entities"
23256             },
23257             "Result": {
23258               "$ref": "#/definitions/ErrorResults"
23259             }
23260           }
23261         },
23262         "Resolved": {
23263           "type": "object",
23264           "properties": {
23265             "Params": {
23266               "$ref": "#/definitions/Entities"
23267             },
23268             "Result": {
23269               "$ref": "#/definitions/ResolvedModeResults"
23270             }
23271           }
23272         },
23273         "SLALevel": {
23274           "type": "object",
23275           "properties": {
23276             "Result": {
23277               "$ref": "#/definitions/StringResult"
23278             }
23279           }
23280         },
23281         "SetAgentStatus": {
23282           "type": "object",
23283           "properties": {
23284             "Params": {
23285               "$ref": "#/definitions/SetStatus"
23286             },
23287             "Result": {
23288               "$ref": "#/definitions/ErrorResults"
23289             }
23290           }
23291         },
23292         "SetApplicationStatus": {
23293           "type": "object",
23294           "properties": {
23295             "Params": {
23296               "$ref": "#/definitions/SetStatus"
23297             },
23298             "Result": {
23299               "$ref": "#/definitions/ErrorResults"
23300             }
23301           }
23302         },
23303         "SetCharmURL": {
23304           "type": "object",
23305           "properties": {
23306             "Params": {
23307               "$ref": "#/definitions/EntitiesCharmURL"
23308             },
23309             "Result": {
23310               "$ref": "#/definitions/ErrorResults"
23311             }
23312           }
23313         },
23314         "SetStatus": {
23315           "type": "object",
23316           "properties": {
23317             "Params": {
23318               "$ref": "#/definitions/SetStatus"
23319             },
23320             "Result": {
23321               "$ref": "#/definitions/ErrorResults"
23322             }
23323           }
23324         },
23325         "SetUnitStatus": {
23326           "type": "object",
23327           "properties": {
23328             "Params": {
23329               "$ref": "#/definitions/SetStatus"
23330             },
23331             "Result": {
23332               "$ref": "#/definitions/ErrorResults"
23333             }
23334           }
23335         },
23336         "SetWorkloadVersion": {
23337           "type": "object",
23338           "properties": {
23339             "Params": {
23340               "$ref": "#/definitions/EntityWorkloadVersions"
23341             },
23342             "Result": {
23343               "$ref": "#/definitions/ErrorResults"
23344             }
23345           }
23346         },
23347         "StorageAttachmentLife": {
23348           "type": "object",
23349           "properties": {
23350             "Params": {
23351               "$ref": "#/definitions/StorageAttachmentIds"
23352             },
23353             "Result": {
23354               "$ref": "#/definitions/LifeResults"
23355             }
23356           }
23357         },
23358         "StorageAttachments": {
23359           "type": "object",
23360           "properties": {
23361             "Params": {
23362               "$ref": "#/definitions/StorageAttachmentIds"
23363             },
23364             "Result": {
23365               "$ref": "#/definitions/StorageAttachmentResults"
23366             }
23367           }
23368         },
23369         "UnitStatus": {
23370           "type": "object",
23371           "properties": {
23372             "Params": {
23373               "$ref": "#/definitions/Entities"
23374             },
23375             "Result": {
23376               "$ref": "#/definitions/StatusResults"
23377             }
23378           }
23379         },
23380         "UnitStorageAttachments": {
23381           "type": "object",
23382           "properties": {
23383             "Params": {
23384               "$ref": "#/definitions/Entities"
23385             },
23386             "Result": {
23387               "$ref": "#/definitions/StorageAttachmentIdsResults"
23388             }
23389           }
23390         },
23391         "UpdateSettings": {
23392           "type": "object",
23393           "properties": {
23394             "Params": {
23395               "$ref": "#/definitions/RelationUnitsSettings"
23396             },
23397             "Result": {
23398               "$ref": "#/definitions/ErrorResults"
23399             }
23400           }
23401         },
23402         "Watch": {
23403           "type": "object",
23404           "properties": {
23405             "Params": {
23406               "$ref": "#/definitions/Entities"
23407             },
23408             "Result": {
23409               "$ref": "#/definitions/NotifyWatchResults"
23410             }
23411           }
23412         },
23413         "WatchAPIHostPorts": {
23414           "type": "object",
23415           "properties": {
23416             "Result": {
23417               "$ref": "#/definitions/NotifyWatchResult"
23418             }
23419           }
23420         },
23421         "WatchActionNotifications": {
23422           "type": "object",
23423           "properties": {
23424             "Params": {
23425               "$ref": "#/definitions/Entities"
23426             },
23427             "Result": {
23428               "$ref": "#/definitions/StringsWatchResults"
23429             }
23430           }
23431         },
23432         "WatchApplicationRelations": {
23433           "type": "object",
23434           "properties": {
23435             "Params": {
23436               "$ref": "#/definitions/Entities"
23437             },
23438             "Result": {
23439               "$ref": "#/definitions/StringsWatchResults"
23440             }
23441           }
23442         },
23443         "WatchConfigSettings": {
23444           "type": "object",
23445           "properties": {
23446             "Params": {
23447               "$ref": "#/definitions/Entities"
23448             },
23449             "Result": {
23450               "$ref": "#/definitions/NotifyWatchResults"
23451             }
23452           }
23453         },
23454         "WatchForModelConfigChanges": {
23455           "type": "object",
23456           "properties": {
23457             "Result": {
23458               "$ref": "#/definitions/NotifyWatchResult"
23459             }
23460           }
23461         },
23462         "WatchLeadershipSettings": {
23463           "type": "object",
23464           "properties": {
23465             "Params": {
23466               "$ref": "#/definitions/Entities"
23467             },
23468             "Result": {
23469               "$ref": "#/definitions/NotifyWatchResults"
23470             }
23471           }
23472         },
23473         "WatchMeterStatus": {
23474           "type": "object",
23475           "properties": {
23476             "Params": {
23477               "$ref": "#/definitions/Entities"
23478             },
23479             "Result": {
23480               "$ref": "#/definitions/NotifyWatchResults"
23481             }
23482           }
23483         },
23484         "WatchRelationUnits": {
23485           "type": "object",
23486           "properties": {
23487             "Params": {
23488               "$ref": "#/definitions/RelationUnits"
23489             },
23490             "Result": {
23491               "$ref": "#/definitions/RelationUnitsWatchResults"
23492             }
23493           }
23494         },
23495         "WatchStorageAttachments": {
23496           "type": "object",
23497           "properties": {
23498             "Params": {
23499               "$ref": "#/definitions/StorageAttachmentIds"
23500             },
23501             "Result": {
23502               "$ref": "#/definitions/NotifyWatchResults"
23503             }
23504           }
23505         },
23506         "WatchUnitAddresses": {
23507           "type": "object",
23508           "properties": {
23509             "Params": {
23510               "$ref": "#/definitions/Entities"
23511             },
23512             "Result": {
23513               "$ref": "#/definitions/NotifyWatchResults"
23514             }
23515           }
23516         },
23517         "WatchUnitStorageAttachments": {
23518           "type": "object",
23519           "properties": {
23520             "Params": {
23521               "$ref": "#/definitions/Entities"
23522             },
23523             "Result": {
23524               "$ref": "#/definitions/StringsWatchResults"
23525             }
23526           }
23527         },
23528         "WorkloadVersion": {
23529           "type": "object",
23530           "properties": {
23531             "Params": {
23532               "$ref": "#/definitions/Entities"
23533             },
23534             "Result": {
23535               "$ref": "#/definitions/StringResults"
23536             }
23537           }
23538         }
23539       },
23540       "definitions": {
23541         "APIHostPortsResult": {
23542           "type": "object",
23543           "properties": {
23544             "servers": {
23545               "type": "array",
23546               "items": {
23547                 "type": "array",
23548                 "items": {
23549                   "$ref": "#/definitions/HostPort"
23550                 }
23551               }
23552             }
23553           },
23554           "additionalProperties": false,
23555           "required": [
23556             "servers"
23557           ]
23558         },
23559         "Action": {
23560           "type": "object",
23561           "properties": {
23562             "name": {
23563               "type": "string"
23564             },
23565             "parameters": {
23566               "type": "object",
23567               "patternProperties": {
23568                 ".*": {
23569                   "type": "object",
23570                   "additionalProperties": true
23571                 }
23572               }
23573             },
23574             "receiver": {
23575               "type": "string"
23576             },
23577             "tag": {
23578               "type": "string"
23579             }
23580           },
23581           "additionalProperties": false,
23582           "required": [
23583             "tag",
23584             "receiver",
23585             "name"
23586           ]
23587         },
23588         "ActionExecutionResult": {
23589           "type": "object",
23590           "properties": {
23591             "action-tag": {
23592               "type": "string"
23593             },
23594             "message": {
23595               "type": "string"
23596             },
23597             "results": {
23598               "type": "object",
23599               "patternProperties": {
23600                 ".*": {
23601                   "type": "object",
23602                   "additionalProperties": true
23603                 }
23604               }
23605             },
23606             "status": {
23607               "type": "string"
23608             }
23609           },
23610           "additionalProperties": false,
23611           "required": [
23612             "action-tag",
23613             "status"
23614           ]
23615         },
23616         "ActionExecutionResults": {
23617           "type": "object",
23618           "properties": {
23619             "results": {
23620               "type": "array",
23621               "items": {
23622                 "$ref": "#/definitions/ActionExecutionResult"
23623               }
23624             }
23625           },
23626           "additionalProperties": false
23627         },
23628         "ActionResult": {
23629           "type": "object",
23630           "properties": {
23631             "action": {
23632               "$ref": "#/definitions/Action"
23633             },
23634             "completed": {
23635               "type": "string",
23636               "format": "date-time"
23637             },
23638             "enqueued": {
23639               "type": "string",
23640               "format": "date-time"
23641             },
23642             "error": {
23643               "$ref": "#/definitions/Error"
23644             },
23645             "message": {
23646               "type": "string"
23647             },
23648             "output": {
23649               "type": "object",
23650               "patternProperties": {
23651                 ".*": {
23652                   "type": "object",
23653                   "additionalProperties": true
23654                 }
23655               }
23656             },
23657             "started": {
23658               "type": "string",
23659               "format": "date-time"
23660             },
23661             "status": {
23662               "type": "string"
23663             }
23664           },
23665           "additionalProperties": false
23666         },
23667         "ActionResults": {
23668           "type": "object",
23669           "properties": {
23670             "results": {
23671               "type": "array",
23672               "items": {
23673                 "$ref": "#/definitions/ActionResult"
23674               }
23675             }
23676           },
23677           "additionalProperties": false
23678         },
23679         "Address": {
23680           "type": "object",
23681           "properties": {
23682             "scope": {
23683               "type": "string"
23684             },
23685             "space-name": {
23686               "type": "string"
23687             },
23688             "type": {
23689               "type": "string"
23690             },
23691             "value": {
23692               "type": "string"
23693             }
23694           },
23695           "additionalProperties": false,
23696           "required": [
23697             "value",
23698             "type",
23699             "scope"
23700           ]
23701         },
23702         "ApplicationStatusResult": {
23703           "type": "object",
23704           "properties": {
23705             "application": {
23706               "$ref": "#/definitions/StatusResult"
23707             },
23708             "error": {
23709               "$ref": "#/definitions/Error"
23710             },
23711             "units": {
23712               "type": "object",
23713               "patternProperties": {
23714                 ".*": {
23715                   "$ref": "#/definitions/StatusResult"
23716                 }
23717               }
23718             }
23719           },
23720           "additionalProperties": false,
23721           "required": [
23722             "application",
23723             "units"
23724           ]
23725         },
23726         "ApplicationStatusResults": {
23727           "type": "object",
23728           "properties": {
23729             "results": {
23730               "type": "array",
23731               "items": {
23732                 "$ref": "#/definitions/ApplicationStatusResult"
23733               }
23734             }
23735           },
23736           "additionalProperties": false,
23737           "required": [
23738             "results"
23739           ]
23740         },
23741         "BoolResult": {
23742           "type": "object",
23743           "properties": {
23744             "error": {
23745               "$ref": "#/definitions/Error"
23746             },
23747             "result": {
23748               "type": "boolean"
23749             }
23750           },
23751           "additionalProperties": false,
23752           "required": [
23753             "result"
23754           ]
23755         },
23756         "BoolResults": {
23757           "type": "object",
23758           "properties": {
23759             "results": {
23760               "type": "array",
23761               "items": {
23762                 "$ref": "#/definitions/BoolResult"
23763               }
23764             }
23765           },
23766           "additionalProperties": false,
23767           "required": [
23768             "results"
23769           ]
23770         },
23771         "BytesResult": {
23772           "type": "object",
23773           "properties": {
23774             "result": {
23775               "type": "array",
23776               "items": {
23777                 "type": "integer"
23778               }
23779             }
23780           },
23781           "additionalProperties": false,
23782           "required": [
23783             "result"
23784           ]
23785         },
23786         "CharmRelation": {
23787           "type": "object",
23788           "properties": {
23789             "interface": {
23790               "type": "string"
23791             },
23792             "limit": {
23793               "type": "integer"
23794             },
23795             "name": {
23796               "type": "string"
23797             },
23798             "optional": {
23799               "type": "boolean"
23800             },
23801             "role": {
23802               "type": "string"
23803             },
23804             "scope": {
23805               "type": "string"
23806             }
23807           },
23808           "additionalProperties": false,
23809           "required": [
23810             "name",
23811             "role",
23812             "interface",
23813             "optional",
23814             "limit",
23815             "scope"
23816           ]
23817         },
23818         "CharmURL": {
23819           "type": "object",
23820           "properties": {
23821             "url": {
23822               "type": "string"
23823             }
23824           },
23825           "additionalProperties": false,
23826           "required": [
23827             "url"
23828           ]
23829         },
23830         "CharmURLs": {
23831           "type": "object",
23832           "properties": {
23833             "urls": {
23834               "type": "array",
23835               "items": {
23836                 "$ref": "#/definitions/CharmURL"
23837               }
23838             }
23839           },
23840           "additionalProperties": false,
23841           "required": [
23842             "urls"
23843           ]
23844         },
23845         "ConfigSettingsResult": {
23846           "type": "object",
23847           "properties": {
23848             "error": {
23849               "$ref": "#/definitions/Error"
23850             },
23851             "settings": {
23852               "type": "object",
23853               "patternProperties": {
23854                 ".*": {
23855                   "type": "object",
23856                   "additionalProperties": true
23857                 }
23858               }
23859             }
23860           },
23861           "additionalProperties": false,
23862           "required": [
23863             "settings"
23864           ]
23865         },
23866         "ConfigSettingsResults": {
23867           "type": "object",
23868           "properties": {
23869             "results": {
23870               "type": "array",
23871               "items": {
23872                 "$ref": "#/definitions/ConfigSettingsResult"
23873               }
23874             }
23875           },
23876           "additionalProperties": false,
23877           "required": [
23878             "results"
23879           ]
23880         },
23881         "Endpoint": {
23882           "type": "object",
23883           "properties": {
23884             "application-name": {
23885               "type": "string"
23886             },
23887             "relation": {
23888               "$ref": "#/definitions/CharmRelation"
23889             }
23890           },
23891           "additionalProperties": false,
23892           "required": [
23893             "application-name",
23894             "relation"
23895           ]
23896         },
23897         "Entities": {
23898           "type": "object",
23899           "properties": {
23900             "entities": {
23901               "type": "array",
23902               "items": {
23903                 "$ref": "#/definitions/Entity"
23904               }
23905             }
23906           },
23907           "additionalProperties": false,
23908           "required": [
23909             "entities"
23910           ]
23911         },
23912         "EntitiesCharmURL": {
23913           "type": "object",
23914           "properties": {
23915             "entities": {
23916               "type": "array",
23917               "items": {
23918                 "$ref": "#/definitions/EntityCharmURL"
23919               }
23920             }
23921           },
23922           "additionalProperties": false,
23923           "required": [
23924             "entities"
23925           ]
23926         },
23927         "EntitiesPortRanges": {
23928           "type": "object",
23929           "properties": {
23930             "entities": {
23931               "type": "array",
23932               "items": {
23933                 "$ref": "#/definitions/EntityPortRange"
23934               }
23935             }
23936           },
23937           "additionalProperties": false,
23938           "required": [
23939             "entities"
23940           ]
23941         },
23942         "Entity": {
23943           "type": "object",
23944           "properties": {
23945             "tag": {
23946               "type": "string"
23947             }
23948           },
23949           "additionalProperties": false,
23950           "required": [
23951             "tag"
23952           ]
23953         },
23954         "EntityCharmURL": {
23955           "type": "object",
23956           "properties": {
23957             "charm-url": {
23958               "type": "string"
23959             },
23960             "tag": {
23961               "type": "string"
23962             }
23963           },
23964           "additionalProperties": false,
23965           "required": [
23966             "tag",
23967             "charm-url"
23968           ]
23969         },
23970         "EntityPortRange": {
23971           "type": "object",
23972           "properties": {
23973             "from-port": {
23974               "type": "integer"
23975             },
23976             "protocol": {
23977               "type": "string"
23978             },
23979             "tag": {
23980               "type": "string"
23981             },
23982             "to-port": {
23983               "type": "integer"
23984             }
23985           },
23986           "additionalProperties": false,
23987           "required": [
23988             "tag",
23989             "protocol",
23990             "from-port",
23991             "to-port"
23992           ]
23993         },
23994         "EntityStatusArgs": {
23995           "type": "object",
23996           "properties": {
23997             "data": {
23998               "type": "object",
23999               "patternProperties": {
24000                 ".*": {
24001                   "type": "object",
24002                   "additionalProperties": true
24003                 }
24004               }
24005             },
24006             "info": {
24007               "type": "string"
24008             },
24009             "status": {
24010               "type": "string"
24011             },
24012             "tag": {
24013               "type": "string"
24014             }
24015           },
24016           "additionalProperties": false,
24017           "required": [
24018             "tag",
24019             "status",
24020             "info",
24021             "data"
24022           ]
24023         },
24024         "EntityWorkloadVersion": {
24025           "type": "object",
24026           "properties": {
24027             "tag": {
24028               "type": "string"
24029             },
24030             "workload-version": {
24031               "type": "string"
24032             }
24033           },
24034           "additionalProperties": false,
24035           "required": [
24036             "tag",
24037             "workload-version"
24038           ]
24039         },
24040         "EntityWorkloadVersions": {
24041           "type": "object",
24042           "properties": {
24043             "entities": {
24044               "type": "array",
24045               "items": {
24046                 "$ref": "#/definitions/EntityWorkloadVersion"
24047               }
24048             }
24049           },
24050           "additionalProperties": false,
24051           "required": [
24052             "entities"
24053           ]
24054         },
24055         "Error": {
24056           "type": "object",
24057           "properties": {
24058             "code": {
24059               "type": "string"
24060             },
24061             "info": {
24062               "$ref": "#/definitions/ErrorInfo"
24063             },
24064             "message": {
24065               "type": "string"
24066             }
24067           },
24068           "additionalProperties": false,
24069           "required": [
24070             "message",
24071             "code"
24072           ]
24073         },
24074         "ErrorInfo": {
24075           "type": "object",
24076           "properties": {
24077             "macaroon": {
24078               "$ref": "#/definitions/Macaroon"
24079             },
24080             "macaroon-path": {
24081               "type": "string"
24082             }
24083           },
24084           "additionalProperties": false
24085         },
24086         "ErrorResult": {
24087           "type": "object",
24088           "properties": {
24089             "error": {
24090               "$ref": "#/definitions/Error"
24091             }
24092           },
24093           "additionalProperties": false
24094         },
24095         "ErrorResults": {
24096           "type": "object",
24097           "properties": {
24098             "results": {
24099               "type": "array",
24100               "items": {
24101                 "$ref": "#/definitions/ErrorResult"
24102               }
24103             }
24104           },
24105           "additionalProperties": false,
24106           "required": [
24107             "results"
24108           ]
24109         },
24110         "GetLeadershipSettingsBulkResults": {
24111           "type": "object",
24112           "properties": {
24113             "results": {
24114               "type": "array",
24115               "items": {
24116                 "$ref": "#/definitions/GetLeadershipSettingsResult"
24117               }
24118             }
24119           },
24120           "additionalProperties": false,
24121           "required": [
24122             "results"
24123           ]
24124         },
24125         "GetLeadershipSettingsResult": {
24126           "type": "object",
24127           "properties": {
24128             "error": {
24129               "$ref": "#/definitions/Error"
24130             },
24131             "settings": {
24132               "type": "object",
24133               "patternProperties": {
24134                 ".*": {
24135                   "type": "string"
24136                 }
24137               }
24138             }
24139           },
24140           "additionalProperties": false,
24141           "required": [
24142             "settings"
24143           ]
24144         },
24145         "HostPort": {
24146           "type": "object",
24147           "properties": {
24148             "Address": {
24149               "$ref": "#/definitions/Address"
24150             },
24151             "port": {
24152               "type": "integer"
24153             }
24154           },
24155           "additionalProperties": false,
24156           "required": [
24157             "Address",
24158             "port"
24159           ]
24160         },
24161         "IntResult": {
24162           "type": "object",
24163           "properties": {
24164             "error": {
24165               "$ref": "#/definitions/Error"
24166             },
24167             "result": {
24168               "type": "integer"
24169             }
24170           },
24171           "additionalProperties": false,
24172           "required": [
24173             "result"
24174           ]
24175         },
24176         "IntResults": {
24177           "type": "object",
24178           "properties": {
24179             "results": {
24180               "type": "array",
24181               "items": {
24182                 "$ref": "#/definitions/IntResult"
24183               }
24184             }
24185           },
24186           "additionalProperties": false,
24187           "required": [
24188             "results"
24189           ]
24190         },
24191         "LifeResult": {
24192           "type": "object",
24193           "properties": {
24194             "error": {
24195               "$ref": "#/definitions/Error"
24196             },
24197             "life": {
24198               "type": "string"
24199             }
24200           },
24201           "additionalProperties": false,
24202           "required": [
24203             "life"
24204           ]
24205         },
24206         "LifeResults": {
24207           "type": "object",
24208           "properties": {
24209             "results": {
24210               "type": "array",
24211               "items": {
24212                 "$ref": "#/definitions/LifeResult"
24213               }
24214             }
24215           },
24216           "additionalProperties": false,
24217           "required": [
24218             "results"
24219           ]
24220         },
24221         "Macaroon": {
24222           "type": "object",
24223           "additionalProperties": false
24224         },
24225         "MachinePortRange": {
24226           "type": "object",
24227           "properties": {
24228             "port-range": {
24229               "$ref": "#/definitions/PortRange"
24230             },
24231             "relation-tag": {
24232               "type": "string"
24233             },
24234             "unit-tag": {
24235               "type": "string"
24236             }
24237           },
24238           "additionalProperties": false,
24239           "required": [
24240             "unit-tag",
24241             "relation-tag",
24242             "port-range"
24243           ]
24244         },
24245         "MachinePortsResult": {
24246           "type": "object",
24247           "properties": {
24248             "error": {
24249               "$ref": "#/definitions/Error"
24250             },
24251             "ports": {
24252               "type": "array",
24253               "items": {
24254                 "$ref": "#/definitions/MachinePortRange"
24255               }
24256             }
24257           },
24258           "additionalProperties": false,
24259           "required": [
24260             "ports"
24261           ]
24262         },
24263         "MachinePortsResults": {
24264           "type": "object",
24265           "properties": {
24266             "results": {
24267               "type": "array",
24268               "items": {
24269                 "$ref": "#/definitions/MachinePortsResult"
24270               }
24271             }
24272           },
24273           "additionalProperties": false,
24274           "required": [
24275             "results"
24276           ]
24277         },
24278         "MergeLeadershipSettingsBulkParams": {
24279           "type": "object",
24280           "properties": {
24281             "params": {
24282               "type": "array",
24283               "items": {
24284                 "$ref": "#/definitions/MergeLeadershipSettingsParam"
24285               }
24286             }
24287           },
24288           "additionalProperties": false,
24289           "required": [
24290             "params"
24291           ]
24292         },
24293         "MergeLeadershipSettingsParam": {
24294           "type": "object",
24295           "properties": {
24296             "application-tag": {
24297               "type": "string"
24298             },
24299             "settings": {
24300               "type": "object",
24301               "patternProperties": {
24302                 ".*": {
24303                   "type": "string"
24304                 }
24305               }
24306             }
24307           },
24308           "additionalProperties": false,
24309           "required": [
24310             "application-tag",
24311             "settings"
24312           ]
24313         },
24314         "MeterStatusResult": {
24315           "type": "object",
24316           "properties": {
24317             "code": {
24318               "type": "string"
24319             },
24320             "error": {
24321               "$ref": "#/definitions/Error"
24322             },
24323             "info": {
24324               "type": "string"
24325             }
24326           },
24327           "additionalProperties": false,
24328           "required": [
24329             "code",
24330             "info"
24331           ]
24332         },
24333         "MeterStatusResults": {
24334           "type": "object",
24335           "properties": {
24336             "results": {
24337               "type": "array",
24338               "items": {
24339                 "$ref": "#/definitions/MeterStatusResult"
24340               }
24341             }
24342           },
24343           "additionalProperties": false,
24344           "required": [
24345             "results"
24346           ]
24347         },
24348         "Metric": {
24349           "type": "object",
24350           "properties": {
24351             "key": {
24352               "type": "string"
24353             },
24354             "time": {
24355               "type": "string",
24356               "format": "date-time"
24357             },
24358             "value": {
24359               "type": "string"
24360             }
24361           },
24362           "additionalProperties": false,
24363           "required": [
24364             "key",
24365             "value",
24366             "time"
24367           ]
24368         },
24369         "MetricBatch": {
24370           "type": "object",
24371           "properties": {
24372             "charm-url": {
24373               "type": "string"
24374             },
24375             "created": {
24376               "type": "string",
24377               "format": "date-time"
24378             },
24379             "metrics": {
24380               "type": "array",
24381               "items": {
24382                 "$ref": "#/definitions/Metric"
24383               }
24384             },
24385             "uuid": {
24386               "type": "string"
24387             }
24388           },
24389           "additionalProperties": false,
24390           "required": [
24391             "uuid",
24392             "charm-url",
24393             "created",
24394             "metrics"
24395           ]
24396         },
24397         "MetricBatchParam": {
24398           "type": "object",
24399           "properties": {
24400             "batch": {
24401               "$ref": "#/definitions/MetricBatch"
24402             },
24403             "tag": {
24404               "type": "string"
24405             }
24406           },
24407           "additionalProperties": false,
24408           "required": [
24409             "tag",
24410             "batch"
24411           ]
24412         },
24413         "MetricBatchParams": {
24414           "type": "object",
24415           "properties": {
24416             "batches": {
24417               "type": "array",
24418               "items": {
24419                 "$ref": "#/definitions/MetricBatchParam"
24420               }
24421             }
24422           },
24423           "additionalProperties": false,
24424           "required": [
24425             "batches"
24426           ]
24427         },
24428         "ModelConfigResult": {
24429           "type": "object",
24430           "properties": {
24431             "config": {
24432               "type": "object",
24433               "patternProperties": {
24434                 ".*": {
24435                   "type": "object",
24436                   "additionalProperties": true
24437                 }
24438               }
24439             }
24440           },
24441           "additionalProperties": false,
24442           "required": [
24443             "config"
24444           ]
24445         },
24446         "ModelResult": {
24447           "type": "object",
24448           "properties": {
24449             "error": {
24450               "$ref": "#/definitions/Error"
24451             },
24452             "name": {
24453               "type": "string"
24454             },
24455             "uuid": {
24456               "type": "string"
24457             }
24458           },
24459           "additionalProperties": false,
24460           "required": [
24461             "name",
24462             "uuid"
24463           ]
24464         },
24465         "NetworkConfig": {
24466           "type": "object",
24467           "properties": {
24468             "address": {
24469               "type": "string"
24470             },
24471             "cidr": {
24472               "type": "string"
24473             },
24474             "config-type": {
24475               "type": "string"
24476             },
24477             "device-index": {
24478               "type": "integer"
24479             },
24480             "disabled": {
24481               "type": "boolean"
24482             },
24483             "dns-search-domains": {
24484               "type": "array",
24485               "items": {
24486                 "type": "string"
24487               }
24488             },
24489             "dns-servers": {
24490               "type": "array",
24491               "items": {
24492                 "type": "string"
24493               }
24494             },
24495             "gateway-address": {
24496               "type": "string"
24497             },
24498             "interface-name": {
24499               "type": "string"
24500             },
24501             "interface-type": {
24502               "type": "string"
24503             },
24504             "mac-address": {
24505               "type": "string"
24506             },
24507             "mtu": {
24508               "type": "integer"
24509             },
24510             "no-auto-start": {
24511               "type": "boolean"
24512             },
24513             "parent-interface-name": {
24514               "type": "string"
24515             },
24516             "provider-address-id": {
24517               "type": "string"
24518             },
24519             "provider-id": {
24520               "type": "string"
24521             },
24522             "provider-space-id": {
24523               "type": "string"
24524             },
24525             "provider-subnet-id": {
24526               "type": "string"
24527             },
24528             "provider-vlan-id": {
24529               "type": "string"
24530             },
24531             "routes": {
24532               "type": "array",
24533               "items": {
24534                 "$ref": "#/definitions/NetworkRoute"
24535               }
24536             },
24537             "vlan-tag": {
24538               "type": "integer"
24539             }
24540           },
24541           "additionalProperties": false,
24542           "required": [
24543             "device-index",
24544             "mac-address",
24545             "cidr",
24546             "mtu",
24547             "provider-id",
24548             "provider-subnet-id",
24549             "provider-space-id",
24550             "provider-address-id",
24551             "provider-vlan-id",
24552             "vlan-tag",
24553             "interface-name",
24554             "parent-interface-name",
24555             "interface-type",
24556             "disabled"
24557           ]
24558         },
24559         "NetworkRoute": {
24560           "type": "object",
24561           "properties": {
24562             "destination-cidr": {
24563               "type": "string"
24564             },
24565             "gateway-ip": {
24566               "type": "string"
24567             },
24568             "metric": {
24569               "type": "integer"
24570             }
24571           },
24572           "additionalProperties": false,
24573           "required": [
24574             "destination-cidr",
24575             "gateway-ip",
24576             "metric"
24577           ]
24578         },
24579         "NotifyWatchResult": {
24580           "type": "object",
24581           "properties": {
24582             "NotifyWatcherId": {
24583               "type": "string"
24584             },
24585             "error": {
24586               "$ref": "#/definitions/Error"
24587             }
24588           },
24589           "additionalProperties": false,
24590           "required": [
24591             "NotifyWatcherId"
24592           ]
24593         },
24594         "NotifyWatchResults": {
24595           "type": "object",
24596           "properties": {
24597             "results": {
24598               "type": "array",
24599               "items": {
24600                 "$ref": "#/definitions/NotifyWatchResult"
24601               }
24602             }
24603           },
24604           "additionalProperties": false,
24605           "required": [
24606             "results"
24607           ]
24608         },
24609         "PortRange": {
24610           "type": "object",
24611           "properties": {
24612             "from-port": {
24613               "type": "integer"
24614             },
24615             "protocol": {
24616               "type": "string"
24617             },
24618             "to-port": {
24619               "type": "integer"
24620             }
24621           },
24622           "additionalProperties": false,
24623           "required": [
24624             "from-port",
24625             "to-port",
24626             "protocol"
24627           ]
24628         },
24629         "RelationIds": {
24630           "type": "object",
24631           "properties": {
24632             "relation-ids": {
24633               "type": "array",
24634               "items": {
24635                 "type": "integer"
24636               }
24637             }
24638           },
24639           "additionalProperties": false,
24640           "required": [
24641             "relation-ids"
24642           ]
24643         },
24644         "RelationResult": {
24645           "type": "object",
24646           "properties": {
24647             "endpoint": {
24648               "$ref": "#/definitions/Endpoint"
24649             },
24650             "error": {
24651               "$ref": "#/definitions/Error"
24652             },
24653             "id": {
24654               "type": "integer"
24655             },
24656             "key": {
24657               "type": "string"
24658             },
24659             "life": {
24660               "type": "string"
24661             }
24662           },
24663           "additionalProperties": false,
24664           "required": [
24665             "life",
24666             "id",
24667             "key",
24668             "endpoint"
24669           ]
24670         },
24671         "RelationResults": {
24672           "type": "object",
24673           "properties": {
24674             "results": {
24675               "type": "array",
24676               "items": {
24677                 "$ref": "#/definitions/RelationResult"
24678               }
24679             }
24680           },
24681           "additionalProperties": false,
24682           "required": [
24683             "results"
24684           ]
24685         },
24686         "RelationUnit": {
24687           "type": "object",
24688           "properties": {
24689             "relation": {
24690               "type": "string"
24691             },
24692             "unit": {
24693               "type": "string"
24694             }
24695           },
24696           "additionalProperties": false,
24697           "required": [
24698             "relation",
24699             "unit"
24700           ]
24701         },
24702         "RelationUnitPair": {
24703           "type": "object",
24704           "properties": {
24705             "local-unit": {
24706               "type": "string"
24707             },
24708             "relation": {
24709               "type": "string"
24710             },
24711             "remote-unit": {
24712               "type": "string"
24713             }
24714           },
24715           "additionalProperties": false,
24716           "required": [
24717             "relation",
24718             "local-unit",
24719             "remote-unit"
24720           ]
24721         },
24722         "RelationUnitPairs": {
24723           "type": "object",
24724           "properties": {
24725             "relation-unit-pairs": {
24726               "type": "array",
24727               "items": {
24728                 "$ref": "#/definitions/RelationUnitPair"
24729               }
24730             }
24731           },
24732           "additionalProperties": false,
24733           "required": [
24734             "relation-unit-pairs"
24735           ]
24736         },
24737         "RelationUnitSettings": {
24738           "type": "object",
24739           "properties": {
24740             "relation": {
24741               "type": "string"
24742             },
24743             "settings": {
24744               "type": "object",
24745               "patternProperties": {
24746                 ".*": {
24747                   "type": "string"
24748                 }
24749               }
24750             },
24751             "unit": {
24752               "type": "string"
24753             }
24754           },
24755           "additionalProperties": false,
24756           "required": [
24757             "relation",
24758             "unit",
24759             "settings"
24760           ]
24761         },
24762         "RelationUnits": {
24763           "type": "object",
24764           "properties": {
24765             "relation-units": {
24766               "type": "array",
24767               "items": {
24768                 "$ref": "#/definitions/RelationUnit"
24769               }
24770             }
24771           },
24772           "additionalProperties": false,
24773           "required": [
24774             "relation-units"
24775           ]
24776         },
24777         "RelationUnitsChange": {
24778           "type": "object",
24779           "properties": {
24780             "changed": {
24781               "type": "object",
24782               "patternProperties": {
24783                 ".*": {
24784                   "$ref": "#/definitions/UnitSettings"
24785                 }
24786               }
24787             },
24788             "departed": {
24789               "type": "array",
24790               "items": {
24791                 "type": "string"
24792               }
24793             }
24794           },
24795           "additionalProperties": false,
24796           "required": [
24797             "changed"
24798           ]
24799         },
24800         "RelationUnitsSettings": {
24801           "type": "object",
24802           "properties": {
24803             "relation-units": {
24804               "type": "array",
24805               "items": {
24806                 "$ref": "#/definitions/RelationUnitSettings"
24807               }
24808             }
24809           },
24810           "additionalProperties": false,
24811           "required": [
24812             "relation-units"
24813           ]
24814         },
24815         "RelationUnitsWatchResult": {
24816           "type": "object",
24817           "properties": {
24818             "changes": {
24819               "$ref": "#/definitions/RelationUnitsChange"
24820             },
24821             "error": {
24822               "$ref": "#/definitions/Error"
24823             },
24824             "watcher-id": {
24825               "type": "string"
24826             }
24827           },
24828           "additionalProperties": false,
24829           "required": [
24830             "watcher-id",
24831             "changes"
24832           ]
24833         },
24834         "RelationUnitsWatchResults": {
24835           "type": "object",
24836           "properties": {
24837             "results": {
24838               "type": "array",
24839               "items": {
24840                 "$ref": "#/definitions/RelationUnitsWatchResult"
24841               }
24842             }
24843           },
24844           "additionalProperties": false,
24845           "required": [
24846             "results"
24847           ]
24848         },
24849         "ResolvedModeResult": {
24850           "type": "object",
24851           "properties": {
24852             "error": {
24853               "$ref": "#/definitions/Error"
24854             },
24855             "mode": {
24856               "type": "string"
24857             }
24858           },
24859           "additionalProperties": false,
24860           "required": [
24861             "mode"
24862           ]
24863         },
24864         "ResolvedModeResults": {
24865           "type": "object",
24866           "properties": {
24867             "results": {
24868               "type": "array",
24869               "items": {
24870                 "$ref": "#/definitions/ResolvedModeResult"
24871               }
24872             }
24873           },
24874           "additionalProperties": false,
24875           "required": [
24876             "results"
24877           ]
24878         },
24879         "SetStatus": {
24880           "type": "object",
24881           "properties": {
24882             "entities": {
24883               "type": "array",
24884               "items": {
24885                 "$ref": "#/definitions/EntityStatusArgs"
24886               }
24887             }
24888           },
24889           "additionalProperties": false,
24890           "required": [
24891             "entities"
24892           ]
24893         },
24894         "SettingsResult": {
24895           "type": "object",
24896           "properties": {
24897             "error": {
24898               "$ref": "#/definitions/Error"
24899             },
24900             "settings": {
24901               "type": "object",
24902               "patternProperties": {
24903                 ".*": {
24904                   "type": "string"
24905                 }
24906               }
24907             }
24908           },
24909           "additionalProperties": false,
24910           "required": [
24911             "settings"
24912           ]
24913         },
24914         "SettingsResults": {
24915           "type": "object",
24916           "properties": {
24917             "results": {
24918               "type": "array",
24919               "items": {
24920                 "$ref": "#/definitions/SettingsResult"
24921               }
24922             }
24923           },
24924           "additionalProperties": false,
24925           "required": [
24926             "results"
24927           ]
24928         },
24929         "StatusResult": {
24930           "type": "object",
24931           "properties": {
24932             "data": {
24933               "type": "object",
24934               "patternProperties": {
24935                 ".*": {
24936                   "type": "object",
24937                   "additionalProperties": true
24938                 }
24939               }
24940             },
24941             "error": {
24942               "$ref": "#/definitions/Error"
24943             },
24944             "id": {
24945               "type": "string"
24946             },
24947             "info": {
24948               "type": "string"
24949             },
24950             "life": {
24951               "type": "string"
24952             },
24953             "since": {
24954               "type": "string",
24955               "format": "date-time"
24956             },
24957             "status": {
24958               "type": "string"
24959             }
24960           },
24961           "additionalProperties": false,
24962           "required": [
24963             "id",
24964             "life",
24965             "status",
24966             "info",
24967             "data",
24968             "since"
24969           ]
24970         },
24971         "StatusResults": {
24972           "type": "object",
24973           "properties": {
24974             "results": {
24975               "type": "array",
24976               "items": {
24977                 "$ref": "#/definitions/StatusResult"
24978               }
24979             }
24980           },
24981           "additionalProperties": false,
24982           "required": [
24983             "results"
24984           ]
24985         },
24986         "StorageAddParams": {
24987           "type": "object",
24988           "properties": {
24989             "name": {
24990               "type": "string"
24991             },
24992             "storage": {
24993               "$ref": "#/definitions/StorageConstraints"
24994             },
24995             "unit": {
24996               "type": "string"
24997             }
24998           },
24999           "additionalProperties": false,
25000           "required": [
25001             "unit",
25002             "name",
25003             "storage"
25004           ]
25005         },
25006         "StorageAttachment": {
25007           "type": "object",
25008           "properties": {
25009             "kind": {
25010               "type": "integer"
25011             },
25012             "life": {
25013               "type": "string"
25014             },
25015             "location": {
25016               "type": "string"
25017             },
25018             "owner-tag": {
25019               "type": "string"
25020             },
25021             "storage-tag": {
25022               "type": "string"
25023             },
25024             "unit-tag": {
25025               "type": "string"
25026             }
25027           },
25028           "additionalProperties": false,
25029           "required": [
25030             "storage-tag",
25031             "owner-tag",
25032             "unit-tag",
25033             "kind",
25034             "location",
25035             "life"
25036           ]
25037         },
25038         "StorageAttachmentId": {
25039           "type": "object",
25040           "properties": {
25041             "storage-tag": {
25042               "type": "string"
25043             },
25044             "unit-tag": {
25045               "type": "string"
25046             }
25047           },
25048           "additionalProperties": false,
25049           "required": [
25050             "storage-tag",
25051             "unit-tag"
25052           ]
25053         },
25054         "StorageAttachmentIds": {
25055           "type": "object",
25056           "properties": {
25057             "ids": {
25058               "type": "array",
25059               "items": {
25060                 "$ref": "#/definitions/StorageAttachmentId"
25061               }
25062             }
25063           },
25064           "additionalProperties": false,
25065           "required": [
25066             "ids"
25067           ]
25068         },
25069         "StorageAttachmentIdsResult": {
25070           "type": "object",
25071           "properties": {
25072             "error": {
25073               "$ref": "#/definitions/Error"
25074             },
25075             "result": {
25076               "$ref": "#/definitions/StorageAttachmentIds"
25077             }
25078           },
25079           "additionalProperties": false,
25080           "required": [
25081             "result"
25082           ]
25083         },
25084         "StorageAttachmentIdsResults": {
25085           "type": "object",
25086           "properties": {
25087             "results": {
25088               "type": "array",
25089               "items": {
25090                 "$ref": "#/definitions/StorageAttachmentIdsResult"
25091               }
25092             }
25093           },
25094           "additionalProperties": false
25095         },
25096         "StorageAttachmentResult": {
25097           "type": "object",
25098           "properties": {
25099             "error": {
25100               "$ref": "#/definitions/Error"
25101             },
25102             "result": {
25103               "$ref": "#/definitions/StorageAttachment"
25104             }
25105           },
25106           "additionalProperties": false,
25107           "required": [
25108             "result"
25109           ]
25110         },
25111         "StorageAttachmentResults": {
25112           "type": "object",
25113           "properties": {
25114             "results": {
25115               "type": "array",
25116               "items": {
25117                 "$ref": "#/definitions/StorageAttachmentResult"
25118               }
25119             }
25120           },
25121           "additionalProperties": false
25122         },
25123         "StorageConstraints": {
25124           "type": "object",
25125           "properties": {
25126             "count": {
25127               "type": "integer"
25128             },
25129             "pool": {
25130               "type": "string"
25131             },
25132             "size": {
25133               "type": "integer"
25134             }
25135           },
25136           "additionalProperties": false
25137         },
25138         "StoragesAddParams": {
25139           "type": "object",
25140           "properties": {
25141             "storages": {
25142               "type": "array",
25143               "items": {
25144                 "$ref": "#/definitions/StorageAddParams"
25145               }
25146             }
25147           },
25148           "additionalProperties": false,
25149           "required": [
25150             "storages"
25151           ]
25152         },
25153         "StringBoolResult": {
25154           "type": "object",
25155           "properties": {
25156             "error": {
25157               "$ref": "#/definitions/Error"
25158             },
25159             "ok": {
25160               "type": "boolean"
25161             },
25162             "result": {
25163               "type": "string"
25164             }
25165           },
25166           "additionalProperties": false,
25167           "required": [
25168             "result",
25169             "ok"
25170           ]
25171         },
25172         "StringBoolResults": {
25173           "type": "object",
25174           "properties": {
25175             "results": {
25176               "type": "array",
25177               "items": {
25178                 "$ref": "#/definitions/StringBoolResult"
25179               }
25180             }
25181           },
25182           "additionalProperties": false,
25183           "required": [
25184             "results"
25185           ]
25186         },
25187         "StringResult": {
25188           "type": "object",
25189           "properties": {
25190             "error": {
25191               "$ref": "#/definitions/Error"
25192             },
25193             "result": {
25194               "type": "string"
25195             }
25196           },
25197           "additionalProperties": false,
25198           "required": [
25199             "result"
25200           ]
25201         },
25202         "StringResults": {
25203           "type": "object",
25204           "properties": {
25205             "results": {
25206               "type": "array",
25207               "items": {
25208                 "$ref": "#/definitions/StringResult"
25209               }
25210             }
25211           },
25212           "additionalProperties": false,
25213           "required": [
25214             "results"
25215           ]
25216         },
25217         "StringsResult": {
25218           "type": "object",
25219           "properties": {
25220             "error": {
25221               "$ref": "#/definitions/Error"
25222             },
25223             "result": {
25224               "type": "array",
25225               "items": {
25226                 "type": "string"
25227               }
25228             }
25229           },
25230           "additionalProperties": false
25231         },
25232         "StringsResults": {
25233           "type": "object",
25234           "properties": {
25235             "results": {
25236               "type": "array",
25237               "items": {
25238                 "$ref": "#/definitions/StringsResult"
25239               }
25240             }
25241           },
25242           "additionalProperties": false,
25243           "required": [
25244             "results"
25245           ]
25246         },
25247         "StringsWatchResult": {
25248           "type": "object",
25249           "properties": {
25250             "changes": {
25251               "type": "array",
25252               "items": {
25253                 "type": "string"
25254               }
25255             },
25256             "error": {
25257               "$ref": "#/definitions/Error"
25258             },
25259             "watcher-id": {
25260               "type": "string"
25261             }
25262           },
25263           "additionalProperties": false,
25264           "required": [
25265             "watcher-id"
25266           ]
25267         },
25268         "StringsWatchResults": {
25269           "type": "object",
25270           "properties": {
25271             "results": {
25272               "type": "array",
25273               "items": {
25274                 "$ref": "#/definitions/StringsWatchResult"
25275               }
25276             }
25277           },
25278           "additionalProperties": false,
25279           "required": [
25280             "results"
25281           ]
25282         },
25283         "UnitNetworkConfig": {
25284           "type": "object",
25285           "properties": {
25286             "binding-name": {
25287               "type": "string"
25288             },
25289             "unit-tag": {
25290               "type": "string"
25291             }
25292           },
25293           "additionalProperties": false,
25294           "required": [
25295             "unit-tag",
25296             "binding-name"
25297           ]
25298         },
25299         "UnitNetworkConfigResult": {
25300           "type": "object",
25301           "properties": {
25302             "error": {
25303               "$ref": "#/definitions/Error"
25304             },
25305             "info": {
25306               "type": "array",
25307               "items": {
25308                 "$ref": "#/definitions/NetworkConfig"
25309               }
25310             }
25311           },
25312           "additionalProperties": false,
25313           "required": [
25314             "info"
25315           ]
25316         },
25317         "UnitNetworkConfigResults": {
25318           "type": "object",
25319           "properties": {
25320             "results": {
25321               "type": "array",
25322               "items": {
25323                 "$ref": "#/definitions/UnitNetworkConfigResult"
25324               }
25325             }
25326           },
25327           "additionalProperties": false,
25328           "required": [
25329             "results"
25330           ]
25331         },
25332         "UnitSettings": {
25333           "type": "object",
25334           "properties": {
25335             "version": {
25336               "type": "integer"
25337             }
25338           },
25339           "additionalProperties": false,
25340           "required": [
25341             "version"
25342           ]
25343         },
25344         "UnitsNetworkConfig": {
25345           "type": "object",
25346           "properties": {
25347             "args": {
25348               "type": "array",
25349               "items": {
25350                 "$ref": "#/definitions/UnitNetworkConfig"
25351               }
25352             }
25353           },
25354           "additionalProperties": false,
25355           "required": [
25356             "args"
25357           ]
25358         }
25359       }
25360     }
25361   },
25362   {
25363     "Name": "Upgrader",
25364     "Version": 1,
25365     "Schema": {
25366       "type": "object",
25367       "properties": {
25368         "DesiredVersion": {
25369           "type": "object",
25370           "properties": {
25371             "Params": {
25372               "$ref": "#/definitions/Entities"
25373             },
25374             "Result": {
25375               "$ref": "#/definitions/VersionResults"
25376             }
25377           }
25378         },
25379         "SetTools": {
25380           "type": "object",
25381           "properties": {
25382             "Params": {
25383               "$ref": "#/definitions/EntitiesVersion"
25384             },
25385             "Result": {
25386               "$ref": "#/definitions/ErrorResults"
25387             }
25388           }
25389         },
25390         "Tools": {
25391           "type": "object",
25392           "properties": {
25393             "Params": {
25394               "$ref": "#/definitions/Entities"
25395             },
25396             "Result": {
25397               "$ref": "#/definitions/ToolsResults"
25398             }
25399           }
25400         },
25401         "WatchAPIVersion": {
25402           "type": "object",
25403           "properties": {
25404             "Params": {
25405               "$ref": "#/definitions/Entities"
25406             },
25407             "Result": {
25408               "$ref": "#/definitions/NotifyWatchResults"
25409             }
25410           }
25411         }
25412       },
25413       "definitions": {
25414         "Binary": {
25415           "type": "object",
25416           "properties": {
25417             "Arch": {
25418               "type": "string"
25419             },
25420             "Number": {
25421               "$ref": "#/definitions/Number"
25422             },
25423             "Series": {
25424               "type": "string"
25425             }
25426           },
25427           "additionalProperties": false,
25428           "required": [
25429             "Number",
25430             "Series",
25431             "Arch"
25432           ]
25433         },
25434         "Entities": {
25435           "type": "object",
25436           "properties": {
25437             "entities": {
25438               "type": "array",
25439               "items": {
25440                 "$ref": "#/definitions/Entity"
25441               }
25442             }
25443           },
25444           "additionalProperties": false,
25445           "required": [
25446             "entities"
25447           ]
25448         },
25449         "EntitiesVersion": {
25450           "type": "object",
25451           "properties": {
25452             "agent-tools": {
25453               "type": "array",
25454               "items": {
25455                 "$ref": "#/definitions/EntityVersion"
25456               }
25457             }
25458           },
25459           "additionalProperties": false,
25460           "required": [
25461             "agent-tools"
25462           ]
25463         },
25464         "Entity": {
25465           "type": "object",
25466           "properties": {
25467             "tag": {
25468               "type": "string"
25469             }
25470           },
25471           "additionalProperties": false,
25472           "required": [
25473             "tag"
25474           ]
25475         },
25476         "EntityVersion": {
25477           "type": "object",
25478           "properties": {
25479             "tag": {
25480               "type": "string"
25481             },
25482             "tools": {
25483               "$ref": "#/definitions/Version"
25484             }
25485           },
25486           "additionalProperties": false,
25487           "required": [
25488             "tag",
25489             "tools"
25490           ]
25491         },
25492         "Error": {
25493           "type": "object",
25494           "properties": {
25495             "code": {
25496               "type": "string"
25497             },
25498             "info": {
25499               "$ref": "#/definitions/ErrorInfo"
25500             },
25501             "message": {
25502               "type": "string"
25503             }
25504           },
25505           "additionalProperties": false,
25506           "required": [
25507             "message",
25508             "code"
25509           ]
25510         },
25511         "ErrorInfo": {
25512           "type": "object",
25513           "properties": {
25514             "macaroon": {
25515               "$ref": "#/definitions/Macaroon"
25516             },
25517             "macaroon-path": {
25518               "type": "string"
25519             }
25520           },
25521           "additionalProperties": false
25522         },
25523         "ErrorResult": {
25524           "type": "object",
25525           "properties": {
25526             "error": {
25527               "$ref": "#/definitions/Error"
25528             }
25529           },
25530           "additionalProperties": false
25531         },
25532         "ErrorResults": {
25533           "type": "object",
25534           "properties": {
25535             "results": {
25536               "type": "array",
25537               "items": {
25538                 "$ref": "#/definitions/ErrorResult"
25539               }
25540             }
25541           },
25542           "additionalProperties": false,
25543           "required": [
25544             "results"
25545           ]
25546         },
25547         "Macaroon": {
25548           "type": "object",
25549           "additionalProperties": false
25550         },
25551         "NotifyWatchResult": {
25552           "type": "object",
25553           "properties": {
25554             "NotifyWatcherId": {
25555               "type": "string"
25556             },
25557             "error": {
25558               "$ref": "#/definitions/Error"
25559             }
25560           },
25561           "additionalProperties": false,
25562           "required": [
25563             "NotifyWatcherId"
25564           ]
25565         },
25566         "NotifyWatchResults": {
25567           "type": "object",
25568           "properties": {
25569             "results": {
25570               "type": "array",
25571               "items": {
25572                 "$ref": "#/definitions/NotifyWatchResult"
25573               }
25574             }
25575           },
25576           "additionalProperties": false,
25577           "required": [
25578             "results"
25579           ]
25580         },
25581         "Number": {
25582           "type": "object",
25583           "properties": {
25584             "Build": {
25585               "type": "integer"
25586             },
25587             "Major": {
25588               "type": "integer"
25589             },
25590             "Minor": {
25591               "type": "integer"
25592             },
25593             "Patch": {
25594               "type": "integer"
25595             },
25596             "Tag": {
25597               "type": "string"
25598             }
25599           },
25600           "additionalProperties": false,
25601           "required": [
25602             "Major",
25603             "Minor",
25604             "Tag",
25605             "Patch",
25606             "Build"
25607           ]
25608         },
25609         "Tools": {
25610           "type": "object",
25611           "properties": {
25612             "sha256": {
25613               "type": "string"
25614             },
25615             "size": {
25616               "type": "integer"
25617             },
25618             "url": {
25619               "type": "string"
25620             },
25621             "version": {
25622               "$ref": "#/definitions/Binary"
25623             }
25624           },
25625           "additionalProperties": false,
25626           "required": [
25627             "version",
25628             "url",
25629             "size"
25630           ]
25631         },
25632         "ToolsResult": {
25633           "type": "object",
25634           "properties": {
25635             "disable-ssl-hostname-verification": {
25636               "type": "boolean"
25637             },
25638             "error": {
25639               "$ref": "#/definitions/Error"
25640             },
25641             "tools": {
25642               "type": "array",
25643               "items": {
25644                 "$ref": "#/definitions/Tools"
25645               }
25646             }
25647           },
25648           "additionalProperties": false,
25649           "required": [
25650             "tools",
25651             "disable-ssl-hostname-verification"
25652           ]
25653         },
25654         "ToolsResults": {
25655           "type": "object",
25656           "properties": {
25657             "results": {
25658               "type": "array",
25659               "items": {
25660                 "$ref": "#/definitions/ToolsResult"
25661               }
25662             }
25663           },
25664           "additionalProperties": false,
25665           "required": [
25666             "results"
25667           ]
25668         },
25669         "Version": {
25670           "type": "object",
25671           "properties": {
25672             "version": {
25673               "$ref": "#/definitions/Binary"
25674             }
25675           },
25676           "additionalProperties": false,
25677           "required": [
25678             "version"
25679           ]
25680         },
25681         "VersionResult": {
25682           "type": "object",
25683           "properties": {
25684             "error": {
25685               "$ref": "#/definitions/Error"
25686             },
25687             "version": {
25688               "$ref": "#/definitions/Number"
25689             }
25690           },
25691           "additionalProperties": false
25692         },
25693         "VersionResults": {
25694           "type": "object",
25695           "properties": {
25696             "results": {
25697               "type": "array",
25698               "items": {
25699                 "$ref": "#/definitions/VersionResult"
25700               }
25701             }
25702           },
25703           "additionalProperties": false,
25704           "required": [
25705             "results"
25706           ]
25707         }
25708       }
25709     }
25710   },
25711   {
25712     "Name": "UserManager",
25713     "Version": 1,
25714     "Schema": {
25715       "type": "object",
25716       "properties": {
25717         "AddUser": {
25718           "type": "object",
25719           "properties": {
25720             "Params": {
25721               "$ref": "#/definitions/AddUsers"
25722             },
25723             "Result": {
25724               "$ref": "#/definitions/AddUserResults"
25725             }
25726           }
25727         },
25728         "DisableUser": {
25729           "type": "object",
25730           "properties": {
25731             "Params": {
25732               "$ref": "#/definitions/Entities"
25733             },
25734             "Result": {
25735               "$ref": "#/definitions/ErrorResults"
25736             }
25737           }
25738         },
25739         "EnableUser": {
25740           "type": "object",
25741           "properties": {
25742             "Params": {
25743               "$ref": "#/definitions/Entities"
25744             },
25745             "Result": {
25746               "$ref": "#/definitions/ErrorResults"
25747             }
25748           }
25749         },
25750         "RemoveUser": {
25751           "type": "object",
25752           "properties": {
25753             "Params": {
25754               "$ref": "#/definitions/Entities"
25755             },
25756             "Result": {
25757               "$ref": "#/definitions/ErrorResults"
25758             }
25759           }
25760         },
25761         "SetPassword": {
25762           "type": "object",
25763           "properties": {
25764             "Params": {
25765               "$ref": "#/definitions/EntityPasswords"
25766             },
25767             "Result": {
25768               "$ref": "#/definitions/ErrorResults"
25769             }
25770           }
25771         },
25772         "UserInfo": {
25773           "type": "object",
25774           "properties": {
25775             "Params": {
25776               "$ref": "#/definitions/UserInfoRequest"
25777             },
25778             "Result": {
25779               "$ref": "#/definitions/UserInfoResults"
25780             }
25781           }
25782         }
25783       },
25784       "definitions": {
25785         "AddUser": {
25786           "type": "object",
25787           "properties": {
25788             "display-name": {
25789               "type": "string"
25790             },
25791             "password": {
25792               "type": "string"
25793             },
25794             "username": {
25795               "type": "string"
25796             }
25797           },
25798           "additionalProperties": false,
25799           "required": [
25800             "username",
25801             "display-name"
25802           ]
25803         },
25804         "AddUserResult": {
25805           "type": "object",
25806           "properties": {
25807             "error": {
25808               "$ref": "#/definitions/Error"
25809             },
25810             "secret-key": {
25811               "type": "array",
25812               "items": {
25813                 "type": "integer"
25814               }
25815             },
25816             "tag": {
25817               "type": "string"
25818             }
25819           },
25820           "additionalProperties": false
25821         },
25822         "AddUserResults": {
25823           "type": "object",
25824           "properties": {
25825             "results": {
25826               "type": "array",
25827               "items": {
25828                 "$ref": "#/definitions/AddUserResult"
25829               }
25830             }
25831           },
25832           "additionalProperties": false,
25833           "required": [
25834             "results"
25835           ]
25836         },
25837         "AddUsers": {
25838           "type": "object",
25839           "properties": {
25840             "users": {
25841               "type": "array",
25842               "items": {
25843                 "$ref": "#/definitions/AddUser"
25844               }
25845             }
25846           },
25847           "additionalProperties": false,
25848           "required": [
25849             "users"
25850           ]
25851         },
25852         "Entities": {
25853           "type": "object",
25854           "properties": {
25855             "entities": {
25856               "type": "array",
25857               "items": {
25858                 "$ref": "#/definitions/Entity"
25859               }
25860             }
25861           },
25862           "additionalProperties": false,
25863           "required": [
25864             "entities"
25865           ]
25866         },
25867         "Entity": {
25868           "type": "object",
25869           "properties": {
25870             "tag": {
25871               "type": "string"
25872             }
25873           },
25874           "additionalProperties": false,
25875           "required": [
25876             "tag"
25877           ]
25878         },
25879         "EntityPassword": {
25880           "type": "object",
25881           "properties": {
25882             "password": {
25883               "type": "string"
25884             },
25885             "tag": {
25886               "type": "string"
25887             }
25888           },
25889           "additionalProperties": false,
25890           "required": [
25891             "tag",
25892             "password"
25893           ]
25894         },
25895         "EntityPasswords": {
25896           "type": "object",
25897           "properties": {
25898             "changes": {
25899               "type": "array",
25900               "items": {
25901                 "$ref": "#/definitions/EntityPassword"
25902               }
25903             }
25904           },
25905           "additionalProperties": false,
25906           "required": [
25907             "changes"
25908           ]
25909         },
25910         "Error": {
25911           "type": "object",
25912           "properties": {
25913             "code": {
25914               "type": "string"
25915             },
25916             "info": {
25917               "$ref": "#/definitions/ErrorInfo"
25918             },
25919             "message": {
25920               "type": "string"
25921             }
25922           },
25923           "additionalProperties": false,
25924           "required": [
25925             "message",
25926             "code"
25927           ]
25928         },
25929         "ErrorInfo": {
25930           "type": "object",
25931           "properties": {
25932             "macaroon": {
25933               "$ref": "#/definitions/Macaroon"
25934             },
25935             "macaroon-path": {
25936               "type": "string"
25937             }
25938           },
25939           "additionalProperties": false
25940         },
25941         "ErrorResult": {
25942           "type": "object",
25943           "properties": {
25944             "error": {
25945               "$ref": "#/definitions/Error"
25946             }
25947           },
25948           "additionalProperties": false
25949         },
25950         "ErrorResults": {
25951           "type": "object",
25952           "properties": {
25953             "results": {
25954               "type": "array",
25955               "items": {
25956                 "$ref": "#/definitions/ErrorResult"
25957               }
25958             }
25959           },
25960           "additionalProperties": false,
25961           "required": [
25962             "results"
25963           ]
25964         },
25965         "Macaroon": {
25966           "type": "object",
25967           "additionalProperties": false
25968         },
25969         "UserInfo": {
25970           "type": "object",
25971           "properties": {
25972             "access": {
25973               "type": "string"
25974             },
25975             "created-by": {
25976               "type": "string"
25977             },
25978             "date-created": {
25979               "type": "string",
25980               "format": "date-time"
25981             },
25982             "disabled": {
25983               "type": "boolean"
25984             },
25985             "display-name": {
25986               "type": "string"
25987             },
25988             "last-connection": {
25989               "type": "string",
25990               "format": "date-time"
25991             },
25992             "username": {
25993               "type": "string"
25994             }
25995           },
25996           "additionalProperties": false,
25997           "required": [
25998             "username",
25999             "display-name",
26000             "access",
26001             "created-by",
26002             "date-created",
26003             "disabled"
26004           ]
26005         },
26006         "UserInfoRequest": {
26007           "type": "object",
26008           "properties": {
26009             "entities": {
26010               "type": "array",
26011               "items": {
26012                 "$ref": "#/definitions/Entity"
26013               }
26014             },
26015             "include-disabled": {
26016               "type": "boolean"
26017             }
26018           },
26019           "additionalProperties": false,
26020           "required": [
26021             "entities",
26022             "include-disabled"
26023           ]
26024         },
26025         "UserInfoResult": {
26026           "type": "object",
26027           "properties": {
26028             "error": {
26029               "$ref": "#/definitions/Error"
26030             },
26031             "result": {
26032               "$ref": "#/definitions/UserInfo"
26033             }
26034           },
26035           "additionalProperties": false
26036         },
26037         "UserInfoResults": {
26038           "type": "object",
26039           "properties": {
26040             "results": {
26041               "type": "array",
26042               "items": {
26043                 "$ref": "#/definitions/UserInfoResult"
26044               }
26045             }
26046           },
26047           "additionalProperties": false,
26048           "required": [
26049             "results"
26050           ]
26051         }
26052       }
26053     }
26054   },
26055   {
26056     "Name": "VolumeAttachmentsWatcher",
26057     "Version": 2,
26058     "Schema": {
26059       "type": "object",
26060       "properties": {
26061         "Next": {
26062           "type": "object",
26063           "properties": {
26064             "Result": {
26065               "$ref": "#/definitions/MachineStorageIdsWatchResult"
26066             }
26067           }
26068         },
26069         "Stop": {
26070           "type": "object"
26071         }
26072       },
26073       "definitions": {
26074         "Error": {
26075           "type": "object",
26076           "properties": {
26077             "code": {
26078               "type": "string"
26079             },
26080             "info": {
26081               "$ref": "#/definitions/ErrorInfo"
26082             },
26083             "message": {
26084               "type": "string"
26085             }
26086           },
26087           "additionalProperties": false,
26088           "required": [
26089             "message",
26090             "code"
26091           ]
26092         },
26093         "ErrorInfo": {
26094           "type": "object",
26095           "properties": {
26096             "macaroon": {
26097               "$ref": "#/definitions/Macaroon"
26098             },
26099             "macaroon-path": {
26100               "type": "string"
26101             }
26102           },
26103           "additionalProperties": false
26104         },
26105         "Macaroon": {
26106           "type": "object",
26107           "additionalProperties": false
26108         },
26109         "MachineStorageId": {
26110           "type": "object",
26111           "properties": {
26112             "attachment-tag": {
26113               "type": "string"
26114             },
26115             "machine-tag": {
26116               "type": "string"
26117             }
26118           },
26119           "additionalProperties": false,
26120           "required": [
26121             "machine-tag",
26122             "attachment-tag"
26123           ]
26124         },
26125         "MachineStorageIdsWatchResult": {
26126           "type": "object",
26127           "properties": {
26128             "changes": {
26129               "type": "array",
26130               "items": {
26131                 "$ref": "#/definitions/MachineStorageId"
26132               }
26133             },
26134             "error": {
26135               "$ref": "#/definitions/Error"
26136             },
26137             "watcher-id": {
26138               "type": "string"
26139             }
26140           },
26141           "additionalProperties": false,
26142           "required": [
26143             "watcher-id",
26144             "changes"
26145           ]
26146         }
26147       }
26148     }
26149   }
26150 ]