Native charm support
[osm/N2VC.git] / modules / libjuju / juju / client / schemas-juju-2.0.0.json
1 [
2   {
3     "Name": "Action",
4     "Version": 2,
5     "Schema": {
6       "type": "object",
7       "properties": {
8         "Actions": {
9           "type": "object",
10           "properties": {
11             "Params": {
12               "$ref": "#/definitions/Entities"
13             },
14             "Result": {
15               "$ref": "#/definitions/ActionResults"
16             }
17           }
18         },
19         "ApplicationsCharmsActions": {
20           "type": "object",
21           "properties": {
22             "Params": {
23               "$ref": "#/definitions/Entities"
24             },
25             "Result": {
26               "$ref": "#/definitions/ApplicationsCharmActionsResults"
27             }
28           }
29         },
30         "Cancel": {
31           "type": "object",
32           "properties": {
33             "Params": {
34               "$ref": "#/definitions/Entities"
35             },
36             "Result": {
37               "$ref": "#/definitions/ActionResults"
38             }
39           }
40         },
41         "Enqueue": {
42           "type": "object",
43           "properties": {
44             "Params": {
45               "$ref": "#/definitions/Actions"
46             },
47             "Result": {
48               "$ref": "#/definitions/ActionResults"
49             }
50           }
51         },
52         "FindActionTagsByPrefix": {
53           "type": "object",
54           "properties": {
55             "Params": {
56               "$ref": "#/definitions/FindTags"
57             },
58             "Result": {
59               "$ref": "#/definitions/FindTagsResults"
60             }
61           }
62         },
63         "FindActionsByNames": {
64           "type": "object",
65           "properties": {
66             "Params": {
67               "$ref": "#/definitions/FindActionsByNames"
68             },
69             "Result": {
70               "$ref": "#/definitions/ActionsByNames"
71             }
72           }
73         },
74         "ListAll": {
75           "type": "object",
76           "properties": {
77             "Params": {
78               "$ref": "#/definitions/Entities"
79             },
80             "Result": {
81               "$ref": "#/definitions/ActionsByReceivers"
82             }
83           }
84         },
85         "ListCompleted": {
86           "type": "object",
87           "properties": {
88             "Params": {
89               "$ref": "#/definitions/Entities"
90             },
91             "Result": {
92               "$ref": "#/definitions/ActionsByReceivers"
93             }
94           }
95         },
96         "ListPending": {
97           "type": "object",
98           "properties": {
99             "Params": {
100               "$ref": "#/definitions/Entities"
101             },
102             "Result": {
103               "$ref": "#/definitions/ActionsByReceivers"
104             }
105           }
106         },
107         "ListRunning": {
108           "type": "object",
109           "properties": {
110             "Params": {
111               "$ref": "#/definitions/Entities"
112             },
113             "Result": {
114               "$ref": "#/definitions/ActionsByReceivers"
115             }
116           }
117         },
118         "Run": {
119           "type": "object",
120           "properties": {
121             "Params": {
122               "$ref": "#/definitions/RunParams"
123             },
124             "Result": {
125               "$ref": "#/definitions/ActionResults"
126             }
127           }
128         },
129         "RunOnAllMachines": {
130           "type": "object",
131           "properties": {
132             "Params": {
133               "$ref": "#/definitions/RunParams"
134             },
135             "Result": {
136               "$ref": "#/definitions/ActionResults"
137             }
138           }
139         }
140       },
141       "definitions": {
142         "Action": {
143           "type": "object",
144           "properties": {
145             "name": {
146               "type": "string"
147             },
148             "parameters": {
149               "type": "object",
150               "patternProperties": {
151                 ".*": {
152                   "type": "object",
153                   "additionalProperties": true
154                 }
155               }
156             },
157             "receiver": {
158               "type": "string"
159             },
160             "tag": {
161               "type": "string"
162             }
163           },
164           "additionalProperties": false,
165           "required": [
166             "tag",
167             "receiver",
168             "name"
169           ]
170         },
171         "ActionResult": {
172           "type": "object",
173           "properties": {
174             "action": {
175               "$ref": "#/definitions/Action"
176             },
177             "completed": {
178               "type": "string",
179               "format": "date-time"
180             },
181             "enqueued": {
182               "type": "string",
183               "format": "date-time"
184             },
185             "error": {
186               "$ref": "#/definitions/Error"
187             },
188             "message": {
189               "type": "string"
190             },
191             "output": {
192               "type": "object",
193               "patternProperties": {
194                 ".*": {
195                   "type": "object",
196                   "additionalProperties": true
197                 }
198               }
199             },
200             "started": {
201               "type": "string",
202               "format": "date-time"
203             },
204             "status": {
205               "type": "string"
206             }
207           },
208           "additionalProperties": false
209         },
210         "ActionResults": {
211           "type": "object",
212           "properties": {
213             "results": {
214               "type": "array",
215               "items": {
216                 "$ref": "#/definitions/ActionResult"
217               }
218             }
219           },
220           "additionalProperties": false
221         },
222         "ActionSpec": {
223           "type": "object",
224           "properties": {
225             "description": {
226               "type": "string"
227             },
228             "params": {
229               "type": "object",
230               "patternProperties": {
231                 ".*": {
232                   "type": "object",
233                   "additionalProperties": true
234                 }
235               }
236             }
237           },
238           "additionalProperties": false,
239           "required": [
240             "description",
241             "params"
242           ]
243         },
244         "Actions": {
245           "type": "object",
246           "properties": {
247             "actions": {
248               "type": "array",
249               "items": {
250                 "$ref": "#/definitions/Action"
251               }
252             }
253           },
254           "additionalProperties": false
255         },
256         "ActionsByName": {
257           "type": "object",
258           "properties": {
259             "actions": {
260               "type": "array",
261               "items": {
262                 "$ref": "#/definitions/ActionResult"
263               }
264             },
265             "error": {
266               "$ref": "#/definitions/Error"
267             },
268             "name": {
269               "type": "string"
270             }
271           },
272           "additionalProperties": false
273         },
274         "ActionsByNames": {
275           "type": "object",
276           "properties": {
277             "actions": {
278               "type": "array",
279               "items": {
280                 "$ref": "#/definitions/ActionsByName"
281               }
282             }
283           },
284           "additionalProperties": false
285         },
286         "ActionsByReceiver": {
287           "type": "object",
288           "properties": {
289             "actions": {
290               "type": "array",
291               "items": {
292                 "$ref": "#/definitions/ActionResult"
293               }
294             },
295             "error": {
296               "$ref": "#/definitions/Error"
297             },
298             "receiver": {
299               "type": "string"
300             }
301           },
302           "additionalProperties": false
303         },
304         "ActionsByReceivers": {
305           "type": "object",
306           "properties": {
307             "actions": {
308               "type": "array",
309               "items": {
310                 "$ref": "#/definitions/ActionsByReceiver"
311               }
312             }
313           },
314           "additionalProperties": false
315         },
316         "ApplicationCharmActionsResult": {
317           "type": "object",
318           "properties": {
319             "actions": {
320               "type": "object",
321               "patternProperties": {
322                 ".*": {
323                   "$ref": "#/definitions/ActionSpec"
324                 }
325               }
326             },
327             "application-tag": {
328               "type": "string"
329             },
330             "error": {
331               "$ref": "#/definitions/Error"
332             }
333           },
334           "additionalProperties": false
335         },
336         "ApplicationsCharmActionsResults": {
337           "type": "object",
338           "properties": {
339             "results": {
340               "type": "array",
341               "items": {
342                 "$ref": "#/definitions/ApplicationCharmActionsResult"
343               }
344             }
345           },
346           "additionalProperties": false
347         },
348         "Entities": {
349           "type": "object",
350           "properties": {
351             "entities": {
352               "type": "array",
353               "items": {
354                 "$ref": "#/definitions/Entity"
355               }
356             }
357           },
358           "additionalProperties": false,
359           "required": [
360             "entities"
361           ]
362         },
363         "Entity": {
364           "type": "object",
365           "properties": {
366             "tag": {
367               "type": "string"
368             }
369           },
370           "additionalProperties": false,
371           "required": [
372             "tag"
373           ]
374         },
375         "Error": {
376           "type": "object",
377           "properties": {
378             "code": {
379               "type": "string"
380             },
381             "info": {
382               "$ref": "#/definitions/ErrorInfo"
383             },
384             "message": {
385               "type": "string"
386             }
387           },
388           "additionalProperties": false,
389           "required": [
390             "message",
391             "code"
392           ]
393         },
394         "ErrorInfo": {
395           "type": "object",
396           "properties": {
397             "macaroon": {
398               "$ref": "#/definitions/Macaroon"
399             },
400             "macaroon-path": {
401               "type": "string"
402             }
403           },
404           "additionalProperties": false
405         },
406         "FindActionsByNames": {
407           "type": "object",
408           "properties": {
409             "names": {
410               "type": "array",
411               "items": {
412                 "type": "string"
413               }
414             }
415           },
416           "additionalProperties": false
417         },
418         "FindTags": {
419           "type": "object",
420           "properties": {
421             "prefixes": {
422               "type": "array",
423               "items": {
424                 "type": "string"
425               }
426             }
427           },
428           "additionalProperties": false,
429           "required": [
430             "prefixes"
431           ]
432         },
433         "FindTagsResults": {
434           "type": "object",
435           "properties": {
436             "matches": {
437               "type": "object",
438               "patternProperties": {
439                 ".*": {
440                   "type": "array",
441                   "items": {
442                     "$ref": "#/definitions/Entity"
443                   }
444                 }
445               }
446             }
447           },
448           "additionalProperties": false,
449           "required": [
450             "matches"
451           ]
452         },
453         "Macaroon": {
454           "type": "object",
455           "additionalProperties": false
456         },
457         "RunParams": {
458           "type": "object",
459           "properties": {
460             "applications": {
461               "type": "array",
462               "items": {
463                 "type": "string"
464               }
465             },
466             "commands": {
467               "type": "string"
468             },
469             "machines": {
470               "type": "array",
471               "items": {
472                 "type": "string"
473               }
474             },
475             "timeout": {
476               "type": "integer"
477             },
478             "units": {
479               "type": "array",
480               "items": {
481                 "type": "string"
482               }
483             }
484           },
485           "additionalProperties": false,
486           "required": [
487             "commands",
488             "timeout"
489           ]
490         }
491       }
492     }
493   },
494   {
495     "Name": "Agent",
496     "Version": 2,
497     "Schema": {
498       "type": "object",
499       "properties": {
500         "ClearReboot": {
501           "type": "object",
502           "properties": {
503             "Params": {
504               "$ref": "#/definitions/Entities"
505             },
506             "Result": {
507               "$ref": "#/definitions/ErrorResults"
508             }
509           }
510         },
511         "CloudSpec": {
512           "type": "object",
513           "properties": {
514             "Params": {
515               "$ref": "#/definitions/Entities"
516             },
517             "Result": {
518               "$ref": "#/definitions/CloudSpecResults"
519             }
520           }
521         },
522         "ControllerConfig": {
523           "type": "object",
524           "properties": {
525             "Result": {
526               "$ref": "#/definitions/ControllerConfigResult"
527             }
528           }
529         },
530         "GetCloudSpec": {
531           "type": "object",
532           "properties": {
533             "Params": {
534               "$ref": "#/definitions/ModelTag"
535             },
536             "Result": {
537               "$ref": "#/definitions/CloudSpecResult"
538             }
539           }
540         },
541         "GetEntities": {
542           "type": "object",
543           "properties": {
544             "Params": {
545               "$ref": "#/definitions/Entities"
546             },
547             "Result": {
548               "$ref": "#/definitions/AgentGetEntitiesResults"
549             }
550           }
551         },
552         "IsMaster": {
553           "type": "object",
554           "properties": {
555             "Result": {
556               "$ref": "#/definitions/IsMasterResult"
557             }
558           }
559         },
560         "ModelConfig": {
561           "type": "object",
562           "properties": {
563             "Result": {
564               "$ref": "#/definitions/ModelConfigResult"
565             }
566           }
567         },
568         "SetPasswords": {
569           "type": "object",
570           "properties": {
571             "Params": {
572               "$ref": "#/definitions/EntityPasswords"
573             },
574             "Result": {
575               "$ref": "#/definitions/ErrorResults"
576             }
577           }
578         },
579         "StateServingInfo": {
580           "type": "object",
581           "properties": {
582             "Result": {
583               "$ref": "#/definitions/StateServingInfo"
584             }
585           }
586         },
587         "WatchCredentials": {
588           "type": "object",
589           "properties": {
590             "Params": {
591               "$ref": "#/definitions/Entities"
592             },
593             "Result": {
594               "$ref": "#/definitions/NotifyWatchResults"
595             }
596           }
597         },
598         "WatchForModelConfigChanges": {
599           "type": "object",
600           "properties": {
601             "Result": {
602               "$ref": "#/definitions/NotifyWatchResult"
603             }
604           }
605         }
606       },
607       "definitions": {
608         "AgentGetEntitiesResult": {
609           "type": "object",
610           "properties": {
611             "container-type": {
612               "type": "string"
613             },
614             "error": {
615               "$ref": "#/definitions/Error"
616             },
617             "jobs": {
618               "type": "array",
619               "items": {
620                 "type": "string"
621               }
622             },
623             "life": {
624               "type": "string"
625             }
626           },
627           "additionalProperties": false,
628           "required": [
629             "life",
630             "jobs",
631             "container-type"
632           ]
633         },
634         "AgentGetEntitiesResults": {
635           "type": "object",
636           "properties": {
637             "entities": {
638               "type": "array",
639               "items": {
640                 "$ref": "#/definitions/AgentGetEntitiesResult"
641               }
642             }
643           },
644           "additionalProperties": false,
645           "required": [
646             "entities"
647           ]
648         },
649         "CloudCredential": {
650           "type": "object",
651           "properties": {
652             "attrs": {
653               "type": "object",
654               "patternProperties": {
655                 ".*": {
656                   "type": "string"
657                 }
658               }
659             },
660             "auth-type": {
661               "type": "string"
662             },
663             "redacted": {
664               "type": "array",
665               "items": {
666                 "type": "string"
667               }
668             }
669           },
670           "additionalProperties": false,
671           "required": [
672             "auth-type"
673           ]
674         },
675         "CloudSpec": {
676           "type": "object",
677           "properties": {
678             "credential": {
679               "$ref": "#/definitions/CloudCredential"
680             },
681             "endpoint": {
682               "type": "string"
683             },
684             "identity-endpoint": {
685               "type": "string"
686             },
687             "name": {
688               "type": "string"
689             },
690             "region": {
691               "type": "string"
692             },
693             "storage-endpoint": {
694               "type": "string"
695             },
696             "type": {
697               "type": "string"
698             }
699           },
700           "additionalProperties": false,
701           "required": [
702             "type",
703             "name"
704           ]
705         },
706         "CloudSpecResult": {
707           "type": "object",
708           "properties": {
709             "error": {
710               "$ref": "#/definitions/Error"
711             },
712             "result": {
713               "$ref": "#/definitions/CloudSpec"
714             }
715           },
716           "additionalProperties": false
717         },
718         "CloudSpecResults": {
719           "type": "object",
720           "properties": {
721             "results": {
722               "type": "array",
723               "items": {
724                 "$ref": "#/definitions/CloudSpecResult"
725               }
726             }
727           },
728           "additionalProperties": false
729         },
730         "ControllerConfigResult": {
731           "type": "object",
732           "properties": {
733             "config": {
734               "type": "object",
735               "patternProperties": {
736                 ".*": {
737                   "type": "object",
738                   "additionalProperties": true
739                 }
740               }
741             }
742           },
743           "additionalProperties": false,
744           "required": [
745             "config"
746           ]
747         },
748         "Entities": {
749           "type": "object",
750           "properties": {
751             "entities": {
752               "type": "array",
753               "items": {
754                 "$ref": "#/definitions/Entity"
755               }
756             }
757           },
758           "additionalProperties": false,
759           "required": [
760             "entities"
761           ]
762         },
763         "Entity": {
764           "type": "object",
765           "properties": {
766             "tag": {
767               "type": "string"
768             }
769           },
770           "additionalProperties": false,
771           "required": [
772             "tag"
773           ]
774         },
775         "EntityPassword": {
776           "type": "object",
777           "properties": {
778             "password": {
779               "type": "string"
780             },
781             "tag": {
782               "type": "string"
783             }
784           },
785           "additionalProperties": false,
786           "required": [
787             "tag",
788             "password"
789           ]
790         },
791         "EntityPasswords": {
792           "type": "object",
793           "properties": {
794             "changes": {
795               "type": "array",
796               "items": {
797                 "$ref": "#/definitions/EntityPassword"
798               }
799             }
800           },
801           "additionalProperties": false,
802           "required": [
803             "changes"
804           ]
805         },
806         "Error": {
807           "type": "object",
808           "properties": {
809             "code": {
810               "type": "string"
811             },
812             "info": {
813               "$ref": "#/definitions/ErrorInfo"
814             },
815             "message": {
816               "type": "string"
817             }
818           },
819           "additionalProperties": false,
820           "required": [
821             "message",
822             "code"
823           ]
824         },
825         "ErrorInfo": {
826           "type": "object",
827           "properties": {
828             "macaroon": {
829               "$ref": "#/definitions/Macaroon"
830             },
831             "macaroon-path": {
832               "type": "string"
833             }
834           },
835           "additionalProperties": false
836         },
837         "ErrorResult": {
838           "type": "object",
839           "properties": {
840             "error": {
841               "$ref": "#/definitions/Error"
842             }
843           },
844           "additionalProperties": false
845         },
846         "ErrorResults": {
847           "type": "object",
848           "properties": {
849             "results": {
850               "type": "array",
851               "items": {
852                 "$ref": "#/definitions/ErrorResult"
853               }
854             }
855           },
856           "additionalProperties": false,
857           "required": [
858             "results"
859           ]
860         },
861         "IsMasterResult": {
862           "type": "object",
863           "properties": {
864             "master": {
865               "type": "boolean"
866             }
867           },
868           "additionalProperties": false,
869           "required": [
870             "master"
871           ]
872         },
873         "Macaroon": {
874           "type": "object",
875           "additionalProperties": false
876         },
877         "ModelConfigResult": {
878           "type": "object",
879           "properties": {
880             "config": {
881               "type": "object",
882               "patternProperties": {
883                 ".*": {
884                   "type": "object",
885                   "additionalProperties": true
886                 }
887               }
888             }
889           },
890           "additionalProperties": false,
891           "required": [
892             "config"
893           ]
894         },
895         "ModelTag": {
896           "type": "object",
897           "additionalProperties": false
898         },
899         "NotifyWatchResult": {
900           "type": "object",
901           "properties": {
902             "NotifyWatcherId": {
903               "type": "string"
904             },
905             "error": {
906               "$ref": "#/definitions/Error"
907             }
908           },
909           "additionalProperties": false,
910           "required": [
911             "NotifyWatcherId"
912           ]
913         },
914         "NotifyWatchResults": {
915           "type": "object",
916           "properties": {
917             "results": {
918               "type": "array",
919               "items": {
920                 "$ref": "#/definitions/NotifyWatchResult"
921               }
922             }
923           },
924           "additionalProperties": false,
925           "required": [
926             "results"
927           ]
928         },
929         "StateServingInfo": {
930           "type": "object",
931           "properties": {
932             "api-port": {
933               "type": "integer"
934             },
935             "ca-private-key": {
936               "type": "string"
937             },
938             "cert": {
939               "type": "string"
940             },
941             "private-key": {
942               "type": "string"
943             },
944             "shared-secret": {
945               "type": "string"
946             },
947             "state-port": {
948               "type": "integer"
949             },
950             "system-identity": {
951               "type": "string"
952             }
953           },
954           "additionalProperties": false,
955           "required": [
956             "api-port",
957             "state-port",
958             "cert",
959             "private-key",
960             "ca-private-key",
961             "shared-secret",
962             "system-identity"
963           ]
964         }
965       }
966     }
967   },
968   {
969     "Name": "AgentTools",
970     "Version": 1,
971     "Schema": {
972       "type": "object",
973       "properties": {
974         "UpdateToolsAvailable": {
975           "type": "object"
976         }
977       }
978     }
979   },
980   {
981     "Name": "AllModelWatcher",
982     "Version": 2,
983     "Schema": {
984       "type": "object",
985       "properties": {
986         "Next": {
987           "type": "object",
988           "properties": {
989             "Result": {
990               "$ref": "#/definitions/AllWatcherNextResults"
991             }
992           }
993         },
994         "Stop": {
995           "type": "object"
996         }
997       },
998       "definitions": {
999         "AllWatcherNextResults": {
1000           "type": "object",
1001           "properties": {
1002             "deltas": {
1003               "type": "array",
1004               "items": {
1005                 "$ref": "#/definitions/Delta"
1006               }
1007             }
1008           },
1009           "additionalProperties": false,
1010           "required": [
1011             "deltas"
1012           ]
1013         },
1014         "Delta": {
1015           "type": "object",
1016           "properties": {
1017             "entity": {
1018               "type": "object",
1019               "additionalProperties": true
1020             },
1021             "removed": {
1022               "type": "boolean"
1023             }
1024           },
1025           "additionalProperties": false,
1026           "required": [
1027             "removed",
1028             "entity"
1029           ]
1030         }
1031       }
1032     }
1033   },
1034   {
1035     "Name": "AllWatcher",
1036     "Version": 1,
1037     "Schema": {
1038       "type": "object",
1039       "properties": {
1040         "Next": {
1041           "type": "object",
1042           "properties": {
1043             "Result": {
1044               "$ref": "#/definitions/AllWatcherNextResults"
1045             }
1046           }
1047         },
1048         "Stop": {
1049           "type": "object"
1050         }
1051       },
1052       "definitions": {
1053         "AllWatcherNextResults": {
1054           "type": "object",
1055           "properties": {
1056             "deltas": {
1057               "type": "array",
1058               "items": {
1059                 "$ref": "#/definitions/Delta"
1060               }
1061             }
1062           },
1063           "additionalProperties": false,
1064           "required": [
1065             "deltas"
1066           ]
1067         },
1068         "Delta": {
1069           "type": "object",
1070           "properties": {
1071             "entity": {
1072               "type": "object",
1073               "additionalProperties": true
1074             },
1075             "removed": {
1076               "type": "boolean"
1077             }
1078           },
1079           "additionalProperties": false,
1080           "required": [
1081             "removed",
1082             "entity"
1083           ]
1084         }
1085       }
1086     }
1087   },
1088   {
1089     "Name": "Annotations",
1090     "Version": 2,
1091     "Schema": {
1092       "type": "object",
1093       "properties": {
1094         "Get": {
1095           "type": "object",
1096           "properties": {
1097             "Params": {
1098               "$ref": "#/definitions/Entities"
1099             },
1100             "Result": {
1101               "$ref": "#/definitions/AnnotationsGetResults"
1102             }
1103           }
1104         },
1105         "Set": {
1106           "type": "object",
1107           "properties": {
1108             "Params": {
1109               "$ref": "#/definitions/AnnotationsSet"
1110             },
1111             "Result": {
1112               "$ref": "#/definitions/ErrorResults"
1113             }
1114           }
1115         }
1116       },
1117       "definitions": {
1118         "AnnotationsGetResult": {
1119           "type": "object",
1120           "properties": {
1121             "annotations": {
1122               "type": "object",
1123               "patternProperties": {
1124                 ".*": {
1125                   "type": "string"
1126                 }
1127               }
1128             },
1129             "entity": {
1130               "type": "string"
1131             },
1132             "error": {
1133               "$ref": "#/definitions/ErrorResult"
1134             }
1135           },
1136           "additionalProperties": false,
1137           "required": [
1138             "entity",
1139             "annotations"
1140           ]
1141         },
1142         "AnnotationsGetResults": {
1143           "type": "object",
1144           "properties": {
1145             "results": {
1146               "type": "array",
1147               "items": {
1148                 "$ref": "#/definitions/AnnotationsGetResult"
1149               }
1150             }
1151           },
1152           "additionalProperties": false,
1153           "required": [
1154             "results"
1155           ]
1156         },
1157         "AnnotationsSet": {
1158           "type": "object",
1159           "properties": {
1160             "annotations": {
1161               "type": "array",
1162               "items": {
1163                 "$ref": "#/definitions/EntityAnnotations"
1164               }
1165             }
1166           },
1167           "additionalProperties": false,
1168           "required": [
1169             "annotations"
1170           ]
1171         },
1172         "Entities": {
1173           "type": "object",
1174           "properties": {
1175             "entities": {
1176               "type": "array",
1177               "items": {
1178                 "$ref": "#/definitions/Entity"
1179               }
1180             }
1181           },
1182           "additionalProperties": false,
1183           "required": [
1184             "entities"
1185           ]
1186         },
1187         "Entity": {
1188           "type": "object",
1189           "properties": {
1190             "tag": {
1191               "type": "string"
1192             }
1193           },
1194           "additionalProperties": false,
1195           "required": [
1196             "tag"
1197           ]
1198         },
1199         "EntityAnnotations": {
1200           "type": "object",
1201           "properties": {
1202             "annotations": {
1203               "type": "object",
1204               "patternProperties": {
1205                 ".*": {
1206                   "type": "string"
1207                 }
1208               }
1209             },
1210             "entity": {
1211               "type": "string"
1212             }
1213           },
1214           "additionalProperties": false,
1215           "required": [
1216             "entity",
1217             "annotations"
1218           ]
1219         },
1220         "Error": {
1221           "type": "object",
1222           "properties": {
1223             "code": {
1224               "type": "string"
1225             },
1226             "info": {
1227               "$ref": "#/definitions/ErrorInfo"
1228             },
1229             "message": {
1230               "type": "string"
1231             }
1232           },
1233           "additionalProperties": false,
1234           "required": [
1235             "message",
1236             "code"
1237           ]
1238         },
1239         "ErrorInfo": {
1240           "type": "object",
1241           "properties": {
1242             "macaroon": {
1243               "$ref": "#/definitions/Macaroon"
1244             },
1245             "macaroon-path": {
1246               "type": "string"
1247             }
1248           },
1249           "additionalProperties": false
1250         },
1251         "ErrorResult": {
1252           "type": "object",
1253           "properties": {
1254             "error": {
1255               "$ref": "#/definitions/Error"
1256             }
1257           },
1258           "additionalProperties": false
1259         },
1260         "ErrorResults": {
1261           "type": "object",
1262           "properties": {
1263             "results": {
1264               "type": "array",
1265               "items": {
1266                 "$ref": "#/definitions/ErrorResult"
1267               }
1268             }
1269           },
1270           "additionalProperties": false,
1271           "required": [
1272             "results"
1273           ]
1274         },
1275         "Macaroon": {
1276           "type": "object",
1277           "additionalProperties": false
1278         }
1279       }
1280     }
1281   },
1282   {
1283     "Name": "Application",
1284     "Version": 2,
1285     "Schema": {
1286       "type": "object",
1287       "properties": {
1288         "AddRelation": {
1289           "type": "object",
1290           "properties": {
1291             "Params": {
1292               "$ref": "#/definitions/AddRelation"
1293             },
1294             "Result": {
1295               "$ref": "#/definitions/AddRelationResults"
1296             }
1297           }
1298         },
1299         "AddUnits": {
1300           "type": "object",
1301           "properties": {
1302             "Params": {
1303               "$ref": "#/definitions/AddApplicationUnits"
1304             },
1305             "Result": {
1306               "$ref": "#/definitions/AddApplicationUnitsResults"
1307             }
1308           }
1309         },
1310         "CharmRelations": {
1311           "type": "object",
1312           "properties": {
1313             "Params": {
1314               "$ref": "#/definitions/ApplicationCharmRelations"
1315             },
1316             "Result": {
1317               "$ref": "#/definitions/ApplicationCharmRelationsResults"
1318             }
1319           }
1320         },
1321         "Deploy": {
1322           "type": "object",
1323           "properties": {
1324             "Params": {
1325               "$ref": "#/definitions/ApplicationsDeploy"
1326             },
1327             "Result": {
1328               "$ref": "#/definitions/ErrorResults"
1329             }
1330           }
1331         },
1332         "Destroy": {
1333           "type": "object",
1334           "properties": {
1335             "Params": {
1336               "$ref": "#/definitions/ApplicationDestroy"
1337             }
1338           }
1339         },
1340         "DestroyRelation": {
1341           "type": "object",
1342           "properties": {
1343             "Params": {
1344               "$ref": "#/definitions/DestroyRelation"
1345             }
1346           }
1347         },
1348         "DestroyUnits": {
1349           "type": "object",
1350           "properties": {
1351             "Params": {
1352               "$ref": "#/definitions/DestroyApplicationUnits"
1353             }
1354           }
1355         },
1356         "Expose": {
1357           "type": "object",
1358           "properties": {
1359             "Params": {
1360               "$ref": "#/definitions/ApplicationExpose"
1361             }
1362           }
1363         },
1364         "Get": {
1365           "type": "object",
1366           "properties": {
1367             "Params": {
1368               "$ref": "#/definitions/ApplicationGet"
1369             },
1370             "Result": {
1371               "$ref": "#/definitions/ApplicationGetResults"
1372             }
1373           }
1374         },
1375         "GetCharmURL": {
1376           "type": "object",
1377           "properties": {
1378             "Params": {
1379               "$ref": "#/definitions/ApplicationGet"
1380             },
1381             "Result": {
1382               "$ref": "#/definitions/StringResult"
1383             }
1384           }
1385         },
1386         "GetConstraints": {
1387           "type": "object",
1388           "properties": {
1389             "Params": {
1390               "$ref": "#/definitions/GetApplicationConstraints"
1391             },
1392             "Result": {
1393               "$ref": "#/definitions/GetConstraintsResults"
1394             }
1395           }
1396         },
1397         "Set": {
1398           "type": "object",
1399           "properties": {
1400             "Params": {
1401               "$ref": "#/definitions/ApplicationSet"
1402             }
1403           }
1404         },
1405         "SetCharm": {
1406           "type": "object",
1407           "properties": {
1408             "Params": {
1409               "$ref": "#/definitions/ApplicationSetCharm"
1410             }
1411           }
1412         },
1413         "SetConstraints": {
1414           "type": "object",
1415           "properties": {
1416             "Params": {
1417               "$ref": "#/definitions/SetConstraints"
1418             }
1419           }
1420         },
1421         "SetMetricCredentials": {
1422           "type": "object",
1423           "properties": {
1424             "Params": {
1425               "$ref": "#/definitions/ApplicationMetricCredentials"
1426             },
1427             "Result": {
1428               "$ref": "#/definitions/ErrorResults"
1429             }
1430           }
1431         },
1432         "Unexpose": {
1433           "type": "object",
1434           "properties": {
1435             "Params": {
1436               "$ref": "#/definitions/ApplicationUnexpose"
1437             }
1438           }
1439         },
1440         "Unset": {
1441           "type": "object",
1442           "properties": {
1443             "Params": {
1444               "$ref": "#/definitions/ApplicationUnset"
1445             }
1446           }
1447         },
1448         "Update": {
1449           "type": "object",
1450           "properties": {
1451             "Params": {
1452               "$ref": "#/definitions/ApplicationUpdate"
1453             }
1454           }
1455         }
1456       },
1457       "definitions": {
1458         "AddApplicationUnits": {
1459           "type": "object",
1460           "properties": {
1461             "application": {
1462               "type": "string"
1463             },
1464             "num-units": {
1465               "type": "integer"
1466             },
1467             "placement": {
1468               "type": "array",
1469               "items": {
1470                 "$ref": "#/definitions/Placement"
1471               }
1472             }
1473           },
1474           "additionalProperties": false,
1475           "required": [
1476             "application",
1477             "num-units",
1478             "placement"
1479           ]
1480         },
1481         "AddApplicationUnitsResults": {
1482           "type": "object",
1483           "properties": {
1484             "units": {
1485               "type": "array",
1486               "items": {
1487                 "type": "string"
1488               }
1489             }
1490           },
1491           "additionalProperties": false,
1492           "required": [
1493             "units"
1494           ]
1495         },
1496         "AddRelation": {
1497           "type": "object",
1498           "properties": {
1499             "endpoints": {
1500               "type": "array",
1501               "items": {
1502                 "type": "string"
1503               }
1504             }
1505           },
1506           "additionalProperties": false,
1507           "required": [
1508             "endpoints"
1509           ]
1510         },
1511         "AddRelationResults": {
1512           "type": "object",
1513           "properties": {
1514             "endpoints": {
1515               "type": "object",
1516               "patternProperties": {
1517                 ".*": {
1518                   "$ref": "#/definitions/CharmRelation"
1519                 }
1520               }
1521             }
1522           },
1523           "additionalProperties": false,
1524           "required": [
1525             "endpoints"
1526           ]
1527         },
1528         "ApplicationCharmRelations": {
1529           "type": "object",
1530           "properties": {
1531             "application": {
1532               "type": "string"
1533             }
1534           },
1535           "additionalProperties": false,
1536           "required": [
1537             "application"
1538           ]
1539         },
1540         "ApplicationCharmRelationsResults": {
1541           "type": "object",
1542           "properties": {
1543             "charm-relations": {
1544               "type": "array",
1545               "items": {
1546                 "type": "string"
1547               }
1548             }
1549           },
1550           "additionalProperties": false,
1551           "required": [
1552             "charm-relations"
1553           ]
1554         },
1555         "ApplicationDeploy": {
1556           "type": "object",
1557           "properties": {
1558             "application": {
1559               "type": "string"
1560             },
1561             "channel": {
1562               "type": "string"
1563             },
1564             "charm-url": {
1565               "type": "string"
1566             },
1567             "config": {
1568               "type": "object",
1569               "patternProperties": {
1570                 ".*": {
1571                   "type": "string"
1572                 }
1573               }
1574             },
1575             "config-yaml": {
1576               "type": "string"
1577             },
1578             "constraints": {
1579               "$ref": "#/definitions/Value"
1580             },
1581             "endpoint-bindings": {
1582               "type": "object",
1583               "patternProperties": {
1584                 ".*": {
1585                   "type": "string"
1586                 }
1587               }
1588             },
1589             "num-units": {
1590               "type": "integer"
1591             },
1592             "placement": {
1593               "type": "array",
1594               "items": {
1595                 "$ref": "#/definitions/Placement"
1596               }
1597             },
1598             "resources": {
1599               "type": "object",
1600               "patternProperties": {
1601                 ".*": {
1602                   "type": "string"
1603                 }
1604               }
1605             },
1606             "series": {
1607               "type": "string"
1608             },
1609             "storage": {
1610               "type": "object",
1611               "patternProperties": {
1612                 ".*": {
1613                   "$ref": "#/definitions/Constraints"
1614                 }
1615               }
1616             }
1617           },
1618           "additionalProperties": false,
1619           "required": [
1620             "application",
1621             "series",
1622             "charm-url",
1623             "channel",
1624             "num-units",
1625             "config-yaml",
1626             "constraints"
1627           ]
1628         },
1629         "ApplicationDestroy": {
1630           "type": "object",
1631           "properties": {
1632             "application": {
1633               "type": "string"
1634             }
1635           },
1636           "additionalProperties": false,
1637           "required": [
1638             "application"
1639           ]
1640         },
1641         "ApplicationExpose": {
1642           "type": "object",
1643           "properties": {
1644             "application": {
1645               "type": "string"
1646             }
1647           },
1648           "additionalProperties": false,
1649           "required": [
1650             "application"
1651           ]
1652         },
1653         "ApplicationGet": {
1654           "type": "object",
1655           "properties": {
1656             "application": {
1657               "type": "string"
1658             }
1659           },
1660           "additionalProperties": false,
1661           "required": [
1662             "application"
1663           ]
1664         },
1665         "ApplicationGetResults": {
1666           "type": "object",
1667           "properties": {
1668             "application": {
1669               "type": "string"
1670             },
1671             "charm": {
1672               "type": "string"
1673             },
1674             "config": {
1675               "type": "object",
1676               "patternProperties": {
1677                 ".*": {
1678                   "type": "object",
1679                   "additionalProperties": true
1680                 }
1681               }
1682             },
1683             "constraints": {
1684               "$ref": "#/definitions/Value"
1685             },
1686             "series": {
1687               "type": "string"
1688             }
1689           },
1690           "additionalProperties": false,
1691           "required": [
1692             "application",
1693             "charm",
1694             "config",
1695             "constraints",
1696             "series"
1697           ]
1698         },
1699         "ApplicationMetricCredential": {
1700           "type": "object",
1701           "properties": {
1702             "application": {
1703               "type": "string"
1704             },
1705             "metrics-credentials": {
1706               "type": "array",
1707               "items": {
1708                 "type": "integer"
1709               }
1710             }
1711           },
1712           "additionalProperties": false,
1713           "required": [
1714             "application",
1715             "metrics-credentials"
1716           ]
1717         },
1718         "ApplicationMetricCredentials": {
1719           "type": "object",
1720           "properties": {
1721             "creds": {
1722               "type": "array",
1723               "items": {
1724                 "$ref": "#/definitions/ApplicationMetricCredential"
1725               }
1726             }
1727           },
1728           "additionalProperties": false,
1729           "required": [
1730             "creds"
1731           ]
1732         },
1733         "ApplicationSet": {
1734           "type": "object",
1735           "properties": {
1736             "application": {
1737               "type": "string"
1738             },
1739             "options": {
1740               "type": "object",
1741               "patternProperties": {
1742                 ".*": {
1743                   "type": "string"
1744                 }
1745               }
1746             }
1747           },
1748           "additionalProperties": false,
1749           "required": [
1750             "application",
1751             "options"
1752           ]
1753         },
1754         "ApplicationSetCharm": {
1755           "type": "object",
1756           "properties": {
1757             "application": {
1758               "type": "string"
1759             },
1760             "channel": {
1761               "type": "string"
1762             },
1763             "charm-url": {
1764               "type": "string"
1765             },
1766             "config-settings": {
1767               "type": "object",
1768               "patternProperties": {
1769                 ".*": {
1770                   "type": "string"
1771                 }
1772               }
1773             },
1774             "config-settings-yaml": {
1775               "type": "string"
1776             },
1777             "force-series": {
1778               "type": "boolean"
1779             },
1780             "force-units": {
1781               "type": "boolean"
1782             },
1783             "resource-ids": {
1784               "type": "object",
1785               "patternProperties": {
1786                 ".*": {
1787                   "type": "string"
1788                 }
1789               }
1790             },
1791             "storage-constraints": {
1792               "type": "object",
1793               "patternProperties": {
1794                 ".*": {
1795                   "$ref": "#/definitions/StorageConstraints"
1796                 }
1797               }
1798             }
1799           },
1800           "additionalProperties": false,
1801           "required": [
1802             "application",
1803             "charm-url",
1804             "channel",
1805             "force-units",
1806             "force-series"
1807           ]
1808         },
1809         "ApplicationUnexpose": {
1810           "type": "object",
1811           "properties": {
1812             "application": {
1813               "type": "string"
1814             }
1815           },
1816           "additionalProperties": false,
1817           "required": [
1818             "application"
1819           ]
1820         },
1821         "ApplicationUnset": {
1822           "type": "object",
1823           "properties": {
1824             "application": {
1825               "type": "string"
1826             },
1827             "options": {
1828               "type": "array",
1829               "items": {
1830                 "type": "string"
1831               }
1832             }
1833           },
1834           "additionalProperties": false,
1835           "required": [
1836             "application",
1837             "options"
1838           ]
1839         },
1840         "ApplicationUpdate": {
1841           "type": "object",
1842           "properties": {
1843             "application": {
1844               "type": "string"
1845             },
1846             "charm-url": {
1847               "type": "string"
1848             },
1849             "constraints": {
1850               "$ref": "#/definitions/Value"
1851             },
1852             "force-charm-url": {
1853               "type": "boolean"
1854             },
1855             "force-series": {
1856               "type": "boolean"
1857             },
1858             "min-units": {
1859               "type": "integer"
1860             },
1861             "settings": {
1862               "type": "object",
1863               "patternProperties": {
1864                 ".*": {
1865                   "type": "string"
1866                 }
1867               }
1868             },
1869             "settings-yaml": {
1870               "type": "string"
1871             }
1872           },
1873           "additionalProperties": false,
1874           "required": [
1875             "application",
1876             "charm-url",
1877             "force-charm-url",
1878             "force-series",
1879             "settings-yaml"
1880           ]
1881         },
1882         "ApplicationsDeploy": {
1883           "type": "object",
1884           "properties": {
1885             "applications": {
1886               "type": "array",
1887               "items": {
1888                 "$ref": "#/definitions/ApplicationDeploy"
1889               }
1890             }
1891           },
1892           "additionalProperties": false,
1893           "required": [
1894             "applications"
1895           ]
1896         },
1897         "CharmRelation": {
1898           "type": "object",
1899           "properties": {
1900             "interface": {
1901               "type": "string"
1902             },
1903             "limit": {
1904               "type": "integer"
1905             },
1906             "name": {
1907               "type": "string"
1908             },
1909             "optional": {
1910               "type": "boolean"
1911             },
1912             "role": {
1913               "type": "string"
1914             },
1915             "scope": {
1916               "type": "string"
1917             }
1918           },
1919           "additionalProperties": false,
1920           "required": [
1921             "name",
1922             "role",
1923             "interface",
1924             "optional",
1925             "limit",
1926             "scope"
1927           ]
1928         },
1929         "Constraints": {
1930           "type": "object",
1931           "properties": {
1932             "Count": {
1933               "type": "integer"
1934             },
1935             "Pool": {
1936               "type": "string"
1937             },
1938             "Size": {
1939               "type": "integer"
1940             }
1941           },
1942           "additionalProperties": false,
1943           "required": [
1944             "Pool",
1945             "Size",
1946             "Count"
1947           ]
1948         },
1949         "DestroyApplicationUnits": {
1950           "type": "object",
1951           "properties": {
1952             "unit-names": {
1953               "type": "array",
1954               "items": {
1955                 "type": "string"
1956               }
1957             }
1958           },
1959           "additionalProperties": false,
1960           "required": [
1961             "unit-names"
1962           ]
1963         },
1964         "DestroyRelation": {
1965           "type": "object",
1966           "properties": {
1967             "endpoints": {
1968               "type": "array",
1969               "items": {
1970                 "type": "string"
1971               }
1972             }
1973           },
1974           "additionalProperties": false,
1975           "required": [
1976             "endpoints"
1977           ]
1978         },
1979         "Error": {
1980           "type": "object",
1981           "properties": {
1982             "code": {
1983               "type": "string"
1984             },
1985             "info": {
1986               "$ref": "#/definitions/ErrorInfo"
1987             },
1988             "message": {
1989               "type": "string"
1990             }
1991           },
1992           "additionalProperties": false,
1993           "required": [
1994             "message",
1995             "code"
1996           ]
1997         },
1998         "ErrorInfo": {
1999           "type": "object",
2000           "properties": {
2001             "macaroon": {
2002               "$ref": "#/definitions/Macaroon"
2003             },
2004             "macaroon-path": {
2005               "type": "string"
2006             }
2007           },
2008           "additionalProperties": false
2009         },
2010         "ErrorResult": {
2011           "type": "object",
2012           "properties": {
2013             "error": {
2014               "$ref": "#/definitions/Error"
2015             }
2016           },
2017           "additionalProperties": false
2018         },
2019         "ErrorResults": {
2020           "type": "object",
2021           "properties": {
2022             "results": {
2023               "type": "array",
2024               "items": {
2025                 "$ref": "#/definitions/ErrorResult"
2026               }
2027             }
2028           },
2029           "additionalProperties": false,
2030           "required": [
2031             "results"
2032           ]
2033         },
2034         "GetApplicationConstraints": {
2035           "type": "object",
2036           "properties": {
2037             "application": {
2038               "type": "string"
2039             }
2040           },
2041           "additionalProperties": false,
2042           "required": [
2043             "application"
2044           ]
2045         },
2046         "GetConstraintsResults": {
2047           "type": "object",
2048           "properties": {
2049             "constraints": {
2050               "$ref": "#/definitions/Value"
2051             }
2052           },
2053           "additionalProperties": false,
2054           "required": [
2055             "constraints"
2056           ]
2057         },
2058         "Macaroon": {
2059           "type": "object",
2060           "additionalProperties": false
2061         },
2062         "Placement": {
2063           "type": "object",
2064           "properties": {
2065             "directive": {
2066               "type": "string"
2067             },
2068             "scope": {
2069               "type": "string"
2070             }
2071           },
2072           "additionalProperties": false,
2073           "required": [
2074             "scope",
2075             "directive"
2076           ]
2077         },
2078         "SetConstraints": {
2079           "type": "object",
2080           "properties": {
2081             "application": {
2082               "type": "string"
2083             },
2084             "constraints": {
2085               "$ref": "#/definitions/Value"
2086             }
2087           },
2088           "additionalProperties": false,
2089           "required": [
2090             "application",
2091             "constraints"
2092           ]
2093         },
2094         "StorageConstraints": {
2095           "type": "object",
2096           "properties": {
2097             "count": {
2098               "type": "integer"
2099             },
2100             "pool": {
2101               "type": "string"
2102             },
2103             "size": {
2104               "type": "integer"
2105             }
2106           },
2107           "additionalProperties": false
2108         },
2109         "StringResult": {
2110           "type": "object",
2111           "properties": {
2112             "error": {
2113               "$ref": "#/definitions/Error"
2114             },
2115             "result": {
2116               "type": "string"
2117             }
2118           },
2119           "additionalProperties": false,
2120           "required": [
2121             "result"
2122           ]
2123         },
2124         "Value": {
2125           "type": "object",
2126           "properties": {
2127             "arch": {
2128               "type": "string"
2129             },
2130             "container": {
2131               "type": "string"
2132             },
2133             "cores": {
2134               "type": "integer"
2135             },
2136             "cpu-power": {
2137               "type": "integer"
2138             },
2139             "instance-type": {
2140               "type": "string"
2141             },
2142             "mem": {
2143               "type": "integer"
2144             },
2145             "root-disk": {
2146               "type": "integer"
2147             },
2148             "spaces": {
2149               "type": "array",
2150               "items": {
2151                 "type": "string"
2152               }
2153             },
2154             "tags": {
2155               "type": "array",
2156               "items": {
2157                 "type": "string"
2158               }
2159             },
2160             "virt-type": {
2161               "type": "string"
2162             }
2163           },
2164           "additionalProperties": false
2165         }
2166       }
2167     }
2168   },
2169   {
2170     "Name": "ApplicationScaler",
2171     "Version": 1,
2172     "Schema": {
2173       "type": "object",
2174       "properties": {
2175         "Rescale": {
2176           "type": "object",
2177           "properties": {
2178             "Params": {
2179               "$ref": "#/definitions/Entities"
2180             },
2181             "Result": {
2182               "$ref": "#/definitions/ErrorResults"
2183             }
2184           }
2185         },
2186         "Watch": {
2187           "type": "object",
2188           "properties": {
2189             "Result": {
2190               "$ref": "#/definitions/StringsWatchResult"
2191             }
2192           }
2193         }
2194       },
2195       "definitions": {
2196         "Entities": {
2197           "type": "object",
2198           "properties": {
2199             "entities": {
2200               "type": "array",
2201               "items": {
2202                 "$ref": "#/definitions/Entity"
2203               }
2204             }
2205           },
2206           "additionalProperties": false,
2207           "required": [
2208             "entities"
2209           ]
2210         },
2211         "Entity": {
2212           "type": "object",
2213           "properties": {
2214             "tag": {
2215               "type": "string"
2216             }
2217           },
2218           "additionalProperties": false,
2219           "required": [
2220             "tag"
2221           ]
2222         },
2223         "Error": {
2224           "type": "object",
2225           "properties": {
2226             "code": {
2227               "type": "string"
2228             },
2229             "info": {
2230               "$ref": "#/definitions/ErrorInfo"
2231             },
2232             "message": {
2233               "type": "string"
2234             }
2235           },
2236           "additionalProperties": false,
2237           "required": [
2238             "message",
2239             "code"
2240           ]
2241         },
2242         "ErrorInfo": {
2243           "type": "object",
2244           "properties": {
2245             "macaroon": {
2246               "$ref": "#/definitions/Macaroon"
2247             },
2248             "macaroon-path": {
2249               "type": "string"
2250             }
2251           },
2252           "additionalProperties": false
2253         },
2254         "ErrorResult": {
2255           "type": "object",
2256           "properties": {
2257             "error": {
2258               "$ref": "#/definitions/Error"
2259             }
2260           },
2261           "additionalProperties": false
2262         },
2263         "ErrorResults": {
2264           "type": "object",
2265           "properties": {
2266             "results": {
2267               "type": "array",
2268               "items": {
2269                 "$ref": "#/definitions/ErrorResult"
2270               }
2271             }
2272           },
2273           "additionalProperties": false,
2274           "required": [
2275             "results"
2276           ]
2277         },
2278         "Macaroon": {
2279           "type": "object",
2280           "additionalProperties": false
2281         },
2282         "StringsWatchResult": {
2283           "type": "object",
2284           "properties": {
2285             "changes": {
2286               "type": "array",
2287               "items": {
2288                 "type": "string"
2289               }
2290             },
2291             "error": {
2292               "$ref": "#/definitions/Error"
2293             },
2294             "watcher-id": {
2295               "type": "string"
2296             }
2297           },
2298           "additionalProperties": false,
2299           "required": [
2300             "watcher-id"
2301           ]
2302         }
2303       }
2304     }
2305   },
2306   {
2307     "Name": "Backups",
2308     "Version": 1,
2309     "Schema": {
2310       "type": "object",
2311       "properties": {
2312         "Create": {
2313           "type": "object",
2314           "properties": {
2315             "Params": {
2316               "$ref": "#/definitions/BackupsCreateArgs"
2317             },
2318             "Result": {
2319               "$ref": "#/definitions/BackupsMetadataResult"
2320             }
2321           }
2322         },
2323         "FinishRestore": {
2324           "type": "object"
2325         },
2326         "Info": {
2327           "type": "object",
2328           "properties": {
2329             "Params": {
2330               "$ref": "#/definitions/BackupsInfoArgs"
2331             },
2332             "Result": {
2333               "$ref": "#/definitions/BackupsMetadataResult"
2334             }
2335           }
2336         },
2337         "List": {
2338           "type": "object",
2339           "properties": {
2340             "Params": {
2341               "$ref": "#/definitions/BackupsListArgs"
2342             },
2343             "Result": {
2344               "$ref": "#/definitions/BackupsListResult"
2345             }
2346           }
2347         },
2348         "PrepareRestore": {
2349           "type": "object"
2350         },
2351         "Remove": {
2352           "type": "object",
2353           "properties": {
2354             "Params": {
2355               "$ref": "#/definitions/BackupsRemoveArgs"
2356             }
2357           }
2358         },
2359         "Restore": {
2360           "type": "object",
2361           "properties": {
2362             "Params": {
2363               "$ref": "#/definitions/RestoreArgs"
2364             }
2365           }
2366         }
2367       },
2368       "definitions": {
2369         "BackupsCreateArgs": {
2370           "type": "object",
2371           "properties": {
2372             "notes": {
2373               "type": "string"
2374             }
2375           },
2376           "additionalProperties": false,
2377           "required": [
2378             "notes"
2379           ]
2380         },
2381         "BackupsInfoArgs": {
2382           "type": "object",
2383           "properties": {
2384             "id": {
2385               "type": "string"
2386             }
2387           },
2388           "additionalProperties": false,
2389           "required": [
2390             "id"
2391           ]
2392         },
2393         "BackupsListArgs": {
2394           "type": "object",
2395           "additionalProperties": false
2396         },
2397         "BackupsListResult": {
2398           "type": "object",
2399           "properties": {
2400             "list": {
2401               "type": "array",
2402               "items": {
2403                 "$ref": "#/definitions/BackupsMetadataResult"
2404               }
2405             }
2406           },
2407           "additionalProperties": false,
2408           "required": [
2409             "list"
2410           ]
2411         },
2412         "BackupsMetadataResult": {
2413           "type": "object",
2414           "properties": {
2415             "ca-cert": {
2416               "type": "string"
2417             },
2418             "ca-private-key": {
2419               "type": "string"
2420             },
2421             "checksum": {
2422               "type": "string"
2423             },
2424             "checksum-format": {
2425               "type": "string"
2426             },
2427             "finished": {
2428               "type": "string",
2429               "format": "date-time"
2430             },
2431             "hostname": {
2432               "type": "string"
2433             },
2434             "id": {
2435               "type": "string"
2436             },
2437             "machine": {
2438               "type": "string"
2439             },
2440             "model": {
2441               "type": "string"
2442             },
2443             "notes": {
2444               "type": "string"
2445             },
2446             "series": {
2447               "type": "string"
2448             },
2449             "size": {
2450               "type": "integer"
2451             },
2452             "started": {
2453               "type": "string",
2454               "format": "date-time"
2455             },
2456             "stored": {
2457               "type": "string",
2458               "format": "date-time"
2459             },
2460             "version": {
2461               "$ref": "#/definitions/Number"
2462             }
2463           },
2464           "additionalProperties": false,
2465           "required": [
2466             "id",
2467             "checksum",
2468             "checksum-format",
2469             "size",
2470             "stored",
2471             "started",
2472             "finished",
2473             "notes",
2474             "model",
2475             "machine",
2476             "hostname",
2477             "version",
2478             "series",
2479             "ca-cert",
2480             "ca-private-key"
2481           ]
2482         },
2483         "BackupsRemoveArgs": {
2484           "type": "object",
2485           "properties": {
2486             "id": {
2487               "type": "string"
2488             }
2489           },
2490           "additionalProperties": false,
2491           "required": [
2492             "id"
2493           ]
2494         },
2495         "Number": {
2496           "type": "object",
2497           "properties": {
2498             "Build": {
2499               "type": "integer"
2500             },
2501             "Major": {
2502               "type": "integer"
2503             },
2504             "Minor": {
2505               "type": "integer"
2506             },
2507             "Patch": {
2508               "type": "integer"
2509             },
2510             "Tag": {
2511               "type": "string"
2512             }
2513           },
2514           "additionalProperties": false,
2515           "required": [
2516             "Major",
2517             "Minor",
2518             "Tag",
2519             "Patch",
2520             "Build"
2521           ]
2522         },
2523         "RestoreArgs": {
2524           "type": "object",
2525           "properties": {
2526             "backup-id": {
2527               "type": "string"
2528             }
2529           },
2530           "additionalProperties": false,
2531           "required": [
2532             "backup-id"
2533           ]
2534         }
2535       }
2536     }
2537   },
2538   {
2539     "Name": "Block",
2540     "Version": 2,
2541     "Schema": {
2542       "type": "object",
2543       "properties": {
2544         "List": {
2545           "type": "object",
2546           "properties": {
2547             "Result": {
2548               "$ref": "#/definitions/BlockResults"
2549             }
2550           }
2551         },
2552         "SwitchBlockOff": {
2553           "type": "object",
2554           "properties": {
2555             "Params": {
2556               "$ref": "#/definitions/BlockSwitchParams"
2557             },
2558             "Result": {
2559               "$ref": "#/definitions/ErrorResult"
2560             }
2561           }
2562         },
2563         "SwitchBlockOn": {
2564           "type": "object",
2565           "properties": {
2566             "Params": {
2567               "$ref": "#/definitions/BlockSwitchParams"
2568             },
2569             "Result": {
2570               "$ref": "#/definitions/ErrorResult"
2571             }
2572           }
2573         }
2574       },
2575       "definitions": {
2576         "Block": {
2577           "type": "object",
2578           "properties": {
2579             "id": {
2580               "type": "string"
2581             },
2582             "message": {
2583               "type": "string"
2584             },
2585             "tag": {
2586               "type": "string"
2587             },
2588             "type": {
2589               "type": "string"
2590             }
2591           },
2592           "additionalProperties": false,
2593           "required": [
2594             "id",
2595             "tag",
2596             "type"
2597           ]
2598         },
2599         "BlockResult": {
2600           "type": "object",
2601           "properties": {
2602             "error": {
2603               "$ref": "#/definitions/Error"
2604             },
2605             "result": {
2606               "$ref": "#/definitions/Block"
2607             }
2608           },
2609           "additionalProperties": false,
2610           "required": [
2611             "result"
2612           ]
2613         },
2614         "BlockResults": {
2615           "type": "object",
2616           "properties": {
2617             "results": {
2618               "type": "array",
2619               "items": {
2620                 "$ref": "#/definitions/BlockResult"
2621               }
2622             }
2623           },
2624           "additionalProperties": false
2625         },
2626         "BlockSwitchParams": {
2627           "type": "object",
2628           "properties": {
2629             "message": {
2630               "type": "string"
2631             },
2632             "type": {
2633               "type": "string"
2634             }
2635           },
2636           "additionalProperties": false,
2637           "required": [
2638             "type"
2639           ]
2640         },
2641         "Error": {
2642           "type": "object",
2643           "properties": {
2644             "code": {
2645               "type": "string"
2646             },
2647             "info": {
2648               "$ref": "#/definitions/ErrorInfo"
2649             },
2650             "message": {
2651               "type": "string"
2652             }
2653           },
2654           "additionalProperties": false,
2655           "required": [
2656             "message",
2657             "code"
2658           ]
2659         },
2660         "ErrorInfo": {
2661           "type": "object",
2662           "properties": {
2663             "macaroon": {
2664               "$ref": "#/definitions/Macaroon"
2665             },
2666             "macaroon-path": {
2667               "type": "string"
2668             }
2669           },
2670           "additionalProperties": false
2671         },
2672         "ErrorResult": {
2673           "type": "object",
2674           "properties": {
2675             "error": {
2676               "$ref": "#/definitions/Error"
2677             }
2678           },
2679           "additionalProperties": false
2680         },
2681         "Macaroon": {
2682           "type": "object",
2683           "additionalProperties": false
2684         }
2685       }
2686     }
2687   },
2688   {
2689     "Name": "Bundle",
2690     "Version": 1,
2691     "Schema": {
2692       "type": "object",
2693       "properties": {
2694         "GetChanges": {
2695           "type": "object",
2696           "properties": {
2697             "Params": {
2698               "$ref": "#/definitions/BundleChangesParams"
2699             },
2700             "Result": {
2701               "$ref": "#/definitions/BundleChangesResults"
2702             }
2703           }
2704         }
2705       },
2706       "definitions": {
2707         "BundleChange": {
2708           "type": "object",
2709           "properties": {
2710             "args": {
2711               "type": "array",
2712               "items": {
2713                 "type": "object",
2714                 "additionalProperties": true
2715               }
2716             },
2717             "id": {
2718               "type": "string"
2719             },
2720             "method": {
2721               "type": "string"
2722             },
2723             "requires": {
2724               "type": "array",
2725               "items": {
2726                 "type": "string"
2727               }
2728             }
2729           },
2730           "additionalProperties": false,
2731           "required": [
2732             "id",
2733             "method",
2734             "args",
2735             "requires"
2736           ]
2737         },
2738         "BundleChangesParams": {
2739           "type": "object",
2740           "properties": {
2741             "yaml": {
2742               "type": "string"
2743             }
2744           },
2745           "additionalProperties": false,
2746           "required": [
2747             "yaml"
2748           ]
2749         },
2750         "BundleChangesResults": {
2751           "type": "object",
2752           "properties": {
2753             "changes": {
2754               "type": "array",
2755               "items": {
2756                 "$ref": "#/definitions/BundleChange"
2757               }
2758             },
2759             "errors": {
2760               "type": "array",
2761               "items": {
2762                 "type": "string"
2763               }
2764             }
2765           },
2766           "additionalProperties": false
2767         }
2768       }
2769     }
2770   },
2771   {
2772     "Name": "CharmRevisionUpdater",
2773     "Version": 2,
2774     "Schema": {
2775       "type": "object",
2776       "properties": {
2777         "UpdateLatestRevisions": {
2778           "type": "object",
2779           "properties": {
2780             "Result": {
2781               "$ref": "#/definitions/ErrorResult"
2782             }
2783           }
2784         }
2785       },
2786       "definitions": {
2787         "Error": {
2788           "type": "object",
2789           "properties": {
2790             "code": {
2791               "type": "string"
2792             },
2793             "info": {
2794               "$ref": "#/definitions/ErrorInfo"
2795             },
2796             "message": {
2797               "type": "string"
2798             }
2799           },
2800           "additionalProperties": false,
2801           "required": [
2802             "message",
2803             "code"
2804           ]
2805         },
2806         "ErrorInfo": {
2807           "type": "object",
2808           "properties": {
2809             "macaroon": {
2810               "$ref": "#/definitions/Macaroon"
2811             },
2812             "macaroon-path": {
2813               "type": "string"
2814             }
2815           },
2816           "additionalProperties": false
2817         },
2818         "ErrorResult": {
2819           "type": "object",
2820           "properties": {
2821             "error": {
2822               "$ref": "#/definitions/Error"
2823             }
2824           },
2825           "additionalProperties": false
2826         },
2827         "Macaroon": {
2828           "type": "object",
2829           "additionalProperties": false
2830         }
2831       }
2832     }
2833   },
2834   {
2835     "Name": "Charms",
2836     "Version": 2,
2837     "Schema": {
2838       "type": "object",
2839       "properties": {
2840         "CharmInfo": {
2841           "type": "object",
2842           "properties": {
2843             "Params": {
2844               "$ref": "#/definitions/CharmURL"
2845             },
2846             "Result": {
2847               "$ref": "#/definitions/CharmInfo"
2848             }
2849           }
2850         },
2851         "IsMetered": {
2852           "type": "object",
2853           "properties": {
2854             "Params": {
2855               "$ref": "#/definitions/CharmURL"
2856             },
2857             "Result": {
2858               "$ref": "#/definitions/IsMeteredResult"
2859             }
2860           }
2861         },
2862         "List": {
2863           "type": "object",
2864           "properties": {
2865             "Params": {
2866               "$ref": "#/definitions/CharmsList"
2867             },
2868             "Result": {
2869               "$ref": "#/definitions/CharmsListResult"
2870             }
2871           }
2872         }
2873       },
2874       "definitions": {
2875         "CharmActionSpec": {
2876           "type": "object",
2877           "properties": {
2878             "description": {
2879               "type": "string"
2880             },
2881             "params": {
2882               "type": "object",
2883               "patternProperties": {
2884                 ".*": {
2885                   "type": "object",
2886                   "additionalProperties": true
2887                 }
2888               }
2889             }
2890           },
2891           "additionalProperties": false,
2892           "required": [
2893             "description",
2894             "params"
2895           ]
2896         },
2897         "CharmActions": {
2898           "type": "object",
2899           "properties": {
2900             "specs": {
2901               "type": "object",
2902               "patternProperties": {
2903                 ".*": {
2904                   "$ref": "#/definitions/CharmActionSpec"
2905                 }
2906               }
2907             }
2908           },
2909           "additionalProperties": false
2910         },
2911         "CharmInfo": {
2912           "type": "object",
2913           "properties": {
2914             "actions": {
2915               "$ref": "#/definitions/CharmActions"
2916             },
2917             "config": {
2918               "type": "object",
2919               "patternProperties": {
2920                 ".*": {
2921                   "$ref": "#/definitions/CharmOption"
2922                 }
2923               }
2924             },
2925             "meta": {
2926               "$ref": "#/definitions/CharmMeta"
2927             },
2928             "metrics": {
2929               "$ref": "#/definitions/CharmMetrics"
2930             },
2931             "revision": {
2932               "type": "integer"
2933             },
2934             "url": {
2935               "type": "string"
2936             }
2937           },
2938           "additionalProperties": false,
2939           "required": [
2940             "revision",
2941             "url",
2942             "config"
2943           ]
2944         },
2945         "CharmMeta": {
2946           "type": "object",
2947           "properties": {
2948             "categories": {
2949               "type": "array",
2950               "items": {
2951                 "type": "string"
2952               }
2953             },
2954             "description": {
2955               "type": "string"
2956             },
2957             "extra-bindings": {
2958               "type": "object",
2959               "patternProperties": {
2960                 ".*": {
2961                   "type": "string"
2962                 }
2963               }
2964             },
2965             "min-juju-version": {
2966               "type": "string"
2967             },
2968             "name": {
2969               "type": "string"
2970             },
2971             "payload-classes": {
2972               "type": "object",
2973               "patternProperties": {
2974                 ".*": {
2975                   "$ref": "#/definitions/CharmPayloadClass"
2976                 }
2977               }
2978             },
2979             "peers": {
2980               "type": "object",
2981               "patternProperties": {
2982                 ".*": {
2983                   "$ref": "#/definitions/CharmRelation"
2984                 }
2985               }
2986             },
2987             "provides": {
2988               "type": "object",
2989               "patternProperties": {
2990                 ".*": {
2991                   "$ref": "#/definitions/CharmRelation"
2992                 }
2993               }
2994             },
2995             "requires": {
2996               "type": "object",
2997               "patternProperties": {
2998                 ".*": {
2999                   "$ref": "#/definitions/CharmRelation"
3000                 }
3001               }
3002             },
3003             "resources": {
3004               "type": "object",
3005               "patternProperties": {
3006                 ".*": {
3007                   "$ref": "#/definitions/CharmResourceMeta"
3008                 }
3009               }
3010             },
3011             "series": {
3012               "type": "array",
3013               "items": {
3014                 "type": "string"
3015               }
3016             },
3017             "storage": {
3018               "type": "object",
3019               "patternProperties": {
3020                 ".*": {
3021                   "$ref": "#/definitions/CharmStorage"
3022                 }
3023               }
3024             },
3025             "subordinate": {
3026               "type": "boolean"
3027             },
3028             "summary": {
3029               "type": "string"
3030             },
3031             "tags": {
3032               "type": "array",
3033               "items": {
3034                 "type": "string"
3035               }
3036             },
3037             "terms": {
3038               "type": "array",
3039               "items": {
3040                 "type": "string"
3041               }
3042             }
3043           },
3044           "additionalProperties": false,
3045           "required": [
3046             "name",
3047             "summary",
3048             "description",
3049             "subordinate"
3050           ]
3051         },
3052         "CharmMetric": {
3053           "type": "object",
3054           "properties": {
3055             "description": {
3056               "type": "string"
3057             },
3058             "type": {
3059               "type": "string"
3060             }
3061           },
3062           "additionalProperties": false,
3063           "required": [
3064             "type",
3065             "description"
3066           ]
3067         },
3068         "CharmMetrics": {
3069           "type": "object",
3070           "properties": {
3071             "metrics": {
3072               "type": "object",
3073               "patternProperties": {
3074                 ".*": {
3075                   "$ref": "#/definitions/CharmMetric"
3076                 }
3077               }
3078             },
3079             "plan": {
3080               "$ref": "#/definitions/CharmPlan"
3081             }
3082           },
3083           "additionalProperties": false,
3084           "required": [
3085             "metrics",
3086             "plan"
3087           ]
3088         },
3089         "CharmOption": {
3090           "type": "object",
3091           "properties": {
3092             "default": {
3093               "type": "object",
3094               "additionalProperties": true
3095             },
3096             "description": {
3097               "type": "string"
3098             },
3099             "type": {
3100               "type": "string"
3101             }
3102           },
3103           "additionalProperties": false,
3104           "required": [
3105             "type"
3106           ]
3107         },
3108         "CharmPayloadClass": {
3109           "type": "object",
3110           "properties": {
3111             "name": {
3112               "type": "string"
3113             },
3114             "type": {
3115               "type": "string"
3116             }
3117           },
3118           "additionalProperties": false,
3119           "required": [
3120             "name",
3121             "type"
3122           ]
3123         },
3124         "CharmPlan": {
3125           "type": "object",
3126           "properties": {
3127             "required": {
3128               "type": "boolean"
3129             }
3130           },
3131           "additionalProperties": false,
3132           "required": [
3133             "required"
3134           ]
3135         },
3136         "CharmRelation": {
3137           "type": "object",
3138           "properties": {
3139             "interface": {
3140               "type": "string"
3141             },
3142             "limit": {
3143               "type": "integer"
3144             },
3145             "name": {
3146               "type": "string"
3147             },
3148             "optional": {
3149               "type": "boolean"
3150             },
3151             "role": {
3152               "type": "string"
3153             },
3154             "scope": {
3155               "type": "string"
3156             }
3157           },
3158           "additionalProperties": false,
3159           "required": [
3160             "name",
3161             "role",
3162             "interface",
3163             "optional",
3164             "limit",
3165             "scope"
3166           ]
3167         },
3168         "CharmResourceMeta": {
3169           "type": "object",
3170           "properties": {
3171             "description": {
3172               "type": "string"
3173             },
3174             "name": {
3175               "type": "string"
3176             },
3177             "path": {
3178               "type": "string"
3179             },
3180             "type": {
3181               "type": "string"
3182             }
3183           },
3184           "additionalProperties": false,
3185           "required": [
3186             "name",
3187             "type",
3188             "path",
3189             "description"
3190           ]
3191         },
3192         "CharmStorage": {
3193           "type": "object",
3194           "properties": {
3195             "count-max": {
3196               "type": "integer"
3197             },
3198             "count-min": {
3199               "type": "integer"
3200             },
3201             "description": {
3202               "type": "string"
3203             },
3204             "location": {
3205               "type": "string"
3206             },
3207             "minimum-size": {
3208               "type": "integer"
3209             },
3210             "name": {
3211               "type": "string"
3212             },
3213             "properties": {
3214               "type": "array",
3215               "items": {
3216                 "type": "string"
3217               }
3218             },
3219             "read-only": {
3220               "type": "boolean"
3221             },
3222             "shared": {
3223               "type": "boolean"
3224             },
3225             "type": {
3226               "type": "string"
3227             }
3228           },
3229           "additionalProperties": false,
3230           "required": [
3231             "name",
3232             "description",
3233             "type",
3234             "shared",
3235             "read-only",
3236             "count-min",
3237             "count-max",
3238             "minimum-size"
3239           ]
3240         },
3241         "CharmURL": {
3242           "type": "object",
3243           "properties": {
3244             "url": {
3245               "type": "string"
3246             }
3247           },
3248           "additionalProperties": false,
3249           "required": [
3250             "url"
3251           ]
3252         },
3253         "CharmsList": {
3254           "type": "object",
3255           "properties": {
3256             "names": {
3257               "type": "array",
3258               "items": {
3259                 "type": "string"
3260               }
3261             }
3262           },
3263           "additionalProperties": false,
3264           "required": [
3265             "names"
3266           ]
3267         },
3268         "CharmsListResult": {
3269           "type": "object",
3270           "properties": {
3271             "charm-urls": {
3272               "type": "array",
3273               "items": {
3274                 "type": "string"
3275               }
3276             }
3277           },
3278           "additionalProperties": false,
3279           "required": [
3280             "charm-urls"
3281           ]
3282         },
3283         "IsMeteredResult": {
3284           "type": "object",
3285           "properties": {
3286             "metered": {
3287               "type": "boolean"
3288             }
3289           },
3290           "additionalProperties": false,
3291           "required": [
3292             "metered"
3293           ]
3294         }
3295       }
3296     }
3297   },
3298   {
3299     "Name": "Cleaner",
3300     "Version": 2,
3301     "Schema": {
3302       "type": "object",
3303       "properties": {
3304         "Cleanup": {
3305           "type": "object"
3306         },
3307         "WatchCleanups": {
3308           "type": "object",
3309           "properties": {
3310             "Result": {
3311               "$ref": "#/definitions/NotifyWatchResult"
3312             }
3313           }
3314         }
3315       },
3316       "definitions": {
3317         "Error": {
3318           "type": "object",
3319           "properties": {
3320             "code": {
3321               "type": "string"
3322             },
3323             "info": {
3324               "$ref": "#/definitions/ErrorInfo"
3325             },
3326             "message": {
3327               "type": "string"
3328             }
3329           },
3330           "additionalProperties": false,
3331           "required": [
3332             "message",
3333             "code"
3334           ]
3335         },
3336         "ErrorInfo": {
3337           "type": "object",
3338           "properties": {
3339             "macaroon": {
3340               "$ref": "#/definitions/Macaroon"
3341             },
3342             "macaroon-path": {
3343               "type": "string"
3344             }
3345           },
3346           "additionalProperties": false
3347         },
3348         "Macaroon": {
3349           "type": "object",
3350           "additionalProperties": false
3351         },
3352         "NotifyWatchResult": {
3353           "type": "object",
3354           "properties": {
3355             "NotifyWatcherId": {
3356               "type": "string"
3357             },
3358             "error": {
3359               "$ref": "#/definitions/Error"
3360             }
3361           },
3362           "additionalProperties": false,
3363           "required": [
3364             "NotifyWatcherId"
3365           ]
3366         }
3367       }
3368     }
3369   },
3370   {
3371     "Name": "Client",
3372     "Version": 1,
3373     "Schema": {
3374       "type": "object",
3375       "properties": {
3376         "APIHostPorts": {
3377           "type": "object",
3378           "properties": {
3379             "Result": {
3380               "$ref": "#/definitions/APIHostPortsResult"
3381             }
3382           }
3383         },
3384         "AbortCurrentUpgrade": {
3385           "type": "object"
3386         },
3387         "AddCharm": {
3388           "type": "object",
3389           "properties": {
3390             "Params": {
3391               "$ref": "#/definitions/AddCharm"
3392             }
3393           }
3394         },
3395         "AddCharmWithAuthorization": {
3396           "type": "object",
3397           "properties": {
3398             "Params": {
3399               "$ref": "#/definitions/AddCharmWithAuthorization"
3400             }
3401           }
3402         },
3403         "AddMachines": {
3404           "type": "object",
3405           "properties": {
3406             "Params": {
3407               "$ref": "#/definitions/AddMachines"
3408             },
3409             "Result": {
3410               "$ref": "#/definitions/AddMachinesResults"
3411             }
3412           }
3413         },
3414         "AddMachinesV2": {
3415           "type": "object",
3416           "properties": {
3417             "Params": {
3418               "$ref": "#/definitions/AddMachines"
3419             },
3420             "Result": {
3421               "$ref": "#/definitions/AddMachinesResults"
3422             }
3423           }
3424         },
3425         "AgentVersion": {
3426           "type": "object",
3427           "properties": {
3428             "Result": {
3429               "$ref": "#/definitions/AgentVersionResult"
3430             }
3431           }
3432         },
3433         "DestroyMachines": {
3434           "type": "object",
3435           "properties": {
3436             "Params": {
3437               "$ref": "#/definitions/DestroyMachines"
3438             }
3439           }
3440         },
3441         "FindTools": {
3442           "type": "object",
3443           "properties": {
3444             "Params": {
3445               "$ref": "#/definitions/FindToolsParams"
3446             },
3447             "Result": {
3448               "$ref": "#/definitions/FindToolsResult"
3449             }
3450           }
3451         },
3452         "FullStatus": {
3453           "type": "object",
3454           "properties": {
3455             "Params": {
3456               "$ref": "#/definitions/StatusParams"
3457             },
3458             "Result": {
3459               "$ref": "#/definitions/FullStatus"
3460             }
3461           }
3462         },
3463         "GetBundleChanges": {
3464           "type": "object",
3465           "properties": {
3466             "Params": {
3467               "$ref": "#/definitions/BundleChangesParams"
3468             },
3469             "Result": {
3470               "$ref": "#/definitions/BundleChangesResults"
3471             }
3472           }
3473         },
3474         "GetModelConstraints": {
3475           "type": "object",
3476           "properties": {
3477             "Result": {
3478               "$ref": "#/definitions/GetConstraintsResults"
3479             }
3480           }
3481         },
3482         "InjectMachines": {
3483           "type": "object",
3484           "properties": {
3485             "Params": {
3486               "$ref": "#/definitions/AddMachines"
3487             },
3488             "Result": {
3489               "$ref": "#/definitions/AddMachinesResults"
3490             }
3491           }
3492         },
3493         "ModelGet": {
3494           "type": "object",
3495           "properties": {
3496             "Result": {
3497               "$ref": "#/definitions/ModelConfigResults"
3498             }
3499           }
3500         },
3501         "ModelInfo": {
3502           "type": "object",
3503           "properties": {
3504             "Result": {
3505               "$ref": "#/definitions/ModelInfo"
3506             }
3507           }
3508         },
3509         "ModelSet": {
3510           "type": "object",
3511           "properties": {
3512             "Params": {
3513               "$ref": "#/definitions/ModelSet"
3514             }
3515           }
3516         },
3517         "ModelUnset": {
3518           "type": "object",
3519           "properties": {
3520             "Params": {
3521               "$ref": "#/definitions/ModelUnset"
3522             }
3523           }
3524         },
3525         "ModelUserInfo": {
3526           "type": "object",
3527           "properties": {
3528             "Result": {
3529               "$ref": "#/definitions/ModelUserInfoResults"
3530             }
3531           }
3532         },
3533         "PrivateAddress": {
3534           "type": "object",
3535           "properties": {
3536             "Params": {
3537               "$ref": "#/definitions/PrivateAddress"
3538             },
3539             "Result": {
3540               "$ref": "#/definitions/PrivateAddressResults"
3541             }
3542           }
3543         },
3544         "ProvisioningScript": {
3545           "type": "object",
3546           "properties": {
3547             "Params": {
3548               "$ref": "#/definitions/ProvisioningScriptParams"
3549             },
3550             "Result": {
3551               "$ref": "#/definitions/ProvisioningScriptResult"
3552             }
3553           }
3554         },
3555         "PublicAddress": {
3556           "type": "object",
3557           "properties": {
3558             "Params": {
3559               "$ref": "#/definitions/PublicAddress"
3560             },
3561             "Result": {
3562               "$ref": "#/definitions/PublicAddressResults"
3563             }
3564           }
3565         },
3566         "ResolveCharms": {
3567           "type": "object",
3568           "properties": {
3569             "Params": {
3570               "$ref": "#/definitions/ResolveCharms"
3571             },
3572             "Result": {
3573               "$ref": "#/definitions/ResolveCharmResults"
3574             }
3575           }
3576         },
3577         "Resolved": {
3578           "type": "object",
3579           "properties": {
3580             "Params": {
3581               "$ref": "#/definitions/Resolved"
3582             }
3583           }
3584         },
3585         "RetryProvisioning": {
3586           "type": "object",
3587           "properties": {
3588             "Params": {
3589               "$ref": "#/definitions/Entities"
3590             },
3591             "Result": {
3592               "$ref": "#/definitions/ErrorResults"
3593             }
3594           }
3595         },
3596         "SetModelAgentVersion": {
3597           "type": "object",
3598           "properties": {
3599             "Params": {
3600               "$ref": "#/definitions/SetModelAgentVersion"
3601             }
3602           }
3603         },
3604         "SetModelConstraints": {
3605           "type": "object",
3606           "properties": {
3607             "Params": {
3608               "$ref": "#/definitions/SetConstraints"
3609             }
3610           }
3611         },
3612         "StatusHistory": {
3613           "type": "object",
3614           "properties": {
3615             "Params": {
3616               "$ref": "#/definitions/StatusHistoryRequests"
3617             },
3618             "Result": {
3619               "$ref": "#/definitions/StatusHistoryResults"
3620             }
3621           }
3622         },
3623         "WatchAll": {
3624           "type": "object",
3625           "properties": {
3626             "Result": {
3627               "$ref": "#/definitions/AllWatcherId"
3628             }
3629           }
3630         }
3631       },
3632       "definitions": {
3633         "APIHostPortsResult": {
3634           "type": "object",
3635           "properties": {
3636             "servers": {
3637               "type": "array",
3638               "items": {
3639                 "type": "array",
3640                 "items": {
3641                   "$ref": "#/definitions/HostPort"
3642                 }
3643               }
3644             }
3645           },
3646           "additionalProperties": false,
3647           "required": [
3648             "servers"
3649           ]
3650         },
3651         "AddCharm": {
3652           "type": "object",
3653           "properties": {
3654             "channel": {
3655               "type": "string"
3656             },
3657             "url": {
3658               "type": "string"
3659             }
3660           },
3661           "additionalProperties": false,
3662           "required": [
3663             "url",
3664             "channel"
3665           ]
3666         },
3667         "AddCharmWithAuthorization": {
3668           "type": "object",
3669           "properties": {
3670             "channel": {
3671               "type": "string"
3672             },
3673             "macaroon": {
3674               "$ref": "#/definitions/Macaroon"
3675             },
3676             "url": {
3677               "type": "string"
3678             }
3679           },
3680           "additionalProperties": false,
3681           "required": [
3682             "url",
3683             "channel",
3684             "macaroon"
3685           ]
3686         },
3687         "AddMachineParams": {
3688           "type": "object",
3689           "properties": {
3690             "addresses": {
3691               "type": "array",
3692               "items": {
3693                 "$ref": "#/definitions/Address"
3694               }
3695             },
3696             "constraints": {
3697               "$ref": "#/definitions/Value"
3698             },
3699             "container-type": {
3700               "type": "string"
3701             },
3702             "disks": {
3703               "type": "array",
3704               "items": {
3705                 "$ref": "#/definitions/Constraints"
3706               }
3707             },
3708             "hardware-characteristics": {
3709               "$ref": "#/definitions/HardwareCharacteristics"
3710             },
3711             "instance-id": {
3712               "type": "string"
3713             },
3714             "jobs": {
3715               "type": "array",
3716               "items": {
3717                 "type": "string"
3718               }
3719             },
3720             "nonce": {
3721               "type": "string"
3722             },
3723             "parent-id": {
3724               "type": "string"
3725             },
3726             "placement": {
3727               "$ref": "#/definitions/Placement"
3728             },
3729             "series": {
3730               "type": "string"
3731             }
3732           },
3733           "additionalProperties": false,
3734           "required": [
3735             "series",
3736             "constraints",
3737             "jobs",
3738             "parent-id",
3739             "container-type",
3740             "instance-id",
3741             "nonce",
3742             "hardware-characteristics",
3743             "addresses"
3744           ]
3745         },
3746         "AddMachines": {
3747           "type": "object",
3748           "properties": {
3749             "params": {
3750               "type": "array",
3751               "items": {
3752                 "$ref": "#/definitions/AddMachineParams"
3753               }
3754             }
3755           },
3756           "additionalProperties": false,
3757           "required": [
3758             "params"
3759           ]
3760         },
3761         "AddMachinesResult": {
3762           "type": "object",
3763           "properties": {
3764             "error": {
3765               "$ref": "#/definitions/Error"
3766             },
3767             "machine": {
3768               "type": "string"
3769             }
3770           },
3771           "additionalProperties": false,
3772           "required": [
3773             "machine"
3774           ]
3775         },
3776         "AddMachinesResults": {
3777           "type": "object",
3778           "properties": {
3779             "machines": {
3780               "type": "array",
3781               "items": {
3782                 "$ref": "#/definitions/AddMachinesResult"
3783               }
3784             }
3785           },
3786           "additionalProperties": false,
3787           "required": [
3788             "machines"
3789           ]
3790         },
3791         "Address": {
3792           "type": "object",
3793           "properties": {
3794             "scope": {
3795               "type": "string"
3796             },
3797             "space-name": {
3798               "type": "string"
3799             },
3800             "type": {
3801               "type": "string"
3802             },
3803             "value": {
3804               "type": "string"
3805             }
3806           },
3807           "additionalProperties": false,
3808           "required": [
3809             "value",
3810             "type",
3811             "scope"
3812           ]
3813         },
3814         "AgentVersionResult": {
3815           "type": "object",
3816           "properties": {
3817             "version": {
3818               "$ref": "#/definitions/Number"
3819             }
3820           },
3821           "additionalProperties": false,
3822           "required": [
3823             "version"
3824           ]
3825         },
3826         "AllWatcherId": {
3827           "type": "object",
3828           "properties": {
3829             "watcher-id": {
3830               "type": "string"
3831             }
3832           },
3833           "additionalProperties": false,
3834           "required": [
3835             "watcher-id"
3836           ]
3837         },
3838         "ApplicationStatus": {
3839           "type": "object",
3840           "properties": {
3841             "can-upgrade-to": {
3842               "type": "string"
3843             },
3844             "charm": {
3845               "type": "string"
3846             },
3847             "err": {
3848               "type": "object",
3849               "additionalProperties": true
3850             },
3851             "exposed": {
3852               "type": "boolean"
3853             },
3854             "life": {
3855               "type": "string"
3856             },
3857             "meter-statuses": {
3858               "type": "object",
3859               "patternProperties": {
3860                 ".*": {
3861                   "$ref": "#/definitions/MeterStatus"
3862                 }
3863               }
3864             },
3865             "relations": {
3866               "type": "object",
3867               "patternProperties": {
3868                 ".*": {
3869                   "type": "array",
3870                   "items": {
3871                     "type": "string"
3872                   }
3873                 }
3874               }
3875             },
3876             "series": {
3877               "type": "string"
3878             },
3879             "status": {
3880               "$ref": "#/definitions/DetailedStatus"
3881             },
3882             "subordinate-to": {
3883               "type": "array",
3884               "items": {
3885                 "type": "string"
3886               }
3887             },
3888             "units": {
3889               "type": "object",
3890               "patternProperties": {
3891                 ".*": {
3892                   "$ref": "#/definitions/UnitStatus"
3893                 }
3894               }
3895             },
3896             "workload-version": {
3897               "type": "string"
3898             }
3899           },
3900           "additionalProperties": false,
3901           "required": [
3902             "charm",
3903             "series",
3904             "exposed",
3905             "life",
3906             "relations",
3907             "can-upgrade-to",
3908             "subordinate-to",
3909             "units",
3910             "meter-statuses",
3911             "status",
3912             "workload-version"
3913           ]
3914         },
3915         "Binary": {
3916           "type": "object",
3917           "properties": {
3918             "Arch": {
3919               "type": "string"
3920             },
3921             "Number": {
3922               "$ref": "#/definitions/Number"
3923             },
3924             "Series": {
3925               "type": "string"
3926             }
3927           },
3928           "additionalProperties": false,
3929           "required": [
3930             "Number",
3931             "Series",
3932             "Arch"
3933           ]
3934         },
3935         "BundleChange": {
3936           "type": "object",
3937           "properties": {
3938             "args": {
3939               "type": "array",
3940               "items": {
3941                 "type": "object",
3942                 "additionalProperties": true
3943               }
3944             },
3945             "id": {
3946               "type": "string"
3947             },
3948             "method": {
3949               "type": "string"
3950             },
3951             "requires": {
3952               "type": "array",
3953               "items": {
3954                 "type": "string"
3955               }
3956             }
3957           },
3958           "additionalProperties": false,
3959           "required": [
3960             "id",
3961             "method",
3962             "args",
3963             "requires"
3964           ]
3965         },
3966         "BundleChangesParams": {
3967           "type": "object",
3968           "properties": {
3969             "yaml": {
3970               "type": "string"
3971             }
3972           },
3973           "additionalProperties": false,
3974           "required": [
3975             "yaml"
3976           ]
3977         },
3978         "BundleChangesResults": {
3979           "type": "object",
3980           "properties": {
3981             "changes": {
3982               "type": "array",
3983               "items": {
3984                 "$ref": "#/definitions/BundleChange"
3985               }
3986             },
3987             "errors": {
3988               "type": "array",
3989               "items": {
3990                 "type": "string"
3991               }
3992             }
3993           },
3994           "additionalProperties": false
3995         },
3996         "ConfigValue": {
3997           "type": "object",
3998           "properties": {
3999             "source": {
4000               "type": "string"
4001             },
4002             "value": {
4003               "type": "object",
4004               "additionalProperties": true
4005             }
4006           },
4007           "additionalProperties": false,
4008           "required": [
4009             "value",
4010             "source"
4011           ]
4012         },
4013         "Constraints": {
4014           "type": "object",
4015           "properties": {
4016             "Count": {
4017               "type": "integer"
4018             },
4019             "Pool": {
4020               "type": "string"
4021             },
4022             "Size": {
4023               "type": "integer"
4024             }
4025           },
4026           "additionalProperties": false,
4027           "required": [
4028             "Pool",
4029             "Size",
4030             "Count"
4031           ]
4032         },
4033         "DestroyMachines": {
4034           "type": "object",
4035           "properties": {
4036             "force": {
4037               "type": "boolean"
4038             },
4039             "machine-names": {
4040               "type": "array",
4041               "items": {
4042                 "type": "string"
4043               }
4044             }
4045           },
4046           "additionalProperties": false,
4047           "required": [
4048             "machine-names",
4049             "force"
4050           ]
4051         },
4052         "DetailedStatus": {
4053           "type": "object",
4054           "properties": {
4055             "data": {
4056               "type": "object",
4057               "patternProperties": {
4058                 ".*": {
4059                   "type": "object",
4060                   "additionalProperties": true
4061                 }
4062               }
4063             },
4064             "err": {
4065               "type": "object",
4066               "additionalProperties": true
4067             },
4068             "info": {
4069               "type": "string"
4070             },
4071             "kind": {
4072               "type": "string"
4073             },
4074             "life": {
4075               "type": "string"
4076             },
4077             "since": {
4078               "type": "string",
4079               "format": "date-time"
4080             },
4081             "status": {
4082               "type": "string"
4083             },
4084             "version": {
4085               "type": "string"
4086             }
4087           },
4088           "additionalProperties": false,
4089           "required": [
4090             "status",
4091             "info",
4092             "data",
4093             "since",
4094             "kind",
4095             "version",
4096             "life"
4097           ]
4098         },
4099         "EndpointStatus": {
4100           "type": "object",
4101           "properties": {
4102             "application": {
4103               "type": "string"
4104             },
4105             "name": {
4106               "type": "string"
4107             },
4108             "role": {
4109               "type": "string"
4110             },
4111             "subordinate": {
4112               "type": "boolean"
4113             }
4114           },
4115           "additionalProperties": false,
4116           "required": [
4117             "application",
4118             "name",
4119             "role",
4120             "subordinate"
4121           ]
4122         },
4123         "Entities": {
4124           "type": "object",
4125           "properties": {
4126             "entities": {
4127               "type": "array",
4128               "items": {
4129                 "$ref": "#/definitions/Entity"
4130               }
4131             }
4132           },
4133           "additionalProperties": false,
4134           "required": [
4135             "entities"
4136           ]
4137         },
4138         "Entity": {
4139           "type": "object",
4140           "properties": {
4141             "tag": {
4142               "type": "string"
4143             }
4144           },
4145           "additionalProperties": false,
4146           "required": [
4147             "tag"
4148           ]
4149         },
4150         "EntityStatus": {
4151           "type": "object",
4152           "properties": {
4153             "data": {
4154               "type": "object",
4155               "patternProperties": {
4156                 ".*": {
4157                   "type": "object",
4158                   "additionalProperties": true
4159                 }
4160               }
4161             },
4162             "info": {
4163               "type": "string"
4164             },
4165             "since": {
4166               "type": "string",
4167               "format": "date-time"
4168             },
4169             "status": {
4170               "type": "string"
4171             }
4172           },
4173           "additionalProperties": false,
4174           "required": [
4175             "status",
4176             "info",
4177             "since"
4178           ]
4179         },
4180         "Error": {
4181           "type": "object",
4182           "properties": {
4183             "code": {
4184               "type": "string"
4185             },
4186             "info": {
4187               "$ref": "#/definitions/ErrorInfo"
4188             },
4189             "message": {
4190               "type": "string"
4191             }
4192           },
4193           "additionalProperties": false,
4194           "required": [
4195             "message",
4196             "code"
4197           ]
4198         },
4199         "ErrorInfo": {
4200           "type": "object",
4201           "properties": {
4202             "macaroon": {
4203               "$ref": "#/definitions/Macaroon"
4204             },
4205             "macaroon-path": {
4206               "type": "string"
4207             }
4208           },
4209           "additionalProperties": false
4210         },
4211         "ErrorResult": {
4212           "type": "object",
4213           "properties": {
4214             "error": {
4215               "$ref": "#/definitions/Error"
4216             }
4217           },
4218           "additionalProperties": false
4219         },
4220         "ErrorResults": {
4221           "type": "object",
4222           "properties": {
4223             "results": {
4224               "type": "array",
4225               "items": {
4226                 "$ref": "#/definitions/ErrorResult"
4227               }
4228             }
4229           },
4230           "additionalProperties": false,
4231           "required": [
4232             "results"
4233           ]
4234         },
4235         "FindToolsParams": {
4236           "type": "object",
4237           "properties": {
4238             "arch": {
4239               "type": "string"
4240             },
4241             "major": {
4242               "type": "integer"
4243             },
4244             "minor": {
4245               "type": "integer"
4246             },
4247             "number": {
4248               "$ref": "#/definitions/Number"
4249             },
4250             "series": {
4251               "type": "string"
4252             }
4253           },
4254           "additionalProperties": false,
4255           "required": [
4256             "number",
4257             "major",
4258             "minor",
4259             "arch",
4260             "series"
4261           ]
4262         },
4263         "FindToolsResult": {
4264           "type": "object",
4265           "properties": {
4266             "error": {
4267               "$ref": "#/definitions/Error"
4268             },
4269             "list": {
4270               "type": "array",
4271               "items": {
4272                 "$ref": "#/definitions/Tools"
4273               }
4274             }
4275           },
4276           "additionalProperties": false,
4277           "required": [
4278             "list"
4279           ]
4280         },
4281         "FullStatus": {
4282           "type": "object",
4283           "properties": {
4284             "applications": {
4285               "type": "object",
4286               "patternProperties": {
4287                 ".*": {
4288                   "$ref": "#/definitions/ApplicationStatus"
4289                 }
4290               }
4291             },
4292             "machines": {
4293               "type": "object",
4294               "patternProperties": {
4295                 ".*": {
4296                   "$ref": "#/definitions/MachineStatus"
4297                 }
4298               }
4299             },
4300             "model": {
4301               "$ref": "#/definitions/ModelStatusInfo"
4302             },
4303             "relations": {
4304               "type": "array",
4305               "items": {
4306                 "$ref": "#/definitions/RelationStatus"
4307               }
4308             }
4309           },
4310           "additionalProperties": false,
4311           "required": [
4312             "model",
4313             "machines",
4314             "applications",
4315             "relations"
4316           ]
4317         },
4318         "GetConstraintsResults": {
4319           "type": "object",
4320           "properties": {
4321             "constraints": {
4322               "$ref": "#/definitions/Value"
4323             }
4324           },
4325           "additionalProperties": false,
4326           "required": [
4327             "constraints"
4328           ]
4329         },
4330         "HardwareCharacteristics": {
4331           "type": "object",
4332           "properties": {
4333             "arch": {
4334               "type": "string"
4335             },
4336             "availability-zone": {
4337               "type": "string"
4338             },
4339             "cpu-cores": {
4340               "type": "integer"
4341             },
4342             "cpu-power": {
4343               "type": "integer"
4344             },
4345             "mem": {
4346               "type": "integer"
4347             },
4348             "root-disk": {
4349               "type": "integer"
4350             },
4351             "tags": {
4352               "type": "array",
4353               "items": {
4354                 "type": "string"
4355               }
4356             }
4357           },
4358           "additionalProperties": false
4359         },
4360         "History": {
4361           "type": "object",
4362           "properties": {
4363             "error": {
4364               "$ref": "#/definitions/Error"
4365             },
4366             "statuses": {
4367               "type": "array",
4368               "items": {
4369                 "$ref": "#/definitions/DetailedStatus"
4370               }
4371             }
4372           },
4373           "additionalProperties": false,
4374           "required": [
4375             "statuses"
4376           ]
4377         },
4378         "HostPort": {
4379           "type": "object",
4380           "properties": {
4381             "Address": {
4382               "$ref": "#/definitions/Address"
4383             },
4384             "port": {
4385               "type": "integer"
4386             }
4387           },
4388           "additionalProperties": false,
4389           "required": [
4390             "Address",
4391             "port"
4392           ]
4393         },
4394         "Macaroon": {
4395           "type": "object",
4396           "additionalProperties": false
4397         },
4398         "MachineHardware": {
4399           "type": "object",
4400           "properties": {
4401             "arch": {
4402               "type": "string"
4403             },
4404             "availability-zone": {
4405               "type": "string"
4406             },
4407             "cores": {
4408               "type": "integer"
4409             },
4410             "cpu-power": {
4411               "type": "integer"
4412             },
4413             "mem": {
4414               "type": "integer"
4415             },
4416             "root-disk": {
4417               "type": "integer"
4418             },
4419             "tags": {
4420               "type": "array",
4421               "items": {
4422                 "type": "string"
4423               }
4424             }
4425           },
4426           "additionalProperties": false
4427         },
4428         "MachineStatus": {
4429           "type": "object",
4430           "properties": {
4431             "agent-status": {
4432               "$ref": "#/definitions/DetailedStatus"
4433             },
4434             "containers": {
4435               "type": "object",
4436               "patternProperties": {
4437                 ".*": {
4438                   "$ref": "#/definitions/MachineStatus"
4439                 }
4440               }
4441             },
4442             "dns-name": {
4443               "type": "string"
4444             },
4445             "hardware": {
4446               "type": "string"
4447             },
4448             "has-vote": {
4449               "type": "boolean"
4450             },
4451             "id": {
4452               "type": "string"
4453             },
4454             "instance-id": {
4455               "type": "string"
4456             },
4457             "instance-status": {
4458               "$ref": "#/definitions/DetailedStatus"
4459             },
4460             "ip-addresses": {
4461               "type": "array",
4462               "items": {
4463                 "type": "string"
4464               }
4465             },
4466             "jobs": {
4467               "type": "array",
4468               "items": {
4469                 "type": "string"
4470               }
4471             },
4472             "series": {
4473               "type": "string"
4474             },
4475             "wants-vote": {
4476               "type": "boolean"
4477             }
4478           },
4479           "additionalProperties": false,
4480           "required": [
4481             "agent-status",
4482             "instance-status",
4483             "dns-name",
4484             "ip-addresses",
4485             "instance-id",
4486             "series",
4487             "id",
4488             "containers",
4489             "hardware",
4490             "jobs",
4491             "has-vote",
4492             "wants-vote"
4493           ]
4494         },
4495         "MeterStatus": {
4496           "type": "object",
4497           "properties": {
4498             "color": {
4499               "type": "string"
4500             },
4501             "message": {
4502               "type": "string"
4503             }
4504           },
4505           "additionalProperties": false,
4506           "required": [
4507             "color",
4508             "message"
4509           ]
4510         },
4511         "ModelConfigResults": {
4512           "type": "object",
4513           "properties": {
4514             "config": {
4515               "type": "object",
4516               "patternProperties": {
4517                 ".*": {
4518                   "$ref": "#/definitions/ConfigValue"
4519                 }
4520               }
4521             }
4522           },
4523           "additionalProperties": false,
4524           "required": [
4525             "config"
4526           ]
4527         },
4528         "ModelInfo": {
4529           "type": "object",
4530           "properties": {
4531             "cloud-credential-tag": {
4532               "type": "string"
4533             },
4534             "cloud-region": {
4535               "type": "string"
4536             },
4537             "cloud-tag": {
4538               "type": "string"
4539             },
4540             "controller-uuid": {
4541               "type": "string"
4542             },
4543             "default-series": {
4544               "type": "string"
4545             },
4546             "life": {
4547               "type": "string"
4548             },
4549             "machines": {
4550               "type": "array",
4551               "items": {
4552                 "$ref": "#/definitions/ModelMachineInfo"
4553               }
4554             },
4555             "name": {
4556               "type": "string"
4557             },
4558             "owner-tag": {
4559               "type": "string"
4560             },
4561             "provider-type": {
4562               "type": "string"
4563             },
4564             "status": {
4565               "$ref": "#/definitions/EntityStatus"
4566             },
4567             "users": {
4568               "type": "array",
4569               "items": {
4570                 "$ref": "#/definitions/ModelUserInfo"
4571               }
4572             },
4573             "uuid": {
4574               "type": "string"
4575             }
4576           },
4577           "additionalProperties": false,
4578           "required": [
4579             "name",
4580             "uuid",
4581             "controller-uuid",
4582             "provider-type",
4583             "default-series",
4584             "cloud-tag",
4585             "owner-tag",
4586             "life",
4587             "status",
4588             "users",
4589             "machines"
4590           ]
4591         },
4592         "ModelMachineInfo": {
4593           "type": "object",
4594           "properties": {
4595             "hardware": {
4596               "$ref": "#/definitions/MachineHardware"
4597             },
4598             "has-vote": {
4599               "type": "boolean"
4600             },
4601             "id": {
4602               "type": "string"
4603             },
4604             "instance-id": {
4605               "type": "string"
4606             },
4607             "status": {
4608               "type": "string"
4609             },
4610             "wants-vote": {
4611               "type": "boolean"
4612             }
4613           },
4614           "additionalProperties": false,
4615           "required": [
4616             "id"
4617           ]
4618         },
4619         "ModelSet": {
4620           "type": "object",
4621           "properties": {
4622             "config": {
4623               "type": "object",
4624               "patternProperties": {
4625                 ".*": {
4626                   "type": "object",
4627                   "additionalProperties": true
4628                 }
4629               }
4630             }
4631           },
4632           "additionalProperties": false,
4633           "required": [
4634             "config"
4635           ]
4636         },
4637         "ModelStatusInfo": {
4638           "type": "object",
4639           "properties": {
4640             "available-version": {
4641               "type": "string"
4642             },
4643             "cloud-tag": {
4644               "type": "string"
4645             },
4646             "migration": {
4647               "type": "string"
4648             },
4649             "name": {
4650               "type": "string"
4651             },
4652             "region": {
4653               "type": "string"
4654             },
4655             "version": {
4656               "type": "string"
4657             }
4658           },
4659           "additionalProperties": false,
4660           "required": [
4661             "name",
4662             "cloud-tag",
4663             "version",
4664             "available-version"
4665           ]
4666         },
4667         "ModelUnset": {
4668           "type": "object",
4669           "properties": {
4670             "keys": {
4671               "type": "array",
4672               "items": {
4673                 "type": "string"
4674               }
4675             }
4676           },
4677           "additionalProperties": false,
4678           "required": [
4679             "keys"
4680           ]
4681         },
4682         "ModelUserInfo": {
4683           "type": "object",
4684           "properties": {
4685             "access": {
4686               "type": "string"
4687             },
4688             "display-name": {
4689               "type": "string"
4690             },
4691             "last-connection": {
4692               "type": "string",
4693               "format": "date-time"
4694             },
4695             "user": {
4696               "type": "string"
4697             }
4698           },
4699           "additionalProperties": false,
4700           "required": [
4701             "user",
4702             "display-name",
4703             "last-connection",
4704             "access"
4705           ]
4706         },
4707         "ModelUserInfoResult": {
4708           "type": "object",
4709           "properties": {
4710             "error": {
4711               "$ref": "#/definitions/Error"
4712             },
4713             "result": {
4714               "$ref": "#/definitions/ModelUserInfo"
4715             }
4716           },
4717           "additionalProperties": false
4718         },
4719         "ModelUserInfoResults": {
4720           "type": "object",
4721           "properties": {
4722             "results": {
4723               "type": "array",
4724               "items": {
4725                 "$ref": "#/definitions/ModelUserInfoResult"
4726               }
4727             }
4728           },
4729           "additionalProperties": false,
4730           "required": [
4731             "results"
4732           ]
4733         },
4734         "Number": {
4735           "type": "object",
4736           "properties": {
4737             "Build": {
4738               "type": "integer"
4739             },
4740             "Major": {
4741               "type": "integer"
4742             },
4743             "Minor": {
4744               "type": "integer"
4745             },
4746             "Patch": {
4747               "type": "integer"
4748             },
4749             "Tag": {
4750               "type": "string"
4751             }
4752           },
4753           "additionalProperties": false,
4754           "required": [
4755             "Major",
4756             "Minor",
4757             "Tag",
4758             "Patch",
4759             "Build"
4760           ]
4761         },
4762         "Placement": {
4763           "type": "object",
4764           "properties": {
4765             "directive": {
4766               "type": "string"
4767             },
4768             "scope": {
4769               "type": "string"
4770             }
4771           },
4772           "additionalProperties": false,
4773           "required": [
4774             "scope",
4775             "directive"
4776           ]
4777         },
4778         "PrivateAddress": {
4779           "type": "object",
4780           "properties": {
4781             "target": {
4782               "type": "string"
4783             }
4784           },
4785           "additionalProperties": false,
4786           "required": [
4787             "target"
4788           ]
4789         },
4790         "PrivateAddressResults": {
4791           "type": "object",
4792           "properties": {
4793             "private-address": {
4794               "type": "string"
4795             }
4796           },
4797           "additionalProperties": false,
4798           "required": [
4799             "private-address"
4800           ]
4801         },
4802         "ProvisioningScriptParams": {
4803           "type": "object",
4804           "properties": {
4805             "data-dir": {
4806               "type": "string"
4807             },
4808             "disable-package-commands": {
4809               "type": "boolean"
4810             },
4811             "machine-id": {
4812               "type": "string"
4813             },
4814             "nonce": {
4815               "type": "string"
4816             }
4817           },
4818           "additionalProperties": false,
4819           "required": [
4820             "machine-id",
4821             "nonce",
4822             "data-dir",
4823             "disable-package-commands"
4824           ]
4825         },
4826         "ProvisioningScriptResult": {
4827           "type": "object",
4828           "properties": {
4829             "script": {
4830               "type": "string"
4831             }
4832           },
4833           "additionalProperties": false,
4834           "required": [
4835             "script"
4836           ]
4837         },
4838         "PublicAddress": {
4839           "type": "object",
4840           "properties": {
4841             "target": {
4842               "type": "string"
4843             }
4844           },
4845           "additionalProperties": false,
4846           "required": [
4847             "target"
4848           ]
4849         },
4850         "PublicAddressResults": {
4851           "type": "object",
4852           "properties": {
4853             "public-address": {
4854               "type": "string"
4855             }
4856           },
4857           "additionalProperties": false,
4858           "required": [
4859             "public-address"
4860           ]
4861         },
4862         "RelationStatus": {
4863           "type": "object",
4864           "properties": {
4865             "endpoints": {
4866               "type": "array",
4867               "items": {
4868                 "$ref": "#/definitions/EndpointStatus"
4869               }
4870             },
4871             "id": {
4872               "type": "integer"
4873             },
4874             "interface": {
4875               "type": "string"
4876             },
4877             "key": {
4878               "type": "string"
4879             },
4880             "scope": {
4881               "type": "string"
4882             }
4883           },
4884           "additionalProperties": false,
4885           "required": [
4886             "id",
4887             "key",
4888             "interface",
4889             "scope",
4890             "endpoints"
4891           ]
4892         },
4893         "ResolveCharmResult": {
4894           "type": "object",
4895           "properties": {
4896             "error": {
4897               "type": "string"
4898             },
4899             "url": {
4900               "type": "string"
4901             }
4902           },
4903           "additionalProperties": false
4904         },
4905         "ResolveCharmResults": {
4906           "type": "object",
4907           "properties": {
4908             "urls": {
4909               "type": "array",
4910               "items": {
4911                 "$ref": "#/definitions/ResolveCharmResult"
4912               }
4913             }
4914           },
4915           "additionalProperties": false,
4916           "required": [
4917             "urls"
4918           ]
4919         },
4920         "ResolveCharms": {
4921           "type": "object",
4922           "properties": {
4923             "references": {
4924               "type": "array",
4925               "items": {
4926                 "type": "string"
4927               }
4928             }
4929           },
4930           "additionalProperties": false,
4931           "required": [
4932             "references"
4933           ]
4934         },
4935         "Resolved": {
4936           "type": "object",
4937           "properties": {
4938             "retry": {
4939               "type": "boolean"
4940             },
4941             "unit-name": {
4942               "type": "string"
4943             }
4944           },
4945           "additionalProperties": false,
4946           "required": [
4947             "unit-name",
4948             "retry"
4949           ]
4950         },
4951         "SetConstraints": {
4952           "type": "object",
4953           "properties": {
4954             "application": {
4955               "type": "string"
4956             },
4957             "constraints": {
4958               "$ref": "#/definitions/Value"
4959             }
4960           },
4961           "additionalProperties": false,
4962           "required": [
4963             "application",
4964             "constraints"
4965           ]
4966         },
4967         "SetModelAgentVersion": {
4968           "type": "object",
4969           "properties": {
4970             "version": {
4971               "$ref": "#/definitions/Number"
4972             }
4973           },
4974           "additionalProperties": false,
4975           "required": [
4976             "version"
4977           ]
4978         },
4979         "StatusHistoryFilter": {
4980           "type": "object",
4981           "properties": {
4982             "date": {
4983               "type": "string",
4984               "format": "date-time"
4985             },
4986             "delta": {
4987               "type": "integer"
4988             },
4989             "size": {
4990               "type": "integer"
4991             }
4992           },
4993           "additionalProperties": false,
4994           "required": [
4995             "size",
4996             "date",
4997             "delta"
4998           ]
4999         },
5000         "StatusHistoryRequest": {
5001           "type": "object",
5002           "properties": {
5003             "filter": {
5004               "$ref": "#/definitions/StatusHistoryFilter"
5005             },
5006             "historyKind": {
5007               "type": "string"
5008             },
5009             "size": {
5010               "type": "integer"
5011             },
5012             "tag": {
5013               "type": "string"
5014             }
5015           },
5016           "additionalProperties": false,
5017           "required": [
5018             "historyKind",
5019             "size",
5020             "filter",
5021             "tag"
5022           ]
5023         },
5024         "StatusHistoryRequests": {
5025           "type": "object",
5026           "properties": {
5027             "requests": {
5028               "type": "array",
5029               "items": {
5030                 "$ref": "#/definitions/StatusHistoryRequest"
5031               }
5032             }
5033           },
5034           "additionalProperties": false,
5035           "required": [
5036             "requests"
5037           ]
5038         },
5039         "StatusHistoryResult": {
5040           "type": "object",
5041           "properties": {
5042             "error": {
5043               "$ref": "#/definitions/Error"
5044             },
5045             "history": {
5046               "$ref": "#/definitions/History"
5047             }
5048           },
5049           "additionalProperties": false,
5050           "required": [
5051             "history"
5052           ]
5053         },
5054         "StatusHistoryResults": {
5055           "type": "object",
5056           "properties": {
5057             "results": {
5058               "type": "array",
5059               "items": {
5060                 "$ref": "#/definitions/StatusHistoryResult"
5061               }
5062             }
5063           },
5064           "additionalProperties": false,
5065           "required": [
5066             "results"
5067           ]
5068         },
5069         "StatusParams": {
5070           "type": "object",
5071           "properties": {
5072             "patterns": {
5073               "type": "array",
5074               "items": {
5075                 "type": "string"
5076               }
5077             }
5078           },
5079           "additionalProperties": false,
5080           "required": [
5081             "patterns"
5082           ]
5083         },
5084         "Tools": {
5085           "type": "object",
5086           "properties": {
5087             "sha256": {
5088               "type": "string"
5089             },
5090             "size": {
5091               "type": "integer"
5092             },
5093             "url": {
5094               "type": "string"
5095             },
5096             "version": {
5097               "$ref": "#/definitions/Binary"
5098             }
5099           },
5100           "additionalProperties": false,
5101           "required": [
5102             "version",
5103             "url",
5104             "size"
5105           ]
5106         },
5107         "UnitStatus": {
5108           "type": "object",
5109           "properties": {
5110             "agent-status": {
5111               "$ref": "#/definitions/DetailedStatus"
5112             },
5113             "charm": {
5114               "type": "string"
5115             },
5116             "leader": {
5117               "type": "boolean"
5118             },
5119             "machine": {
5120               "type": "string"
5121             },
5122             "opened-ports": {
5123               "type": "array",
5124               "items": {
5125                 "type": "string"
5126               }
5127             },
5128             "public-address": {
5129               "type": "string"
5130             },
5131             "subordinates": {
5132               "type": "object",
5133               "patternProperties": {
5134                 ".*": {
5135                   "$ref": "#/definitions/UnitStatus"
5136                 }
5137               }
5138             },
5139             "workload-status": {
5140               "$ref": "#/definitions/DetailedStatus"
5141             },
5142             "workload-version": {
5143               "type": "string"
5144             }
5145           },
5146           "additionalProperties": false,
5147           "required": [
5148             "agent-status",
5149             "workload-status",
5150             "workload-version",
5151             "machine",
5152             "opened-ports",
5153             "public-address",
5154             "charm",
5155             "subordinates"
5156           ]
5157         },
5158         "Value": {
5159           "type": "object",
5160           "properties": {
5161             "arch": {
5162               "type": "string"
5163             },
5164             "container": {
5165               "type": "string"
5166             },
5167             "cores": {
5168               "type": "integer"
5169             },
5170             "cpu-power": {
5171               "type": "integer"
5172             },
5173             "instance-type": {
5174               "type": "string"
5175             },
5176             "mem": {
5177               "type": "integer"
5178             },
5179             "root-disk": {
5180               "type": "integer"
5181             },
5182             "spaces": {
5183               "type": "array",
5184               "items": {
5185                 "type": "string"
5186               }
5187             },
5188             "tags": {
5189               "type": "array",
5190               "items": {
5191                 "type": "string"
5192               }
5193             },
5194             "virt-type": {
5195               "type": "string"
5196             }
5197           },
5198           "additionalProperties": false
5199         }
5200       }
5201     }
5202   },
5203   {
5204     "Name": "Cloud",
5205     "Version": 1,
5206     "Schema": {
5207       "type": "object",
5208       "properties": {
5209         "Cloud": {
5210           "type": "object",
5211           "properties": {
5212             "Params": {
5213               "$ref": "#/definitions/Entities"
5214             },
5215             "Result": {
5216               "$ref": "#/definitions/CloudResults"
5217             }
5218           }
5219         },
5220         "Clouds": {
5221           "type": "object",
5222           "properties": {
5223             "Result": {
5224               "$ref": "#/definitions/CloudsResult"
5225             }
5226           }
5227         },
5228         "Credential": {
5229           "type": "object",
5230           "properties": {
5231             "Params": {
5232               "$ref": "#/definitions/Entities"
5233             },
5234             "Result": {
5235               "$ref": "#/definitions/CloudCredentialResults"
5236             }
5237           }
5238         },
5239         "DefaultCloud": {
5240           "type": "object",
5241           "properties": {
5242             "Result": {
5243               "$ref": "#/definitions/StringResult"
5244             }
5245           }
5246         },
5247         "RevokeCredentials": {
5248           "type": "object",
5249           "properties": {
5250             "Params": {
5251               "$ref": "#/definitions/Entities"
5252             },
5253             "Result": {
5254               "$ref": "#/definitions/ErrorResults"
5255             }
5256           }
5257         },
5258         "UpdateCredentials": {
5259           "type": "object",
5260           "properties": {
5261             "Params": {
5262               "$ref": "#/definitions/UpdateCloudCredentials"
5263             },
5264             "Result": {
5265               "$ref": "#/definitions/ErrorResults"
5266             }
5267           }
5268         },
5269         "UserCredentials": {
5270           "type": "object",
5271           "properties": {
5272             "Params": {
5273               "$ref": "#/definitions/UserClouds"
5274             },
5275             "Result": {
5276               "$ref": "#/definitions/StringsResults"
5277             }
5278           }
5279         }
5280       },
5281       "definitions": {
5282         "Cloud": {
5283           "type": "object",
5284           "properties": {
5285             "auth-types": {
5286               "type": "array",
5287               "items": {
5288                 "type": "string"
5289               }
5290             },
5291             "endpoint": {
5292               "type": "string"
5293             },
5294             "identity-endpoint": {
5295               "type": "string"
5296             },
5297             "regions": {
5298               "type": "array",
5299               "items": {
5300                 "$ref": "#/definitions/CloudRegion"
5301               }
5302             },
5303             "storage-endpoint": {
5304               "type": "string"
5305             },
5306             "type": {
5307               "type": "string"
5308             }
5309           },
5310           "additionalProperties": false,
5311           "required": [
5312             "type"
5313           ]
5314         },
5315         "CloudCredential": {
5316           "type": "object",
5317           "properties": {
5318             "attrs": {
5319               "type": "object",
5320               "patternProperties": {
5321                 ".*": {
5322                   "type": "string"
5323                 }
5324               }
5325             },
5326             "auth-type": {
5327               "type": "string"
5328             },
5329             "redacted": {
5330               "type": "array",
5331               "items": {
5332                 "type": "string"
5333               }
5334             }
5335           },
5336           "additionalProperties": false,
5337           "required": [
5338             "auth-type"
5339           ]
5340         },
5341         "CloudCredentialResult": {
5342           "type": "object",
5343           "properties": {
5344             "error": {
5345               "$ref": "#/definitions/Error"
5346             },
5347             "result": {
5348               "$ref": "#/definitions/CloudCredential"
5349             }
5350           },
5351           "additionalProperties": false
5352         },
5353         "CloudCredentialResults": {
5354           "type": "object",
5355           "properties": {
5356             "results": {
5357               "type": "array",
5358               "items": {
5359                 "$ref": "#/definitions/CloudCredentialResult"
5360               }
5361             }
5362           },
5363           "additionalProperties": false
5364         },
5365         "CloudRegion": {
5366           "type": "object",
5367           "properties": {
5368             "endpoint": {
5369               "type": "string"
5370             },
5371             "identity-endpoint": {
5372               "type": "string"
5373             },
5374             "name": {
5375               "type": "string"
5376             },
5377             "storage-endpoint": {
5378               "type": "string"
5379             }
5380           },
5381           "additionalProperties": false,
5382           "required": [
5383             "name"
5384           ]
5385         },
5386         "CloudResult": {
5387           "type": "object",
5388           "properties": {
5389             "cloud": {
5390               "$ref": "#/definitions/Cloud"
5391             },
5392             "error": {
5393               "$ref": "#/definitions/Error"
5394             }
5395           },
5396           "additionalProperties": false
5397         },
5398         "CloudResults": {
5399           "type": "object",
5400           "properties": {
5401             "results": {
5402               "type": "array",
5403               "items": {
5404                 "$ref": "#/definitions/CloudResult"
5405               }
5406             }
5407           },
5408           "additionalProperties": false
5409         },
5410         "CloudsResult": {
5411           "type": "object",
5412           "properties": {
5413             "clouds": {
5414               "type": "object",
5415               "patternProperties": {
5416                 ".*": {
5417                   "$ref": "#/definitions/Cloud"
5418                 }
5419               }
5420             }
5421           },
5422           "additionalProperties": false
5423         },
5424         "Entities": {
5425           "type": "object",
5426           "properties": {
5427             "entities": {
5428               "type": "array",
5429               "items": {
5430                 "$ref": "#/definitions/Entity"
5431               }
5432             }
5433           },
5434           "additionalProperties": false,
5435           "required": [
5436             "entities"
5437           ]
5438         },
5439         "Entity": {
5440           "type": "object",
5441           "properties": {
5442             "tag": {
5443               "type": "string"
5444             }
5445           },
5446           "additionalProperties": false,
5447           "required": [
5448             "tag"
5449           ]
5450         },
5451         "Error": {
5452           "type": "object",
5453           "properties": {
5454             "code": {
5455               "type": "string"
5456             },
5457             "info": {
5458               "$ref": "#/definitions/ErrorInfo"
5459             },
5460             "message": {
5461               "type": "string"
5462             }
5463           },
5464           "additionalProperties": false,
5465           "required": [
5466             "message",
5467             "code"
5468           ]
5469         },
5470         "ErrorInfo": {
5471           "type": "object",
5472           "properties": {
5473             "macaroon": {
5474               "$ref": "#/definitions/Macaroon"
5475             },
5476             "macaroon-path": {
5477               "type": "string"
5478             }
5479           },
5480           "additionalProperties": false
5481         },
5482         "ErrorResult": {
5483           "type": "object",
5484           "properties": {
5485             "error": {
5486               "$ref": "#/definitions/Error"
5487             }
5488           },
5489           "additionalProperties": false
5490         },
5491         "ErrorResults": {
5492           "type": "object",
5493           "properties": {
5494             "results": {
5495               "type": "array",
5496               "items": {
5497                 "$ref": "#/definitions/ErrorResult"
5498               }
5499             }
5500           },
5501           "additionalProperties": false,
5502           "required": [
5503             "results"
5504           ]
5505         },
5506         "Macaroon": {
5507           "type": "object",
5508           "additionalProperties": false
5509         },
5510         "StringResult": {
5511           "type": "object",
5512           "properties": {
5513             "error": {
5514               "$ref": "#/definitions/Error"
5515             },
5516             "result": {
5517               "type": "string"
5518             }
5519           },
5520           "additionalProperties": false,
5521           "required": [
5522             "result"
5523           ]
5524         },
5525         "StringsResult": {
5526           "type": "object",
5527           "properties": {
5528             "error": {
5529               "$ref": "#/definitions/Error"
5530             },
5531             "result": {
5532               "type": "array",
5533               "items": {
5534                 "type": "string"
5535               }
5536             }
5537           },
5538           "additionalProperties": false
5539         },
5540         "StringsResults": {
5541           "type": "object",
5542           "properties": {
5543             "results": {
5544               "type": "array",
5545               "items": {
5546                 "$ref": "#/definitions/StringsResult"
5547               }
5548             }
5549           },
5550           "additionalProperties": false,
5551           "required": [
5552             "results"
5553           ]
5554         },
5555         "UpdateCloudCredential": {
5556           "type": "object",
5557           "properties": {
5558             "credential": {
5559               "$ref": "#/definitions/CloudCredential"
5560             },
5561             "tag": {
5562               "type": "string"
5563             }
5564           },
5565           "additionalProperties": false,
5566           "required": [
5567             "tag",
5568             "credential"
5569           ]
5570         },
5571         "UpdateCloudCredentials": {
5572           "type": "object",
5573           "properties": {
5574             "credentials": {
5575               "type": "array",
5576               "items": {
5577                 "$ref": "#/definitions/UpdateCloudCredential"
5578               }
5579             }
5580           },
5581           "additionalProperties": false
5582         },
5583         "UserCloud": {
5584           "type": "object",
5585           "properties": {
5586             "cloud-tag": {
5587               "type": "string"
5588             },
5589             "user-tag": {
5590               "type": "string"
5591             }
5592           },
5593           "additionalProperties": false,
5594           "required": [
5595             "user-tag",
5596             "cloud-tag"
5597           ]
5598         },
5599         "UserClouds": {
5600           "type": "object",
5601           "properties": {
5602             "user-clouds": {
5603               "type": "array",
5604               "items": {
5605                 "$ref": "#/definitions/UserCloud"
5606               }
5607             }
5608           },
5609           "additionalProperties": false
5610         }
5611       }
5612     }
5613   },
5614   {
5615     "Name": "Controller",
5616     "Version": 3,
5617     "Schema": {
5618       "type": "object",
5619       "properties": {
5620         "AllModels": {
5621           "type": "object",
5622           "properties": {
5623             "Result": {
5624               "$ref": "#/definitions/UserModelList"
5625             }
5626           }
5627         },
5628         "CloudSpec": {
5629           "type": "object",
5630           "properties": {
5631             "Params": {
5632               "$ref": "#/definitions/Entities"
5633             },
5634             "Result": {
5635               "$ref": "#/definitions/CloudSpecResults"
5636             }
5637           }
5638         },
5639         "ControllerConfig": {
5640           "type": "object",
5641           "properties": {
5642             "Result": {
5643               "$ref": "#/definitions/ControllerConfigResult"
5644             }
5645           }
5646         },
5647         "DestroyController": {
5648           "type": "object",
5649           "properties": {
5650             "Params": {
5651               "$ref": "#/definitions/DestroyControllerArgs"
5652             }
5653           }
5654         },
5655         "GetCloudSpec": {
5656           "type": "object",
5657           "properties": {
5658             "Params": {
5659               "$ref": "#/definitions/ModelTag"
5660             },
5661             "Result": {
5662               "$ref": "#/definitions/CloudSpecResult"
5663             }
5664           }
5665         },
5666         "GetControllerAccess": {
5667           "type": "object",
5668           "properties": {
5669             "Params": {
5670               "$ref": "#/definitions/Entities"
5671             },
5672             "Result": {
5673               "$ref": "#/definitions/UserAccessResults"
5674             }
5675           }
5676         },
5677         "HostedModelConfigs": {
5678           "type": "object",
5679           "properties": {
5680             "Result": {
5681               "$ref": "#/definitions/HostedModelConfigsResults"
5682             }
5683           }
5684         },
5685         "InitiateMigration": {
5686           "type": "object",
5687           "properties": {
5688             "Params": {
5689               "$ref": "#/definitions/InitiateMigrationArgs"
5690             },
5691             "Result": {
5692               "$ref": "#/definitions/InitiateMigrationResults"
5693             }
5694           }
5695         },
5696         "ListBlockedModels": {
5697           "type": "object",
5698           "properties": {
5699             "Result": {
5700               "$ref": "#/definitions/ModelBlockInfoList"
5701             }
5702           }
5703         },
5704         "ModelConfig": {
5705           "type": "object",
5706           "properties": {
5707             "Result": {
5708               "$ref": "#/definitions/ModelConfigResults"
5709             }
5710           }
5711         },
5712         "ModelStatus": {
5713           "type": "object",
5714           "properties": {
5715             "Params": {
5716               "$ref": "#/definitions/Entities"
5717             },
5718             "Result": {
5719               "$ref": "#/definitions/ModelStatusResults"
5720             }
5721           }
5722         },
5723         "ModifyControllerAccess": {
5724           "type": "object",
5725           "properties": {
5726             "Params": {
5727               "$ref": "#/definitions/ModifyControllerAccessRequest"
5728             },
5729             "Result": {
5730               "$ref": "#/definitions/ErrorResults"
5731             }
5732           }
5733         },
5734         "RemoveBlocks": {
5735           "type": "object",
5736           "properties": {
5737             "Params": {
5738               "$ref": "#/definitions/RemoveBlocksArgs"
5739             }
5740           }
5741         },
5742         "WatchAllModels": {
5743           "type": "object",
5744           "properties": {
5745             "Result": {
5746               "$ref": "#/definitions/AllWatcherId"
5747             }
5748           }
5749         }
5750       },
5751       "definitions": {
5752         "AllWatcherId": {
5753           "type": "object",
5754           "properties": {
5755             "watcher-id": {
5756               "type": "string"
5757             }
5758           },
5759           "additionalProperties": false,
5760           "required": [
5761             "watcher-id"
5762           ]
5763         },
5764         "CloudCredential": {
5765           "type": "object",
5766           "properties": {
5767             "attrs": {
5768               "type": "object",
5769               "patternProperties": {
5770                 ".*": {
5771                   "type": "string"
5772                 }
5773               }
5774             },
5775             "auth-type": {
5776               "type": "string"
5777             },
5778             "redacted": {
5779               "type": "array",
5780               "items": {
5781                 "type": "string"
5782               }
5783             }
5784           },
5785           "additionalProperties": false,
5786           "required": [
5787             "auth-type"
5788           ]
5789         },
5790         "CloudSpec": {
5791           "type": "object",
5792           "properties": {
5793             "credential": {
5794               "$ref": "#/definitions/CloudCredential"
5795             },
5796             "endpoint": {
5797               "type": "string"
5798             },
5799             "identity-endpoint": {
5800               "type": "string"
5801             },
5802             "name": {
5803               "type": "string"
5804             },
5805             "region": {
5806               "type": "string"
5807             },
5808             "storage-endpoint": {
5809               "type": "string"
5810             },
5811             "type": {
5812               "type": "string"
5813             }
5814           },
5815           "additionalProperties": false,
5816           "required": [
5817             "type",
5818             "name"
5819           ]
5820         },
5821         "CloudSpecResult": {
5822           "type": "object",
5823           "properties": {
5824             "error": {
5825               "$ref": "#/definitions/Error"
5826             },
5827             "result": {
5828               "$ref": "#/definitions/CloudSpec"
5829             }
5830           },
5831           "additionalProperties": false
5832         },
5833         "CloudSpecResults": {
5834           "type": "object",
5835           "properties": {
5836             "results": {
5837               "type": "array",
5838               "items": {
5839                 "$ref": "#/definitions/CloudSpecResult"
5840               }
5841             }
5842           },
5843           "additionalProperties": false
5844         },
5845         "ConfigValue": {
5846           "type": "object",
5847           "properties": {
5848             "source": {
5849               "type": "string"
5850             },
5851             "value": {
5852               "type": "object",
5853               "additionalProperties": true
5854             }
5855           },
5856           "additionalProperties": false,
5857           "required": [
5858             "value",
5859             "source"
5860           ]
5861         },
5862         "ControllerConfigResult": {
5863           "type": "object",
5864           "properties": {
5865             "config": {
5866               "type": "object",
5867               "patternProperties": {
5868                 ".*": {
5869                   "type": "object",
5870                   "additionalProperties": true
5871                 }
5872               }
5873             }
5874           },
5875           "additionalProperties": false,
5876           "required": [
5877             "config"
5878           ]
5879         },
5880         "DestroyControllerArgs": {
5881           "type": "object",
5882           "properties": {
5883             "destroy-models": {
5884               "type": "boolean"
5885             }
5886           },
5887           "additionalProperties": false,
5888           "required": [
5889             "destroy-models"
5890           ]
5891         },
5892         "Entities": {
5893           "type": "object",
5894           "properties": {
5895             "entities": {
5896               "type": "array",
5897               "items": {
5898                 "$ref": "#/definitions/Entity"
5899               }
5900             }
5901           },
5902           "additionalProperties": false,
5903           "required": [
5904             "entities"
5905           ]
5906         },
5907         "Entity": {
5908           "type": "object",
5909           "properties": {
5910             "tag": {
5911               "type": "string"
5912             }
5913           },
5914           "additionalProperties": false,
5915           "required": [
5916             "tag"
5917           ]
5918         },
5919         "Error": {
5920           "type": "object",
5921           "properties": {
5922             "code": {
5923               "type": "string"
5924             },
5925             "info": {
5926               "$ref": "#/definitions/ErrorInfo"
5927             },
5928             "message": {
5929               "type": "string"
5930             }
5931           },
5932           "additionalProperties": false,
5933           "required": [
5934             "message",
5935             "code"
5936           ]
5937         },
5938         "ErrorInfo": {
5939           "type": "object",
5940           "properties": {
5941             "macaroon": {
5942               "$ref": "#/definitions/Macaroon"
5943             },
5944             "macaroon-path": {
5945               "type": "string"
5946             }
5947           },
5948           "additionalProperties": false
5949         },
5950         "ErrorResult": {
5951           "type": "object",
5952           "properties": {
5953             "error": {
5954               "$ref": "#/definitions/Error"
5955             }
5956           },
5957           "additionalProperties": false
5958         },
5959         "ErrorResults": {
5960           "type": "object",
5961           "properties": {
5962             "results": {
5963               "type": "array",
5964               "items": {
5965                 "$ref": "#/definitions/ErrorResult"
5966               }
5967             }
5968           },
5969           "additionalProperties": false,
5970           "required": [
5971             "results"
5972           ]
5973         },
5974         "HostedModelConfig": {
5975           "type": "object",
5976           "properties": {
5977             "cloud-spec": {
5978               "$ref": "#/definitions/CloudSpec"
5979             },
5980             "config": {
5981               "type": "object",
5982               "patternProperties": {
5983                 ".*": {
5984                   "type": "object",
5985                   "additionalProperties": true
5986                 }
5987               }
5988             },
5989             "error": {
5990               "$ref": "#/definitions/Error"
5991             },
5992             "name": {
5993               "type": "string"
5994             },
5995             "owner": {
5996               "type": "string"
5997             }
5998           },
5999           "additionalProperties": false,
6000           "required": [
6001             "name",
6002             "owner"
6003           ]
6004         },
6005         "HostedModelConfigsResults": {
6006           "type": "object",
6007           "properties": {
6008             "models": {
6009               "type": "array",
6010               "items": {
6011                 "$ref": "#/definitions/HostedModelConfig"
6012               }
6013             }
6014           },
6015           "additionalProperties": false,
6016           "required": [
6017             "models"
6018           ]
6019         },
6020         "InitiateMigrationArgs": {
6021           "type": "object",
6022           "properties": {
6023             "specs": {
6024               "type": "array",
6025               "items": {
6026                 "$ref": "#/definitions/MigrationSpec"
6027               }
6028             }
6029           },
6030           "additionalProperties": false,
6031           "required": [
6032             "specs"
6033           ]
6034         },
6035         "InitiateMigrationResult": {
6036           "type": "object",
6037           "properties": {
6038             "error": {
6039               "$ref": "#/definitions/Error"
6040             },
6041             "migration-id": {
6042               "type": "string"
6043             },
6044             "model-tag": {
6045               "type": "string"
6046             }
6047           },
6048           "additionalProperties": false,
6049           "required": [
6050             "model-tag",
6051             "migration-id"
6052           ]
6053         },
6054         "InitiateMigrationResults": {
6055           "type": "object",
6056           "properties": {
6057             "results": {
6058               "type": "array",
6059               "items": {
6060                 "$ref": "#/definitions/InitiateMigrationResult"
6061               }
6062             }
6063           },
6064           "additionalProperties": false,
6065           "required": [
6066             "results"
6067           ]
6068         },
6069         "Macaroon": {
6070           "type": "object",
6071           "additionalProperties": false
6072         },
6073         "MachineHardware": {
6074           "type": "object",
6075           "properties": {
6076             "arch": {
6077               "type": "string"
6078             },
6079             "availability-zone": {
6080               "type": "string"
6081             },
6082             "cores": {
6083               "type": "integer"
6084             },
6085             "cpu-power": {
6086               "type": "integer"
6087             },
6088             "mem": {
6089               "type": "integer"
6090             },
6091             "root-disk": {
6092               "type": "integer"
6093             },
6094             "tags": {
6095               "type": "array",
6096               "items": {
6097                 "type": "string"
6098               }
6099             }
6100           },
6101           "additionalProperties": false
6102         },
6103         "MigrationSpec": {
6104           "type": "object",
6105           "properties": {
6106             "external-control": {
6107               "type": "boolean"
6108             },
6109             "model-tag": {
6110               "type": "string"
6111             },
6112             "skip-initial-prechecks": {
6113               "type": "boolean"
6114             },
6115             "target-info": {
6116               "$ref": "#/definitions/MigrationTargetInfo"
6117             }
6118           },
6119           "additionalProperties": false,
6120           "required": [
6121             "model-tag",
6122             "target-info",
6123             "external-control",
6124             "skip-initial-prechecks"
6125           ]
6126         },
6127         "MigrationTargetInfo": {
6128           "type": "object",
6129           "properties": {
6130             "addrs": {
6131               "type": "array",
6132               "items": {
6133                 "type": "string"
6134               }
6135             },
6136             "auth-tag": {
6137               "type": "string"
6138             },
6139             "ca-cert": {
6140               "type": "string"
6141             },
6142             "controller-tag": {
6143               "type": "string"
6144             },
6145             "macaroons": {
6146               "type": "string"
6147             },
6148             "password": {
6149               "type": "string"
6150             }
6151           },
6152           "additionalProperties": false,
6153           "required": [
6154             "controller-tag",
6155             "addrs",
6156             "ca-cert",
6157             "auth-tag"
6158           ]
6159         },
6160         "Model": {
6161           "type": "object",
6162           "properties": {
6163             "name": {
6164               "type": "string"
6165             },
6166             "owner-tag": {
6167               "type": "string"
6168             },
6169             "uuid": {
6170               "type": "string"
6171             }
6172           },
6173           "additionalProperties": false,
6174           "required": [
6175             "name",
6176             "uuid",
6177             "owner-tag"
6178           ]
6179         },
6180         "ModelBlockInfo": {
6181           "type": "object",
6182           "properties": {
6183             "blocks": {
6184               "type": "array",
6185               "items": {
6186                 "type": "string"
6187               }
6188             },
6189             "model-uuid": {
6190               "type": "string"
6191             },
6192             "name": {
6193               "type": "string"
6194             },
6195             "owner-tag": {
6196               "type": "string"
6197             }
6198           },
6199           "additionalProperties": false,
6200           "required": [
6201             "name",
6202             "model-uuid",
6203             "owner-tag",
6204             "blocks"
6205           ]
6206         },
6207         "ModelBlockInfoList": {
6208           "type": "object",
6209           "properties": {
6210             "models": {
6211               "type": "array",
6212               "items": {
6213                 "$ref": "#/definitions/ModelBlockInfo"
6214               }
6215             }
6216           },
6217           "additionalProperties": false
6218         },
6219         "ModelConfigResults": {
6220           "type": "object",
6221           "properties": {
6222             "config": {
6223               "type": "object",
6224               "patternProperties": {
6225                 ".*": {
6226                   "$ref": "#/definitions/ConfigValue"
6227                 }
6228               }
6229             }
6230           },
6231           "additionalProperties": false,
6232           "required": [
6233             "config"
6234           ]
6235         },
6236         "ModelMachineInfo": {
6237           "type": "object",
6238           "properties": {
6239             "hardware": {
6240               "$ref": "#/definitions/MachineHardware"
6241             },
6242             "has-vote": {
6243               "type": "boolean"
6244             },
6245             "id": {
6246               "type": "string"
6247             },
6248             "instance-id": {
6249               "type": "string"
6250             },
6251             "status": {
6252               "type": "string"
6253             },
6254             "wants-vote": {
6255               "type": "boolean"
6256             }
6257           },
6258           "additionalProperties": false,
6259           "required": [
6260             "id"
6261           ]
6262         },
6263         "ModelStatus": {
6264           "type": "object",
6265           "properties": {
6266             "application-count": {
6267               "type": "integer"
6268             },
6269             "hosted-machine-count": {
6270               "type": "integer"
6271             },
6272             "life": {
6273               "type": "string"
6274             },
6275             "machines": {
6276               "type": "array",
6277               "items": {
6278                 "$ref": "#/definitions/ModelMachineInfo"
6279               }
6280             },
6281             "model-tag": {
6282               "type": "string"
6283             },
6284             "owner-tag": {
6285               "type": "string"
6286             }
6287           },
6288           "additionalProperties": false,
6289           "required": [
6290             "model-tag",
6291             "life",
6292             "hosted-machine-count",
6293             "application-count",
6294             "owner-tag"
6295           ]
6296         },
6297         "ModelStatusResults": {
6298           "type": "object",
6299           "properties": {
6300             "models": {
6301               "type": "array",
6302               "items": {
6303                 "$ref": "#/definitions/ModelStatus"
6304               }
6305             }
6306           },
6307           "additionalProperties": false,
6308           "required": [
6309             "models"
6310           ]
6311         },
6312         "ModelTag": {
6313           "type": "object",
6314           "additionalProperties": false
6315         },
6316         "ModifyControllerAccess": {
6317           "type": "object",
6318           "properties": {
6319             "access": {
6320               "type": "string"
6321             },
6322             "action": {
6323               "type": "string"
6324             },
6325             "user-tag": {
6326               "type": "string"
6327             }
6328           },
6329           "additionalProperties": false,
6330           "required": [
6331             "user-tag",
6332             "action",
6333             "access"
6334           ]
6335         },
6336         "ModifyControllerAccessRequest": {
6337           "type": "object",
6338           "properties": {
6339             "changes": {
6340               "type": "array",
6341               "items": {
6342                 "$ref": "#/definitions/ModifyControllerAccess"
6343               }
6344             }
6345           },
6346           "additionalProperties": false,
6347           "required": [
6348             "changes"
6349           ]
6350         },
6351         "RemoveBlocksArgs": {
6352           "type": "object",
6353           "properties": {
6354             "all": {
6355               "type": "boolean"
6356             }
6357           },
6358           "additionalProperties": false,
6359           "required": [
6360             "all"
6361           ]
6362         },
6363         "UserAccess": {
6364           "type": "object",
6365           "properties": {
6366             "access": {
6367               "type": "string"
6368             },
6369             "user-tag": {
6370               "type": "string"
6371             }
6372           },
6373           "additionalProperties": false,
6374           "required": [
6375             "user-tag",
6376             "access"
6377           ]
6378         },
6379         "UserAccessResult": {
6380           "type": "object",
6381           "properties": {
6382             "error": {
6383               "$ref": "#/definitions/Error"
6384             },
6385             "result": {
6386               "$ref": "#/definitions/UserAccess"
6387             }
6388           },
6389           "additionalProperties": false
6390         },
6391         "UserAccessResults": {
6392           "type": "object",
6393           "properties": {
6394             "results": {
6395               "type": "array",
6396               "items": {
6397                 "$ref": "#/definitions/UserAccessResult"
6398               }
6399             }
6400           },
6401           "additionalProperties": false
6402         },
6403         "UserModel": {
6404           "type": "object",
6405           "properties": {
6406             "last-connection": {
6407               "type": "string",
6408               "format": "date-time"
6409             },
6410             "model": {
6411               "$ref": "#/definitions/Model"
6412             }
6413           },
6414           "additionalProperties": false,
6415           "required": [
6416             "model",
6417             "last-connection"
6418           ]
6419         },
6420         "UserModelList": {
6421           "type": "object",
6422           "properties": {
6423             "user-models": {
6424               "type": "array",
6425               "items": {
6426                 "$ref": "#/definitions/UserModel"
6427               }
6428             }
6429           },
6430           "additionalProperties": false,
6431           "required": [
6432             "user-models"
6433           ]
6434         }
6435       }
6436     }
6437   },
6438   {
6439     "Name": "Deployer",
6440     "Version": 1,
6441     "Schema": {
6442       "type": "object",
6443       "properties": {
6444         "APIAddresses": {
6445           "type": "object",
6446           "properties": {
6447             "Result": {
6448               "$ref": "#/definitions/StringsResult"
6449             }
6450           }
6451         },
6452         "APIHostPorts": {
6453           "type": "object",
6454           "properties": {
6455             "Result": {
6456               "$ref": "#/definitions/APIHostPortsResult"
6457             }
6458           }
6459         },
6460         "CACert": {
6461           "type": "object",
6462           "properties": {
6463             "Result": {
6464               "$ref": "#/definitions/BytesResult"
6465             }
6466           }
6467         },
6468         "ConnectionInfo": {
6469           "type": "object",
6470           "properties": {
6471             "Result": {
6472               "$ref": "#/definitions/DeployerConnectionValues"
6473             }
6474           }
6475         },
6476         "Life": {
6477           "type": "object",
6478           "properties": {
6479             "Params": {
6480               "$ref": "#/definitions/Entities"
6481             },
6482             "Result": {
6483               "$ref": "#/definitions/LifeResults"
6484             }
6485           }
6486         },
6487         "ModelUUID": {
6488           "type": "object",
6489           "properties": {
6490             "Result": {
6491               "$ref": "#/definitions/StringResult"
6492             }
6493           }
6494         },
6495         "Remove": {
6496           "type": "object",
6497           "properties": {
6498             "Params": {
6499               "$ref": "#/definitions/Entities"
6500             },
6501             "Result": {
6502               "$ref": "#/definitions/ErrorResults"
6503             }
6504           }
6505         },
6506         "SetPasswords": {
6507           "type": "object",
6508           "properties": {
6509             "Params": {
6510               "$ref": "#/definitions/EntityPasswords"
6511             },
6512             "Result": {
6513               "$ref": "#/definitions/ErrorResults"
6514             }
6515           }
6516         },
6517         "SetStatus": {
6518           "type": "object",
6519           "properties": {
6520             "Params": {
6521               "$ref": "#/definitions/SetStatus"
6522             },
6523             "Result": {
6524               "$ref": "#/definitions/ErrorResults"
6525             }
6526           }
6527         },
6528         "StateAddresses": {
6529           "type": "object",
6530           "properties": {
6531             "Result": {
6532               "$ref": "#/definitions/StringsResult"
6533             }
6534           }
6535         },
6536         "UpdateStatus": {
6537           "type": "object",
6538           "properties": {
6539             "Params": {
6540               "$ref": "#/definitions/SetStatus"
6541             },
6542             "Result": {
6543               "$ref": "#/definitions/ErrorResults"
6544             }
6545           }
6546         },
6547         "WatchAPIHostPorts": {
6548           "type": "object",
6549           "properties": {
6550             "Result": {
6551               "$ref": "#/definitions/NotifyWatchResult"
6552             }
6553           }
6554         },
6555         "WatchUnits": {
6556           "type": "object",
6557           "properties": {
6558             "Params": {
6559               "$ref": "#/definitions/Entities"
6560             },
6561             "Result": {
6562               "$ref": "#/definitions/StringsWatchResults"
6563             }
6564           }
6565         }
6566       },
6567       "definitions": {
6568         "APIHostPortsResult": {
6569           "type": "object",
6570           "properties": {
6571             "servers": {
6572               "type": "array",
6573               "items": {
6574                 "type": "array",
6575                 "items": {
6576                   "$ref": "#/definitions/HostPort"
6577                 }
6578               }
6579             }
6580           },
6581           "additionalProperties": false,
6582           "required": [
6583             "servers"
6584           ]
6585         },
6586         "Address": {
6587           "type": "object",
6588           "properties": {
6589             "scope": {
6590               "type": "string"
6591             },
6592             "space-name": {
6593               "type": "string"
6594             },
6595             "type": {
6596               "type": "string"
6597             },
6598             "value": {
6599               "type": "string"
6600             }
6601           },
6602           "additionalProperties": false,
6603           "required": [
6604             "value",
6605             "type",
6606             "scope"
6607           ]
6608         },
6609         "BytesResult": {
6610           "type": "object",
6611           "properties": {
6612             "result": {
6613               "type": "array",
6614               "items": {
6615                 "type": "integer"
6616               }
6617             }
6618           },
6619           "additionalProperties": false,
6620           "required": [
6621             "result"
6622           ]
6623         },
6624         "DeployerConnectionValues": {
6625           "type": "object",
6626           "properties": {
6627             "api-addresses": {
6628               "type": "array",
6629               "items": {
6630                 "type": "string"
6631               }
6632             },
6633             "state-addresses": {
6634               "type": "array",
6635               "items": {
6636                 "type": "string"
6637               }
6638             }
6639           },
6640           "additionalProperties": false,
6641           "required": [
6642             "state-addresses",
6643             "api-addresses"
6644           ]
6645         },
6646         "Entities": {
6647           "type": "object",
6648           "properties": {
6649             "entities": {
6650               "type": "array",
6651               "items": {
6652                 "$ref": "#/definitions/Entity"
6653               }
6654             }
6655           },
6656           "additionalProperties": false,
6657           "required": [
6658             "entities"
6659           ]
6660         },
6661         "Entity": {
6662           "type": "object",
6663           "properties": {
6664             "tag": {
6665               "type": "string"
6666             }
6667           },
6668           "additionalProperties": false,
6669           "required": [
6670             "tag"
6671           ]
6672         },
6673         "EntityPassword": {
6674           "type": "object",
6675           "properties": {
6676             "password": {
6677               "type": "string"
6678             },
6679             "tag": {
6680               "type": "string"
6681             }
6682           },
6683           "additionalProperties": false,
6684           "required": [
6685             "tag",
6686             "password"
6687           ]
6688         },
6689         "EntityPasswords": {
6690           "type": "object",
6691           "properties": {
6692             "changes": {
6693               "type": "array",
6694               "items": {
6695                 "$ref": "#/definitions/EntityPassword"
6696               }
6697             }
6698           },
6699           "additionalProperties": false,
6700           "required": [
6701             "changes"
6702           ]
6703         },
6704         "EntityStatusArgs": {
6705           "type": "object",
6706           "properties": {
6707             "data": {
6708               "type": "object",
6709               "patternProperties": {
6710                 ".*": {
6711                   "type": "object",
6712                   "additionalProperties": true
6713                 }
6714               }
6715             },
6716             "info": {
6717               "type": "string"
6718             },
6719             "status": {
6720               "type": "string"
6721             },
6722             "tag": {
6723               "type": "string"
6724             }
6725           },
6726           "additionalProperties": false,
6727           "required": [
6728             "tag",
6729             "status",
6730             "info",
6731             "data"
6732           ]
6733         },
6734         "Error": {
6735           "type": "object",
6736           "properties": {
6737             "code": {
6738               "type": "string"
6739             },
6740             "info": {
6741               "$ref": "#/definitions/ErrorInfo"
6742             },
6743             "message": {
6744               "type": "string"
6745             }
6746           },
6747           "additionalProperties": false,
6748           "required": [
6749             "message",
6750             "code"
6751           ]
6752         },
6753         "ErrorInfo": {
6754           "type": "object",
6755           "properties": {
6756             "macaroon": {
6757               "$ref": "#/definitions/Macaroon"
6758             },
6759             "macaroon-path": {
6760               "type": "string"
6761             }
6762           },
6763           "additionalProperties": false
6764         },
6765         "ErrorResult": {
6766           "type": "object",
6767           "properties": {
6768             "error": {
6769               "$ref": "#/definitions/Error"
6770             }
6771           },
6772           "additionalProperties": false
6773         },
6774         "ErrorResults": {
6775           "type": "object",
6776           "properties": {
6777             "results": {
6778               "type": "array",
6779               "items": {
6780                 "$ref": "#/definitions/ErrorResult"
6781               }
6782             }
6783           },
6784           "additionalProperties": false,
6785           "required": [
6786             "results"
6787           ]
6788         },
6789         "HostPort": {
6790           "type": "object",
6791           "properties": {
6792             "Address": {
6793               "$ref": "#/definitions/Address"
6794             },
6795             "port": {
6796               "type": "integer"
6797             }
6798           },
6799           "additionalProperties": false,
6800           "required": [
6801             "Address",
6802             "port"
6803           ]
6804         },
6805         "LifeResult": {
6806           "type": "object",
6807           "properties": {
6808             "error": {
6809               "$ref": "#/definitions/Error"
6810             },
6811             "life": {
6812               "type": "string"
6813             }
6814           },
6815           "additionalProperties": false,
6816           "required": [
6817             "life"
6818           ]
6819         },
6820         "LifeResults": {
6821           "type": "object",
6822           "properties": {
6823             "results": {
6824               "type": "array",
6825               "items": {
6826                 "$ref": "#/definitions/LifeResult"
6827               }
6828             }
6829           },
6830           "additionalProperties": false,
6831           "required": [
6832             "results"
6833           ]
6834         },
6835         "Macaroon": {
6836           "type": "object",
6837           "additionalProperties": false
6838         },
6839         "NotifyWatchResult": {
6840           "type": "object",
6841           "properties": {
6842             "NotifyWatcherId": {
6843               "type": "string"
6844             },
6845             "error": {
6846               "$ref": "#/definitions/Error"
6847             }
6848           },
6849           "additionalProperties": false,
6850           "required": [
6851             "NotifyWatcherId"
6852           ]
6853         },
6854         "SetStatus": {
6855           "type": "object",
6856           "properties": {
6857             "entities": {
6858               "type": "array",
6859               "items": {
6860                 "$ref": "#/definitions/EntityStatusArgs"
6861               }
6862             }
6863           },
6864           "additionalProperties": false,
6865           "required": [
6866             "entities"
6867           ]
6868         },
6869         "StringResult": {
6870           "type": "object",
6871           "properties": {
6872             "error": {
6873               "$ref": "#/definitions/Error"
6874             },
6875             "result": {
6876               "type": "string"
6877             }
6878           },
6879           "additionalProperties": false,
6880           "required": [
6881             "result"
6882           ]
6883         },
6884         "StringsResult": {
6885           "type": "object",
6886           "properties": {
6887             "error": {
6888               "$ref": "#/definitions/Error"
6889             },
6890             "result": {
6891               "type": "array",
6892               "items": {
6893                 "type": "string"
6894               }
6895             }
6896           },
6897           "additionalProperties": false
6898         },
6899         "StringsWatchResult": {
6900           "type": "object",
6901           "properties": {
6902             "changes": {
6903               "type": "array",
6904               "items": {
6905                 "type": "string"
6906               }
6907             },
6908             "error": {
6909               "$ref": "#/definitions/Error"
6910             },
6911             "watcher-id": {
6912               "type": "string"
6913             }
6914           },
6915           "additionalProperties": false,
6916           "required": [
6917             "watcher-id"
6918           ]
6919         },
6920         "StringsWatchResults": {
6921           "type": "object",
6922           "properties": {
6923             "results": {
6924               "type": "array",
6925               "items": {
6926                 "$ref": "#/definitions/StringsWatchResult"
6927               }
6928             }
6929           },
6930           "additionalProperties": false,
6931           "required": [
6932             "results"
6933           ]
6934         }
6935       }
6936     }
6937   },
6938   {
6939     "Name": "DiscoverSpaces",
6940     "Version": 2,
6941     "Schema": {
6942       "type": "object",
6943       "properties": {
6944         "AddSubnets": {
6945           "type": "object",
6946           "properties": {
6947             "Params": {
6948               "$ref": "#/definitions/AddSubnetsParams"
6949             },
6950             "Result": {
6951               "$ref": "#/definitions/ErrorResults"
6952             }
6953           }
6954         },
6955         "CreateSpaces": {
6956           "type": "object",
6957           "properties": {
6958             "Params": {
6959               "$ref": "#/definitions/CreateSpacesParams"
6960             },
6961             "Result": {
6962               "$ref": "#/definitions/ErrorResults"
6963             }
6964           }
6965         },
6966         "ListSpaces": {
6967           "type": "object",
6968           "properties": {
6969             "Result": {
6970               "$ref": "#/definitions/DiscoverSpacesResults"
6971             }
6972           }
6973         },
6974         "ListSubnets": {
6975           "type": "object",
6976           "properties": {
6977             "Params": {
6978               "$ref": "#/definitions/SubnetsFilters"
6979             },
6980             "Result": {
6981               "$ref": "#/definitions/ListSubnetsResults"
6982             }
6983           }
6984         },
6985         "ModelConfig": {
6986           "type": "object",
6987           "properties": {
6988             "Result": {
6989               "$ref": "#/definitions/ModelConfigResult"
6990             }
6991           }
6992         }
6993       },
6994       "definitions": {
6995         "AddSubnetParams": {
6996           "type": "object",
6997           "properties": {
6998             "space-tag": {
6999               "type": "string"
7000             },
7001             "subnet-provider-id": {
7002               "type": "string"
7003             },
7004             "subnet-tag": {
7005               "type": "string"
7006             },
7007             "zones": {
7008               "type": "array",
7009               "items": {
7010                 "type": "string"
7011               }
7012             }
7013           },
7014           "additionalProperties": false,
7015           "required": [
7016             "space-tag"
7017           ]
7018         },
7019         "AddSubnetsParams": {
7020           "type": "object",
7021           "properties": {
7022             "subnets": {
7023               "type": "array",
7024               "items": {
7025                 "$ref": "#/definitions/AddSubnetParams"
7026               }
7027             }
7028           },
7029           "additionalProperties": false,
7030           "required": [
7031             "subnets"
7032           ]
7033         },
7034         "CreateSpaceParams": {
7035           "type": "object",
7036           "properties": {
7037             "provider-id": {
7038               "type": "string"
7039             },
7040             "public": {
7041               "type": "boolean"
7042             },
7043             "space-tag": {
7044               "type": "string"
7045             },
7046             "subnet-tags": {
7047               "type": "array",
7048               "items": {
7049                 "type": "string"
7050               }
7051             }
7052           },
7053           "additionalProperties": false,
7054           "required": [
7055             "subnet-tags",
7056             "space-tag",
7057             "public"
7058           ]
7059         },
7060         "CreateSpacesParams": {
7061           "type": "object",
7062           "properties": {
7063             "spaces": {
7064               "type": "array",
7065               "items": {
7066                 "$ref": "#/definitions/CreateSpaceParams"
7067               }
7068             }
7069           },
7070           "additionalProperties": false,
7071           "required": [
7072             "spaces"
7073           ]
7074         },
7075         "DiscoverSpacesResults": {
7076           "type": "object",
7077           "properties": {
7078             "results": {
7079               "type": "array",
7080               "items": {
7081                 "$ref": "#/definitions/ProviderSpace"
7082               }
7083             }
7084           },
7085           "additionalProperties": false,
7086           "required": [
7087             "results"
7088           ]
7089         },
7090         "Error": {
7091           "type": "object",
7092           "properties": {
7093             "code": {
7094               "type": "string"
7095             },
7096             "info": {
7097               "$ref": "#/definitions/ErrorInfo"
7098             },
7099             "message": {
7100               "type": "string"
7101             }
7102           },
7103           "additionalProperties": false,
7104           "required": [
7105             "message",
7106             "code"
7107           ]
7108         },
7109         "ErrorInfo": {
7110           "type": "object",
7111           "properties": {
7112             "macaroon": {
7113               "$ref": "#/definitions/Macaroon"
7114             },
7115             "macaroon-path": {
7116               "type": "string"
7117             }
7118           },
7119           "additionalProperties": false
7120         },
7121         "ErrorResult": {
7122           "type": "object",
7123           "properties": {
7124             "error": {
7125               "$ref": "#/definitions/Error"
7126             }
7127           },
7128           "additionalProperties": false
7129         },
7130         "ErrorResults": {
7131           "type": "object",
7132           "properties": {
7133             "results": {
7134               "type": "array",
7135               "items": {
7136                 "$ref": "#/definitions/ErrorResult"
7137               }
7138             }
7139           },
7140           "additionalProperties": false,
7141           "required": [
7142             "results"
7143           ]
7144         },
7145         "ListSubnetsResults": {
7146           "type": "object",
7147           "properties": {
7148             "results": {
7149               "type": "array",
7150               "items": {
7151                 "$ref": "#/definitions/Subnet"
7152               }
7153             }
7154           },
7155           "additionalProperties": false,
7156           "required": [
7157             "results"
7158           ]
7159         },
7160         "Macaroon": {
7161           "type": "object",
7162           "additionalProperties": false
7163         },
7164         "ModelConfigResult": {
7165           "type": "object",
7166           "properties": {
7167             "config": {
7168               "type": "object",
7169               "patternProperties": {
7170                 ".*": {
7171                   "type": "object",
7172                   "additionalProperties": true
7173                 }
7174               }
7175             }
7176           },
7177           "additionalProperties": false,
7178           "required": [
7179             "config"
7180           ]
7181         },
7182         "ProviderSpace": {
7183           "type": "object",
7184           "properties": {
7185             "error": {
7186               "$ref": "#/definitions/Error"
7187             },
7188             "name": {
7189               "type": "string"
7190             },
7191             "provider-id": {
7192               "type": "string"
7193             },
7194             "subnets": {
7195               "type": "array",
7196               "items": {
7197                 "$ref": "#/definitions/Subnet"
7198               }
7199             }
7200           },
7201           "additionalProperties": false,
7202           "required": [
7203             "name",
7204             "provider-id",
7205             "subnets"
7206           ]
7207         },
7208         "Subnet": {
7209           "type": "object",
7210           "properties": {
7211             "cidr": {
7212               "type": "string"
7213             },
7214             "life": {
7215               "type": "string"
7216             },
7217             "provider-id": {
7218               "type": "string"
7219             },
7220             "space-tag": {
7221               "type": "string"
7222             },
7223             "status": {
7224               "type": "string"
7225             },
7226             "vlan-tag": {
7227               "type": "integer"
7228             },
7229             "zones": {
7230               "type": "array",
7231               "items": {
7232                 "type": "string"
7233               }
7234             }
7235           },
7236           "additionalProperties": false,
7237           "required": [
7238             "cidr",
7239             "vlan-tag",
7240             "life",
7241             "space-tag",
7242             "zones"
7243           ]
7244         },
7245         "SubnetsFilters": {
7246           "type": "object",
7247           "properties": {
7248             "space-tag": {
7249               "type": "string"
7250             },
7251             "zone": {
7252               "type": "string"
7253             }
7254           },
7255           "additionalProperties": false
7256         }
7257       }
7258     }
7259   },
7260   {
7261     "Name": "DiskManager",
7262     "Version": 2,
7263     "Schema": {
7264       "type": "object",
7265       "properties": {
7266         "SetMachineBlockDevices": {
7267           "type": "object",
7268           "properties": {
7269             "Params": {
7270               "$ref": "#/definitions/SetMachineBlockDevices"
7271             },
7272             "Result": {
7273               "$ref": "#/definitions/ErrorResults"
7274             }
7275           }
7276         }
7277       },
7278       "definitions": {
7279         "BlockDevice": {
7280           "type": "object",
7281           "properties": {
7282             "BusAddress": {
7283               "type": "string"
7284             },
7285             "DeviceLinks": {
7286               "type": "array",
7287               "items": {
7288                 "type": "string"
7289               }
7290             },
7291             "DeviceName": {
7292               "type": "string"
7293             },
7294             "FilesystemType": {
7295               "type": "string"
7296             },
7297             "HardwareId": {
7298               "type": "string"
7299             },
7300             "InUse": {
7301               "type": "boolean"
7302             },
7303             "Label": {
7304               "type": "string"
7305             },
7306             "MountPoint": {
7307               "type": "string"
7308             },
7309             "Size": {
7310               "type": "integer"
7311             },
7312             "UUID": {
7313               "type": "string"
7314             }
7315           },
7316           "additionalProperties": false,
7317           "required": [
7318             "DeviceName",
7319             "DeviceLinks",
7320             "Label",
7321             "UUID",
7322             "HardwareId",
7323             "BusAddress",
7324             "Size",
7325             "FilesystemType",
7326             "InUse",
7327             "MountPoint"
7328           ]
7329         },
7330         "Error": {
7331           "type": "object",
7332           "properties": {
7333             "code": {
7334               "type": "string"
7335             },
7336             "info": {
7337               "$ref": "#/definitions/ErrorInfo"
7338             },
7339             "message": {
7340               "type": "string"
7341             }
7342           },
7343           "additionalProperties": false,
7344           "required": [
7345             "message",
7346             "code"
7347           ]
7348         },
7349         "ErrorInfo": {
7350           "type": "object",
7351           "properties": {
7352             "macaroon": {
7353               "$ref": "#/definitions/Macaroon"
7354             },
7355             "macaroon-path": {
7356               "type": "string"
7357             }
7358           },
7359           "additionalProperties": false
7360         },
7361         "ErrorResult": {
7362           "type": "object",
7363           "properties": {
7364             "error": {
7365               "$ref": "#/definitions/Error"
7366             }
7367           },
7368           "additionalProperties": false
7369         },
7370         "ErrorResults": {
7371           "type": "object",
7372           "properties": {
7373             "results": {
7374               "type": "array",
7375               "items": {
7376                 "$ref": "#/definitions/ErrorResult"
7377               }
7378             }
7379           },
7380           "additionalProperties": false,
7381           "required": [
7382             "results"
7383           ]
7384         },
7385         "Macaroon": {
7386           "type": "object",
7387           "additionalProperties": false
7388         },
7389         "MachineBlockDevices": {
7390           "type": "object",
7391           "properties": {
7392             "block-devices": {
7393               "type": "array",
7394               "items": {
7395                 "$ref": "#/definitions/BlockDevice"
7396               }
7397             },
7398             "machine": {
7399               "type": "string"
7400             }
7401           },
7402           "additionalProperties": false,
7403           "required": [
7404             "machine"
7405           ]
7406         },
7407         "SetMachineBlockDevices": {
7408           "type": "object",
7409           "properties": {
7410             "machine-block-devices": {
7411               "type": "array",
7412               "items": {
7413                 "$ref": "#/definitions/MachineBlockDevices"
7414               }
7415             }
7416           },
7417           "additionalProperties": false,
7418           "required": [
7419             "machine-block-devices"
7420           ]
7421         }
7422       }
7423     }
7424   },
7425   {
7426     "Name": "EntityWatcher",
7427     "Version": 2,
7428     "Schema": {
7429       "type": "object",
7430       "properties": {
7431         "Next": {
7432           "type": "object",
7433           "properties": {
7434             "Result": {
7435               "$ref": "#/definitions/EntitiesWatchResult"
7436             }
7437           }
7438         },
7439         "Stop": {
7440           "type": "object"
7441         }
7442       },
7443       "definitions": {
7444         "EntitiesWatchResult": {
7445           "type": "object",
7446           "properties": {
7447             "changes": {
7448               "type": "array",
7449               "items": {
7450                 "type": "string"
7451               }
7452             },
7453             "error": {
7454               "$ref": "#/definitions/Error"
7455             },
7456             "watcher-id": {
7457               "type": "string"
7458             }
7459           },
7460           "additionalProperties": false,
7461           "required": [
7462             "watcher-id"
7463           ]
7464         },
7465         "Error": {
7466           "type": "object",
7467           "properties": {
7468             "code": {
7469               "type": "string"
7470             },
7471             "info": {
7472               "$ref": "#/definitions/ErrorInfo"
7473             },
7474             "message": {
7475               "type": "string"
7476             }
7477           },
7478           "additionalProperties": false,
7479           "required": [
7480             "message",
7481             "code"
7482           ]
7483         },
7484         "ErrorInfo": {
7485           "type": "object",
7486           "properties": {
7487             "macaroon": {
7488               "$ref": "#/definitions/Macaroon"
7489             },
7490             "macaroon-path": {
7491               "type": "string"
7492             }
7493           },
7494           "additionalProperties": false
7495         },
7496         "Macaroon": {
7497           "type": "object",
7498           "additionalProperties": false
7499         }
7500       }
7501     }
7502   },
7503   {
7504     "Name": "FilesystemAttachmentsWatcher",
7505     "Version": 2,
7506     "Schema": {
7507       "type": "object",
7508       "properties": {
7509         "Next": {
7510           "type": "object",
7511           "properties": {
7512             "Result": {
7513               "$ref": "#/definitions/MachineStorageIdsWatchResult"
7514             }
7515           }
7516         },
7517         "Stop": {
7518           "type": "object"
7519         }
7520       },
7521       "definitions": {
7522         "Error": {
7523           "type": "object",
7524           "properties": {
7525             "code": {
7526               "type": "string"
7527             },
7528             "info": {
7529               "$ref": "#/definitions/ErrorInfo"
7530             },
7531             "message": {
7532               "type": "string"
7533             }
7534           },
7535           "additionalProperties": false,
7536           "required": [
7537             "message",
7538             "code"
7539           ]
7540         },
7541         "ErrorInfo": {
7542           "type": "object",
7543           "properties": {
7544             "macaroon": {
7545               "$ref": "#/definitions/Macaroon"
7546             },
7547             "macaroon-path": {
7548               "type": "string"
7549             }
7550           },
7551           "additionalProperties": false
7552         },
7553         "Macaroon": {
7554           "type": "object",
7555           "additionalProperties": false
7556         },
7557         "MachineStorageId": {
7558           "type": "object",
7559           "properties": {
7560             "attachment-tag": {
7561               "type": "string"
7562             },
7563             "machine-tag": {
7564               "type": "string"
7565             }
7566           },
7567           "additionalProperties": false,
7568           "required": [
7569             "machine-tag",
7570             "attachment-tag"
7571           ]
7572         },
7573         "MachineStorageIdsWatchResult": {
7574           "type": "object",
7575           "properties": {
7576             "changes": {
7577               "type": "array",
7578               "items": {
7579                 "$ref": "#/definitions/MachineStorageId"
7580               }
7581             },
7582             "error": {
7583               "$ref": "#/definitions/Error"
7584             },
7585             "watcher-id": {
7586               "type": "string"
7587             }
7588           },
7589           "additionalProperties": false,
7590           "required": [
7591             "watcher-id",
7592             "changes"
7593           ]
7594         }
7595       }
7596     }
7597   },
7598   {
7599     "Name": "Firewaller",
7600     "Version": 3,
7601     "Schema": {
7602       "type": "object",
7603       "properties": {
7604         "CloudSpec": {
7605           "type": "object",
7606           "properties": {
7607             "Params": {
7608               "$ref": "#/definitions/Entities"
7609             },
7610             "Result": {
7611               "$ref": "#/definitions/CloudSpecResults"
7612             }
7613           }
7614         },
7615         "GetAssignedMachine": {
7616           "type": "object",
7617           "properties": {
7618             "Params": {
7619               "$ref": "#/definitions/Entities"
7620             },
7621             "Result": {
7622               "$ref": "#/definitions/StringResults"
7623             }
7624           }
7625         },
7626         "GetCloudSpec": {
7627           "type": "object",
7628           "properties": {
7629             "Params": {
7630               "$ref": "#/definitions/ModelTag"
7631             },
7632             "Result": {
7633               "$ref": "#/definitions/CloudSpecResult"
7634             }
7635           }
7636         },
7637         "GetExposed": {
7638           "type": "object",
7639           "properties": {
7640             "Params": {
7641               "$ref": "#/definitions/Entities"
7642             },
7643             "Result": {
7644               "$ref": "#/definitions/BoolResults"
7645             }
7646           }
7647         },
7648         "GetMachineActiveSubnets": {
7649           "type": "object",
7650           "properties": {
7651             "Params": {
7652               "$ref": "#/definitions/Entities"
7653             },
7654             "Result": {
7655               "$ref": "#/definitions/StringsResults"
7656             }
7657           }
7658         },
7659         "GetMachinePorts": {
7660           "type": "object",
7661           "properties": {
7662             "Params": {
7663               "$ref": "#/definitions/MachinePortsParams"
7664             },
7665             "Result": {
7666               "$ref": "#/definitions/MachinePortsResults"
7667             }
7668           }
7669         },
7670         "InstanceId": {
7671           "type": "object",
7672           "properties": {
7673             "Params": {
7674               "$ref": "#/definitions/Entities"
7675             },
7676             "Result": {
7677               "$ref": "#/definitions/StringResults"
7678             }
7679           }
7680         },
7681         "Life": {
7682           "type": "object",
7683           "properties": {
7684             "Params": {
7685               "$ref": "#/definitions/Entities"
7686             },
7687             "Result": {
7688               "$ref": "#/definitions/LifeResults"
7689             }
7690           }
7691         },
7692         "ModelConfig": {
7693           "type": "object",
7694           "properties": {
7695             "Result": {
7696               "$ref": "#/definitions/ModelConfigResult"
7697             }
7698           }
7699         },
7700         "Watch": {
7701           "type": "object",
7702           "properties": {
7703             "Params": {
7704               "$ref": "#/definitions/Entities"
7705             },
7706             "Result": {
7707               "$ref": "#/definitions/NotifyWatchResults"
7708             }
7709           }
7710         },
7711         "WatchForModelConfigChanges": {
7712           "type": "object",
7713           "properties": {
7714             "Result": {
7715               "$ref": "#/definitions/NotifyWatchResult"
7716             }
7717           }
7718         },
7719         "WatchModelMachines": {
7720           "type": "object",
7721           "properties": {
7722             "Result": {
7723               "$ref": "#/definitions/StringsWatchResult"
7724             }
7725           }
7726         },
7727         "WatchOpenedPorts": {
7728           "type": "object",
7729           "properties": {
7730             "Params": {
7731               "$ref": "#/definitions/Entities"
7732             },
7733             "Result": {
7734               "$ref": "#/definitions/StringsWatchResults"
7735             }
7736           }
7737         },
7738         "WatchUnits": {
7739           "type": "object",
7740           "properties": {
7741             "Params": {
7742               "$ref": "#/definitions/Entities"
7743             },
7744             "Result": {
7745               "$ref": "#/definitions/StringsWatchResults"
7746             }
7747           }
7748         }
7749       },
7750       "definitions": {
7751         "BoolResult": {
7752           "type": "object",
7753           "properties": {
7754             "error": {
7755               "$ref": "#/definitions/Error"
7756             },
7757             "result": {
7758               "type": "boolean"
7759             }
7760           },
7761           "additionalProperties": false,
7762           "required": [
7763             "result"
7764           ]
7765         },
7766         "BoolResults": {
7767           "type": "object",
7768           "properties": {
7769             "results": {
7770               "type": "array",
7771               "items": {
7772                 "$ref": "#/definitions/BoolResult"
7773               }
7774             }
7775           },
7776           "additionalProperties": false,
7777           "required": [
7778             "results"
7779           ]
7780         },
7781         "CloudCredential": {
7782           "type": "object",
7783           "properties": {
7784             "attrs": {
7785               "type": "object",
7786               "patternProperties": {
7787                 ".*": {
7788                   "type": "string"
7789                 }
7790               }
7791             },
7792             "auth-type": {
7793               "type": "string"
7794             },
7795             "redacted": {
7796               "type": "array",
7797               "items": {
7798                 "type": "string"
7799               }
7800             }
7801           },
7802           "additionalProperties": false,
7803           "required": [
7804             "auth-type"
7805           ]
7806         },
7807         "CloudSpec": {
7808           "type": "object",
7809           "properties": {
7810             "credential": {
7811               "$ref": "#/definitions/CloudCredential"
7812             },
7813             "endpoint": {
7814               "type": "string"
7815             },
7816             "identity-endpoint": {
7817               "type": "string"
7818             },
7819             "name": {
7820               "type": "string"
7821             },
7822             "region": {
7823               "type": "string"
7824             },
7825             "storage-endpoint": {
7826               "type": "string"
7827             },
7828             "type": {
7829               "type": "string"
7830             }
7831           },
7832           "additionalProperties": false,
7833           "required": [
7834             "type",
7835             "name"
7836           ]
7837         },
7838         "CloudSpecResult": {
7839           "type": "object",
7840           "properties": {
7841             "error": {
7842               "$ref": "#/definitions/Error"
7843             },
7844             "result": {
7845               "$ref": "#/definitions/CloudSpec"
7846             }
7847           },
7848           "additionalProperties": false
7849         },
7850         "CloudSpecResults": {
7851           "type": "object",
7852           "properties": {
7853             "results": {
7854               "type": "array",
7855               "items": {
7856                 "$ref": "#/definitions/CloudSpecResult"
7857               }
7858             }
7859           },
7860           "additionalProperties": false
7861         },
7862         "Entities": {
7863           "type": "object",
7864           "properties": {
7865             "entities": {
7866               "type": "array",
7867               "items": {
7868                 "$ref": "#/definitions/Entity"
7869               }
7870             }
7871           },
7872           "additionalProperties": false,
7873           "required": [
7874             "entities"
7875           ]
7876         },
7877         "Entity": {
7878           "type": "object",
7879           "properties": {
7880             "tag": {
7881               "type": "string"
7882             }
7883           },
7884           "additionalProperties": false,
7885           "required": [
7886             "tag"
7887           ]
7888         },
7889         "Error": {
7890           "type": "object",
7891           "properties": {
7892             "code": {
7893               "type": "string"
7894             },
7895             "info": {
7896               "$ref": "#/definitions/ErrorInfo"
7897             },
7898             "message": {
7899               "type": "string"
7900             }
7901           },
7902           "additionalProperties": false,
7903           "required": [
7904             "message",
7905             "code"
7906           ]
7907         },
7908         "ErrorInfo": {
7909           "type": "object",
7910           "properties": {
7911             "macaroon": {
7912               "$ref": "#/definitions/Macaroon"
7913             },
7914             "macaroon-path": {
7915               "type": "string"
7916             }
7917           },
7918           "additionalProperties": false
7919         },
7920         "LifeResult": {
7921           "type": "object",
7922           "properties": {
7923             "error": {
7924               "$ref": "#/definitions/Error"
7925             },
7926             "life": {
7927               "type": "string"
7928             }
7929           },
7930           "additionalProperties": false,
7931           "required": [
7932             "life"
7933           ]
7934         },
7935         "LifeResults": {
7936           "type": "object",
7937           "properties": {
7938             "results": {
7939               "type": "array",
7940               "items": {
7941                 "$ref": "#/definitions/LifeResult"
7942               }
7943             }
7944           },
7945           "additionalProperties": false,
7946           "required": [
7947             "results"
7948           ]
7949         },
7950         "Macaroon": {
7951           "type": "object",
7952           "additionalProperties": false
7953         },
7954         "MachinePortRange": {
7955           "type": "object",
7956           "properties": {
7957             "port-range": {
7958               "$ref": "#/definitions/PortRange"
7959             },
7960             "relation-tag": {
7961               "type": "string"
7962             },
7963             "unit-tag": {
7964               "type": "string"
7965             }
7966           },
7967           "additionalProperties": false,
7968           "required": [
7969             "unit-tag",
7970             "relation-tag",
7971             "port-range"
7972           ]
7973         },
7974         "MachinePorts": {
7975           "type": "object",
7976           "properties": {
7977             "machine-tag": {
7978               "type": "string"
7979             },
7980             "subnet-tag": {
7981               "type": "string"
7982             }
7983           },
7984           "additionalProperties": false,
7985           "required": [
7986             "machine-tag",
7987             "subnet-tag"
7988           ]
7989         },
7990         "MachinePortsParams": {
7991           "type": "object",
7992           "properties": {
7993             "params": {
7994               "type": "array",
7995               "items": {
7996                 "$ref": "#/definitions/MachinePorts"
7997               }
7998             }
7999           },
8000           "additionalProperties": false,
8001           "required": [
8002             "params"
8003           ]
8004         },
8005         "MachinePortsResult": {
8006           "type": "object",
8007           "properties": {
8008             "error": {
8009               "$ref": "#/definitions/Error"
8010             },
8011             "ports": {
8012               "type": "array",
8013               "items": {
8014                 "$ref": "#/definitions/MachinePortRange"
8015               }
8016             }
8017           },
8018           "additionalProperties": false,
8019           "required": [
8020             "ports"
8021           ]
8022         },
8023         "MachinePortsResults": {
8024           "type": "object",
8025           "properties": {
8026             "results": {
8027               "type": "array",
8028               "items": {
8029                 "$ref": "#/definitions/MachinePortsResult"
8030               }
8031             }
8032           },
8033           "additionalProperties": false,
8034           "required": [
8035             "results"
8036           ]
8037         },
8038         "ModelConfigResult": {
8039           "type": "object",
8040           "properties": {
8041             "config": {
8042               "type": "object",
8043               "patternProperties": {
8044                 ".*": {
8045                   "type": "object",
8046                   "additionalProperties": true
8047                 }
8048               }
8049             }
8050           },
8051           "additionalProperties": false,
8052           "required": [
8053             "config"
8054           ]
8055         },
8056         "ModelTag": {
8057           "type": "object",
8058           "additionalProperties": false
8059         },
8060         "NotifyWatchResult": {
8061           "type": "object",
8062           "properties": {
8063             "NotifyWatcherId": {
8064               "type": "string"
8065             },
8066             "error": {
8067               "$ref": "#/definitions/Error"
8068             }
8069           },
8070           "additionalProperties": false,
8071           "required": [
8072             "NotifyWatcherId"
8073           ]
8074         },
8075         "NotifyWatchResults": {
8076           "type": "object",
8077           "properties": {
8078             "results": {
8079               "type": "array",
8080               "items": {
8081                 "$ref": "#/definitions/NotifyWatchResult"
8082               }
8083             }
8084           },
8085           "additionalProperties": false,
8086           "required": [
8087             "results"
8088           ]
8089         },
8090         "PortRange": {
8091           "type": "object",
8092           "properties": {
8093             "from-port": {
8094               "type": "integer"
8095             },
8096             "protocol": {
8097               "type": "string"
8098             },
8099             "to-port": {
8100               "type": "integer"
8101             }
8102           },
8103           "additionalProperties": false,
8104           "required": [
8105             "from-port",
8106             "to-port",
8107             "protocol"
8108           ]
8109         },
8110         "StringResult": {
8111           "type": "object",
8112           "properties": {
8113             "error": {
8114               "$ref": "#/definitions/Error"
8115             },
8116             "result": {
8117               "type": "string"
8118             }
8119           },
8120           "additionalProperties": false,
8121           "required": [
8122             "result"
8123           ]
8124         },
8125         "StringResults": {
8126           "type": "object",
8127           "properties": {
8128             "results": {
8129               "type": "array",
8130               "items": {
8131                 "$ref": "#/definitions/StringResult"
8132               }
8133             }
8134           },
8135           "additionalProperties": false,
8136           "required": [
8137             "results"
8138           ]
8139         },
8140         "StringsResult": {
8141           "type": "object",
8142           "properties": {
8143             "error": {
8144               "$ref": "#/definitions/Error"
8145             },
8146             "result": {
8147               "type": "array",
8148               "items": {
8149                 "type": "string"
8150               }
8151             }
8152           },
8153           "additionalProperties": false
8154         },
8155         "StringsResults": {
8156           "type": "object",
8157           "properties": {
8158             "results": {
8159               "type": "array",
8160               "items": {
8161                 "$ref": "#/definitions/StringsResult"
8162               }
8163             }
8164           },
8165           "additionalProperties": false,
8166           "required": [
8167             "results"
8168           ]
8169         },
8170         "StringsWatchResult": {
8171           "type": "object",
8172           "properties": {
8173             "changes": {
8174               "type": "array",
8175               "items": {
8176                 "type": "string"
8177               }
8178             },
8179             "error": {
8180               "$ref": "#/definitions/Error"
8181             },
8182             "watcher-id": {
8183               "type": "string"
8184             }
8185           },
8186           "additionalProperties": false,
8187           "required": [
8188             "watcher-id"
8189           ]
8190         },
8191         "StringsWatchResults": {
8192           "type": "object",
8193           "properties": {
8194             "results": {
8195               "type": "array",
8196               "items": {
8197                 "$ref": "#/definitions/StringsWatchResult"
8198               }
8199             }
8200           },
8201           "additionalProperties": false,
8202           "required": [
8203             "results"
8204           ]
8205         }
8206       }
8207     }
8208   },
8209   {
8210     "Name": "HighAvailability",
8211     "Version": 2,
8212     "Schema": {
8213       "type": "object",
8214       "properties": {
8215         "EnableHA": {
8216           "type": "object",
8217           "properties": {
8218             "Params": {
8219               "$ref": "#/definitions/ControllersSpecs"
8220             },
8221             "Result": {
8222               "$ref": "#/definitions/ControllersChangeResults"
8223             }
8224           }
8225         },
8226         "ResumeHAReplicationAfterUpgrade": {
8227           "type": "object",
8228           "properties": {
8229             "Params": {
8230               "$ref": "#/definitions/ResumeReplicationParams"
8231             }
8232           }
8233         },
8234         "StopHAReplicationForUpgrade": {
8235           "type": "object",
8236           "properties": {
8237             "Params": {
8238               "$ref": "#/definitions/UpgradeMongoParams"
8239             },
8240             "Result": {
8241               "$ref": "#/definitions/MongoUpgradeResults"
8242             }
8243           }
8244         }
8245       },
8246       "definitions": {
8247         "Address": {
8248           "type": "object",
8249           "properties": {
8250             "Scope": {
8251               "type": "string"
8252             },
8253             "SpaceName": {
8254               "type": "string"
8255             },
8256             "SpaceProviderId": {
8257               "type": "string"
8258             },
8259             "Type": {
8260               "type": "string"
8261             },
8262             "Value": {
8263               "type": "string"
8264             }
8265           },
8266           "additionalProperties": false,
8267           "required": [
8268             "Value",
8269             "Type",
8270             "Scope",
8271             "SpaceName",
8272             "SpaceProviderId"
8273           ]
8274         },
8275         "ControllersChangeResult": {
8276           "type": "object",
8277           "properties": {
8278             "error": {
8279               "$ref": "#/definitions/Error"
8280             },
8281             "result": {
8282               "$ref": "#/definitions/ControllersChanges"
8283             }
8284           },
8285           "additionalProperties": false,
8286           "required": [
8287             "result"
8288           ]
8289         },
8290         "ControllersChangeResults": {
8291           "type": "object",
8292           "properties": {
8293             "results": {
8294               "type": "array",
8295               "items": {
8296                 "$ref": "#/definitions/ControllersChangeResult"
8297               }
8298             }
8299           },
8300           "additionalProperties": false,
8301           "required": [
8302             "results"
8303           ]
8304         },
8305         "ControllersChanges": {
8306           "type": "object",
8307           "properties": {
8308             "added": {
8309               "type": "array",
8310               "items": {
8311                 "type": "string"
8312               }
8313             },
8314             "converted": {
8315               "type": "array",
8316               "items": {
8317                 "type": "string"
8318               }
8319             },
8320             "demoted": {
8321               "type": "array",
8322               "items": {
8323                 "type": "string"
8324               }
8325             },
8326             "maintained": {
8327               "type": "array",
8328               "items": {
8329                 "type": "string"
8330               }
8331             },
8332             "promoted": {
8333               "type": "array",
8334               "items": {
8335                 "type": "string"
8336               }
8337             },
8338             "removed": {
8339               "type": "array",
8340               "items": {
8341                 "type": "string"
8342               }
8343             }
8344           },
8345           "additionalProperties": false
8346         },
8347         "ControllersSpec": {
8348           "type": "object",
8349           "properties": {
8350             "constraints": {
8351               "$ref": "#/definitions/Value"
8352             },
8353             "num-controllers": {
8354               "type": "integer"
8355             },
8356             "placement": {
8357               "type": "array",
8358               "items": {
8359                 "type": "string"
8360               }
8361             },
8362             "series": {
8363               "type": "string"
8364             }
8365           },
8366           "additionalProperties": false,
8367           "required": [
8368             "num-controllers"
8369           ]
8370         },
8371         "ControllersSpecs": {
8372           "type": "object",
8373           "properties": {
8374             "specs": {
8375               "type": "array",
8376               "items": {
8377                 "$ref": "#/definitions/ControllersSpec"
8378               }
8379             }
8380           },
8381           "additionalProperties": false,
8382           "required": [
8383             "specs"
8384           ]
8385         },
8386         "Error": {
8387           "type": "object",
8388           "properties": {
8389             "code": {
8390               "type": "string"
8391             },
8392             "info": {
8393               "$ref": "#/definitions/ErrorInfo"
8394             },
8395             "message": {
8396               "type": "string"
8397             }
8398           },
8399           "additionalProperties": false,
8400           "required": [
8401             "message",
8402             "code"
8403           ]
8404         },
8405         "ErrorInfo": {
8406           "type": "object",
8407           "properties": {
8408             "macaroon": {
8409               "$ref": "#/definitions/Macaroon"
8410             },
8411             "macaroon-path": {
8412               "type": "string"
8413             }
8414           },
8415           "additionalProperties": false
8416         },
8417         "HAMember": {
8418           "type": "object",
8419           "properties": {
8420             "public-address": {
8421               "$ref": "#/definitions/Address"
8422             },
8423             "series": {
8424               "type": "string"
8425             },
8426             "tag": {
8427               "type": "string"
8428             }
8429           },
8430           "additionalProperties": false,
8431           "required": [
8432             "tag",
8433             "public-address",
8434             "series"
8435           ]
8436         },
8437         "Macaroon": {
8438           "type": "object",
8439           "additionalProperties": false
8440         },
8441         "Member": {
8442           "type": "object",
8443           "properties": {
8444             "Address": {
8445               "type": "string"
8446             },
8447             "Arbiter": {
8448               "type": "boolean"
8449             },
8450             "BuildIndexes": {
8451               "type": "boolean"
8452             },
8453             "Hidden": {
8454               "type": "boolean"
8455             },
8456             "Id": {
8457               "type": "integer"
8458             },
8459             "Priority": {
8460               "type": "number"
8461             },
8462             "SlaveDelay": {
8463               "type": "integer"
8464             },
8465             "Tags": {
8466               "type": "object",
8467               "patternProperties": {
8468                 ".*": {
8469                   "type": "string"
8470                 }
8471               }
8472             },
8473             "Votes": {
8474               "type": "integer"
8475             }
8476           },
8477           "additionalProperties": false,
8478           "required": [
8479             "Id",
8480             "Address",
8481             "Arbiter",
8482             "BuildIndexes",
8483             "Hidden",
8484             "Priority",
8485             "Tags",
8486             "SlaveDelay",
8487             "Votes"
8488           ]
8489         },
8490         "MongoUpgradeResults": {
8491           "type": "object",
8492           "properties": {
8493             "ha-members": {
8494               "type": "array",
8495               "items": {
8496                 "$ref": "#/definitions/HAMember"
8497               }
8498             },
8499             "master": {
8500               "$ref": "#/definitions/HAMember"
8501             },
8502             "rs-members": {
8503               "type": "array",
8504               "items": {
8505                 "$ref": "#/definitions/Member"
8506               }
8507             }
8508           },
8509           "additionalProperties": false,
8510           "required": [
8511             "rs-members",
8512             "master",
8513             "ha-members"
8514           ]
8515         },
8516         "MongoVersion": {
8517           "type": "object",
8518           "properties": {
8519             "engine": {
8520               "type": "string"
8521             },
8522             "major": {
8523               "type": "integer"
8524             },
8525             "minor": {
8526               "type": "integer"
8527             },
8528             "patch": {
8529               "type": "string"
8530             }
8531           },
8532           "additionalProperties": false,
8533           "required": [
8534             "major",
8535             "minor",
8536             "patch",
8537             "engine"
8538           ]
8539         },
8540         "ResumeReplicationParams": {
8541           "type": "object",
8542           "properties": {
8543             "members": {
8544               "type": "array",
8545               "items": {
8546                 "$ref": "#/definitions/Member"
8547               }
8548             }
8549           },
8550           "additionalProperties": false,
8551           "required": [
8552             "members"
8553           ]
8554         },
8555         "UpgradeMongoParams": {
8556           "type": "object",
8557           "properties": {
8558             "target": {
8559               "$ref": "#/definitions/MongoVersion"
8560             }
8561           },
8562           "additionalProperties": false,
8563           "required": [
8564             "target"
8565           ]
8566         },
8567         "Value": {
8568           "type": "object",
8569           "properties": {
8570             "arch": {
8571               "type": "string"
8572             },
8573             "container": {
8574               "type": "string"
8575             },
8576             "cores": {
8577               "type": "integer"
8578             },
8579             "cpu-power": {
8580               "type": "integer"
8581             },
8582             "instance-type": {
8583               "type": "string"
8584             },
8585             "mem": {
8586               "type": "integer"
8587             },
8588             "root-disk": {
8589               "type": "integer"
8590             },
8591             "spaces": {
8592               "type": "array",
8593               "items": {
8594                 "type": "string"
8595               }
8596             },
8597             "tags": {
8598               "type": "array",
8599               "items": {
8600                 "type": "string"
8601               }
8602             },
8603             "virt-type": {
8604               "type": "string"
8605             }
8606           },
8607           "additionalProperties": false
8608         }
8609       }
8610     }
8611   },
8612   {
8613     "Name": "HostKeyReporter",
8614     "Version": 1,
8615     "Schema": {
8616       "type": "object",
8617       "properties": {
8618         "ReportKeys": {
8619           "type": "object",
8620           "properties": {
8621             "Params": {
8622               "$ref": "#/definitions/SSHHostKeySet"
8623             },
8624             "Result": {
8625               "$ref": "#/definitions/ErrorResults"
8626             }
8627           }
8628         }
8629       },
8630       "definitions": {
8631         "Error": {
8632           "type": "object",
8633           "properties": {
8634             "code": {
8635               "type": "string"
8636             },
8637             "info": {
8638               "$ref": "#/definitions/ErrorInfo"
8639             },
8640             "message": {
8641               "type": "string"
8642             }
8643           },
8644           "additionalProperties": false,
8645           "required": [
8646             "message",
8647             "code"
8648           ]
8649         },
8650         "ErrorInfo": {
8651           "type": "object",
8652           "properties": {
8653             "macaroon": {
8654               "$ref": "#/definitions/Macaroon"
8655             },
8656             "macaroon-path": {
8657               "type": "string"
8658             }
8659           },
8660           "additionalProperties": false
8661         },
8662         "ErrorResult": {
8663           "type": "object",
8664           "properties": {
8665             "error": {
8666               "$ref": "#/definitions/Error"
8667             }
8668           },
8669           "additionalProperties": false
8670         },
8671         "ErrorResults": {
8672           "type": "object",
8673           "properties": {
8674             "results": {
8675               "type": "array",
8676               "items": {
8677                 "$ref": "#/definitions/ErrorResult"
8678               }
8679             }
8680           },
8681           "additionalProperties": false,
8682           "required": [
8683             "results"
8684           ]
8685         },
8686         "Macaroon": {
8687           "type": "object",
8688           "additionalProperties": false
8689         },
8690         "SSHHostKeySet": {
8691           "type": "object",
8692           "properties": {
8693             "entity-keys": {
8694               "type": "array",
8695               "items": {
8696                 "$ref": "#/definitions/SSHHostKeys"
8697               }
8698             }
8699           },
8700           "additionalProperties": false,
8701           "required": [
8702             "entity-keys"
8703           ]
8704         },
8705         "SSHHostKeys": {
8706           "type": "object",
8707           "properties": {
8708             "public-keys": {
8709               "type": "array",
8710               "items": {
8711                 "type": "string"
8712               }
8713             },
8714             "tag": {
8715               "type": "string"
8716             }
8717           },
8718           "additionalProperties": false,
8719           "required": [
8720             "tag",
8721             "public-keys"
8722           ]
8723         }
8724       }
8725     }
8726   },
8727   {
8728     "Name": "ImageManager",
8729     "Version": 2,
8730     "Schema": {
8731       "type": "object",
8732       "properties": {
8733         "DeleteImages": {
8734           "type": "object",
8735           "properties": {
8736             "Params": {
8737               "$ref": "#/definitions/ImageFilterParams"
8738             },
8739             "Result": {
8740               "$ref": "#/definitions/ErrorResults"
8741             }
8742           }
8743         },
8744         "ListImages": {
8745           "type": "object",
8746           "properties": {
8747             "Params": {
8748               "$ref": "#/definitions/ImageFilterParams"
8749             },
8750             "Result": {
8751               "$ref": "#/definitions/ListImageResult"
8752             }
8753           }
8754         }
8755       },
8756       "definitions": {
8757         "Error": {
8758           "type": "object",
8759           "properties": {
8760             "code": {
8761               "type": "string"
8762             },
8763             "info": {
8764               "$ref": "#/definitions/ErrorInfo"
8765             },
8766             "message": {
8767               "type": "string"
8768             }
8769           },
8770           "additionalProperties": false,
8771           "required": [
8772             "message",
8773             "code"
8774           ]
8775         },
8776         "ErrorInfo": {
8777           "type": "object",
8778           "properties": {
8779             "macaroon": {
8780               "$ref": "#/definitions/Macaroon"
8781             },
8782             "macaroon-path": {
8783               "type": "string"
8784             }
8785           },
8786           "additionalProperties": false
8787         },
8788         "ErrorResult": {
8789           "type": "object",
8790           "properties": {
8791             "error": {
8792               "$ref": "#/definitions/Error"
8793             }
8794           },
8795           "additionalProperties": false
8796         },
8797         "ErrorResults": {
8798           "type": "object",
8799           "properties": {
8800             "results": {
8801               "type": "array",
8802               "items": {
8803                 "$ref": "#/definitions/ErrorResult"
8804               }
8805             }
8806           },
8807           "additionalProperties": false,
8808           "required": [
8809             "results"
8810           ]
8811         },
8812         "ImageFilterParams": {
8813           "type": "object",
8814           "properties": {
8815             "images": {
8816               "type": "array",
8817               "items": {
8818                 "$ref": "#/definitions/ImageSpec"
8819               }
8820             }
8821           },
8822           "additionalProperties": false,
8823           "required": [
8824             "images"
8825           ]
8826         },
8827         "ImageMetadata": {
8828           "type": "object",
8829           "properties": {
8830             "arch": {
8831               "type": "string"
8832             },
8833             "created": {
8834               "type": "string",
8835               "format": "date-time"
8836             },
8837             "kind": {
8838               "type": "string"
8839             },
8840             "series": {
8841               "type": "string"
8842             },
8843             "url": {
8844               "type": "string"
8845             }
8846           },
8847           "additionalProperties": false,
8848           "required": [
8849             "kind",
8850             "arch",
8851             "series",
8852             "url",
8853             "created"
8854           ]
8855         },
8856         "ImageSpec": {
8857           "type": "object",
8858           "properties": {
8859             "arch": {
8860               "type": "string"
8861             },
8862             "kind": {
8863               "type": "string"
8864             },
8865             "series": {
8866               "type": "string"
8867             }
8868           },
8869           "additionalProperties": false,
8870           "required": [
8871             "kind",
8872             "arch",
8873             "series"
8874           ]
8875         },
8876         "ListImageResult": {
8877           "type": "object",
8878           "properties": {
8879             "result": {
8880               "type": "array",
8881               "items": {
8882                 "$ref": "#/definitions/ImageMetadata"
8883               }
8884             }
8885           },
8886           "additionalProperties": false,
8887           "required": [
8888             "result"
8889           ]
8890         },
8891         "Macaroon": {
8892           "type": "object",
8893           "additionalProperties": false
8894         }
8895       }
8896     }
8897   },
8898   {
8899     "Name": "ImageMetadata",
8900     "Version": 2,
8901     "Schema": {
8902       "type": "object",
8903       "properties": {
8904         "Delete": {
8905           "type": "object",
8906           "properties": {
8907             "Params": {
8908               "$ref": "#/definitions/MetadataImageIds"
8909             },
8910             "Result": {
8911               "$ref": "#/definitions/ErrorResults"
8912             }
8913           }
8914         },
8915         "List": {
8916           "type": "object",
8917           "properties": {
8918             "Params": {
8919               "$ref": "#/definitions/ImageMetadataFilter"
8920             },
8921             "Result": {
8922               "$ref": "#/definitions/ListCloudImageMetadataResult"
8923             }
8924           }
8925         },
8926         "Save": {
8927           "type": "object",
8928           "properties": {
8929             "Params": {
8930               "$ref": "#/definitions/MetadataSaveParams"
8931             },
8932             "Result": {
8933               "$ref": "#/definitions/ErrorResults"
8934             }
8935           }
8936         },
8937         "UpdateFromPublishedImages": {
8938           "type": "object"
8939         }
8940       },
8941       "definitions": {
8942         "CloudImageMetadata": {
8943           "type": "object",
8944           "properties": {
8945             "arch": {
8946               "type": "string"
8947             },
8948             "image-id": {
8949               "type": "string"
8950             },
8951             "priority": {
8952               "type": "integer"
8953             },
8954             "region": {
8955               "type": "string"
8956             },
8957             "root-storage-size": {
8958               "type": "integer"
8959             },
8960             "root-storage-type": {
8961               "type": "string"
8962             },
8963             "series": {
8964               "type": "string"
8965             },
8966             "source": {
8967               "type": "string"
8968             },
8969             "stream": {
8970               "type": "string"
8971             },
8972             "version": {
8973               "type": "string"
8974             },
8975             "virt-type": {
8976               "type": "string"
8977             }
8978           },
8979           "additionalProperties": false,
8980           "required": [
8981             "image-id",
8982             "region",
8983             "version",
8984             "series",
8985             "arch",
8986             "source",
8987             "priority"
8988           ]
8989         },
8990         "CloudImageMetadataList": {
8991           "type": "object",
8992           "properties": {
8993             "metadata": {
8994               "type": "array",
8995               "items": {
8996                 "$ref": "#/definitions/CloudImageMetadata"
8997               }
8998             }
8999           },
9000           "additionalProperties": false
9001         },
9002         "Error": {
9003           "type": "object",
9004           "properties": {
9005             "code": {
9006               "type": "string"
9007             },
9008             "info": {
9009               "$ref": "#/definitions/ErrorInfo"
9010             },
9011             "message": {
9012               "type": "string"
9013             }
9014           },
9015           "additionalProperties": false,
9016           "required": [
9017             "message",
9018             "code"
9019           ]
9020         },
9021         "ErrorInfo": {
9022           "type": "object",
9023           "properties": {
9024             "macaroon": {
9025               "$ref": "#/definitions/Macaroon"
9026             },
9027             "macaroon-path": {
9028               "type": "string"
9029             }
9030           },
9031           "additionalProperties": false
9032         },
9033         "ErrorResult": {
9034           "type": "object",
9035           "properties": {
9036             "error": {
9037               "$ref": "#/definitions/Error"
9038             }
9039           },
9040           "additionalProperties": false
9041         },
9042         "ErrorResults": {
9043           "type": "object",
9044           "properties": {
9045             "results": {
9046               "type": "array",
9047               "items": {
9048                 "$ref": "#/definitions/ErrorResult"
9049               }
9050             }
9051           },
9052           "additionalProperties": false,
9053           "required": [
9054             "results"
9055           ]
9056         },
9057         "ImageMetadataFilter": {
9058           "type": "object",
9059           "properties": {
9060             "arches": {
9061               "type": "array",
9062               "items": {
9063                 "type": "string"
9064               }
9065             },
9066             "region": {
9067               "type": "string"
9068             },
9069             "root-storage-type": {
9070               "type": "string"
9071             },
9072             "series": {
9073               "type": "array",
9074               "items": {
9075                 "type": "string"
9076               }
9077             },
9078             "stream": {
9079               "type": "string"
9080             },
9081             "virt-type": {
9082               "type": "string"
9083             }
9084           },
9085           "additionalProperties": false
9086         },
9087         "ListCloudImageMetadataResult": {
9088           "type": "object",
9089           "properties": {
9090             "result": {
9091               "type": "array",
9092               "items": {
9093                 "$ref": "#/definitions/CloudImageMetadata"
9094               }
9095             }
9096           },
9097           "additionalProperties": false,
9098           "required": [
9099             "result"
9100           ]
9101         },
9102         "Macaroon": {
9103           "type": "object",
9104           "additionalProperties": false
9105         },
9106         "MetadataImageIds": {
9107           "type": "object",
9108           "properties": {
9109             "image-ids": {
9110               "type": "array",
9111               "items": {
9112                 "type": "string"
9113               }
9114             }
9115           },
9116           "additionalProperties": false,
9117           "required": [
9118             "image-ids"
9119           ]
9120         },
9121         "MetadataSaveParams": {
9122           "type": "object",
9123           "properties": {
9124             "metadata": {
9125               "type": "array",
9126               "items": {
9127                 "$ref": "#/definitions/CloudImageMetadataList"
9128               }
9129             }
9130           },
9131           "additionalProperties": false
9132         }
9133       }
9134     }
9135   },
9136   {
9137     "Name": "InstancePoller",
9138     "Version": 3,
9139     "Schema": {
9140       "type": "object",
9141       "properties": {
9142         "AreManuallyProvisioned": {
9143           "type": "object",
9144           "properties": {
9145             "Params": {
9146               "$ref": "#/definitions/Entities"
9147             },
9148             "Result": {
9149               "$ref": "#/definitions/BoolResults"
9150             }
9151           }
9152         },
9153         "InstanceId": {
9154           "type": "object",
9155           "properties": {
9156             "Params": {
9157               "$ref": "#/definitions/Entities"
9158             },
9159             "Result": {
9160               "$ref": "#/definitions/StringResults"
9161             }
9162           }
9163         },
9164         "InstanceStatus": {
9165           "type": "object",
9166           "properties": {
9167             "Params": {
9168               "$ref": "#/definitions/Entities"
9169             },
9170             "Result": {
9171               "$ref": "#/definitions/StatusResults"
9172             }
9173           }
9174         },
9175         "Life": {
9176           "type": "object",
9177           "properties": {
9178             "Params": {
9179               "$ref": "#/definitions/Entities"
9180             },
9181             "Result": {
9182               "$ref": "#/definitions/LifeResults"
9183             }
9184           }
9185         },
9186         "ModelConfig": {
9187           "type": "object",
9188           "properties": {
9189             "Result": {
9190               "$ref": "#/definitions/ModelConfigResult"
9191             }
9192           }
9193         },
9194         "ProviderAddresses": {
9195           "type": "object",
9196           "properties": {
9197             "Params": {
9198               "$ref": "#/definitions/Entities"
9199             },
9200             "Result": {
9201               "$ref": "#/definitions/MachineAddressesResults"
9202             }
9203           }
9204         },
9205         "SetInstanceStatus": {
9206           "type": "object",
9207           "properties": {
9208             "Params": {
9209               "$ref": "#/definitions/SetStatus"
9210             },
9211             "Result": {
9212               "$ref": "#/definitions/ErrorResults"
9213             }
9214           }
9215         },
9216         "SetProviderAddresses": {
9217           "type": "object",
9218           "properties": {
9219             "Params": {
9220               "$ref": "#/definitions/SetMachinesAddresses"
9221             },
9222             "Result": {
9223               "$ref": "#/definitions/ErrorResults"
9224             }
9225           }
9226         },
9227         "Status": {
9228           "type": "object",
9229           "properties": {
9230             "Params": {
9231               "$ref": "#/definitions/Entities"
9232             },
9233             "Result": {
9234               "$ref": "#/definitions/StatusResults"
9235             }
9236           }
9237         },
9238         "WatchForModelConfigChanges": {
9239           "type": "object",
9240           "properties": {
9241             "Result": {
9242               "$ref": "#/definitions/NotifyWatchResult"
9243             }
9244           }
9245         },
9246         "WatchModelMachines": {
9247           "type": "object",
9248           "properties": {
9249             "Result": {
9250               "$ref": "#/definitions/StringsWatchResult"
9251             }
9252           }
9253         }
9254       },
9255       "definitions": {
9256         "Address": {
9257           "type": "object",
9258           "properties": {
9259             "scope": {
9260               "type": "string"
9261             },
9262             "space-name": {
9263               "type": "string"
9264             },
9265             "type": {
9266               "type": "string"
9267             },
9268             "value": {
9269               "type": "string"
9270             }
9271           },
9272           "additionalProperties": false,
9273           "required": [
9274             "value",
9275             "type",
9276             "scope"
9277           ]
9278         },
9279         "BoolResult": {
9280           "type": "object",
9281           "properties": {
9282             "error": {
9283               "$ref": "#/definitions/Error"
9284             },
9285             "result": {
9286               "type": "boolean"
9287             }
9288           },
9289           "additionalProperties": false,
9290           "required": [
9291             "result"
9292           ]
9293         },
9294         "BoolResults": {
9295           "type": "object",
9296           "properties": {
9297             "results": {
9298               "type": "array",
9299               "items": {
9300                 "$ref": "#/definitions/BoolResult"
9301               }
9302             }
9303           },
9304           "additionalProperties": false,
9305           "required": [
9306             "results"
9307           ]
9308         },
9309         "Entities": {
9310           "type": "object",
9311           "properties": {
9312             "entities": {
9313               "type": "array",
9314               "items": {
9315                 "$ref": "#/definitions/Entity"
9316               }
9317             }
9318           },
9319           "additionalProperties": false,
9320           "required": [
9321             "entities"
9322           ]
9323         },
9324         "Entity": {
9325           "type": "object",
9326           "properties": {
9327             "tag": {
9328               "type": "string"
9329             }
9330           },
9331           "additionalProperties": false,
9332           "required": [
9333             "tag"
9334           ]
9335         },
9336         "EntityStatusArgs": {
9337           "type": "object",
9338           "properties": {
9339             "data": {
9340               "type": "object",
9341               "patternProperties": {
9342                 ".*": {
9343                   "type": "object",
9344                   "additionalProperties": true
9345                 }
9346               }
9347             },
9348             "info": {
9349               "type": "string"
9350             },
9351             "status": {
9352               "type": "string"
9353             },
9354             "tag": {
9355               "type": "string"
9356             }
9357           },
9358           "additionalProperties": false,
9359           "required": [
9360             "tag",
9361             "status",
9362             "info",
9363             "data"
9364           ]
9365         },
9366         "Error": {
9367           "type": "object",
9368           "properties": {
9369             "code": {
9370               "type": "string"
9371             },
9372             "info": {
9373               "$ref": "#/definitions/ErrorInfo"
9374             },
9375             "message": {
9376               "type": "string"
9377             }
9378           },
9379           "additionalProperties": false,
9380           "required": [
9381             "message",
9382             "code"
9383           ]
9384         },
9385         "ErrorInfo": {
9386           "type": "object",
9387           "properties": {
9388             "macaroon": {
9389               "$ref": "#/definitions/Macaroon"
9390             },
9391             "macaroon-path": {
9392               "type": "string"
9393             }
9394           },
9395           "additionalProperties": false
9396         },
9397         "ErrorResult": {
9398           "type": "object",
9399           "properties": {
9400             "error": {
9401               "$ref": "#/definitions/Error"
9402             }
9403           },
9404           "additionalProperties": false
9405         },
9406         "ErrorResults": {
9407           "type": "object",
9408           "properties": {
9409             "results": {
9410               "type": "array",
9411               "items": {
9412                 "$ref": "#/definitions/ErrorResult"
9413               }
9414             }
9415           },
9416           "additionalProperties": false,
9417           "required": [
9418             "results"
9419           ]
9420         },
9421         "LifeResult": {
9422           "type": "object",
9423           "properties": {
9424             "error": {
9425               "$ref": "#/definitions/Error"
9426             },
9427             "life": {
9428               "type": "string"
9429             }
9430           },
9431           "additionalProperties": false,
9432           "required": [
9433             "life"
9434           ]
9435         },
9436         "LifeResults": {
9437           "type": "object",
9438           "properties": {
9439             "results": {
9440               "type": "array",
9441               "items": {
9442                 "$ref": "#/definitions/LifeResult"
9443               }
9444             }
9445           },
9446           "additionalProperties": false,
9447           "required": [
9448             "results"
9449           ]
9450         },
9451         "Macaroon": {
9452           "type": "object",
9453           "additionalProperties": false
9454         },
9455         "MachineAddresses": {
9456           "type": "object",
9457           "properties": {
9458             "addresses": {
9459               "type": "array",
9460               "items": {
9461                 "$ref": "#/definitions/Address"
9462               }
9463             },
9464             "tag": {
9465               "type": "string"
9466             }
9467           },
9468           "additionalProperties": false,
9469           "required": [
9470             "tag",
9471             "addresses"
9472           ]
9473         },
9474         "MachineAddressesResult": {
9475           "type": "object",
9476           "properties": {
9477             "addresses": {
9478               "type": "array",
9479               "items": {
9480                 "$ref": "#/definitions/Address"
9481               }
9482             },
9483             "error": {
9484               "$ref": "#/definitions/Error"
9485             }
9486           },
9487           "additionalProperties": false,
9488           "required": [
9489             "addresses"
9490           ]
9491         },
9492         "MachineAddressesResults": {
9493           "type": "object",
9494           "properties": {
9495             "results": {
9496               "type": "array",
9497               "items": {
9498                 "$ref": "#/definitions/MachineAddressesResult"
9499               }
9500             }
9501           },
9502           "additionalProperties": false,
9503           "required": [
9504             "results"
9505           ]
9506         },
9507         "ModelConfigResult": {
9508           "type": "object",
9509           "properties": {
9510             "config": {
9511               "type": "object",
9512               "patternProperties": {
9513                 ".*": {
9514                   "type": "object",
9515                   "additionalProperties": true
9516                 }
9517               }
9518             }
9519           },
9520           "additionalProperties": false,
9521           "required": [
9522             "config"
9523           ]
9524         },
9525         "NotifyWatchResult": {
9526           "type": "object",
9527           "properties": {
9528             "NotifyWatcherId": {
9529               "type": "string"
9530             },
9531             "error": {
9532               "$ref": "#/definitions/Error"
9533             }
9534           },
9535           "additionalProperties": false,
9536           "required": [
9537             "NotifyWatcherId"
9538           ]
9539         },
9540         "SetMachinesAddresses": {
9541           "type": "object",
9542           "properties": {
9543             "machine-addresses": {
9544               "type": "array",
9545               "items": {
9546                 "$ref": "#/definitions/MachineAddresses"
9547               }
9548             }
9549           },
9550           "additionalProperties": false,
9551           "required": [
9552             "machine-addresses"
9553           ]
9554         },
9555         "SetStatus": {
9556           "type": "object",
9557           "properties": {
9558             "entities": {
9559               "type": "array",
9560               "items": {
9561                 "$ref": "#/definitions/EntityStatusArgs"
9562               }
9563             }
9564           },
9565           "additionalProperties": false,
9566           "required": [
9567             "entities"
9568           ]
9569         },
9570         "StatusResult": {
9571           "type": "object",
9572           "properties": {
9573             "data": {
9574               "type": "object",
9575               "patternProperties": {
9576                 ".*": {
9577                   "type": "object",
9578                   "additionalProperties": true
9579                 }
9580               }
9581             },
9582             "error": {
9583               "$ref": "#/definitions/Error"
9584             },
9585             "id": {
9586               "type": "string"
9587             },
9588             "info": {
9589               "type": "string"
9590             },
9591             "life": {
9592               "type": "string"
9593             },
9594             "since": {
9595               "type": "string",
9596               "format": "date-time"
9597             },
9598             "status": {
9599               "type": "string"
9600             }
9601           },
9602           "additionalProperties": false,
9603           "required": [
9604             "id",
9605             "life",
9606             "status",
9607             "info",
9608             "data",
9609             "since"
9610           ]
9611         },
9612         "StatusResults": {
9613           "type": "object",
9614           "properties": {
9615             "results": {
9616               "type": "array",
9617               "items": {
9618                 "$ref": "#/definitions/StatusResult"
9619               }
9620             }
9621           },
9622           "additionalProperties": false,
9623           "required": [
9624             "results"
9625           ]
9626         },
9627         "StringResult": {
9628           "type": "object",
9629           "properties": {
9630             "error": {
9631               "$ref": "#/definitions/Error"
9632             },
9633             "result": {
9634               "type": "string"
9635             }
9636           },
9637           "additionalProperties": false,
9638           "required": [
9639             "result"
9640           ]
9641         },
9642         "StringResults": {
9643           "type": "object",
9644           "properties": {
9645             "results": {
9646               "type": "array",
9647               "items": {
9648                 "$ref": "#/definitions/StringResult"
9649               }
9650             }
9651           },
9652           "additionalProperties": false,
9653           "required": [
9654             "results"
9655           ]
9656         },
9657         "StringsWatchResult": {
9658           "type": "object",
9659           "properties": {
9660             "changes": {
9661               "type": "array",
9662               "items": {
9663                 "type": "string"
9664               }
9665             },
9666             "error": {
9667               "$ref": "#/definitions/Error"
9668             },
9669             "watcher-id": {
9670               "type": "string"
9671             }
9672           },
9673           "additionalProperties": false,
9674           "required": [
9675             "watcher-id"
9676           ]
9677         }
9678       }
9679     }
9680   },
9681   {
9682     "Name": "KeyManager",
9683     "Version": 1,
9684     "Schema": {
9685       "type": "object",
9686       "properties": {
9687         "AddKeys": {
9688           "type": "object",
9689           "properties": {
9690             "Params": {
9691               "$ref": "#/definitions/ModifyUserSSHKeys"
9692             },
9693             "Result": {
9694               "$ref": "#/definitions/ErrorResults"
9695             }
9696           }
9697         },
9698         "DeleteKeys": {
9699           "type": "object",
9700           "properties": {
9701             "Params": {
9702               "$ref": "#/definitions/ModifyUserSSHKeys"
9703             },
9704             "Result": {
9705               "$ref": "#/definitions/ErrorResults"
9706             }
9707           }
9708         },
9709         "ImportKeys": {
9710           "type": "object",
9711           "properties": {
9712             "Params": {
9713               "$ref": "#/definitions/ModifyUserSSHKeys"
9714             },
9715             "Result": {
9716               "$ref": "#/definitions/ErrorResults"
9717             }
9718           }
9719         },
9720         "ListKeys": {
9721           "type": "object",
9722           "properties": {
9723             "Params": {
9724               "$ref": "#/definitions/ListSSHKeys"
9725             },
9726             "Result": {
9727               "$ref": "#/definitions/StringsResults"
9728             }
9729           }
9730         }
9731       },
9732       "definitions": {
9733         "Entities": {
9734           "type": "object",
9735           "properties": {
9736             "entities": {
9737               "type": "array",
9738               "items": {
9739                 "$ref": "#/definitions/Entity"
9740               }
9741             }
9742           },
9743           "additionalProperties": false,
9744           "required": [
9745             "entities"
9746           ]
9747         },
9748         "Entity": {
9749           "type": "object",
9750           "properties": {
9751             "tag": {
9752               "type": "string"
9753             }
9754           },
9755           "additionalProperties": false,
9756           "required": [
9757             "tag"
9758           ]
9759         },
9760         "Error": {
9761           "type": "object",
9762           "properties": {
9763             "code": {
9764               "type": "string"
9765             },
9766             "info": {
9767               "$ref": "#/definitions/ErrorInfo"
9768             },
9769             "message": {
9770               "type": "string"
9771             }
9772           },
9773           "additionalProperties": false,
9774           "required": [
9775             "message",
9776             "code"
9777           ]
9778         },
9779         "ErrorInfo": {
9780           "type": "object",
9781           "properties": {
9782             "macaroon": {
9783               "$ref": "#/definitions/Macaroon"
9784             },
9785             "macaroon-path": {
9786               "type": "string"
9787             }
9788           },
9789           "additionalProperties": false
9790         },
9791         "ErrorResult": {
9792           "type": "object",
9793           "properties": {
9794             "error": {
9795               "$ref": "#/definitions/Error"
9796             }
9797           },
9798           "additionalProperties": false
9799         },
9800         "ErrorResults": {
9801           "type": "object",
9802           "properties": {
9803             "results": {
9804               "type": "array",
9805               "items": {
9806                 "$ref": "#/definitions/ErrorResult"
9807               }
9808             }
9809           },
9810           "additionalProperties": false,
9811           "required": [
9812             "results"
9813           ]
9814         },
9815         "ListSSHKeys": {
9816           "type": "object",
9817           "properties": {
9818             "entities": {
9819               "$ref": "#/definitions/Entities"
9820             },
9821             "mode": {
9822               "type": "boolean"
9823             }
9824           },
9825           "additionalProperties": false,
9826           "required": [
9827             "entities",
9828             "mode"
9829           ]
9830         },
9831         "Macaroon": {
9832           "type": "object",
9833           "additionalProperties": false
9834         },
9835         "ModifyUserSSHKeys": {
9836           "type": "object",
9837           "properties": {
9838             "ssh-keys": {
9839               "type": "array",
9840               "items": {
9841                 "type": "string"
9842               }
9843             },
9844             "user": {
9845               "type": "string"
9846             }
9847           },
9848           "additionalProperties": false,
9849           "required": [
9850             "user",
9851             "ssh-keys"
9852           ]
9853         },
9854         "StringsResult": {
9855           "type": "object",
9856           "properties": {
9857             "error": {
9858               "$ref": "#/definitions/Error"
9859             },
9860             "result": {
9861               "type": "array",
9862               "items": {
9863                 "type": "string"
9864               }
9865             }
9866           },
9867           "additionalProperties": false
9868         },
9869         "StringsResults": {
9870           "type": "object",
9871           "properties": {
9872             "results": {
9873               "type": "array",
9874               "items": {
9875                 "$ref": "#/definitions/StringsResult"
9876               }
9877             }
9878           },
9879           "additionalProperties": false,
9880           "required": [
9881             "results"
9882           ]
9883         }
9884       }
9885     }
9886   },
9887   {
9888     "Name": "KeyUpdater",
9889     "Version": 1,
9890     "Schema": {
9891       "type": "object",
9892       "properties": {
9893         "AuthorisedKeys": {
9894           "type": "object",
9895           "properties": {
9896             "Params": {
9897               "$ref": "#/definitions/Entities"
9898             },
9899             "Result": {
9900               "$ref": "#/definitions/StringsResults"
9901             }
9902           }
9903         },
9904         "WatchAuthorisedKeys": {
9905           "type": "object",
9906           "properties": {
9907             "Params": {
9908               "$ref": "#/definitions/Entities"
9909             },
9910             "Result": {
9911               "$ref": "#/definitions/NotifyWatchResults"
9912             }
9913           }
9914         }
9915       },
9916       "definitions": {
9917         "Entities": {
9918           "type": "object",
9919           "properties": {
9920             "entities": {
9921               "type": "array",
9922               "items": {
9923                 "$ref": "#/definitions/Entity"
9924               }
9925             }
9926           },
9927           "additionalProperties": false,
9928           "required": [
9929             "entities"
9930           ]
9931         },
9932         "Entity": {
9933           "type": "object",
9934           "properties": {
9935             "tag": {
9936               "type": "string"
9937             }
9938           },
9939           "additionalProperties": false,
9940           "required": [
9941             "tag"
9942           ]
9943         },
9944         "Error": {
9945           "type": "object",
9946           "properties": {
9947             "code": {
9948               "type": "string"
9949             },
9950             "info": {
9951               "$ref": "#/definitions/ErrorInfo"
9952             },
9953             "message": {
9954               "type": "string"
9955             }
9956           },
9957           "additionalProperties": false,
9958           "required": [
9959             "message",
9960             "code"
9961           ]
9962         },
9963         "ErrorInfo": {
9964           "type": "object",
9965           "properties": {
9966             "macaroon": {
9967               "$ref": "#/definitions/Macaroon"
9968             },
9969             "macaroon-path": {
9970               "type": "string"
9971             }
9972           },
9973           "additionalProperties": false
9974         },
9975         "Macaroon": {
9976           "type": "object",
9977           "additionalProperties": false
9978         },
9979         "NotifyWatchResult": {
9980           "type": "object",
9981           "properties": {
9982             "NotifyWatcherId": {
9983               "type": "string"
9984             },
9985             "error": {
9986               "$ref": "#/definitions/Error"
9987             }
9988           },
9989           "additionalProperties": false,
9990           "required": [
9991             "NotifyWatcherId"
9992           ]
9993         },
9994         "NotifyWatchResults": {
9995           "type": "object",
9996           "properties": {
9997             "results": {
9998               "type": "array",
9999               "items": {
10000                 "$ref": "#/definitions/NotifyWatchResult"
10001               }
10002             }
10003           },
10004           "additionalProperties": false,
10005           "required": [
10006             "results"
10007           ]
10008         },
10009         "StringsResult": {
10010           "type": "object",
10011           "properties": {
10012             "error": {
10013               "$ref": "#/definitions/Error"
10014             },
10015             "result": {
10016               "type": "array",
10017               "items": {
10018                 "type": "string"
10019               }
10020             }
10021           },
10022           "additionalProperties": false
10023         },
10024         "StringsResults": {
10025           "type": "object",
10026           "properties": {
10027             "results": {
10028               "type": "array",
10029               "items": {
10030                 "$ref": "#/definitions/StringsResult"
10031               }
10032             }
10033           },
10034           "additionalProperties": false,
10035           "required": [
10036             "results"
10037           ]
10038         }
10039       }
10040     }
10041   },
10042   {
10043     "Name": "LeadershipService",
10044     "Version": 2,
10045     "Schema": {
10046       "type": "object",
10047       "properties": {
10048         "BlockUntilLeadershipReleased": {
10049           "type": "object",
10050           "properties": {
10051             "Params": {
10052               "$ref": "#/definitions/ApplicationTag"
10053             },
10054             "Result": {
10055               "$ref": "#/definitions/ErrorResult"
10056             }
10057           }
10058         },
10059         "ClaimLeadership": {
10060           "type": "object",
10061           "properties": {
10062             "Params": {
10063               "$ref": "#/definitions/ClaimLeadershipBulkParams"
10064             },
10065             "Result": {
10066               "$ref": "#/definitions/ClaimLeadershipBulkResults"
10067             }
10068           }
10069         }
10070       },
10071       "definitions": {
10072         "ApplicationTag": {
10073           "type": "object",
10074           "properties": {
10075             "Name": {
10076               "type": "string"
10077             }
10078           },
10079           "additionalProperties": false,
10080           "required": [
10081             "Name"
10082           ]
10083         },
10084         "ClaimLeadershipBulkParams": {
10085           "type": "object",
10086           "properties": {
10087             "params": {
10088               "type": "array",
10089               "items": {
10090                 "$ref": "#/definitions/ClaimLeadershipParams"
10091               }
10092             }
10093           },
10094           "additionalProperties": false,
10095           "required": [
10096             "params"
10097           ]
10098         },
10099         "ClaimLeadershipBulkResults": {
10100           "type": "object",
10101           "properties": {
10102             "results": {
10103               "type": "array",
10104               "items": {
10105                 "$ref": "#/definitions/ErrorResult"
10106               }
10107             }
10108           },
10109           "additionalProperties": false,
10110           "required": [
10111             "results"
10112           ]
10113         },
10114         "ClaimLeadershipParams": {
10115           "type": "object",
10116           "properties": {
10117             "application-tag": {
10118               "type": "string"
10119             },
10120             "duration": {
10121               "type": "number"
10122             },
10123             "unit-tag": {
10124               "type": "string"
10125             }
10126           },
10127           "additionalProperties": false,
10128           "required": [
10129             "application-tag",
10130             "unit-tag",
10131             "duration"
10132           ]
10133         },
10134         "Error": {
10135           "type": "object",
10136           "properties": {
10137             "code": {
10138               "type": "string"
10139             },
10140             "info": {
10141               "$ref": "#/definitions/ErrorInfo"
10142             },
10143             "message": {
10144               "type": "string"
10145             }
10146           },
10147           "additionalProperties": false,
10148           "required": [
10149             "message",
10150             "code"
10151           ]
10152         },
10153         "ErrorInfo": {
10154           "type": "object",
10155           "properties": {
10156             "macaroon": {
10157               "$ref": "#/definitions/Macaroon"
10158             },
10159             "macaroon-path": {
10160               "type": "string"
10161             }
10162           },
10163           "additionalProperties": false
10164         },
10165         "ErrorResult": {
10166           "type": "object",
10167           "properties": {
10168             "error": {
10169               "$ref": "#/definitions/Error"
10170             }
10171           },
10172           "additionalProperties": false
10173         },
10174         "Macaroon": {
10175           "type": "object",
10176           "additionalProperties": false
10177         }
10178       }
10179     }
10180   },
10181   {
10182     "Name": "LifeFlag",
10183     "Version": 1,
10184     "Schema": {
10185       "type": "object",
10186       "properties": {
10187         "Life": {
10188           "type": "object",
10189           "properties": {
10190             "Params": {
10191               "$ref": "#/definitions/Entities"
10192             },
10193             "Result": {
10194               "$ref": "#/definitions/LifeResults"
10195             }
10196           }
10197         },
10198         "Watch": {
10199           "type": "object",
10200           "properties": {
10201             "Params": {
10202               "$ref": "#/definitions/Entities"
10203             },
10204             "Result": {
10205               "$ref": "#/definitions/NotifyWatchResults"
10206             }
10207           }
10208         }
10209       },
10210       "definitions": {
10211         "Entities": {
10212           "type": "object",
10213           "properties": {
10214             "entities": {
10215               "type": "array",
10216               "items": {
10217                 "$ref": "#/definitions/Entity"
10218               }
10219             }
10220           },
10221           "additionalProperties": false,
10222           "required": [
10223             "entities"
10224           ]
10225         },
10226         "Entity": {
10227           "type": "object",
10228           "properties": {
10229             "tag": {
10230               "type": "string"
10231             }
10232           },
10233           "additionalProperties": false,
10234           "required": [
10235             "tag"
10236           ]
10237         },
10238         "Error": {
10239           "type": "object",
10240           "properties": {
10241             "code": {
10242               "type": "string"
10243             },
10244             "info": {
10245               "$ref": "#/definitions/ErrorInfo"
10246             },
10247             "message": {
10248               "type": "string"
10249             }
10250           },
10251           "additionalProperties": false,
10252           "required": [
10253             "message",
10254             "code"
10255           ]
10256         },
10257         "ErrorInfo": {
10258           "type": "object",
10259           "properties": {
10260             "macaroon": {
10261               "$ref": "#/definitions/Macaroon"
10262             },
10263             "macaroon-path": {
10264               "type": "string"
10265             }
10266           },
10267           "additionalProperties": false
10268         },
10269         "LifeResult": {
10270           "type": "object",
10271           "properties": {
10272             "error": {
10273               "$ref": "#/definitions/Error"
10274             },
10275             "life": {
10276               "type": "string"
10277             }
10278           },
10279           "additionalProperties": false,
10280           "required": [
10281             "life"
10282           ]
10283         },
10284         "LifeResults": {
10285           "type": "object",
10286           "properties": {
10287             "results": {
10288               "type": "array",
10289               "items": {
10290                 "$ref": "#/definitions/LifeResult"
10291               }
10292             }
10293           },
10294           "additionalProperties": false,
10295           "required": [
10296             "results"
10297           ]
10298         },
10299         "Macaroon": {
10300           "type": "object",
10301           "additionalProperties": false
10302         },
10303         "NotifyWatchResult": {
10304           "type": "object",
10305           "properties": {
10306             "NotifyWatcherId": {
10307               "type": "string"
10308             },
10309             "error": {
10310               "$ref": "#/definitions/Error"
10311             }
10312           },
10313           "additionalProperties": false,
10314           "required": [
10315             "NotifyWatcherId"
10316           ]
10317         },
10318         "NotifyWatchResults": {
10319           "type": "object",
10320           "properties": {
10321             "results": {
10322               "type": "array",
10323               "items": {
10324                 "$ref": "#/definitions/NotifyWatchResult"
10325               }
10326             }
10327           },
10328           "additionalProperties": false,
10329           "required": [
10330             "results"
10331           ]
10332         }
10333       }
10334     }
10335   },
10336   {
10337     "Name": "LogForwarding",
10338     "Version": 1,
10339     "Schema": {
10340       "type": "object",
10341       "properties": {
10342         "GetLastSent": {
10343           "type": "object",
10344           "properties": {
10345             "Params": {
10346               "$ref": "#/definitions/LogForwardingGetLastSentParams"
10347             },
10348             "Result": {
10349               "$ref": "#/definitions/LogForwardingGetLastSentResults"
10350             }
10351           }
10352         },
10353         "SetLastSent": {
10354           "type": "object",
10355           "properties": {
10356             "Params": {
10357               "$ref": "#/definitions/LogForwardingSetLastSentParams"
10358             },
10359             "Result": {
10360               "$ref": "#/definitions/ErrorResults"
10361             }
10362           }
10363         }
10364       },
10365       "definitions": {
10366         "Error": {
10367           "type": "object",
10368           "properties": {
10369             "code": {
10370               "type": "string"
10371             },
10372             "info": {
10373               "$ref": "#/definitions/ErrorInfo"
10374             },
10375             "message": {
10376               "type": "string"
10377             }
10378           },
10379           "additionalProperties": false,
10380           "required": [
10381             "message",
10382             "code"
10383           ]
10384         },
10385         "ErrorInfo": {
10386           "type": "object",
10387           "properties": {
10388             "macaroon": {
10389               "$ref": "#/definitions/Macaroon"
10390             },
10391             "macaroon-path": {
10392               "type": "string"
10393             }
10394           },
10395           "additionalProperties": false
10396         },
10397         "ErrorResult": {
10398           "type": "object",
10399           "properties": {
10400             "error": {
10401               "$ref": "#/definitions/Error"
10402             }
10403           },
10404           "additionalProperties": false
10405         },
10406         "ErrorResults": {
10407           "type": "object",
10408           "properties": {
10409             "results": {
10410               "type": "array",
10411               "items": {
10412                 "$ref": "#/definitions/ErrorResult"
10413               }
10414             }
10415           },
10416           "additionalProperties": false,
10417           "required": [
10418             "results"
10419           ]
10420         },
10421         "LogForwardingGetLastSentParams": {
10422           "type": "object",
10423           "properties": {
10424             "ids": {
10425               "type": "array",
10426               "items": {
10427                 "$ref": "#/definitions/LogForwardingID"
10428               }
10429             }
10430           },
10431           "additionalProperties": false,
10432           "required": [
10433             "ids"
10434           ]
10435         },
10436         "LogForwardingGetLastSentResult": {
10437           "type": "object",
10438           "properties": {
10439             "err": {
10440               "$ref": "#/definitions/Error"
10441             },
10442             "record-id": {
10443               "type": "integer"
10444             },
10445             "record-timestamp": {
10446               "type": "integer"
10447             }
10448           },
10449           "additionalProperties": false,
10450           "required": [
10451             "record-id",
10452             "record-timestamp",
10453             "err"
10454           ]
10455         },
10456         "LogForwardingGetLastSentResults": {
10457           "type": "object",
10458           "properties": {
10459             "results": {
10460               "type": "array",
10461               "items": {
10462                 "$ref": "#/definitions/LogForwardingGetLastSentResult"
10463               }
10464             }
10465           },
10466           "additionalProperties": false,
10467           "required": [
10468             "results"
10469           ]
10470         },
10471         "LogForwardingID": {
10472           "type": "object",
10473           "properties": {
10474             "model": {
10475               "type": "string"
10476             },
10477             "sink": {
10478               "type": "string"
10479             }
10480           },
10481           "additionalProperties": false,
10482           "required": [
10483             "model",
10484             "sink"
10485           ]
10486         },
10487         "LogForwardingSetLastSentParam": {
10488           "type": "object",
10489           "properties": {
10490             "LogForwardingID": {
10491               "$ref": "#/definitions/LogForwardingID"
10492             },
10493             "record-id": {
10494               "type": "integer"
10495             },
10496             "record-timestamp": {
10497               "type": "integer"
10498             }
10499           },
10500           "additionalProperties": false,
10501           "required": [
10502             "LogForwardingID",
10503             "record-id",
10504             "record-timestamp"
10505           ]
10506         },
10507         "LogForwardingSetLastSentParams": {
10508           "type": "object",
10509           "properties": {
10510             "params": {
10511               "type": "array",
10512               "items": {
10513                 "$ref": "#/definitions/LogForwardingSetLastSentParam"
10514               }
10515             }
10516           },
10517           "additionalProperties": false,
10518           "required": [
10519             "params"
10520           ]
10521         },
10522         "Macaroon": {
10523           "type": "object",
10524           "additionalProperties": false
10525         }
10526       }
10527     }
10528   },
10529   {
10530     "Name": "Logger",
10531     "Version": 1,
10532     "Schema": {
10533       "type": "object",
10534       "properties": {
10535         "LoggingConfig": {
10536           "type": "object",
10537           "properties": {
10538             "Params": {
10539               "$ref": "#/definitions/Entities"
10540             },
10541             "Result": {
10542               "$ref": "#/definitions/StringResults"
10543             }
10544           }
10545         },
10546         "WatchLoggingConfig": {
10547           "type": "object",
10548           "properties": {
10549             "Params": {
10550               "$ref": "#/definitions/Entities"
10551             },
10552             "Result": {
10553               "$ref": "#/definitions/NotifyWatchResults"
10554             }
10555           }
10556         }
10557       },
10558       "definitions": {
10559         "Entities": {
10560           "type": "object",
10561           "properties": {
10562             "entities": {
10563               "type": "array",
10564               "items": {
10565                 "$ref": "#/definitions/Entity"
10566               }
10567             }
10568           },
10569           "additionalProperties": false,
10570           "required": [
10571             "entities"
10572           ]
10573         },
10574         "Entity": {
10575           "type": "object",
10576           "properties": {
10577             "tag": {
10578               "type": "string"
10579             }
10580           },
10581           "additionalProperties": false,
10582           "required": [
10583             "tag"
10584           ]
10585         },
10586         "Error": {
10587           "type": "object",
10588           "properties": {
10589             "code": {
10590               "type": "string"
10591             },
10592             "info": {
10593               "$ref": "#/definitions/ErrorInfo"
10594             },
10595             "message": {
10596               "type": "string"
10597             }
10598           },
10599           "additionalProperties": false,
10600           "required": [
10601             "message",
10602             "code"
10603           ]
10604         },
10605         "ErrorInfo": {
10606           "type": "object",
10607           "properties": {
10608             "macaroon": {
10609               "$ref": "#/definitions/Macaroon"
10610             },
10611             "macaroon-path": {
10612               "type": "string"
10613             }
10614           },
10615           "additionalProperties": false
10616         },
10617         "Macaroon": {
10618           "type": "object",
10619           "additionalProperties": false
10620         },
10621         "NotifyWatchResult": {
10622           "type": "object",
10623           "properties": {
10624             "NotifyWatcherId": {
10625               "type": "string"
10626             },
10627             "error": {
10628               "$ref": "#/definitions/Error"
10629             }
10630           },
10631           "additionalProperties": false,
10632           "required": [
10633             "NotifyWatcherId"
10634           ]
10635         },
10636         "NotifyWatchResults": {
10637           "type": "object",
10638           "properties": {
10639             "results": {
10640               "type": "array",
10641               "items": {
10642                 "$ref": "#/definitions/NotifyWatchResult"
10643               }
10644             }
10645           },
10646           "additionalProperties": false,
10647           "required": [
10648             "results"
10649           ]
10650         },
10651         "StringResult": {
10652           "type": "object",
10653           "properties": {
10654             "error": {
10655               "$ref": "#/definitions/Error"
10656             },
10657             "result": {
10658               "type": "string"
10659             }
10660           },
10661           "additionalProperties": false,
10662           "required": [
10663             "result"
10664           ]
10665         },
10666         "StringResults": {
10667           "type": "object",
10668           "properties": {
10669             "results": {
10670               "type": "array",
10671               "items": {
10672                 "$ref": "#/definitions/StringResult"
10673               }
10674             }
10675           },
10676           "additionalProperties": false,
10677           "required": [
10678             "results"
10679           ]
10680         }
10681       }
10682     }
10683   },
10684   {
10685     "Name": "MachineActions",
10686     "Version": 1,
10687     "Schema": {
10688       "type": "object",
10689       "properties": {
10690         "Actions": {
10691           "type": "object",
10692           "properties": {
10693             "Params": {
10694               "$ref": "#/definitions/Entities"
10695             },
10696             "Result": {
10697               "$ref": "#/definitions/ActionResults"
10698             }
10699           }
10700         },
10701         "BeginActions": {
10702           "type": "object",
10703           "properties": {
10704             "Params": {
10705               "$ref": "#/definitions/Entities"
10706             },
10707             "Result": {
10708               "$ref": "#/definitions/ErrorResults"
10709             }
10710           }
10711         },
10712         "FinishActions": {
10713           "type": "object",
10714           "properties": {
10715             "Params": {
10716               "$ref": "#/definitions/ActionExecutionResults"
10717             },
10718             "Result": {
10719               "$ref": "#/definitions/ErrorResults"
10720             }
10721           }
10722         },
10723         "RunningActions": {
10724           "type": "object",
10725           "properties": {
10726             "Params": {
10727               "$ref": "#/definitions/Entities"
10728             },
10729             "Result": {
10730               "$ref": "#/definitions/ActionsByReceivers"
10731             }
10732           }
10733         },
10734         "WatchActionNotifications": {
10735           "type": "object",
10736           "properties": {
10737             "Params": {
10738               "$ref": "#/definitions/Entities"
10739             },
10740             "Result": {
10741               "$ref": "#/definitions/StringsWatchResults"
10742             }
10743           }
10744         }
10745       },
10746       "definitions": {
10747         "Action": {
10748           "type": "object",
10749           "properties": {
10750             "name": {
10751               "type": "string"
10752             },
10753             "parameters": {
10754               "type": "object",
10755               "patternProperties": {
10756                 ".*": {
10757                   "type": "object",
10758                   "additionalProperties": true
10759                 }
10760               }
10761             },
10762             "receiver": {
10763               "type": "string"
10764             },
10765             "tag": {
10766               "type": "string"
10767             }
10768           },
10769           "additionalProperties": false,
10770           "required": [
10771             "tag",
10772             "receiver",
10773             "name"
10774           ]
10775         },
10776         "ActionExecutionResult": {
10777           "type": "object",
10778           "properties": {
10779             "action-tag": {
10780               "type": "string"
10781             },
10782             "message": {
10783               "type": "string"
10784             },
10785             "results": {
10786               "type": "object",
10787               "patternProperties": {
10788                 ".*": {
10789                   "type": "object",
10790                   "additionalProperties": true
10791                 }
10792               }
10793             },
10794             "status": {
10795               "type": "string"
10796             }
10797           },
10798           "additionalProperties": false,
10799           "required": [
10800             "action-tag",
10801             "status"
10802           ]
10803         },
10804         "ActionExecutionResults": {
10805           "type": "object",
10806           "properties": {
10807             "results": {
10808               "type": "array",
10809               "items": {
10810                 "$ref": "#/definitions/ActionExecutionResult"
10811               }
10812             }
10813           },
10814           "additionalProperties": false
10815         },
10816         "ActionResult": {
10817           "type": "object",
10818           "properties": {
10819             "action": {
10820               "$ref": "#/definitions/Action"
10821             },
10822             "completed": {
10823               "type": "string",
10824               "format": "date-time"
10825             },
10826             "enqueued": {
10827               "type": "string",
10828               "format": "date-time"
10829             },
10830             "error": {
10831               "$ref": "#/definitions/Error"
10832             },
10833             "message": {
10834               "type": "string"
10835             },
10836             "output": {
10837               "type": "object",
10838               "patternProperties": {
10839                 ".*": {
10840                   "type": "object",
10841                   "additionalProperties": true
10842                 }
10843               }
10844             },
10845             "started": {
10846               "type": "string",
10847               "format": "date-time"
10848             },
10849             "status": {
10850               "type": "string"
10851             }
10852           },
10853           "additionalProperties": false
10854         },
10855         "ActionResults": {
10856           "type": "object",
10857           "properties": {
10858             "results": {
10859               "type": "array",
10860               "items": {
10861                 "$ref": "#/definitions/ActionResult"
10862               }
10863             }
10864           },
10865           "additionalProperties": false
10866         },
10867         "ActionsByReceiver": {
10868           "type": "object",
10869           "properties": {
10870             "actions": {
10871               "type": "array",
10872               "items": {
10873                 "$ref": "#/definitions/ActionResult"
10874               }
10875             },
10876             "error": {
10877               "$ref": "#/definitions/Error"
10878             },
10879             "receiver": {
10880               "type": "string"
10881             }
10882           },
10883           "additionalProperties": false
10884         },
10885         "ActionsByReceivers": {
10886           "type": "object",
10887           "properties": {
10888             "actions": {
10889               "type": "array",
10890               "items": {
10891                 "$ref": "#/definitions/ActionsByReceiver"
10892               }
10893             }
10894           },
10895           "additionalProperties": false
10896         },
10897         "Entities": {
10898           "type": "object",
10899           "properties": {
10900             "entities": {
10901               "type": "array",
10902               "items": {
10903                 "$ref": "#/definitions/Entity"
10904               }
10905             }
10906           },
10907           "additionalProperties": false,
10908           "required": [
10909             "entities"
10910           ]
10911         },
10912         "Entity": {
10913           "type": "object",
10914           "properties": {
10915             "tag": {
10916               "type": "string"
10917             }
10918           },
10919           "additionalProperties": false,
10920           "required": [
10921             "tag"
10922           ]
10923         },
10924         "Error": {
10925           "type": "object",
10926           "properties": {
10927             "code": {
10928               "type": "string"
10929             },
10930             "info": {
10931               "$ref": "#/definitions/ErrorInfo"
10932             },
10933             "message": {
10934               "type": "string"
10935             }
10936           },
10937           "additionalProperties": false,
10938           "required": [
10939             "message",
10940             "code"
10941           ]
10942         },
10943         "ErrorInfo": {
10944           "type": "object",
10945           "properties": {
10946             "macaroon": {
10947               "$ref": "#/definitions/Macaroon"
10948             },
10949             "macaroon-path": {
10950               "type": "string"
10951             }
10952           },
10953           "additionalProperties": false
10954         },
10955         "ErrorResult": {
10956           "type": "object",
10957           "properties": {
10958             "error": {
10959               "$ref": "#/definitions/Error"
10960             }
10961           },
10962           "additionalProperties": false
10963         },
10964         "ErrorResults": {
10965           "type": "object",
10966           "properties": {
10967             "results": {
10968               "type": "array",
10969               "items": {
10970                 "$ref": "#/definitions/ErrorResult"
10971               }
10972             }
10973           },
10974           "additionalProperties": false,
10975           "required": [
10976             "results"
10977           ]
10978         },
10979         "Macaroon": {
10980           "type": "object",
10981           "additionalProperties": false
10982         },
10983         "StringsWatchResult": {
10984           "type": "object",
10985           "properties": {
10986             "changes": {
10987               "type": "array",
10988               "items": {
10989                 "type": "string"
10990               }
10991             },
10992             "error": {
10993               "$ref": "#/definitions/Error"
10994             },
10995             "watcher-id": {
10996               "type": "string"
10997             }
10998           },
10999           "additionalProperties": false,
11000           "required": [
11001             "watcher-id"
11002           ]
11003         },
11004         "StringsWatchResults": {
11005           "type": "object",
11006           "properties": {
11007             "results": {
11008               "type": "array",
11009               "items": {
11010                 "$ref": "#/definitions/StringsWatchResult"
11011               }
11012             }
11013           },
11014           "additionalProperties": false,
11015           "required": [
11016             "results"
11017           ]
11018         }
11019       }
11020     }
11021   },
11022   {
11023     "Name": "MachineManager",
11024     "Version": 2,
11025     "Schema": {
11026       "type": "object",
11027       "properties": {
11028         "AddMachines": {
11029           "type": "object",
11030           "properties": {
11031             "Params": {
11032               "$ref": "#/definitions/AddMachines"
11033             },
11034             "Result": {
11035               "$ref": "#/definitions/AddMachinesResults"
11036             }
11037           }
11038         }
11039       },
11040       "definitions": {
11041         "AddMachineParams": {
11042           "type": "object",
11043           "properties": {
11044             "addresses": {
11045               "type": "array",
11046               "items": {
11047                 "$ref": "#/definitions/Address"
11048               }
11049             },
11050             "constraints": {
11051               "$ref": "#/definitions/Value"
11052             },
11053             "container-type": {
11054               "type": "string"
11055             },
11056             "disks": {
11057               "type": "array",
11058               "items": {
11059                 "$ref": "#/definitions/Constraints"
11060               }
11061             },
11062             "hardware-characteristics": {
11063               "$ref": "#/definitions/HardwareCharacteristics"
11064             },
11065             "instance-id": {
11066               "type": "string"
11067             },
11068             "jobs": {
11069               "type": "array",
11070               "items": {
11071                 "type": "string"
11072               }
11073             },
11074             "nonce": {
11075               "type": "string"
11076             },
11077             "parent-id": {
11078               "type": "string"
11079             },
11080             "placement": {
11081               "$ref": "#/definitions/Placement"
11082             },
11083             "series": {
11084               "type": "string"
11085             }
11086           },
11087           "additionalProperties": false,
11088           "required": [
11089             "series",
11090             "constraints",
11091             "jobs",
11092             "parent-id",
11093             "container-type",
11094             "instance-id",
11095             "nonce",
11096             "hardware-characteristics",
11097             "addresses"
11098           ]
11099         },
11100         "AddMachines": {
11101           "type": "object",
11102           "properties": {
11103             "params": {
11104               "type": "array",
11105               "items": {
11106                 "$ref": "#/definitions/AddMachineParams"
11107               }
11108             }
11109           },
11110           "additionalProperties": false,
11111           "required": [
11112             "params"
11113           ]
11114         },
11115         "AddMachinesResult": {
11116           "type": "object",
11117           "properties": {
11118             "error": {
11119               "$ref": "#/definitions/Error"
11120             },
11121             "machine": {
11122               "type": "string"
11123             }
11124           },
11125           "additionalProperties": false,
11126           "required": [
11127             "machine"
11128           ]
11129         },
11130         "AddMachinesResults": {
11131           "type": "object",
11132           "properties": {
11133             "machines": {
11134               "type": "array",
11135               "items": {
11136                 "$ref": "#/definitions/AddMachinesResult"
11137               }
11138             }
11139           },
11140           "additionalProperties": false,
11141           "required": [
11142             "machines"
11143           ]
11144         },
11145         "Address": {
11146           "type": "object",
11147           "properties": {
11148             "scope": {
11149               "type": "string"
11150             },
11151             "space-name": {
11152               "type": "string"
11153             },
11154             "type": {
11155               "type": "string"
11156             },
11157             "value": {
11158               "type": "string"
11159             }
11160           },
11161           "additionalProperties": false,
11162           "required": [
11163             "value",
11164             "type",
11165             "scope"
11166           ]
11167         },
11168         "Constraints": {
11169           "type": "object",
11170           "properties": {
11171             "Count": {
11172               "type": "integer"
11173             },
11174             "Pool": {
11175               "type": "string"
11176             },
11177             "Size": {
11178               "type": "integer"
11179             }
11180           },
11181           "additionalProperties": false,
11182           "required": [
11183             "Pool",
11184             "Size",
11185             "Count"
11186           ]
11187         },
11188         "Error": {
11189           "type": "object",
11190           "properties": {
11191             "code": {
11192               "type": "string"
11193             },
11194             "info": {
11195               "$ref": "#/definitions/ErrorInfo"
11196             },
11197             "message": {
11198               "type": "string"
11199             }
11200           },
11201           "additionalProperties": false,
11202           "required": [
11203             "message",
11204             "code"
11205           ]
11206         },
11207         "ErrorInfo": {
11208           "type": "object",
11209           "properties": {
11210             "macaroon": {
11211               "$ref": "#/definitions/Macaroon"
11212             },
11213             "macaroon-path": {
11214               "type": "string"
11215             }
11216           },
11217           "additionalProperties": false
11218         },
11219         "HardwareCharacteristics": {
11220           "type": "object",
11221           "properties": {
11222             "arch": {
11223               "type": "string"
11224             },
11225             "availability-zone": {
11226               "type": "string"
11227             },
11228             "cpu-cores": {
11229               "type": "integer"
11230             },
11231             "cpu-power": {
11232               "type": "integer"
11233             },
11234             "mem": {
11235               "type": "integer"
11236             },
11237             "root-disk": {
11238               "type": "integer"
11239             },
11240             "tags": {
11241               "type": "array",
11242               "items": {
11243                 "type": "string"
11244               }
11245             }
11246           },
11247           "additionalProperties": false
11248         },
11249         "Macaroon": {
11250           "type": "object",
11251           "additionalProperties": false
11252         },
11253         "Placement": {
11254           "type": "object",
11255           "properties": {
11256             "directive": {
11257               "type": "string"
11258             },
11259             "scope": {
11260               "type": "string"
11261             }
11262           },
11263           "additionalProperties": false,
11264           "required": [
11265             "scope",
11266             "directive"
11267           ]
11268         },
11269         "Value": {
11270           "type": "object",
11271           "properties": {
11272             "arch": {
11273               "type": "string"
11274             },
11275             "container": {
11276               "type": "string"
11277             },
11278             "cores": {
11279               "type": "integer"
11280             },
11281             "cpu-power": {
11282               "type": "integer"
11283             },
11284             "instance-type": {
11285               "type": "string"
11286             },
11287             "mem": {
11288               "type": "integer"
11289             },
11290             "root-disk": {
11291               "type": "integer"
11292             },
11293             "spaces": {
11294               "type": "array",
11295               "items": {
11296                 "type": "string"
11297               }
11298             },
11299             "tags": {
11300               "type": "array",
11301               "items": {
11302                 "type": "string"
11303               }
11304             },
11305             "virt-type": {
11306               "type": "string"
11307             }
11308           },
11309           "additionalProperties": false
11310         }
11311       }
11312     }
11313   },
11314   {
11315     "Name": "MachineUndertaker",
11316     "Version": 1,
11317     "Schema": {
11318       "type": "object",
11319       "properties": {
11320         "AllMachineRemovals": {
11321           "type": "object",
11322           "properties": {
11323             "Params": {
11324               "$ref": "#/definitions/Entities"
11325             },
11326             "Result": {
11327               "$ref": "#/definitions/EntitiesResults"
11328             }
11329           }
11330         },
11331         "CompleteMachineRemovals": {
11332           "type": "object",
11333           "properties": {
11334             "Params": {
11335               "$ref": "#/definitions/Entities"
11336             }
11337           }
11338         },
11339         "GetMachineProviderInterfaceInfo": {
11340           "type": "object",
11341           "properties": {
11342             "Params": {
11343               "$ref": "#/definitions/Entities"
11344             },
11345             "Result": {
11346               "$ref": "#/definitions/ProviderInterfaceInfoResults"
11347             }
11348           }
11349         },
11350         "WatchMachineRemovals": {
11351           "type": "object",
11352           "properties": {
11353             "Params": {
11354               "$ref": "#/definitions/Entities"
11355             },
11356             "Result": {
11357               "$ref": "#/definitions/NotifyWatchResults"
11358             }
11359           }
11360         }
11361       },
11362       "definitions": {
11363         "Entities": {
11364           "type": "object",
11365           "properties": {
11366             "entities": {
11367               "type": "array",
11368               "items": {
11369                 "$ref": "#/definitions/Entity"
11370               }
11371             }
11372           },
11373           "additionalProperties": false,
11374           "required": [
11375             "entities"
11376           ]
11377         },
11378         "EntitiesResult": {
11379           "type": "object",
11380           "properties": {
11381             "entities": {
11382               "type": "array",
11383               "items": {
11384                 "$ref": "#/definitions/Entity"
11385               }
11386             },
11387             "error": {
11388               "$ref": "#/definitions/Error"
11389             }
11390           },
11391           "additionalProperties": false,
11392           "required": [
11393             "entities"
11394           ]
11395         },
11396         "EntitiesResults": {
11397           "type": "object",
11398           "properties": {
11399             "results": {
11400               "type": "array",
11401               "items": {
11402                 "$ref": "#/definitions/EntitiesResult"
11403               }
11404             }
11405           },
11406           "additionalProperties": false,
11407           "required": [
11408             "results"
11409           ]
11410         },
11411         "Entity": {
11412           "type": "object",
11413           "properties": {
11414             "tag": {
11415               "type": "string"
11416             }
11417           },
11418           "additionalProperties": false,
11419           "required": [
11420             "tag"
11421           ]
11422         },
11423         "Error": {
11424           "type": "object",
11425           "properties": {
11426             "code": {
11427               "type": "string"
11428             },
11429             "info": {
11430               "$ref": "#/definitions/ErrorInfo"
11431             },
11432             "message": {
11433               "type": "string"
11434             }
11435           },
11436           "additionalProperties": false,
11437           "required": [
11438             "message",
11439             "code"
11440           ]
11441         },
11442         "ErrorInfo": {
11443           "type": "object",
11444           "properties": {
11445             "macaroon": {
11446               "$ref": "#/definitions/Macaroon"
11447             },
11448             "macaroon-path": {
11449               "type": "string"
11450             }
11451           },
11452           "additionalProperties": false
11453         },
11454         "Macaroon": {
11455           "type": "object",
11456           "additionalProperties": false
11457         },
11458         "NotifyWatchResult": {
11459           "type": "object",
11460           "properties": {
11461             "NotifyWatcherId": {
11462               "type": "string"
11463             },
11464             "error": {
11465               "$ref": "#/definitions/Error"
11466             }
11467           },
11468           "additionalProperties": false,
11469           "required": [
11470             "NotifyWatcherId"
11471           ]
11472         },
11473         "NotifyWatchResults": {
11474           "type": "object",
11475           "properties": {
11476             "results": {
11477               "type": "array",
11478               "items": {
11479                 "$ref": "#/definitions/NotifyWatchResult"
11480               }
11481             }
11482           },
11483           "additionalProperties": false,
11484           "required": [
11485             "results"
11486           ]
11487         },
11488         "ProviderInterfaceInfo": {
11489           "type": "object",
11490           "properties": {
11491             "interface-name": {
11492               "type": "string"
11493             },
11494             "mac-address": {
11495               "type": "string"
11496             },
11497             "provider-id": {
11498               "type": "string"
11499             }
11500           },
11501           "additionalProperties": false,
11502           "required": [
11503             "interface-name",
11504             "mac-address",
11505             "provider-id"
11506           ]
11507         },
11508         "ProviderInterfaceInfoResult": {
11509           "type": "object",
11510           "properties": {
11511             "error": {
11512               "$ref": "#/definitions/Error"
11513             },
11514             "interfaces": {
11515               "type": "array",
11516               "items": {
11517                 "$ref": "#/definitions/ProviderInterfaceInfo"
11518               }
11519             },
11520             "machine-tag": {
11521               "type": "string"
11522             }
11523           },
11524           "additionalProperties": false,
11525           "required": [
11526             "machine-tag",
11527             "interfaces"
11528           ]
11529         },
11530         "ProviderInterfaceInfoResults": {
11531           "type": "object",
11532           "properties": {
11533             "results": {
11534               "type": "array",
11535               "items": {
11536                 "$ref": "#/definitions/ProviderInterfaceInfoResult"
11537               }
11538             }
11539           },
11540           "additionalProperties": false,
11541           "required": [
11542             "results"
11543           ]
11544         }
11545       }
11546     }
11547   },
11548   {
11549     "Name": "Machiner",
11550     "Version": 1,
11551     "Schema": {
11552       "type": "object",
11553       "properties": {
11554         "APIAddresses": {
11555           "type": "object",
11556           "properties": {
11557             "Result": {
11558               "$ref": "#/definitions/StringsResult"
11559             }
11560           }
11561         },
11562         "APIHostPorts": {
11563           "type": "object",
11564           "properties": {
11565             "Result": {
11566               "$ref": "#/definitions/APIHostPortsResult"
11567             }
11568           }
11569         },
11570         "CACert": {
11571           "type": "object",
11572           "properties": {
11573             "Result": {
11574               "$ref": "#/definitions/BytesResult"
11575             }
11576           }
11577         },
11578         "EnsureDead": {
11579           "type": "object",
11580           "properties": {
11581             "Params": {
11582               "$ref": "#/definitions/Entities"
11583             },
11584             "Result": {
11585               "$ref": "#/definitions/ErrorResults"
11586             }
11587           }
11588         },
11589         "Jobs": {
11590           "type": "object",
11591           "properties": {
11592             "Params": {
11593               "$ref": "#/definitions/Entities"
11594             },
11595             "Result": {
11596               "$ref": "#/definitions/JobsResults"
11597             }
11598           }
11599         },
11600         "Life": {
11601           "type": "object",
11602           "properties": {
11603             "Params": {
11604               "$ref": "#/definitions/Entities"
11605             },
11606             "Result": {
11607               "$ref": "#/definitions/LifeResults"
11608             }
11609           }
11610         },
11611         "ModelUUID": {
11612           "type": "object",
11613           "properties": {
11614             "Result": {
11615               "$ref": "#/definitions/StringResult"
11616             }
11617           }
11618         },
11619         "SetMachineAddresses": {
11620           "type": "object",
11621           "properties": {
11622             "Params": {
11623               "$ref": "#/definitions/SetMachinesAddresses"
11624             },
11625             "Result": {
11626               "$ref": "#/definitions/ErrorResults"
11627             }
11628           }
11629         },
11630         "SetObservedNetworkConfig": {
11631           "type": "object",
11632           "properties": {
11633             "Params": {
11634               "$ref": "#/definitions/SetMachineNetworkConfig"
11635             }
11636           }
11637         },
11638         "SetProviderNetworkConfig": {
11639           "type": "object",
11640           "properties": {
11641             "Params": {
11642               "$ref": "#/definitions/Entities"
11643             },
11644             "Result": {
11645               "$ref": "#/definitions/ErrorResults"
11646             }
11647           }
11648         },
11649         "SetStatus": {
11650           "type": "object",
11651           "properties": {
11652             "Params": {
11653               "$ref": "#/definitions/SetStatus"
11654             },
11655             "Result": {
11656               "$ref": "#/definitions/ErrorResults"
11657             }
11658           }
11659         },
11660         "UpdateStatus": {
11661           "type": "object",
11662           "properties": {
11663             "Params": {
11664               "$ref": "#/definitions/SetStatus"
11665             },
11666             "Result": {
11667               "$ref": "#/definitions/ErrorResults"
11668             }
11669           }
11670         },
11671         "Watch": {
11672           "type": "object",
11673           "properties": {
11674             "Params": {
11675               "$ref": "#/definitions/Entities"
11676             },
11677             "Result": {
11678               "$ref": "#/definitions/NotifyWatchResults"
11679             }
11680           }
11681         },
11682         "WatchAPIHostPorts": {
11683           "type": "object",
11684           "properties": {
11685             "Result": {
11686               "$ref": "#/definitions/NotifyWatchResult"
11687             }
11688           }
11689         }
11690       },
11691       "definitions": {
11692         "APIHostPortsResult": {
11693           "type": "object",
11694           "properties": {
11695             "servers": {
11696               "type": "array",
11697               "items": {
11698                 "type": "array",
11699                 "items": {
11700                   "$ref": "#/definitions/HostPort"
11701                 }
11702               }
11703             }
11704           },
11705           "additionalProperties": false,
11706           "required": [
11707             "servers"
11708           ]
11709         },
11710         "Address": {
11711           "type": "object",
11712           "properties": {
11713             "scope": {
11714               "type": "string"
11715             },
11716             "space-name": {
11717               "type": "string"
11718             },
11719             "type": {
11720               "type": "string"
11721             },
11722             "value": {
11723               "type": "string"
11724             }
11725           },
11726           "additionalProperties": false,
11727           "required": [
11728             "value",
11729             "type",
11730             "scope"
11731           ]
11732         },
11733         "BytesResult": {
11734           "type": "object",
11735           "properties": {
11736             "result": {
11737               "type": "array",
11738               "items": {
11739                 "type": "integer"
11740               }
11741             }
11742           },
11743           "additionalProperties": false,
11744           "required": [
11745             "result"
11746           ]
11747         },
11748         "Entities": {
11749           "type": "object",
11750           "properties": {
11751             "entities": {
11752               "type": "array",
11753               "items": {
11754                 "$ref": "#/definitions/Entity"
11755               }
11756             }
11757           },
11758           "additionalProperties": false,
11759           "required": [
11760             "entities"
11761           ]
11762         },
11763         "Entity": {
11764           "type": "object",
11765           "properties": {
11766             "tag": {
11767               "type": "string"
11768             }
11769           },
11770           "additionalProperties": false,
11771           "required": [
11772             "tag"
11773           ]
11774         },
11775         "EntityStatusArgs": {
11776           "type": "object",
11777           "properties": {
11778             "data": {
11779               "type": "object",
11780               "patternProperties": {
11781                 ".*": {
11782                   "type": "object",
11783                   "additionalProperties": true
11784                 }
11785               }
11786             },
11787             "info": {
11788               "type": "string"
11789             },
11790             "status": {
11791               "type": "string"
11792             },
11793             "tag": {
11794               "type": "string"
11795             }
11796           },
11797           "additionalProperties": false,
11798           "required": [
11799             "tag",
11800             "status",
11801             "info",
11802             "data"
11803           ]
11804         },
11805         "Error": {
11806           "type": "object",
11807           "properties": {
11808             "code": {
11809               "type": "string"
11810             },
11811             "info": {
11812               "$ref": "#/definitions/ErrorInfo"
11813             },
11814             "message": {
11815               "type": "string"
11816             }
11817           },
11818           "additionalProperties": false,
11819           "required": [
11820             "message",
11821             "code"
11822           ]
11823         },
11824         "ErrorInfo": {
11825           "type": "object",
11826           "properties": {
11827             "macaroon": {
11828               "$ref": "#/definitions/Macaroon"
11829             },
11830             "macaroon-path": {
11831               "type": "string"
11832             }
11833           },
11834           "additionalProperties": false
11835         },
11836         "ErrorResult": {
11837           "type": "object",
11838           "properties": {
11839             "error": {
11840               "$ref": "#/definitions/Error"
11841             }
11842           },
11843           "additionalProperties": false
11844         },
11845         "ErrorResults": {
11846           "type": "object",
11847           "properties": {
11848             "results": {
11849               "type": "array",
11850               "items": {
11851                 "$ref": "#/definitions/ErrorResult"
11852               }
11853             }
11854           },
11855           "additionalProperties": false,
11856           "required": [
11857             "results"
11858           ]
11859         },
11860         "HostPort": {
11861           "type": "object",
11862           "properties": {
11863             "Address": {
11864               "$ref": "#/definitions/Address"
11865             },
11866             "port": {
11867               "type": "integer"
11868             }
11869           },
11870           "additionalProperties": false,
11871           "required": [
11872             "Address",
11873             "port"
11874           ]
11875         },
11876         "JobsResult": {
11877           "type": "object",
11878           "properties": {
11879             "error": {
11880               "$ref": "#/definitions/Error"
11881             },
11882             "jobs": {
11883               "type": "array",
11884               "items": {
11885                 "type": "string"
11886               }
11887             }
11888           },
11889           "additionalProperties": false,
11890           "required": [
11891             "jobs"
11892           ]
11893         },
11894         "JobsResults": {
11895           "type": "object",
11896           "properties": {
11897             "results": {
11898               "type": "array",
11899               "items": {
11900                 "$ref": "#/definitions/JobsResult"
11901               }
11902             }
11903           },
11904           "additionalProperties": false,
11905           "required": [
11906             "results"
11907           ]
11908         },
11909         "LifeResult": {
11910           "type": "object",
11911           "properties": {
11912             "error": {
11913               "$ref": "#/definitions/Error"
11914             },
11915             "life": {
11916               "type": "string"
11917             }
11918           },
11919           "additionalProperties": false,
11920           "required": [
11921             "life"
11922           ]
11923         },
11924         "LifeResults": {
11925           "type": "object",
11926           "properties": {
11927             "results": {
11928               "type": "array",
11929               "items": {
11930                 "$ref": "#/definitions/LifeResult"
11931               }
11932             }
11933           },
11934           "additionalProperties": false,
11935           "required": [
11936             "results"
11937           ]
11938         },
11939         "Macaroon": {
11940           "type": "object",
11941           "additionalProperties": false
11942         },
11943         "MachineAddresses": {
11944           "type": "object",
11945           "properties": {
11946             "addresses": {
11947               "type": "array",
11948               "items": {
11949                 "$ref": "#/definitions/Address"
11950               }
11951             },
11952             "tag": {
11953               "type": "string"
11954             }
11955           },
11956           "additionalProperties": false,
11957           "required": [
11958             "tag",
11959             "addresses"
11960           ]
11961         },
11962         "NetworkConfig": {
11963           "type": "object",
11964           "properties": {
11965             "address": {
11966               "type": "string"
11967             },
11968             "cidr": {
11969               "type": "string"
11970             },
11971             "config-type": {
11972               "type": "string"
11973             },
11974             "device-index": {
11975               "type": "integer"
11976             },
11977             "disabled": {
11978               "type": "boolean"
11979             },
11980             "dns-search-domains": {
11981               "type": "array",
11982               "items": {
11983                 "type": "string"
11984               }
11985             },
11986             "dns-servers": {
11987               "type": "array",
11988               "items": {
11989                 "type": "string"
11990               }
11991             },
11992             "gateway-address": {
11993               "type": "string"
11994             },
11995             "interface-name": {
11996               "type": "string"
11997             },
11998             "interface-type": {
11999               "type": "string"
12000             },
12001             "mac-address": {
12002               "type": "string"
12003             },
12004             "mtu": {
12005               "type": "integer"
12006             },
12007             "no-auto-start": {
12008               "type": "boolean"
12009             },
12010             "parent-interface-name": {
12011               "type": "string"
12012             },
12013             "provider-address-id": {
12014               "type": "string"
12015             },
12016             "provider-id": {
12017               "type": "string"
12018             },
12019             "provider-space-id": {
12020               "type": "string"
12021             },
12022             "provider-subnet-id": {
12023               "type": "string"
12024             },
12025             "provider-vlan-id": {
12026               "type": "string"
12027             },
12028             "vlan-tag": {
12029               "type": "integer"
12030             }
12031           },
12032           "additionalProperties": false,
12033           "required": [
12034             "device-index",
12035             "mac-address",
12036             "cidr",
12037             "mtu",
12038             "provider-id",
12039             "provider-subnet-id",
12040             "provider-space-id",
12041             "provider-address-id",
12042             "provider-vlan-id",
12043             "vlan-tag",
12044             "interface-name",
12045             "parent-interface-name",
12046             "interface-type",
12047             "disabled"
12048           ]
12049         },
12050         "NotifyWatchResult": {
12051           "type": "object",
12052           "properties": {
12053             "NotifyWatcherId": {
12054               "type": "string"
12055             },
12056             "error": {
12057               "$ref": "#/definitions/Error"
12058             }
12059           },
12060           "additionalProperties": false,
12061           "required": [
12062             "NotifyWatcherId"
12063           ]
12064         },
12065         "NotifyWatchResults": {
12066           "type": "object",
12067           "properties": {
12068             "results": {
12069               "type": "array",
12070               "items": {
12071                 "$ref": "#/definitions/NotifyWatchResult"
12072               }
12073             }
12074           },
12075           "additionalProperties": false,
12076           "required": [
12077             "results"
12078           ]
12079         },
12080         "SetMachineNetworkConfig": {
12081           "type": "object",
12082           "properties": {
12083             "config": {
12084               "type": "array",
12085               "items": {
12086                 "$ref": "#/definitions/NetworkConfig"
12087               }
12088             },
12089             "tag": {
12090               "type": "string"
12091             }
12092           },
12093           "additionalProperties": false,
12094           "required": [
12095             "tag",
12096             "config"
12097           ]
12098         },
12099         "SetMachinesAddresses": {
12100           "type": "object",
12101           "properties": {
12102             "machine-addresses": {
12103               "type": "array",
12104               "items": {
12105                 "$ref": "#/definitions/MachineAddresses"
12106               }
12107             }
12108           },
12109           "additionalProperties": false,
12110           "required": [
12111             "machine-addresses"
12112           ]
12113         },
12114         "SetStatus": {
12115           "type": "object",
12116           "properties": {
12117             "entities": {
12118               "type": "array",
12119               "items": {
12120                 "$ref": "#/definitions/EntityStatusArgs"
12121               }
12122             }
12123           },
12124           "additionalProperties": false,
12125           "required": [
12126             "entities"
12127           ]
12128         },
12129         "StringResult": {
12130           "type": "object",
12131           "properties": {
12132             "error": {
12133               "$ref": "#/definitions/Error"
12134             },
12135             "result": {
12136               "type": "string"
12137             }
12138           },
12139           "additionalProperties": false,
12140           "required": [
12141             "result"
12142           ]
12143         },
12144         "StringsResult": {
12145           "type": "object",
12146           "properties": {
12147             "error": {
12148               "$ref": "#/definitions/Error"
12149             },
12150             "result": {
12151               "type": "array",
12152               "items": {
12153                 "type": "string"
12154               }
12155             }
12156           },
12157           "additionalProperties": false
12158         }
12159       }
12160     }
12161   },
12162   {
12163     "Name": "MeterStatus",
12164     "Version": 1,
12165     "Schema": {
12166       "type": "object",
12167       "properties": {
12168         "GetMeterStatus": {
12169           "type": "object",
12170           "properties": {
12171             "Params": {
12172               "$ref": "#/definitions/Entities"
12173             },
12174             "Result": {
12175               "$ref": "#/definitions/MeterStatusResults"
12176             }
12177           }
12178         },
12179         "WatchMeterStatus": {
12180           "type": "object",
12181           "properties": {
12182             "Params": {
12183               "$ref": "#/definitions/Entities"
12184             },
12185             "Result": {
12186               "$ref": "#/definitions/NotifyWatchResults"
12187             }
12188           }
12189         }
12190       },
12191       "definitions": {
12192         "Entities": {
12193           "type": "object",
12194           "properties": {
12195             "entities": {
12196               "type": "array",
12197               "items": {
12198                 "$ref": "#/definitions/Entity"
12199               }
12200             }
12201           },
12202           "additionalProperties": false,
12203           "required": [
12204             "entities"
12205           ]
12206         },
12207         "Entity": {
12208           "type": "object",
12209           "properties": {
12210             "tag": {
12211               "type": "string"
12212             }
12213           },
12214           "additionalProperties": false,
12215           "required": [
12216             "tag"
12217           ]
12218         },
12219         "Error": {
12220           "type": "object",
12221           "properties": {
12222             "code": {
12223               "type": "string"
12224             },
12225             "info": {
12226               "$ref": "#/definitions/ErrorInfo"
12227             },
12228             "message": {
12229               "type": "string"
12230             }
12231           },
12232           "additionalProperties": false,
12233           "required": [
12234             "message",
12235             "code"
12236           ]
12237         },
12238         "ErrorInfo": {
12239           "type": "object",
12240           "properties": {
12241             "macaroon": {
12242               "$ref": "#/definitions/Macaroon"
12243             },
12244             "macaroon-path": {
12245               "type": "string"
12246             }
12247           },
12248           "additionalProperties": false
12249         },
12250         "Macaroon": {
12251           "type": "object",
12252           "additionalProperties": false
12253         },
12254         "MeterStatusResult": {
12255           "type": "object",
12256           "properties": {
12257             "code": {
12258               "type": "string"
12259             },
12260             "error": {
12261               "$ref": "#/definitions/Error"
12262             },
12263             "info": {
12264               "type": "string"
12265             }
12266           },
12267           "additionalProperties": false,
12268           "required": [
12269             "code",
12270             "info"
12271           ]
12272         },
12273         "MeterStatusResults": {
12274           "type": "object",
12275           "properties": {
12276             "results": {
12277               "type": "array",
12278               "items": {
12279                 "$ref": "#/definitions/MeterStatusResult"
12280               }
12281             }
12282           },
12283           "additionalProperties": false,
12284           "required": [
12285             "results"
12286           ]
12287         },
12288         "NotifyWatchResult": {
12289           "type": "object",
12290           "properties": {
12291             "NotifyWatcherId": {
12292               "type": "string"
12293             },
12294             "error": {
12295               "$ref": "#/definitions/Error"
12296             }
12297           },
12298           "additionalProperties": false,
12299           "required": [
12300             "NotifyWatcherId"
12301           ]
12302         },
12303         "NotifyWatchResults": {
12304           "type": "object",
12305           "properties": {
12306             "results": {
12307               "type": "array",
12308               "items": {
12309                 "$ref": "#/definitions/NotifyWatchResult"
12310               }
12311             }
12312           },
12313           "additionalProperties": false,
12314           "required": [
12315             "results"
12316           ]
12317         }
12318       }
12319     }
12320   },
12321   {
12322     "Name": "MetricsAdder",
12323     "Version": 2,
12324     "Schema": {
12325       "type": "object",
12326       "properties": {
12327         "AddMetricBatches": {
12328           "type": "object",
12329           "properties": {
12330             "Params": {
12331               "$ref": "#/definitions/MetricBatchParams"
12332             },
12333             "Result": {
12334               "$ref": "#/definitions/ErrorResults"
12335             }
12336           }
12337         }
12338       },
12339       "definitions": {
12340         "Error": {
12341           "type": "object",
12342           "properties": {
12343             "code": {
12344               "type": "string"
12345             },
12346             "info": {
12347               "$ref": "#/definitions/ErrorInfo"
12348             },
12349             "message": {
12350               "type": "string"
12351             }
12352           },
12353           "additionalProperties": false,
12354           "required": [
12355             "message",
12356             "code"
12357           ]
12358         },
12359         "ErrorInfo": {
12360           "type": "object",
12361           "properties": {
12362             "macaroon": {
12363               "$ref": "#/definitions/Macaroon"
12364             },
12365             "macaroon-path": {
12366               "type": "string"
12367             }
12368           },
12369           "additionalProperties": false
12370         },
12371         "ErrorResult": {
12372           "type": "object",
12373           "properties": {
12374             "error": {
12375               "$ref": "#/definitions/Error"
12376             }
12377           },
12378           "additionalProperties": false
12379         },
12380         "ErrorResults": {
12381           "type": "object",
12382           "properties": {
12383             "results": {
12384               "type": "array",
12385               "items": {
12386                 "$ref": "#/definitions/ErrorResult"
12387               }
12388             }
12389           },
12390           "additionalProperties": false,
12391           "required": [
12392             "results"
12393           ]
12394         },
12395         "Macaroon": {
12396           "type": "object",
12397           "additionalProperties": false
12398         },
12399         "Metric": {
12400           "type": "object",
12401           "properties": {
12402             "key": {
12403               "type": "string"
12404             },
12405             "time": {
12406               "type": "string",
12407               "format": "date-time"
12408             },
12409             "value": {
12410               "type": "string"
12411             }
12412           },
12413           "additionalProperties": false,
12414           "required": [
12415             "key",
12416             "value",
12417             "time"
12418           ]
12419         },
12420         "MetricBatch": {
12421           "type": "object",
12422           "properties": {
12423             "charm-url": {
12424               "type": "string"
12425             },
12426             "created": {
12427               "type": "string",
12428               "format": "date-time"
12429             },
12430             "metrics": {
12431               "type": "array",
12432               "items": {
12433                 "$ref": "#/definitions/Metric"
12434               }
12435             },
12436             "uuid": {
12437               "type": "string"
12438             }
12439           },
12440           "additionalProperties": false,
12441           "required": [
12442             "uuid",
12443             "charm-url",
12444             "created",
12445             "metrics"
12446           ]
12447         },
12448         "MetricBatchParam": {
12449           "type": "object",
12450           "properties": {
12451             "batch": {
12452               "$ref": "#/definitions/MetricBatch"
12453             },
12454             "tag": {
12455               "type": "string"
12456             }
12457           },
12458           "additionalProperties": false,
12459           "required": [
12460             "tag",
12461             "batch"
12462           ]
12463         },
12464         "MetricBatchParams": {
12465           "type": "object",
12466           "properties": {
12467             "batches": {
12468               "type": "array",
12469               "items": {
12470                 "$ref": "#/definitions/MetricBatchParam"
12471               }
12472             }
12473           },
12474           "additionalProperties": false,
12475           "required": [
12476             "batches"
12477           ]
12478         }
12479       }
12480     }
12481   },
12482   {
12483     "Name": "MetricsDebug",
12484     "Version": 2,
12485     "Schema": {
12486       "type": "object",
12487       "properties": {
12488         "GetMetrics": {
12489           "type": "object",
12490           "properties": {
12491             "Params": {
12492               "$ref": "#/definitions/Entities"
12493             },
12494             "Result": {
12495               "$ref": "#/definitions/MetricResults"
12496             }
12497           }
12498         },
12499         "SetMeterStatus": {
12500           "type": "object",
12501           "properties": {
12502             "Params": {
12503               "$ref": "#/definitions/MeterStatusParams"
12504             },
12505             "Result": {
12506               "$ref": "#/definitions/ErrorResults"
12507             }
12508           }
12509         }
12510       },
12511       "definitions": {
12512         "Entities": {
12513           "type": "object",
12514           "properties": {
12515             "entities": {
12516               "type": "array",
12517               "items": {
12518                 "$ref": "#/definitions/Entity"
12519               }
12520             }
12521           },
12522           "additionalProperties": false,
12523           "required": [
12524             "entities"
12525           ]
12526         },
12527         "Entity": {
12528           "type": "object",
12529           "properties": {
12530             "tag": {
12531               "type": "string"
12532             }
12533           },
12534           "additionalProperties": false,
12535           "required": [
12536             "tag"
12537           ]
12538         },
12539         "EntityMetrics": {
12540           "type": "object",
12541           "properties": {
12542             "error": {
12543               "$ref": "#/definitions/Error"
12544             },
12545             "metrics": {
12546               "type": "array",
12547               "items": {
12548                 "$ref": "#/definitions/MetricResult"
12549               }
12550             }
12551           },
12552           "additionalProperties": false
12553         },
12554         "Error": {
12555           "type": "object",
12556           "properties": {
12557             "code": {
12558               "type": "string"
12559             },
12560             "info": {
12561               "$ref": "#/definitions/ErrorInfo"
12562             },
12563             "message": {
12564               "type": "string"
12565             }
12566           },
12567           "additionalProperties": false,
12568           "required": [
12569             "message",
12570             "code"
12571           ]
12572         },
12573         "ErrorInfo": {
12574           "type": "object",
12575           "properties": {
12576             "macaroon": {
12577               "$ref": "#/definitions/Macaroon"
12578             },
12579             "macaroon-path": {
12580               "type": "string"
12581             }
12582           },
12583           "additionalProperties": false
12584         },
12585         "ErrorResult": {
12586           "type": "object",
12587           "properties": {
12588             "error": {
12589               "$ref": "#/definitions/Error"
12590             }
12591           },
12592           "additionalProperties": false
12593         },
12594         "ErrorResults": {
12595           "type": "object",
12596           "properties": {
12597             "results": {
12598               "type": "array",
12599               "items": {
12600                 "$ref": "#/definitions/ErrorResult"
12601               }
12602             }
12603           },
12604           "additionalProperties": false,
12605           "required": [
12606             "results"
12607           ]
12608         },
12609         "Macaroon": {
12610           "type": "object",
12611           "additionalProperties": false
12612         },
12613         "MeterStatusParam": {
12614           "type": "object",
12615           "properties": {
12616             "code": {
12617               "type": "string"
12618             },
12619             "info": {
12620               "type": "string"
12621             },
12622             "tag": {
12623               "type": "string"
12624             }
12625           },
12626           "additionalProperties": false,
12627           "required": [
12628             "tag",
12629             "code",
12630             "info"
12631           ]
12632         },
12633         "MeterStatusParams": {
12634           "type": "object",
12635           "properties": {
12636             "statues": {
12637               "type": "array",
12638               "items": {
12639                 "$ref": "#/definitions/MeterStatusParam"
12640               }
12641             }
12642           },
12643           "additionalProperties": false,
12644           "required": [
12645             "statues"
12646           ]
12647         },
12648         "MetricResult": {
12649           "type": "object",
12650           "properties": {
12651             "key": {
12652               "type": "string"
12653             },
12654             "time": {
12655               "type": "string",
12656               "format": "date-time"
12657             },
12658             "unit": {
12659               "type": "string"
12660             },
12661             "value": {
12662               "type": "string"
12663             }
12664           },
12665           "additionalProperties": false,
12666           "required": [
12667             "time",
12668             "key",
12669             "value",
12670             "unit"
12671           ]
12672         },
12673         "MetricResults": {
12674           "type": "object",
12675           "properties": {
12676             "results": {
12677               "type": "array",
12678               "items": {
12679                 "$ref": "#/definitions/EntityMetrics"
12680               }
12681             }
12682           },
12683           "additionalProperties": false,
12684           "required": [
12685             "results"
12686           ]
12687         }
12688       }
12689     }
12690   },
12691   {
12692     "Name": "MetricsManager",
12693     "Version": 1,
12694     "Schema": {
12695       "type": "object",
12696       "properties": {
12697         "CleanupOldMetrics": {
12698           "type": "object",
12699           "properties": {
12700             "Params": {
12701               "$ref": "#/definitions/Entities"
12702             },
12703             "Result": {
12704               "$ref": "#/definitions/ErrorResults"
12705             }
12706           }
12707         },
12708         "SendMetrics": {
12709           "type": "object",
12710           "properties": {
12711             "Params": {
12712               "$ref": "#/definitions/Entities"
12713             },
12714             "Result": {
12715               "$ref": "#/definitions/ErrorResults"
12716             }
12717           }
12718         }
12719       },
12720       "definitions": {
12721         "Entities": {
12722           "type": "object",
12723           "properties": {
12724             "entities": {
12725               "type": "array",
12726               "items": {
12727                 "$ref": "#/definitions/Entity"
12728               }
12729             }
12730           },
12731           "additionalProperties": false,
12732           "required": [
12733             "entities"
12734           ]
12735         },
12736         "Entity": {
12737           "type": "object",
12738           "properties": {
12739             "tag": {
12740               "type": "string"
12741             }
12742           },
12743           "additionalProperties": false,
12744           "required": [
12745             "tag"
12746           ]
12747         },
12748         "Error": {
12749           "type": "object",
12750           "properties": {
12751             "code": {
12752               "type": "string"
12753             },
12754             "info": {
12755               "$ref": "#/definitions/ErrorInfo"
12756             },
12757             "message": {
12758               "type": "string"
12759             }
12760           },
12761           "additionalProperties": false,
12762           "required": [
12763             "message",
12764             "code"
12765           ]
12766         },
12767         "ErrorInfo": {
12768           "type": "object",
12769           "properties": {
12770             "macaroon": {
12771               "$ref": "#/definitions/Macaroon"
12772             },
12773             "macaroon-path": {
12774               "type": "string"
12775             }
12776           },
12777           "additionalProperties": false
12778         },
12779         "ErrorResult": {
12780           "type": "object",
12781           "properties": {
12782             "error": {
12783               "$ref": "#/definitions/Error"
12784             }
12785           },
12786           "additionalProperties": false
12787         },
12788         "ErrorResults": {
12789           "type": "object",
12790           "properties": {
12791             "results": {
12792               "type": "array",
12793               "items": {
12794                 "$ref": "#/definitions/ErrorResult"
12795               }
12796             }
12797           },
12798           "additionalProperties": false,
12799           "required": [
12800             "results"
12801           ]
12802         },
12803         "Macaroon": {
12804           "type": "object",
12805           "additionalProperties": false
12806         }
12807       }
12808     }
12809   },
12810   {
12811     "Name": "MigrationFlag",
12812     "Version": 1,
12813     "Schema": {
12814       "type": "object",
12815       "properties": {
12816         "Phase": {
12817           "type": "object",
12818           "properties": {
12819             "Params": {
12820               "$ref": "#/definitions/Entities"
12821             },
12822             "Result": {
12823               "$ref": "#/definitions/PhaseResults"
12824             }
12825           }
12826         },
12827         "Watch": {
12828           "type": "object",
12829           "properties": {
12830             "Params": {
12831               "$ref": "#/definitions/Entities"
12832             },
12833             "Result": {
12834               "$ref": "#/definitions/NotifyWatchResults"
12835             }
12836           }
12837         }
12838       },
12839       "definitions": {
12840         "Entities": {
12841           "type": "object",
12842           "properties": {
12843             "entities": {
12844               "type": "array",
12845               "items": {
12846                 "$ref": "#/definitions/Entity"
12847               }
12848             }
12849           },
12850           "additionalProperties": false,
12851           "required": [
12852             "entities"
12853           ]
12854         },
12855         "Entity": {
12856           "type": "object",
12857           "properties": {
12858             "tag": {
12859               "type": "string"
12860             }
12861           },
12862           "additionalProperties": false,
12863           "required": [
12864             "tag"
12865           ]
12866         },
12867         "Error": {
12868           "type": "object",
12869           "properties": {
12870             "code": {
12871               "type": "string"
12872             },
12873             "info": {
12874               "$ref": "#/definitions/ErrorInfo"
12875             },
12876             "message": {
12877               "type": "string"
12878             }
12879           },
12880           "additionalProperties": false,
12881           "required": [
12882             "message",
12883             "code"
12884           ]
12885         },
12886         "ErrorInfo": {
12887           "type": "object",
12888           "properties": {
12889             "macaroon": {
12890               "$ref": "#/definitions/Macaroon"
12891             },
12892             "macaroon-path": {
12893               "type": "string"
12894             }
12895           },
12896           "additionalProperties": false
12897         },
12898         "Macaroon": {
12899           "type": "object",
12900           "additionalProperties": false
12901         },
12902         "NotifyWatchResult": {
12903           "type": "object",
12904           "properties": {
12905             "NotifyWatcherId": {
12906               "type": "string"
12907             },
12908             "error": {
12909               "$ref": "#/definitions/Error"
12910             }
12911           },
12912           "additionalProperties": false,
12913           "required": [
12914             "NotifyWatcherId"
12915           ]
12916         },
12917         "NotifyWatchResults": {
12918           "type": "object",
12919           "properties": {
12920             "results": {
12921               "type": "array",
12922               "items": {
12923                 "$ref": "#/definitions/NotifyWatchResult"
12924               }
12925             }
12926           },
12927           "additionalProperties": false,
12928           "required": [
12929             "results"
12930           ]
12931         },
12932         "PhaseResult": {
12933           "type": "object",
12934           "properties": {
12935             "error": {
12936               "$ref": "#/definitions/Error"
12937             },
12938             "phase": {
12939               "type": "string"
12940             }
12941           },
12942           "additionalProperties": false
12943         },
12944         "PhaseResults": {
12945           "type": "object",
12946           "properties": {
12947             "results": {
12948               "type": "array",
12949               "items": {
12950                 "$ref": "#/definitions/PhaseResult"
12951               }
12952             }
12953           },
12954           "additionalProperties": false,
12955           "required": [
12956             "results"
12957           ]
12958         }
12959       }
12960     }
12961   },
12962   {
12963     "Name": "MigrationMaster",
12964     "Version": 1,
12965     "Schema": {
12966       "type": "object",
12967       "properties": {
12968         "Export": {
12969           "type": "object",
12970           "properties": {
12971             "Result": {
12972               "$ref": "#/definitions/SerializedModel"
12973             }
12974           }
12975         },
12976         "MigrationStatus": {
12977           "type": "object",
12978           "properties": {
12979             "Result": {
12980               "$ref": "#/definitions/MasterMigrationStatus"
12981             }
12982           }
12983         },
12984         "MinionReports": {
12985           "type": "object",
12986           "properties": {
12987             "Result": {
12988               "$ref": "#/definitions/MinionReports"
12989             }
12990           }
12991         },
12992         "ModelInfo": {
12993           "type": "object",
12994           "properties": {
12995             "Result": {
12996               "$ref": "#/definitions/MigrationModelInfo"
12997             }
12998           }
12999         },
13000         "Prechecks": {
13001           "type": "object"
13002         },
13003         "Reap": {
13004           "type": "object"
13005         },
13006         "SetPhase": {
13007           "type": "object",
13008           "properties": {
13009             "Params": {
13010               "$ref": "#/definitions/SetMigrationPhaseArgs"
13011             }
13012           }
13013         },
13014         "SetStatusMessage": {
13015           "type": "object",
13016           "properties": {
13017             "Params": {
13018               "$ref": "#/definitions/SetMigrationStatusMessageArgs"
13019             }
13020           }
13021         },
13022         "Watch": {
13023           "type": "object",
13024           "properties": {
13025             "Result": {
13026               "$ref": "#/definitions/NotifyWatchResult"
13027             }
13028           }
13029         },
13030         "WatchMinionReports": {
13031           "type": "object",
13032           "properties": {
13033             "Result": {
13034               "$ref": "#/definitions/NotifyWatchResult"
13035             }
13036           }
13037         }
13038       },
13039       "definitions": {
13040         "Error": {
13041           "type": "object",
13042           "properties": {
13043             "code": {
13044               "type": "string"
13045             },
13046             "info": {
13047               "$ref": "#/definitions/ErrorInfo"
13048             },
13049             "message": {
13050               "type": "string"
13051             }
13052           },
13053           "additionalProperties": false,
13054           "required": [
13055             "message",
13056             "code"
13057           ]
13058         },
13059         "ErrorInfo": {
13060           "type": "object",
13061           "properties": {
13062             "macaroon": {
13063               "$ref": "#/definitions/Macaroon"
13064             },
13065             "macaroon-path": {
13066               "type": "string"
13067             }
13068           },
13069           "additionalProperties": false
13070         },
13071         "Macaroon": {
13072           "type": "object",
13073           "additionalProperties": false
13074         },
13075         "MasterMigrationStatus": {
13076           "type": "object",
13077           "properties": {
13078             "migration-id": {
13079               "type": "string"
13080             },
13081             "phase": {
13082               "type": "string"
13083             },
13084             "phase-changed-time": {
13085               "type": "string",
13086               "format": "date-time"
13087             },
13088             "spec": {
13089               "$ref": "#/definitions/MigrationSpec"
13090             }
13091           },
13092           "additionalProperties": false,
13093           "required": [
13094             "spec",
13095             "migration-id",
13096             "phase",
13097             "phase-changed-time"
13098           ]
13099         },
13100         "MigrationModelInfo": {
13101           "type": "object",
13102           "properties": {
13103             "agent-version": {
13104               "$ref": "#/definitions/Number"
13105             },
13106             "name": {
13107               "type": "string"
13108             },
13109             "owner-tag": {
13110               "type": "string"
13111             },
13112             "uuid": {
13113               "type": "string"
13114             }
13115           },
13116           "additionalProperties": false,
13117           "required": [
13118             "uuid",
13119             "name",
13120             "owner-tag",
13121             "agent-version"
13122           ]
13123         },
13124         "MigrationSpec": {
13125           "type": "object",
13126           "properties": {
13127             "external-control": {
13128               "type": "boolean"
13129             },
13130             "model-tag": {
13131               "type": "string"
13132             },
13133             "skip-initial-prechecks": {
13134               "type": "boolean"
13135             },
13136             "target-info": {
13137               "$ref": "#/definitions/MigrationTargetInfo"
13138             }
13139           },
13140           "additionalProperties": false,
13141           "required": [
13142             "model-tag",
13143             "target-info",
13144             "external-control",
13145             "skip-initial-prechecks"
13146           ]
13147         },
13148         "MigrationTargetInfo": {
13149           "type": "object",
13150           "properties": {
13151             "addrs": {
13152               "type": "array",
13153               "items": {
13154                 "type": "string"
13155               }
13156             },
13157             "auth-tag": {
13158               "type": "string"
13159             },
13160             "ca-cert": {
13161               "type": "string"
13162             },
13163             "controller-tag": {
13164               "type": "string"
13165             },
13166             "macaroons": {
13167               "type": "string"
13168             },
13169             "password": {
13170               "type": "string"
13171             }
13172           },
13173           "additionalProperties": false,
13174           "required": [
13175             "controller-tag",
13176             "addrs",
13177             "ca-cert",
13178             "auth-tag"
13179           ]
13180         },
13181         "MinionReports": {
13182           "type": "object",
13183           "properties": {
13184             "failed": {
13185               "type": "array",
13186               "items": {
13187                 "type": "string"
13188               }
13189             },
13190             "migration-id": {
13191               "type": "string"
13192             },
13193             "phase": {
13194               "type": "string"
13195             },
13196             "success-count": {
13197               "type": "integer"
13198             },
13199             "unknown-count": {
13200               "type": "integer"
13201             },
13202             "unknown-sample": {
13203               "type": "array",
13204               "items": {
13205                 "type": "string"
13206               }
13207             }
13208           },
13209           "additionalProperties": false,
13210           "required": [
13211             "migration-id",
13212             "phase",
13213             "success-count",
13214             "unknown-count",
13215             "unknown-sample",
13216             "failed"
13217           ]
13218         },
13219         "NotifyWatchResult": {
13220           "type": "object",
13221           "properties": {
13222             "NotifyWatcherId": {
13223               "type": "string"
13224             },
13225             "error": {
13226               "$ref": "#/definitions/Error"
13227             }
13228           },
13229           "additionalProperties": false,
13230           "required": [
13231             "NotifyWatcherId"
13232           ]
13233         },
13234         "Number": {
13235           "type": "object",
13236           "properties": {
13237             "Build": {
13238               "type": "integer"
13239             },
13240             "Major": {
13241               "type": "integer"
13242             },
13243             "Minor": {
13244               "type": "integer"
13245             },
13246             "Patch": {
13247               "type": "integer"
13248             },
13249             "Tag": {
13250               "type": "string"
13251             }
13252           },
13253           "additionalProperties": false,
13254           "required": [
13255             "Major",
13256             "Minor",
13257             "Tag",
13258             "Patch",
13259             "Build"
13260           ]
13261         },
13262         "SerializedModel": {
13263           "type": "object",
13264           "properties": {
13265             "bytes": {
13266               "type": "array",
13267               "items": {
13268                 "type": "integer"
13269               }
13270             },
13271             "charms": {
13272               "type": "array",
13273               "items": {
13274                 "type": "string"
13275               }
13276             },
13277             "tools": {
13278               "type": "array",
13279               "items": {
13280                 "$ref": "#/definitions/SerializedModelTools"
13281               }
13282             }
13283           },
13284           "additionalProperties": false,
13285           "required": [
13286             "bytes",
13287             "charms",
13288             "tools"
13289           ]
13290         },
13291         "SerializedModelTools": {
13292           "type": "object",
13293           "properties": {
13294             "uri": {
13295               "type": "string"
13296             },
13297             "version": {
13298               "type": "string"
13299             }
13300           },
13301           "additionalProperties": false,
13302           "required": [
13303             "version",
13304             "uri"
13305           ]
13306         },
13307         "SetMigrationPhaseArgs": {
13308           "type": "object",
13309           "properties": {
13310             "phase": {
13311               "type": "string"
13312             }
13313           },
13314           "additionalProperties": false,
13315           "required": [
13316             "phase"
13317           ]
13318         },
13319         "SetMigrationStatusMessageArgs": {
13320           "type": "object",
13321           "properties": {
13322             "message": {
13323               "type": "string"
13324             }
13325           },
13326           "additionalProperties": false,
13327           "required": [
13328             "message"
13329           ]
13330         }
13331       }
13332     }
13333   },
13334   {
13335     "Name": "MigrationMinion",
13336     "Version": 1,
13337     "Schema": {
13338       "type": "object",
13339       "properties": {
13340         "Report": {
13341           "type": "object",
13342           "properties": {
13343             "Params": {
13344               "$ref": "#/definitions/MinionReport"
13345             }
13346           }
13347         },
13348         "Watch": {
13349           "type": "object",
13350           "properties": {
13351             "Result": {
13352               "$ref": "#/definitions/NotifyWatchResult"
13353             }
13354           }
13355         }
13356       },
13357       "definitions": {
13358         "Error": {
13359           "type": "object",
13360           "properties": {
13361             "code": {
13362               "type": "string"
13363             },
13364             "info": {
13365               "$ref": "#/definitions/ErrorInfo"
13366             },
13367             "message": {
13368               "type": "string"
13369             }
13370           },
13371           "additionalProperties": false,
13372           "required": [
13373             "message",
13374             "code"
13375           ]
13376         },
13377         "ErrorInfo": {
13378           "type": "object",
13379           "properties": {
13380             "macaroon": {
13381               "$ref": "#/definitions/Macaroon"
13382             },
13383             "macaroon-path": {
13384               "type": "string"
13385             }
13386           },
13387           "additionalProperties": false
13388         },
13389         "Macaroon": {
13390           "type": "object",
13391           "additionalProperties": false
13392         },
13393         "MinionReport": {
13394           "type": "object",
13395           "properties": {
13396             "migration-id": {
13397               "type": "string"
13398             },
13399             "phase": {
13400               "type": "string"
13401             },
13402             "success": {
13403               "type": "boolean"
13404             }
13405           },
13406           "additionalProperties": false,
13407           "required": [
13408             "migration-id",
13409             "phase",
13410             "success"
13411           ]
13412         },
13413         "NotifyWatchResult": {
13414           "type": "object",
13415           "properties": {
13416             "NotifyWatcherId": {
13417               "type": "string"
13418             },
13419             "error": {
13420               "$ref": "#/definitions/Error"
13421             }
13422           },
13423           "additionalProperties": false,
13424           "required": [
13425             "NotifyWatcherId"
13426           ]
13427         }
13428       }
13429     }
13430   },
13431   {
13432     "Name": "MigrationStatusWatcher",
13433     "Version": 1,
13434     "Schema": {
13435       "type": "object",
13436       "properties": {
13437         "Next": {
13438           "type": "object",
13439           "properties": {
13440             "Result": {
13441               "$ref": "#/definitions/MigrationStatus"
13442             }
13443           }
13444         },
13445         "Stop": {
13446           "type": "object"
13447         }
13448       },
13449       "definitions": {
13450         "MigrationStatus": {
13451           "type": "object",
13452           "properties": {
13453             "attempt": {
13454               "type": "integer"
13455             },
13456             "external-control": {
13457               "type": "boolean"
13458             },
13459             "migration-id": {
13460               "type": "string"
13461             },
13462             "phase": {
13463               "type": "string"
13464             },
13465             "source-api-addrs": {
13466               "type": "array",
13467               "items": {
13468                 "type": "string"
13469               }
13470             },
13471             "source-ca-cert": {
13472               "type": "string"
13473             },
13474             "target-api-addrs": {
13475               "type": "array",
13476               "items": {
13477                 "type": "string"
13478               }
13479             },
13480             "target-ca-cert": {
13481               "type": "string"
13482             }
13483           },
13484           "additionalProperties": false,
13485           "required": [
13486             "migration-id",
13487             "attempt",
13488             "phase",
13489             "external-control",
13490             "source-api-addrs",
13491             "source-ca-cert",
13492             "target-api-addrs",
13493             "target-ca-cert"
13494           ]
13495         }
13496       }
13497     }
13498   },
13499   {
13500     "Name": "MigrationTarget",
13501     "Version": 1,
13502     "Schema": {
13503       "type": "object",
13504       "properties": {
13505         "Abort": {
13506           "type": "object",
13507           "properties": {
13508             "Params": {
13509               "$ref": "#/definitions/ModelArgs"
13510             }
13511           }
13512         },
13513         "Activate": {
13514           "type": "object",
13515           "properties": {
13516             "Params": {
13517               "$ref": "#/definitions/ModelArgs"
13518             }
13519           }
13520         },
13521         "Import": {
13522           "type": "object",
13523           "properties": {
13524             "Params": {
13525               "$ref": "#/definitions/SerializedModel"
13526             }
13527           }
13528         },
13529         "Prechecks": {
13530           "type": "object",
13531           "properties": {
13532             "Params": {
13533               "$ref": "#/definitions/MigrationModelInfo"
13534             }
13535           }
13536         }
13537       },
13538       "definitions": {
13539         "MigrationModelInfo": {
13540           "type": "object",
13541           "properties": {
13542             "agent-version": {
13543               "$ref": "#/definitions/Number"
13544             },
13545             "name": {
13546               "type": "string"
13547             },
13548             "owner-tag": {
13549               "type": "string"
13550             },
13551             "uuid": {
13552               "type": "string"
13553             }
13554           },
13555           "additionalProperties": false,
13556           "required": [
13557             "uuid",
13558             "name",
13559             "owner-tag",
13560             "agent-version"
13561           ]
13562         },
13563         "ModelArgs": {
13564           "type": "object",
13565           "properties": {
13566             "model-tag": {
13567               "type": "string"
13568             }
13569           },
13570           "additionalProperties": false,
13571           "required": [
13572             "model-tag"
13573           ]
13574         },
13575         "Number": {
13576           "type": "object",
13577           "properties": {
13578             "Build": {
13579               "type": "integer"
13580             },
13581             "Major": {
13582               "type": "integer"
13583             },
13584             "Minor": {
13585               "type": "integer"
13586             },
13587             "Patch": {
13588               "type": "integer"
13589             },
13590             "Tag": {
13591               "type": "string"
13592             }
13593           },
13594           "additionalProperties": false,
13595           "required": [
13596             "Major",
13597             "Minor",
13598             "Tag",
13599             "Patch",
13600             "Build"
13601           ]
13602         },
13603         "SerializedModel": {
13604           "type": "object",
13605           "properties": {
13606             "bytes": {
13607               "type": "array",
13608               "items": {
13609                 "type": "integer"
13610               }
13611             },
13612             "charms": {
13613               "type": "array",
13614               "items": {
13615                 "type": "string"
13616               }
13617             },
13618             "tools": {
13619               "type": "array",
13620               "items": {
13621                 "$ref": "#/definitions/SerializedModelTools"
13622               }
13623             }
13624           },
13625           "additionalProperties": false,
13626           "required": [
13627             "bytes",
13628             "charms",
13629             "tools"
13630           ]
13631         },
13632         "SerializedModelTools": {
13633           "type": "object",
13634           "properties": {
13635             "uri": {
13636               "type": "string"
13637             },
13638             "version": {
13639               "type": "string"
13640             }
13641           },
13642           "additionalProperties": false,
13643           "required": [
13644             "version",
13645             "uri"
13646           ]
13647         }
13648       }
13649     }
13650   },
13651   {
13652     "Name": "ModelConfig",
13653     "Version": 1,
13654     "Schema": {
13655       "type": "object",
13656       "properties": {
13657         "ModelGet": {
13658           "type": "object",
13659           "properties": {
13660             "Result": {
13661               "$ref": "#/definitions/ModelConfigResults"
13662             }
13663           }
13664         },
13665         "ModelSet": {
13666           "type": "object",
13667           "properties": {
13668             "Params": {
13669               "$ref": "#/definitions/ModelSet"
13670             }
13671           }
13672         },
13673         "ModelUnset": {
13674           "type": "object",
13675           "properties": {
13676             "Params": {
13677               "$ref": "#/definitions/ModelUnset"
13678             }
13679           }
13680         }
13681       },
13682       "definitions": {
13683         "ConfigValue": {
13684           "type": "object",
13685           "properties": {
13686             "source": {
13687               "type": "string"
13688             },
13689             "value": {
13690               "type": "object",
13691               "additionalProperties": true
13692             }
13693           },
13694           "additionalProperties": false,
13695           "required": [
13696             "value",
13697             "source"
13698           ]
13699         },
13700         "ModelConfigResults": {
13701           "type": "object",
13702           "properties": {
13703             "config": {
13704               "type": "object",
13705               "patternProperties": {
13706                 ".*": {
13707                   "$ref": "#/definitions/ConfigValue"
13708                 }
13709               }
13710             }
13711           },
13712           "additionalProperties": false,
13713           "required": [
13714             "config"
13715           ]
13716         },
13717         "ModelSet": {
13718           "type": "object",
13719           "properties": {
13720             "config": {
13721               "type": "object",
13722               "patternProperties": {
13723                 ".*": {
13724                   "type": "object",
13725                   "additionalProperties": true
13726                 }
13727               }
13728             }
13729           },
13730           "additionalProperties": false,
13731           "required": [
13732             "config"
13733           ]
13734         },
13735         "ModelUnset": {
13736           "type": "object",
13737           "properties": {
13738             "keys": {
13739               "type": "array",
13740               "items": {
13741                 "type": "string"
13742               }
13743             }
13744           },
13745           "additionalProperties": false,
13746           "required": [
13747             "keys"
13748           ]
13749         }
13750       }
13751     }
13752   },
13753   {
13754     "Name": "ModelManager",
13755     "Version": 2,
13756     "Schema": {
13757       "type": "object",
13758       "properties": {
13759         "CreateModel": {
13760           "type": "object",
13761           "properties": {
13762             "Params": {
13763               "$ref": "#/definitions/ModelCreateArgs"
13764             },
13765             "Result": {
13766               "$ref": "#/definitions/ModelInfo"
13767             }
13768           }
13769         },
13770         "DestroyModels": {
13771           "type": "object",
13772           "properties": {
13773             "Params": {
13774               "$ref": "#/definitions/Entities"
13775             },
13776             "Result": {
13777               "$ref": "#/definitions/ErrorResults"
13778             }
13779           }
13780         },
13781         "DumpModels": {
13782           "type": "object",
13783           "properties": {
13784             "Params": {
13785               "$ref": "#/definitions/Entities"
13786             },
13787             "Result": {
13788               "$ref": "#/definitions/MapResults"
13789             }
13790           }
13791         },
13792         "DumpModelsDB": {
13793           "type": "object",
13794           "properties": {
13795             "Params": {
13796               "$ref": "#/definitions/Entities"
13797             },
13798             "Result": {
13799               "$ref": "#/definitions/MapResults"
13800             }
13801           }
13802         },
13803         "ListModels": {
13804           "type": "object",
13805           "properties": {
13806             "Params": {
13807               "$ref": "#/definitions/Entity"
13808             },
13809             "Result": {
13810               "$ref": "#/definitions/UserModelList"
13811             }
13812           }
13813         },
13814         "ModelDefaults": {
13815           "type": "object",
13816           "properties": {
13817             "Result": {
13818               "$ref": "#/definitions/ModelDefaultsResult"
13819             }
13820           }
13821         },
13822         "ModelInfo": {
13823           "type": "object",
13824           "properties": {
13825             "Params": {
13826               "$ref": "#/definitions/Entities"
13827             },
13828             "Result": {
13829               "$ref": "#/definitions/ModelInfoResults"
13830             }
13831           }
13832         },
13833         "ModelStatus": {
13834           "type": "object",
13835           "properties": {
13836             "Params": {
13837               "$ref": "#/definitions/Entities"
13838             },
13839             "Result": {
13840               "$ref": "#/definitions/ModelStatusResults"
13841             }
13842           }
13843         },
13844         "ModifyModelAccess": {
13845           "type": "object",
13846           "properties": {
13847             "Params": {
13848               "$ref": "#/definitions/ModifyModelAccessRequest"
13849             },
13850             "Result": {
13851               "$ref": "#/definitions/ErrorResults"
13852             }
13853           }
13854         },
13855         "SetModelDefaults": {
13856           "type": "object",
13857           "properties": {
13858             "Params": {
13859               "$ref": "#/definitions/SetModelDefaults"
13860             },
13861             "Result": {
13862               "$ref": "#/definitions/ErrorResults"
13863             }
13864           }
13865         },
13866         "UnsetModelDefaults": {
13867           "type": "object",
13868           "properties": {
13869             "Params": {
13870               "$ref": "#/definitions/UnsetModelDefaults"
13871             },
13872             "Result": {
13873               "$ref": "#/definitions/ErrorResults"
13874             }
13875           }
13876         }
13877       },
13878       "definitions": {
13879         "Entities": {
13880           "type": "object",
13881           "properties": {
13882             "entities": {
13883               "type": "array",
13884               "items": {
13885                 "$ref": "#/definitions/Entity"
13886               }
13887             }
13888           },
13889           "additionalProperties": false,
13890           "required": [
13891             "entities"
13892           ]
13893         },
13894         "Entity": {
13895           "type": "object",
13896           "properties": {
13897             "tag": {
13898               "type": "string"
13899             }
13900           },
13901           "additionalProperties": false,
13902           "required": [
13903             "tag"
13904           ]
13905         },
13906         "EntityStatus": {
13907           "type": "object",
13908           "properties": {
13909             "data": {
13910               "type": "object",
13911               "patternProperties": {
13912                 ".*": {
13913                   "type": "object",
13914                   "additionalProperties": true
13915                 }
13916               }
13917             },
13918             "info": {
13919               "type": "string"
13920             },
13921             "since": {
13922               "type": "string",
13923               "format": "date-time"
13924             },
13925             "status": {
13926               "type": "string"
13927             }
13928           },
13929           "additionalProperties": false,
13930           "required": [
13931             "status",
13932             "info",
13933             "since"
13934           ]
13935         },
13936         "Error": {
13937           "type": "object",
13938           "properties": {
13939             "code": {
13940               "type": "string"
13941             },
13942             "info": {
13943               "$ref": "#/definitions/ErrorInfo"
13944             },
13945             "message": {
13946               "type": "string"
13947             }
13948           },
13949           "additionalProperties": false,
13950           "required": [
13951             "message",
13952             "code"
13953           ]
13954         },
13955         "ErrorInfo": {
13956           "type": "object",
13957           "properties": {
13958             "macaroon": {
13959               "$ref": "#/definitions/Macaroon"
13960             },
13961             "macaroon-path": {
13962               "type": "string"
13963             }
13964           },
13965           "additionalProperties": false
13966         },
13967         "ErrorResult": {
13968           "type": "object",
13969           "properties": {
13970             "error": {
13971               "$ref": "#/definitions/Error"
13972             }
13973           },
13974           "additionalProperties": false
13975         },
13976         "ErrorResults": {
13977           "type": "object",
13978           "properties": {
13979             "results": {
13980               "type": "array",
13981               "items": {
13982                 "$ref": "#/definitions/ErrorResult"
13983               }
13984             }
13985           },
13986           "additionalProperties": false,
13987           "required": [
13988             "results"
13989           ]
13990         },
13991         "Macaroon": {
13992           "type": "object",
13993           "additionalProperties": false
13994         },
13995         "MachineHardware": {
13996           "type": "object",
13997           "properties": {
13998             "arch": {
13999               "type": "string"
14000             },
14001             "availability-zone": {
14002               "type": "string"
14003             },
14004             "cores": {
14005               "type": "integer"
14006             },
14007             "cpu-power": {
14008               "type": "integer"
14009             },
14010             "mem": {
14011               "type": "integer"
14012             },
14013             "root-disk": {
14014               "type": "integer"
14015             },
14016             "tags": {
14017               "type": "array",
14018               "items": {
14019                 "type": "string"
14020               }
14021             }
14022           },
14023           "additionalProperties": false
14024         },
14025         "MapResult": {
14026           "type": "object",
14027           "properties": {
14028             "error": {
14029               "$ref": "#/definitions/Error"
14030             },
14031             "result": {
14032               "type": "object",
14033               "patternProperties": {
14034                 ".*": {
14035                   "type": "object",
14036                   "additionalProperties": true
14037                 }
14038               }
14039             }
14040           },
14041           "additionalProperties": false,
14042           "required": [
14043             "result"
14044           ]
14045         },
14046         "MapResults": {
14047           "type": "object",
14048           "properties": {
14049             "results": {
14050               "type": "array",
14051               "items": {
14052                 "$ref": "#/definitions/MapResult"
14053               }
14054             }
14055           },
14056           "additionalProperties": false,
14057           "required": [
14058             "results"
14059           ]
14060         },
14061         "Model": {
14062           "type": "object",
14063           "properties": {
14064             "name": {
14065               "type": "string"
14066             },
14067             "owner-tag": {
14068               "type": "string"
14069             },
14070             "uuid": {
14071               "type": "string"
14072             }
14073           },
14074           "additionalProperties": false,
14075           "required": [
14076             "name",
14077             "uuid",
14078             "owner-tag"
14079           ]
14080         },
14081         "ModelCreateArgs": {
14082           "type": "object",
14083           "properties": {
14084             "cloud-tag": {
14085               "type": "string"
14086             },
14087             "config": {
14088               "type": "object",
14089               "patternProperties": {
14090                 ".*": {
14091                   "type": "object",
14092                   "additionalProperties": true
14093                 }
14094               }
14095             },
14096             "credential": {
14097               "type": "string"
14098             },
14099             "name": {
14100               "type": "string"
14101             },
14102             "owner-tag": {
14103               "type": "string"
14104             },
14105             "region": {
14106               "type": "string"
14107             }
14108           },
14109           "additionalProperties": false,
14110           "required": [
14111             "name",
14112             "owner-tag"
14113           ]
14114         },
14115         "ModelDefaultValues": {
14116           "type": "object",
14117           "properties": {
14118             "cloud-region": {
14119               "type": "string"
14120             },
14121             "cloud-tag": {
14122               "type": "string"
14123             },
14124             "config": {
14125               "type": "object",
14126               "patternProperties": {
14127                 ".*": {
14128                   "type": "object",
14129                   "additionalProperties": true
14130                 }
14131               }
14132             }
14133           },
14134           "additionalProperties": false,
14135           "required": [
14136             "config"
14137           ]
14138         },
14139         "ModelDefaults": {
14140           "type": "object",
14141           "properties": {
14142             "controller": {
14143               "type": "object",
14144               "additionalProperties": true
14145             },
14146             "default": {
14147               "type": "object",
14148               "additionalProperties": true
14149             },
14150             "regions": {
14151               "type": "array",
14152               "items": {
14153                 "$ref": "#/definitions/RegionDefaults"
14154               }
14155             }
14156           },
14157           "additionalProperties": false
14158         },
14159         "ModelDefaultsResult": {
14160           "type": "object",
14161           "properties": {
14162             "config": {
14163               "type": "object",
14164               "patternProperties": {
14165                 ".*": {
14166                   "$ref": "#/definitions/ModelDefaults"
14167                 }
14168               }
14169             }
14170           },
14171           "additionalProperties": false,
14172           "required": [
14173             "config"
14174           ]
14175         },
14176         "ModelInfo": {
14177           "type": "object",
14178           "properties": {
14179             "cloud-credential-tag": {
14180               "type": "string"
14181             },
14182             "cloud-region": {
14183               "type": "string"
14184             },
14185             "cloud-tag": {
14186               "type": "string"
14187             },
14188             "controller-uuid": {
14189               "type": "string"
14190             },
14191             "default-series": {
14192               "type": "string"
14193             },
14194             "life": {
14195               "type": "string"
14196             },
14197             "machines": {
14198               "type": "array",
14199               "items": {
14200                 "$ref": "#/definitions/ModelMachineInfo"
14201               }
14202             },
14203             "name": {
14204               "type": "string"
14205             },
14206             "owner-tag": {
14207               "type": "string"
14208             },
14209             "provider-type": {
14210               "type": "string"
14211             },
14212             "status": {
14213               "$ref": "#/definitions/EntityStatus"
14214             },
14215             "users": {
14216               "type": "array",
14217               "items": {
14218                 "$ref": "#/definitions/ModelUserInfo"
14219               }
14220             },
14221             "uuid": {
14222               "type": "string"
14223             }
14224           },
14225           "additionalProperties": false,
14226           "required": [
14227             "name",
14228             "uuid",
14229             "controller-uuid",
14230             "provider-type",
14231             "default-series",
14232             "cloud-tag",
14233             "owner-tag",
14234             "life",
14235             "status",
14236             "users",
14237             "machines"
14238           ]
14239         },
14240         "ModelInfoResult": {
14241           "type": "object",
14242           "properties": {
14243             "error": {
14244               "$ref": "#/definitions/Error"
14245             },
14246             "result": {
14247               "$ref": "#/definitions/ModelInfo"
14248             }
14249           },
14250           "additionalProperties": false
14251         },
14252         "ModelInfoResults": {
14253           "type": "object",
14254           "properties": {
14255             "results": {
14256               "type": "array",
14257               "items": {
14258                 "$ref": "#/definitions/ModelInfoResult"
14259               }
14260             }
14261           },
14262           "additionalProperties": false,
14263           "required": [
14264             "results"
14265           ]
14266         },
14267         "ModelMachineInfo": {
14268           "type": "object",
14269           "properties": {
14270             "hardware": {
14271               "$ref": "#/definitions/MachineHardware"
14272             },
14273             "has-vote": {
14274               "type": "boolean"
14275             },
14276             "id": {
14277               "type": "string"
14278             },
14279             "instance-id": {
14280               "type": "string"
14281             },
14282             "status": {
14283               "type": "string"
14284             },
14285             "wants-vote": {
14286               "type": "boolean"
14287             }
14288           },
14289           "additionalProperties": false,
14290           "required": [
14291             "id"
14292           ]
14293         },
14294         "ModelStatus": {
14295           "type": "object",
14296           "properties": {
14297             "application-count": {
14298               "type": "integer"
14299             },
14300             "hosted-machine-count": {
14301               "type": "integer"
14302             },
14303             "life": {
14304               "type": "string"
14305             },
14306             "machines": {
14307               "type": "array",
14308               "items": {
14309                 "$ref": "#/definitions/ModelMachineInfo"
14310               }
14311             },
14312             "model-tag": {
14313               "type": "string"
14314             },
14315             "owner-tag": {
14316               "type": "string"
14317             }
14318           },
14319           "additionalProperties": false,
14320           "required": [
14321             "model-tag",
14322             "life",
14323             "hosted-machine-count",
14324             "application-count",
14325             "owner-tag"
14326           ]
14327         },
14328         "ModelStatusResults": {
14329           "type": "object",
14330           "properties": {
14331             "models": {
14332               "type": "array",
14333               "items": {
14334                 "$ref": "#/definitions/ModelStatus"
14335               }
14336             }
14337           },
14338           "additionalProperties": false,
14339           "required": [
14340             "models"
14341           ]
14342         },
14343         "ModelUnsetKeys": {
14344           "type": "object",
14345           "properties": {
14346             "cloud-region": {
14347               "type": "string"
14348             },
14349             "cloud-tag": {
14350               "type": "string"
14351             },
14352             "keys": {
14353               "type": "array",
14354               "items": {
14355                 "type": "string"
14356               }
14357             }
14358           },
14359           "additionalProperties": false,
14360           "required": [
14361             "keys"
14362           ]
14363         },
14364         "ModelUserInfo": {
14365           "type": "object",
14366           "properties": {
14367             "access": {
14368               "type": "string"
14369             },
14370             "display-name": {
14371               "type": "string"
14372             },
14373             "last-connection": {
14374               "type": "string",
14375               "format": "date-time"
14376             },
14377             "user": {
14378               "type": "string"
14379             }
14380           },
14381           "additionalProperties": false,
14382           "required": [
14383             "user",
14384             "display-name",
14385             "last-connection",
14386             "access"
14387           ]
14388         },
14389         "ModifyModelAccess": {
14390           "type": "object",
14391           "properties": {
14392             "access": {
14393               "type": "string"
14394             },
14395             "action": {
14396               "type": "string"
14397             },
14398             "model-tag": {
14399               "type": "string"
14400             },
14401             "user-tag": {
14402               "type": "string"
14403             }
14404           },
14405           "additionalProperties": false,
14406           "required": [
14407             "user-tag",
14408             "action",
14409             "access",
14410             "model-tag"
14411           ]
14412         },
14413         "ModifyModelAccessRequest": {
14414           "type": "object",
14415           "properties": {
14416             "changes": {
14417               "type": "array",
14418               "items": {
14419                 "$ref": "#/definitions/ModifyModelAccess"
14420               }
14421             }
14422           },
14423           "additionalProperties": false,
14424           "required": [
14425             "changes"
14426           ]
14427         },
14428         "RegionDefaults": {
14429           "type": "object",
14430           "properties": {
14431             "region-name": {
14432               "type": "string"
14433             },
14434             "value": {
14435               "type": "object",
14436               "additionalProperties": true
14437             }
14438           },
14439           "additionalProperties": false,
14440           "required": [
14441             "region-name",
14442             "value"
14443           ]
14444         },
14445         "SetModelDefaults": {
14446           "type": "object",
14447           "properties": {
14448             "config": {
14449               "type": "array",
14450               "items": {
14451                 "$ref": "#/definitions/ModelDefaultValues"
14452               }
14453             }
14454           },
14455           "additionalProperties": false,
14456           "required": [
14457             "config"
14458           ]
14459         },
14460         "UnsetModelDefaults": {
14461           "type": "object",
14462           "properties": {
14463             "keys": {
14464               "type": "array",
14465               "items": {
14466                 "$ref": "#/definitions/ModelUnsetKeys"
14467               }
14468             }
14469           },
14470           "additionalProperties": false,
14471           "required": [
14472             "keys"
14473           ]
14474         },
14475         "UserModel": {
14476           "type": "object",
14477           "properties": {
14478             "last-connection": {
14479               "type": "string",
14480               "format": "date-time"
14481             },
14482             "model": {
14483               "$ref": "#/definitions/Model"
14484             }
14485           },
14486           "additionalProperties": false,
14487           "required": [
14488             "model",
14489             "last-connection"
14490           ]
14491         },
14492         "UserModelList": {
14493           "type": "object",
14494           "properties": {
14495             "user-models": {
14496               "type": "array",
14497               "items": {
14498                 "$ref": "#/definitions/UserModel"
14499               }
14500             }
14501           },
14502           "additionalProperties": false,
14503           "required": [
14504             "user-models"
14505           ]
14506         }
14507       }
14508     }
14509   },
14510   {
14511     "Name": "NotifyWatcher",
14512     "Version": 1,
14513     "Schema": {
14514       "type": "object",
14515       "properties": {
14516         "Next": {
14517           "type": "object"
14518         },
14519         "Stop": {
14520           "type": "object"
14521         }
14522       }
14523     }
14524   },
14525   {
14526     "Name": "Payloads",
14527     "Version": 1,
14528     "Schema": {
14529       "type": "object",
14530       "properties": {
14531         "List": {
14532           "type": "object",
14533           "properties": {
14534             "Params": {
14535               "$ref": "#/definitions/EnvListArgs"
14536             },
14537             "Result": {
14538               "$ref": "#/definitions/EnvListResults"
14539             }
14540           }
14541         }
14542       },
14543       "definitions": {
14544         "EnvListArgs": {
14545           "type": "object",
14546           "properties": {
14547             "patterns": {
14548               "type": "array",
14549               "items": {
14550                 "type": "string"
14551               }
14552             }
14553           },
14554           "additionalProperties": false,
14555           "required": [
14556             "patterns"
14557           ]
14558         },
14559         "EnvListResults": {
14560           "type": "object",
14561           "properties": {
14562             "results": {
14563               "type": "array",
14564               "items": {
14565                 "$ref": "#/definitions/Payload"
14566               }
14567             }
14568           },
14569           "additionalProperties": false,
14570           "required": [
14571             "results"
14572           ]
14573         },
14574         "Payload": {
14575           "type": "object",
14576           "properties": {
14577             "class": {
14578               "type": "string"
14579             },
14580             "id": {
14581               "type": "string"
14582             },
14583             "labels": {
14584               "type": "array",
14585               "items": {
14586                 "type": "string"
14587               }
14588             },
14589             "machine": {
14590               "type": "string"
14591             },
14592             "status": {
14593               "type": "string"
14594             },
14595             "type": {
14596               "type": "string"
14597             },
14598             "unit": {
14599               "type": "string"
14600             }
14601           },
14602           "additionalProperties": false,
14603           "required": [
14604             "class",
14605             "type",
14606             "id",
14607             "status",
14608             "labels",
14609             "unit",
14610             "machine"
14611           ]
14612         }
14613       }
14614     }
14615   },
14616   {
14617     "Name": "PayloadsHookContext",
14618     "Version": 1,
14619     "Schema": {
14620       "type": "object",
14621       "properties": {
14622         "List": {
14623           "type": "object",
14624           "properties": {
14625             "Params": {
14626               "$ref": "#/definitions/Entities"
14627             },
14628             "Result": {
14629               "$ref": "#/definitions/PayloadResults"
14630             }
14631           }
14632         },
14633         "LookUp": {
14634           "type": "object",
14635           "properties": {
14636             "Params": {
14637               "$ref": "#/definitions/LookUpArgs"
14638             },
14639             "Result": {
14640               "$ref": "#/definitions/PayloadResults"
14641             }
14642           }
14643         },
14644         "SetStatus": {
14645           "type": "object",
14646           "properties": {
14647             "Params": {
14648               "$ref": "#/definitions/SetStatusArgs"
14649             },
14650             "Result": {
14651               "$ref": "#/definitions/PayloadResults"
14652             }
14653           }
14654         },
14655         "Track": {
14656           "type": "object",
14657           "properties": {
14658             "Params": {
14659               "$ref": "#/definitions/TrackArgs"
14660             },
14661             "Result": {
14662               "$ref": "#/definitions/PayloadResults"
14663             }
14664           }
14665         },
14666         "Untrack": {
14667           "type": "object",
14668           "properties": {
14669             "Params": {
14670               "$ref": "#/definitions/Entities"
14671             },
14672             "Result": {
14673               "$ref": "#/definitions/PayloadResults"
14674             }
14675           }
14676         }
14677       },
14678       "definitions": {
14679         "Entities": {
14680           "type": "object",
14681           "properties": {
14682             "entities": {
14683               "type": "array",
14684               "items": {
14685                 "$ref": "#/definitions/Entity"
14686               }
14687             }
14688           },
14689           "additionalProperties": false,
14690           "required": [
14691             "entities"
14692           ]
14693         },
14694         "Entity": {
14695           "type": "object",
14696           "properties": {
14697             "tag": {
14698               "type": "string"
14699             }
14700           },
14701           "additionalProperties": false,
14702           "required": [
14703             "tag"
14704           ]
14705         },
14706         "Error": {
14707           "type": "object",
14708           "properties": {
14709             "code": {
14710               "type": "string"
14711             },
14712             "info": {
14713               "$ref": "#/definitions/ErrorInfo"
14714             },
14715             "message": {
14716               "type": "string"
14717             }
14718           },
14719           "additionalProperties": false,
14720           "required": [
14721             "message",
14722             "code"
14723           ]
14724         },
14725         "ErrorInfo": {
14726           "type": "object",
14727           "properties": {
14728             "macaroon": {
14729               "$ref": "#/definitions/Macaroon"
14730             },
14731             "macaroon-path": {
14732               "type": "string"
14733             }
14734           },
14735           "additionalProperties": false
14736         },
14737         "LookUpArg": {
14738           "type": "object",
14739           "properties": {
14740             "id": {
14741               "type": "string"
14742             },
14743             "name": {
14744               "type": "string"
14745             }
14746           },
14747           "additionalProperties": false,
14748           "required": [
14749             "name",
14750             "id"
14751           ]
14752         },
14753         "LookUpArgs": {
14754           "type": "object",
14755           "properties": {
14756             "args": {
14757               "type": "array",
14758               "items": {
14759                 "$ref": "#/definitions/LookUpArg"
14760               }
14761             }
14762           },
14763           "additionalProperties": false,
14764           "required": [
14765             "args"
14766           ]
14767         },
14768         "Macaroon": {
14769           "type": "object",
14770           "additionalProperties": false
14771         },
14772         "Payload": {
14773           "type": "object",
14774           "properties": {
14775             "class": {
14776               "type": "string"
14777             },
14778             "id": {
14779               "type": "string"
14780             },
14781             "labels": {
14782               "type": "array",
14783               "items": {
14784                 "type": "string"
14785               }
14786             },
14787             "machine": {
14788               "type": "string"
14789             },
14790             "status": {
14791               "type": "string"
14792             },
14793             "type": {
14794               "type": "string"
14795             },
14796             "unit": {
14797               "type": "string"
14798             }
14799           },
14800           "additionalProperties": false,
14801           "required": [
14802             "class",
14803             "type",
14804             "id",
14805             "status",
14806             "labels",
14807             "unit",
14808             "machine"
14809           ]
14810         },
14811         "PayloadResult": {
14812           "type": "object",
14813           "properties": {
14814             "Entity": {
14815               "$ref": "#/definitions/Entity"
14816             },
14817             "error": {
14818               "$ref": "#/definitions/Error"
14819             },
14820             "not-found": {
14821               "type": "boolean"
14822             },
14823             "payload": {
14824               "$ref": "#/definitions/Payload"
14825             }
14826           },
14827           "additionalProperties": false,
14828           "required": [
14829             "Entity",
14830             "payload",
14831             "not-found"
14832           ]
14833         },
14834         "PayloadResults": {
14835           "type": "object",
14836           "properties": {
14837             "results": {
14838               "type": "array",
14839               "items": {
14840                 "$ref": "#/definitions/PayloadResult"
14841               }
14842             }
14843           },
14844           "additionalProperties": false,
14845           "required": [
14846             "results"
14847           ]
14848         },
14849         "SetStatusArg": {
14850           "type": "object",
14851           "properties": {
14852             "Entity": {
14853               "$ref": "#/definitions/Entity"
14854             },
14855             "status": {
14856               "type": "string"
14857             }
14858           },
14859           "additionalProperties": false,
14860           "required": [
14861             "Entity",
14862             "status"
14863           ]
14864         },
14865         "SetStatusArgs": {
14866           "type": "object",
14867           "properties": {
14868             "args": {
14869               "type": "array",
14870               "items": {
14871                 "$ref": "#/definitions/SetStatusArg"
14872               }
14873             }
14874           },
14875           "additionalProperties": false,
14876           "required": [
14877             "args"
14878           ]
14879         },
14880         "TrackArgs": {
14881           "type": "object",
14882           "properties": {
14883             "payloads": {
14884               "type": "array",
14885               "items": {
14886                 "$ref": "#/definitions/Payload"
14887               }
14888             }
14889           },
14890           "additionalProperties": false,
14891           "required": [
14892             "payloads"
14893           ]
14894         }
14895       }
14896     }
14897   },
14898   {
14899     "Name": "Pinger",
14900     "Version": 1,
14901     "Schema": {
14902       "type": "object",
14903       "properties": {
14904         "Ping": {
14905           "type": "object"
14906         },
14907         "Stop": {
14908           "type": "object"
14909         }
14910       }
14911     }
14912   },
14913   {
14914     "Name": "Provisioner",
14915     "Version": 3,
14916     "Schema": {
14917       "type": "object",
14918       "properties": {
14919         "APIAddresses": {
14920           "type": "object",
14921           "properties": {
14922             "Result": {
14923               "$ref": "#/definitions/StringsResult"
14924             }
14925           }
14926         },
14927         "APIHostPorts": {
14928           "type": "object",
14929           "properties": {
14930             "Result": {
14931               "$ref": "#/definitions/APIHostPortsResult"
14932             }
14933           }
14934         },
14935         "CACert": {
14936           "type": "object",
14937           "properties": {
14938             "Result": {
14939               "$ref": "#/definitions/BytesResult"
14940             }
14941           }
14942         },
14943         "Constraints": {
14944           "type": "object",
14945           "properties": {
14946             "Params": {
14947               "$ref": "#/definitions/Entities"
14948             },
14949             "Result": {
14950               "$ref": "#/definitions/ConstraintsResults"
14951             }
14952           }
14953         },
14954         "ContainerConfig": {
14955           "type": "object",
14956           "properties": {
14957             "Result": {
14958               "$ref": "#/definitions/ContainerConfig"
14959             }
14960           }
14961         },
14962         "ContainerManagerConfig": {
14963           "type": "object",
14964           "properties": {
14965             "Params": {
14966               "$ref": "#/definitions/ContainerManagerConfigParams"
14967             },
14968             "Result": {
14969               "$ref": "#/definitions/ContainerManagerConfig"
14970             }
14971           }
14972         },
14973         "ControllerConfig": {
14974           "type": "object",
14975           "properties": {
14976             "Result": {
14977               "$ref": "#/definitions/ControllerConfigResult"
14978             }
14979           }
14980         },
14981         "DistributionGroup": {
14982           "type": "object",
14983           "properties": {
14984             "Params": {
14985               "$ref": "#/definitions/Entities"
14986             },
14987             "Result": {
14988               "$ref": "#/definitions/DistributionGroupResults"
14989             }
14990           }
14991         },
14992         "EnsureDead": {
14993           "type": "object",
14994           "properties": {
14995             "Params": {
14996               "$ref": "#/definitions/Entities"
14997             },
14998             "Result": {
14999               "$ref": "#/definitions/ErrorResults"
15000             }
15001           }
15002         },
15003         "FindTools": {
15004           "type": "object",
15005           "properties": {
15006             "Params": {
15007               "$ref": "#/definitions/FindToolsParams"
15008             },
15009             "Result": {
15010               "$ref": "#/definitions/FindToolsResult"
15011             }
15012           }
15013         },
15014         "GetContainerInterfaceInfo": {
15015           "type": "object",
15016           "properties": {
15017             "Params": {
15018               "$ref": "#/definitions/Entities"
15019             },
15020             "Result": {
15021               "$ref": "#/definitions/MachineNetworkConfigResults"
15022             }
15023           }
15024         },
15025         "InstanceId": {
15026           "type": "object",
15027           "properties": {
15028             "Params": {
15029               "$ref": "#/definitions/Entities"
15030             },
15031             "Result": {
15032               "$ref": "#/definitions/StringResults"
15033             }
15034           }
15035         },
15036         "InstanceStatus": {
15037           "type": "object",
15038           "properties": {
15039             "Params": {
15040               "$ref": "#/definitions/Entities"
15041             },
15042             "Result": {
15043               "$ref": "#/definitions/StatusResults"
15044             }
15045           }
15046         },
15047         "Life": {
15048           "type": "object",
15049           "properties": {
15050             "Params": {
15051               "$ref": "#/definitions/Entities"
15052             },
15053             "Result": {
15054               "$ref": "#/definitions/LifeResults"
15055             }
15056           }
15057         },
15058         "MachinesWithTransientErrors": {
15059           "type": "object",
15060           "properties": {
15061             "Result": {
15062               "$ref": "#/definitions/StatusResults"
15063             }
15064           }
15065         },
15066         "MarkMachinesForRemoval": {
15067           "type": "object",
15068           "properties": {
15069             "Params": {
15070               "$ref": "#/definitions/Entities"
15071             },
15072             "Result": {
15073               "$ref": "#/definitions/ErrorResults"
15074             }
15075           }
15076         },
15077         "ModelConfig": {
15078           "type": "object",
15079           "properties": {
15080             "Result": {
15081               "$ref": "#/definitions/ModelConfigResult"
15082             }
15083           }
15084         },
15085         "ModelUUID": {
15086           "type": "object",
15087           "properties": {
15088             "Result": {
15089               "$ref": "#/definitions/StringResult"
15090             }
15091           }
15092         },
15093         "PrepareContainerInterfaceInfo": {
15094           "type": "object",
15095           "properties": {
15096             "Params": {
15097               "$ref": "#/definitions/Entities"
15098             },
15099             "Result": {
15100               "$ref": "#/definitions/MachineNetworkConfigResults"
15101             }
15102           }
15103         },
15104         "ProvisioningInfo": {
15105           "type": "object",
15106           "properties": {
15107             "Params": {
15108               "$ref": "#/definitions/Entities"
15109             },
15110             "Result": {
15111               "$ref": "#/definitions/ProvisioningInfoResults"
15112             }
15113           }
15114         },
15115         "ReleaseContainerAddresses": {
15116           "type": "object",
15117           "properties": {
15118             "Params": {
15119               "$ref": "#/definitions/Entities"
15120             },
15121             "Result": {
15122               "$ref": "#/definitions/ErrorResults"
15123             }
15124           }
15125         },
15126         "Remove": {
15127           "type": "object",
15128           "properties": {
15129             "Params": {
15130               "$ref": "#/definitions/Entities"
15131             },
15132             "Result": {
15133               "$ref": "#/definitions/ErrorResults"
15134             }
15135           }
15136         },
15137         "Series": {
15138           "type": "object",
15139           "properties": {
15140             "Params": {
15141               "$ref": "#/definitions/Entities"
15142             },
15143             "Result": {
15144               "$ref": "#/definitions/StringResults"
15145             }
15146           }
15147         },
15148         "SetInstanceInfo": {
15149           "type": "object",
15150           "properties": {
15151             "Params": {
15152               "$ref": "#/definitions/InstancesInfo"
15153             },
15154             "Result": {
15155               "$ref": "#/definitions/ErrorResults"
15156             }
15157           }
15158         },
15159         "SetInstanceStatus": {
15160           "type": "object",
15161           "properties": {
15162             "Params": {
15163               "$ref": "#/definitions/SetStatus"
15164             },
15165             "Result": {
15166               "$ref": "#/definitions/ErrorResults"
15167             }
15168           }
15169         },
15170         "SetPasswords": {
15171           "type": "object",
15172           "properties": {
15173             "Params": {
15174               "$ref": "#/definitions/EntityPasswords"
15175             },
15176             "Result": {
15177               "$ref": "#/definitions/ErrorResults"
15178             }
15179           }
15180         },
15181         "SetStatus": {
15182           "type": "object",
15183           "properties": {
15184             "Params": {
15185               "$ref": "#/definitions/SetStatus"
15186             },
15187             "Result": {
15188               "$ref": "#/definitions/ErrorResults"
15189             }
15190           }
15191         },
15192         "SetSupportedContainers": {
15193           "type": "object",
15194           "properties": {
15195             "Params": {
15196               "$ref": "#/definitions/MachineContainersParams"
15197             },
15198             "Result": {
15199               "$ref": "#/definitions/ErrorResults"
15200             }
15201           }
15202         },
15203         "StateAddresses": {
15204           "type": "object",
15205           "properties": {
15206             "Result": {
15207               "$ref": "#/definitions/StringsResult"
15208             }
15209           }
15210         },
15211         "Status": {
15212           "type": "object",
15213           "properties": {
15214             "Params": {
15215               "$ref": "#/definitions/Entities"
15216             },
15217             "Result": {
15218               "$ref": "#/definitions/StatusResults"
15219             }
15220           }
15221         },
15222         "Tools": {
15223           "type": "object",
15224           "properties": {
15225             "Params": {
15226               "$ref": "#/definitions/Entities"
15227             },
15228             "Result": {
15229               "$ref": "#/definitions/ToolsResults"
15230             }
15231           }
15232         },
15233         "UpdateStatus": {
15234           "type": "object",
15235           "properties": {
15236             "Params": {
15237               "$ref": "#/definitions/SetStatus"
15238             },
15239             "Result": {
15240               "$ref": "#/definitions/ErrorResults"
15241             }
15242           }
15243         },
15244         "WatchAPIHostPorts": {
15245           "type": "object",
15246           "properties": {
15247             "Result": {
15248               "$ref": "#/definitions/NotifyWatchResult"
15249             }
15250           }
15251         },
15252         "WatchAllContainers": {
15253           "type": "object",
15254           "properties": {
15255             "Params": {
15256               "$ref": "#/definitions/WatchContainers"
15257             },
15258             "Result": {
15259               "$ref": "#/definitions/StringsWatchResults"
15260             }
15261           }
15262         },
15263         "WatchContainers": {
15264           "type": "object",
15265           "properties": {
15266             "Params": {
15267               "$ref": "#/definitions/WatchContainers"
15268             },
15269             "Result": {
15270               "$ref": "#/definitions/StringsWatchResults"
15271             }
15272           }
15273         },
15274         "WatchForModelConfigChanges": {
15275           "type": "object",
15276           "properties": {
15277             "Result": {
15278               "$ref": "#/definitions/NotifyWatchResult"
15279             }
15280           }
15281         },
15282         "WatchMachineErrorRetry": {
15283           "type": "object",
15284           "properties": {
15285             "Result": {
15286               "$ref": "#/definitions/NotifyWatchResult"
15287             }
15288           }
15289         },
15290         "WatchModelMachines": {
15291           "type": "object",
15292           "properties": {
15293             "Result": {
15294               "$ref": "#/definitions/StringsWatchResult"
15295             }
15296           }
15297         }
15298       },
15299       "definitions": {
15300         "APIHostPortsResult": {
15301           "type": "object",
15302           "properties": {
15303             "servers": {
15304               "type": "array",
15305               "items": {
15306                 "type": "array",
15307                 "items": {
15308                   "$ref": "#/definitions/HostPort"
15309                 }
15310               }
15311             }
15312           },
15313           "additionalProperties": false,
15314           "required": [
15315             "servers"
15316           ]
15317         },
15318         "Address": {
15319           "type": "object",
15320           "properties": {
15321             "scope": {
15322               "type": "string"
15323             },
15324             "space-name": {
15325               "type": "string"
15326             },
15327             "type": {
15328               "type": "string"
15329             },
15330             "value": {
15331               "type": "string"
15332             }
15333           },
15334           "additionalProperties": false,
15335           "required": [
15336             "value",
15337             "type",
15338             "scope"
15339           ]
15340         },
15341         "Binary": {
15342           "type": "object",
15343           "properties": {
15344             "Arch": {
15345               "type": "string"
15346             },
15347             "Number": {
15348               "$ref": "#/definitions/Number"
15349             },
15350             "Series": {
15351               "type": "string"
15352             }
15353           },
15354           "additionalProperties": false,
15355           "required": [
15356             "Number",
15357             "Series",
15358             "Arch"
15359           ]
15360         },
15361         "BytesResult": {
15362           "type": "object",
15363           "properties": {
15364             "result": {
15365               "type": "array",
15366               "items": {
15367                 "type": "integer"
15368               }
15369             }
15370           },
15371           "additionalProperties": false,
15372           "required": [
15373             "result"
15374           ]
15375         },
15376         "CloudImageMetadata": {
15377           "type": "object",
15378           "properties": {
15379             "arch": {
15380               "type": "string"
15381             },
15382             "image-id": {
15383               "type": "string"
15384             },
15385             "priority": {
15386               "type": "integer"
15387             },
15388             "region": {
15389               "type": "string"
15390             },
15391             "root-storage-size": {
15392               "type": "integer"
15393             },
15394             "root-storage-type": {
15395               "type": "string"
15396             },
15397             "series": {
15398               "type": "string"
15399             },
15400             "source": {
15401               "type": "string"
15402             },
15403             "stream": {
15404               "type": "string"
15405             },
15406             "version": {
15407               "type": "string"
15408             },
15409             "virt-type": {
15410               "type": "string"
15411             }
15412           },
15413           "additionalProperties": false,
15414           "required": [
15415             "image-id",
15416             "region",
15417             "version",
15418             "series",
15419             "arch",
15420             "source",
15421             "priority"
15422           ]
15423         },
15424         "ConstraintsResult": {
15425           "type": "object",
15426           "properties": {
15427             "constraints": {
15428               "$ref": "#/definitions/Value"
15429             },
15430             "error": {
15431               "$ref": "#/definitions/Error"
15432             }
15433           },
15434           "additionalProperties": false,
15435           "required": [
15436             "constraints"
15437           ]
15438         },
15439         "ConstraintsResults": {
15440           "type": "object",
15441           "properties": {
15442             "results": {
15443               "type": "array",
15444               "items": {
15445                 "$ref": "#/definitions/ConstraintsResult"
15446               }
15447             }
15448           },
15449           "additionalProperties": false,
15450           "required": [
15451             "results"
15452           ]
15453         },
15454         "ContainerConfig": {
15455           "type": "object",
15456           "properties": {
15457             "UpdateBehavior": {
15458               "$ref": "#/definitions/UpdateBehavior"
15459             },
15460             "apt-mirror": {
15461               "type": "string"
15462             },
15463             "apt-proxy": {
15464               "$ref": "#/definitions/Settings"
15465             },
15466             "authorized-keys": {
15467               "type": "string"
15468             },
15469             "provider-type": {
15470               "type": "string"
15471             },
15472             "proxy": {
15473               "$ref": "#/definitions/Settings"
15474             },
15475             "ssl-hostname-verification": {
15476               "type": "boolean"
15477             }
15478           },
15479           "additionalProperties": false,
15480           "required": [
15481             "provider-type",
15482             "authorized-keys",
15483             "ssl-hostname-verification",
15484             "proxy",
15485             "apt-proxy",
15486             "apt-mirror",
15487             "UpdateBehavior"
15488           ]
15489         },
15490         "ContainerManagerConfig": {
15491           "type": "object",
15492           "properties": {
15493             "config": {
15494               "type": "object",
15495               "patternProperties": {
15496                 ".*": {
15497                   "type": "string"
15498                 }
15499               }
15500             }
15501           },
15502           "additionalProperties": false,
15503           "required": [
15504             "config"
15505           ]
15506         },
15507         "ContainerManagerConfigParams": {
15508           "type": "object",
15509           "properties": {
15510             "type": {
15511               "type": "string"
15512             }
15513           },
15514           "additionalProperties": false,
15515           "required": [
15516             "type"
15517           ]
15518         },
15519         "ControllerConfigResult": {
15520           "type": "object",
15521           "properties": {
15522             "config": {
15523               "type": "object",
15524               "patternProperties": {
15525                 ".*": {
15526                   "type": "object",
15527                   "additionalProperties": true
15528                 }
15529               }
15530             }
15531           },
15532           "additionalProperties": false,
15533           "required": [
15534             "config"
15535           ]
15536         },
15537         "DistributionGroupResult": {
15538           "type": "object",
15539           "properties": {
15540             "error": {
15541               "$ref": "#/definitions/Error"
15542             },
15543             "result": {
15544               "type": "array",
15545               "items": {
15546                 "type": "string"
15547               }
15548             }
15549           },
15550           "additionalProperties": false,
15551           "required": [
15552             "result"
15553           ]
15554         },
15555         "DistributionGroupResults": {
15556           "type": "object",
15557           "properties": {
15558             "results": {
15559               "type": "array",
15560               "items": {
15561                 "$ref": "#/definitions/DistributionGroupResult"
15562               }
15563             }
15564           },
15565           "additionalProperties": false,
15566           "required": [
15567             "results"
15568           ]
15569         },
15570         "Entities": {
15571           "type": "object",
15572           "properties": {
15573             "entities": {
15574               "type": "array",
15575               "items": {
15576                 "$ref": "#/definitions/Entity"
15577               }
15578             }
15579           },
15580           "additionalProperties": false,
15581           "required": [
15582             "entities"
15583           ]
15584         },
15585         "Entity": {
15586           "type": "object",
15587           "properties": {
15588             "tag": {
15589               "type": "string"
15590             }
15591           },
15592           "additionalProperties": false,
15593           "required": [
15594             "tag"
15595           ]
15596         },
15597         "EntityPassword": {
15598           "type": "object",
15599           "properties": {
15600             "password": {
15601               "type": "string"
15602             },
15603             "tag": {
15604               "type": "string"
15605             }
15606           },
15607           "additionalProperties": false,
15608           "required": [
15609             "tag",
15610             "password"
15611           ]
15612         },
15613         "EntityPasswords": {
15614           "type": "object",
15615           "properties": {
15616             "changes": {
15617               "type": "array",
15618               "items": {
15619                 "$ref": "#/definitions/EntityPassword"
15620               }
15621             }
15622           },
15623           "additionalProperties": false,
15624           "required": [
15625             "changes"
15626           ]
15627         },
15628         "EntityStatusArgs": {
15629           "type": "object",
15630           "properties": {
15631             "data": {
15632               "type": "object",
15633               "patternProperties": {
15634                 ".*": {
15635                   "type": "object",
15636                   "additionalProperties": true
15637                 }
15638               }
15639             },
15640             "info": {
15641               "type": "string"
15642             },
15643             "status": {
15644               "type": "string"
15645             },
15646             "tag": {
15647               "type": "string"
15648             }
15649           },
15650           "additionalProperties": false,
15651           "required": [
15652             "tag",
15653             "status",
15654             "info",
15655             "data"
15656           ]
15657         },
15658         "Error": {
15659           "type": "object",
15660           "properties": {
15661             "code": {
15662               "type": "string"
15663             },
15664             "info": {
15665               "$ref": "#/definitions/ErrorInfo"
15666             },
15667             "message": {
15668               "type": "string"
15669             }
15670           },
15671           "additionalProperties": false,
15672           "required": [
15673             "message",
15674             "code"
15675           ]
15676         },
15677         "ErrorInfo": {
15678           "type": "object",
15679           "properties": {
15680             "macaroon": {
15681               "$ref": "#/definitions/Macaroon"
15682             },
15683             "macaroon-path": {
15684               "type": "string"
15685             }
15686           },
15687           "additionalProperties": false
15688         },
15689         "ErrorResult": {
15690           "type": "object",
15691           "properties": {
15692             "error": {
15693               "$ref": "#/definitions/Error"
15694             }
15695           },
15696           "additionalProperties": false
15697         },
15698         "ErrorResults": {
15699           "type": "object",
15700           "properties": {
15701             "results": {
15702               "type": "array",
15703               "items": {
15704                 "$ref": "#/definitions/ErrorResult"
15705               }
15706             }
15707           },
15708           "additionalProperties": false,
15709           "required": [
15710             "results"
15711           ]
15712         },
15713         "FindToolsParams": {
15714           "type": "object",
15715           "properties": {
15716             "arch": {
15717               "type": "string"
15718             },
15719             "major": {
15720               "type": "integer"
15721             },
15722             "minor": {
15723               "type": "integer"
15724             },
15725             "number": {
15726               "$ref": "#/definitions/Number"
15727             },
15728             "series": {
15729               "type": "string"
15730             }
15731           },
15732           "additionalProperties": false,
15733           "required": [
15734             "number",
15735             "major",
15736             "minor",
15737             "arch",
15738             "series"
15739           ]
15740         },
15741         "FindToolsResult": {
15742           "type": "object",
15743           "properties": {
15744             "error": {
15745               "$ref": "#/definitions/Error"
15746             },
15747             "list": {
15748               "type": "array",
15749               "items": {
15750                 "$ref": "#/definitions/Tools"
15751               }
15752             }
15753           },
15754           "additionalProperties": false,
15755           "required": [
15756             "list"
15757           ]
15758         },
15759         "HardwareCharacteristics": {
15760           "type": "object",
15761           "properties": {
15762             "arch": {
15763               "type": "string"
15764             },
15765             "availability-zone": {
15766               "type": "string"
15767             },
15768             "cpu-cores": {
15769               "type": "integer"
15770             },
15771             "cpu-power": {
15772               "type": "integer"
15773             },
15774             "mem": {
15775               "type": "integer"
15776             },
15777             "root-disk": {
15778               "type": "integer"
15779             },
15780             "tags": {
15781               "type": "array",
15782               "items": {
15783                 "type": "string"
15784               }
15785             }
15786           },
15787           "additionalProperties": false
15788         },
15789         "HostPort": {
15790           "type": "object",
15791           "properties": {
15792             "Address": {
15793               "$ref": "#/definitions/Address"
15794             },
15795             "port": {
15796               "type": "integer"
15797             }
15798           },
15799           "additionalProperties": false,
15800           "required": [
15801             "Address",
15802             "port"
15803           ]
15804         },
15805         "InstanceInfo": {
15806           "type": "object",
15807           "properties": {
15808             "characteristics": {
15809               "$ref": "#/definitions/HardwareCharacteristics"
15810             },
15811             "instance-id": {
15812               "type": "string"
15813             },
15814             "network-config": {
15815               "type": "array",
15816               "items": {
15817                 "$ref": "#/definitions/NetworkConfig"
15818               }
15819             },
15820             "nonce": {
15821               "type": "string"
15822             },
15823             "tag": {
15824               "type": "string"
15825             },
15826             "volume-attachments": {
15827               "type": "object",
15828               "patternProperties": {
15829                 ".*": {
15830                   "$ref": "#/definitions/VolumeAttachmentInfo"
15831                 }
15832               }
15833             },
15834             "volumes": {
15835               "type": "array",
15836               "items": {
15837                 "$ref": "#/definitions/Volume"
15838               }
15839             }
15840           },
15841           "additionalProperties": false,
15842           "required": [
15843             "tag",
15844             "instance-id",
15845             "nonce",
15846             "characteristics",
15847             "volumes",
15848             "volume-attachments",
15849             "network-config"
15850           ]
15851         },
15852         "InstancesInfo": {
15853           "type": "object",
15854           "properties": {
15855             "machines": {
15856               "type": "array",
15857               "items": {
15858                 "$ref": "#/definitions/InstanceInfo"
15859               }
15860             }
15861           },
15862           "additionalProperties": false,
15863           "required": [
15864             "machines"
15865           ]
15866         },
15867         "LifeResult": {
15868           "type": "object",
15869           "properties": {
15870             "error": {
15871               "$ref": "#/definitions/Error"
15872             },
15873             "life": {
15874               "type": "string"
15875             }
15876           },
15877           "additionalProperties": false,
15878           "required": [
15879             "life"
15880           ]
15881         },
15882         "LifeResults": {
15883           "type": "object",
15884           "properties": {
15885             "results": {
15886               "type": "array",
15887               "items": {
15888                 "$ref": "#/definitions/LifeResult"
15889               }
15890             }
15891           },
15892           "additionalProperties": false,
15893           "required": [
15894             "results"
15895           ]
15896         },
15897         "Macaroon": {
15898           "type": "object",
15899           "additionalProperties": false
15900         },
15901         "MachineContainers": {
15902           "type": "object",
15903           "properties": {
15904             "container-types": {
15905               "type": "array",
15906               "items": {
15907                 "type": "string"
15908               }
15909             },
15910             "machine-tag": {
15911               "type": "string"
15912             }
15913           },
15914           "additionalProperties": false,
15915           "required": [
15916             "machine-tag",
15917             "container-types"
15918           ]
15919         },
15920         "MachineContainersParams": {
15921           "type": "object",
15922           "properties": {
15923             "params": {
15924               "type": "array",
15925               "items": {
15926                 "$ref": "#/definitions/MachineContainers"
15927               }
15928             }
15929           },
15930           "additionalProperties": false,
15931           "required": [
15932             "params"
15933           ]
15934         },
15935         "MachineNetworkConfigResult": {
15936           "type": "object",
15937           "properties": {
15938             "error": {
15939               "$ref": "#/definitions/Error"
15940             },
15941             "info": {
15942               "type": "array",
15943               "items": {
15944                 "$ref": "#/definitions/NetworkConfig"
15945               }
15946             }
15947           },
15948           "additionalProperties": false,
15949           "required": [
15950             "info"
15951           ]
15952         },
15953         "MachineNetworkConfigResults": {
15954           "type": "object",
15955           "properties": {
15956             "results": {
15957               "type": "array",
15958               "items": {
15959                 "$ref": "#/definitions/MachineNetworkConfigResult"
15960               }
15961             }
15962           },
15963           "additionalProperties": false,
15964           "required": [
15965             "results"
15966           ]
15967         },
15968         "ModelConfigResult": {
15969           "type": "object",
15970           "properties": {
15971             "config": {
15972               "type": "object",
15973               "patternProperties": {
15974                 ".*": {
15975                   "type": "object",
15976                   "additionalProperties": true
15977                 }
15978               }
15979             }
15980           },
15981           "additionalProperties": false,
15982           "required": [
15983             "config"
15984           ]
15985         },
15986         "NetworkConfig": {
15987           "type": "object",
15988           "properties": {
15989             "address": {
15990               "type": "string"
15991             },
15992             "cidr": {
15993               "type": "string"
15994             },
15995             "config-type": {
15996               "type": "string"
15997             },
15998             "device-index": {
15999               "type": "integer"
16000             },
16001             "disabled": {
16002               "type": "boolean"
16003             },
16004             "dns-search-domains": {
16005               "type": "array",
16006               "items": {
16007                 "type": "string"
16008               }
16009             },
16010             "dns-servers": {
16011               "type": "array",
16012               "items": {
16013                 "type": "string"
16014               }
16015             },
16016             "gateway-address": {
16017               "type": "string"
16018             },
16019             "interface-name": {
16020               "type": "string"
16021             },
16022             "interface-type": {
16023               "type": "string"
16024             },
16025             "mac-address": {
16026               "type": "string"
16027             },
16028             "mtu": {
16029               "type": "integer"
16030             },
16031             "no-auto-start": {
16032               "type": "boolean"
16033             },
16034             "parent-interface-name": {
16035               "type": "string"
16036             },
16037             "provider-address-id": {
16038               "type": "string"
16039             },
16040             "provider-id": {
16041               "type": "string"
16042             },
16043             "provider-space-id": {
16044               "type": "string"
16045             },
16046             "provider-subnet-id": {
16047               "type": "string"
16048             },
16049             "provider-vlan-id": {
16050               "type": "string"
16051             },
16052             "vlan-tag": {
16053               "type": "integer"
16054             }
16055           },
16056           "additionalProperties": false,
16057           "required": [
16058             "device-index",
16059             "mac-address",
16060             "cidr",
16061             "mtu",
16062             "provider-id",
16063             "provider-subnet-id",
16064             "provider-space-id",
16065             "provider-address-id",
16066             "provider-vlan-id",
16067             "vlan-tag",
16068             "interface-name",
16069             "parent-interface-name",
16070             "interface-type",
16071             "disabled"
16072           ]
16073         },
16074         "NotifyWatchResult": {
16075           "type": "object",
16076           "properties": {
16077             "NotifyWatcherId": {
16078               "type": "string"
16079             },
16080             "error": {
16081               "$ref": "#/definitions/Error"
16082             }
16083           },
16084           "additionalProperties": false,
16085           "required": [
16086             "NotifyWatcherId"
16087           ]
16088         },
16089         "Number": {
16090           "type": "object",
16091           "properties": {
16092             "Build": {
16093               "type": "integer"
16094             },
16095             "Major": {
16096               "type": "integer"
16097             },
16098             "Minor": {
16099               "type": "integer"
16100             },
16101             "Patch": {
16102               "type": "integer"
16103             },
16104             "Tag": {
16105               "type": "string"
16106             }
16107           },
16108           "additionalProperties": false,
16109           "required": [
16110             "Major",
16111             "Minor",
16112             "Tag",
16113             "Patch",
16114             "Build"
16115           ]
16116         },
16117         "ProvisioningInfo": {
16118           "type": "object",
16119           "properties": {
16120             "constraints": {
16121               "$ref": "#/definitions/Value"
16122             },
16123             "controller-config": {
16124               "type": "object",
16125               "patternProperties": {
16126                 ".*": {
16127                   "type": "object",
16128                   "additionalProperties": true
16129                 }
16130               }
16131             },
16132             "endpoint-bindings": {
16133               "type": "object",
16134               "patternProperties": {
16135                 ".*": {
16136                   "type": "string"
16137                 }
16138               }
16139             },
16140             "image-metadata": {
16141               "type": "array",
16142               "items": {
16143                 "$ref": "#/definitions/CloudImageMetadata"
16144               }
16145             },
16146             "jobs": {
16147               "type": "array",
16148               "items": {
16149                 "type": "string"
16150               }
16151             },
16152             "placement": {
16153               "type": "string"
16154             },
16155             "series": {
16156               "type": "string"
16157             },
16158             "subnets-to-zones": {
16159               "type": "object",
16160               "patternProperties": {
16161                 ".*": {
16162                   "type": "array",
16163                   "items": {
16164                     "type": "string"
16165                   }
16166                 }
16167               }
16168             },
16169             "tags": {
16170               "type": "object",
16171               "patternProperties": {
16172                 ".*": {
16173                   "type": "string"
16174                 }
16175               }
16176             },
16177             "volumes": {
16178               "type": "array",
16179               "items": {
16180                 "$ref": "#/definitions/VolumeParams"
16181               }
16182             }
16183           },
16184           "additionalProperties": false,
16185           "required": [
16186             "constraints",
16187             "series",
16188             "placement",
16189             "jobs"
16190           ]
16191         },
16192         "ProvisioningInfoResult": {
16193           "type": "object",
16194           "properties": {
16195             "error": {
16196               "$ref": "#/definitions/Error"
16197             },
16198             "result": {
16199               "$ref": "#/definitions/ProvisioningInfo"
16200             }
16201           },
16202           "additionalProperties": false,
16203           "required": [
16204             "result"
16205           ]
16206         },
16207         "ProvisioningInfoResults": {
16208           "type": "object",
16209           "properties": {
16210             "results": {
16211               "type": "array",
16212               "items": {
16213                 "$ref": "#/definitions/ProvisioningInfoResult"
16214               }
16215             }
16216           },
16217           "additionalProperties": false,
16218           "required": [
16219             "results"
16220           ]
16221         },
16222         "SetStatus": {
16223           "type": "object",
16224           "properties": {
16225             "entities": {
16226               "type": "array",
16227               "items": {
16228                 "$ref": "#/definitions/EntityStatusArgs"
16229               }
16230             }
16231           },
16232           "additionalProperties": false,
16233           "required": [
16234             "entities"
16235           ]
16236         },
16237         "Settings": {
16238           "type": "object",
16239           "properties": {
16240             "Ftp": {
16241               "type": "string"
16242             },
16243             "Http": {
16244               "type": "string"
16245             },
16246             "Https": {
16247               "type": "string"
16248             },
16249             "NoProxy": {
16250               "type": "string"
16251             }
16252           },
16253           "additionalProperties": false,
16254           "required": [
16255             "Http",
16256             "Https",
16257             "Ftp",
16258             "NoProxy"
16259           ]
16260         },
16261         "StatusResult": {
16262           "type": "object",
16263           "properties": {
16264             "data": {
16265               "type": "object",
16266               "patternProperties": {
16267                 ".*": {
16268                   "type": "object",
16269                   "additionalProperties": true
16270                 }
16271               }
16272             },
16273             "error": {
16274               "$ref": "#/definitions/Error"
16275             },
16276             "id": {
16277               "type": "string"
16278             },
16279             "info": {
16280               "type": "string"
16281             },
16282             "life": {
16283               "type": "string"
16284             },
16285             "since": {
16286               "type": "string",
16287               "format": "date-time"
16288             },
16289             "status": {
16290               "type": "string"
16291             }
16292           },
16293           "additionalProperties": false,
16294           "required": [
16295             "id",
16296             "life",
16297             "status",
16298             "info",
16299             "data",
16300             "since"
16301           ]
16302         },
16303         "StatusResults": {
16304           "type": "object",
16305           "properties": {
16306             "results": {
16307               "type": "array",
16308               "items": {
16309                 "$ref": "#/definitions/StatusResult"
16310               }
16311             }
16312           },
16313           "additionalProperties": false,
16314           "required": [
16315             "results"
16316           ]
16317         },
16318         "StringResult": {
16319           "type": "object",
16320           "properties": {
16321             "error": {
16322               "$ref": "#/definitions/Error"
16323             },
16324             "result": {
16325               "type": "string"
16326             }
16327           },
16328           "additionalProperties": false,
16329           "required": [
16330             "result"
16331           ]
16332         },
16333         "StringResults": {
16334           "type": "object",
16335           "properties": {
16336             "results": {
16337               "type": "array",
16338               "items": {
16339                 "$ref": "#/definitions/StringResult"
16340               }
16341             }
16342           },
16343           "additionalProperties": false,
16344           "required": [
16345             "results"
16346           ]
16347         },
16348         "StringsResult": {
16349           "type": "object",
16350           "properties": {
16351             "error": {
16352               "$ref": "#/definitions/Error"
16353             },
16354             "result": {
16355               "type": "array",
16356               "items": {
16357                 "type": "string"
16358               }
16359             }
16360           },
16361           "additionalProperties": false
16362         },
16363         "StringsWatchResult": {
16364           "type": "object",
16365           "properties": {
16366             "changes": {
16367               "type": "array",
16368               "items": {
16369                 "type": "string"
16370               }
16371             },
16372             "error": {
16373               "$ref": "#/definitions/Error"
16374             },
16375             "watcher-id": {
16376               "type": "string"
16377             }
16378           },
16379           "additionalProperties": false,
16380           "required": [
16381             "watcher-id"
16382           ]
16383         },
16384         "StringsWatchResults": {
16385           "type": "object",
16386           "properties": {
16387             "results": {
16388               "type": "array",
16389               "items": {
16390                 "$ref": "#/definitions/StringsWatchResult"
16391               }
16392             }
16393           },
16394           "additionalProperties": false,
16395           "required": [
16396             "results"
16397           ]
16398         },
16399         "Tools": {
16400           "type": "object",
16401           "properties": {
16402             "sha256": {
16403               "type": "string"
16404             },
16405             "size": {
16406               "type": "integer"
16407             },
16408             "url": {
16409               "type": "string"
16410             },
16411             "version": {
16412               "$ref": "#/definitions/Binary"
16413             }
16414           },
16415           "additionalProperties": false,
16416           "required": [
16417             "version",
16418             "url",
16419             "size"
16420           ]
16421         },
16422         "ToolsResult": {
16423           "type": "object",
16424           "properties": {
16425             "disable-ssl-hostname-verification": {
16426               "type": "boolean"
16427             },
16428             "error": {
16429               "$ref": "#/definitions/Error"
16430             },
16431             "tools": {
16432               "type": "array",
16433               "items": {
16434                 "$ref": "#/definitions/Tools"
16435               }
16436             }
16437           },
16438           "additionalProperties": false,
16439           "required": [
16440             "tools",
16441             "disable-ssl-hostname-verification"
16442           ]
16443         },
16444         "ToolsResults": {
16445           "type": "object",
16446           "properties": {
16447             "results": {
16448               "type": "array",
16449               "items": {
16450                 "$ref": "#/definitions/ToolsResult"
16451               }
16452             }
16453           },
16454           "additionalProperties": false,
16455           "required": [
16456             "results"
16457           ]
16458         },
16459         "UpdateBehavior": {
16460           "type": "object",
16461           "properties": {
16462             "enable-os-refresh-update": {
16463               "type": "boolean"
16464             },
16465             "enable-os-upgrade": {
16466               "type": "boolean"
16467             }
16468           },
16469           "additionalProperties": false,
16470           "required": [
16471             "enable-os-refresh-update",
16472             "enable-os-upgrade"
16473           ]
16474         },
16475         "Value": {
16476           "type": "object",
16477           "properties": {
16478             "arch": {
16479               "type": "string"
16480             },
16481             "container": {
16482               "type": "string"
16483             },
16484             "cores": {
16485               "type": "integer"
16486             },
16487             "cpu-power": {
16488               "type": "integer"
16489             },
16490             "instance-type": {
16491               "type": "string"
16492             },
16493             "mem": {
16494               "type": "integer"
16495             },
16496             "root-disk": {
16497               "type": "integer"
16498             },
16499             "spaces": {
16500               "type": "array",
16501               "items": {
16502                 "type": "string"
16503               }
16504             },
16505             "tags": {
16506               "type": "array",
16507               "items": {
16508                 "type": "string"
16509               }
16510             },
16511             "virt-type": {
16512               "type": "string"
16513             }
16514           },
16515           "additionalProperties": false
16516         },
16517         "Volume": {
16518           "type": "object",
16519           "properties": {
16520             "info": {
16521               "$ref": "#/definitions/VolumeInfo"
16522             },
16523             "volume-tag": {
16524               "type": "string"
16525             }
16526           },
16527           "additionalProperties": false,
16528           "required": [
16529             "volume-tag",
16530             "info"
16531           ]
16532         },
16533         "VolumeAttachmentInfo": {
16534           "type": "object",
16535           "properties": {
16536             "bus-address": {
16537               "type": "string"
16538             },
16539             "device-link": {
16540               "type": "string"
16541             },
16542             "device-name": {
16543               "type": "string"
16544             },
16545             "read-only": {
16546               "type": "boolean"
16547             }
16548           },
16549           "additionalProperties": false
16550         },
16551         "VolumeAttachmentParams": {
16552           "type": "object",
16553           "properties": {
16554             "instance-id": {
16555               "type": "string"
16556             },
16557             "machine-tag": {
16558               "type": "string"
16559             },
16560             "provider": {
16561               "type": "string"
16562             },
16563             "read-only": {
16564               "type": "boolean"
16565             },
16566             "volume-id": {
16567               "type": "string"
16568             },
16569             "volume-tag": {
16570               "type": "string"
16571             }
16572           },
16573           "additionalProperties": false,
16574           "required": [
16575             "volume-tag",
16576             "machine-tag",
16577             "provider"
16578           ]
16579         },
16580         "VolumeInfo": {
16581           "type": "object",
16582           "properties": {
16583             "hardware-id": {
16584               "type": "string"
16585             },
16586             "persistent": {
16587               "type": "boolean"
16588             },
16589             "size": {
16590               "type": "integer"
16591             },
16592             "volume-id": {
16593               "type": "string"
16594             }
16595           },
16596           "additionalProperties": false,
16597           "required": [
16598             "volume-id",
16599             "size",
16600             "persistent"
16601           ]
16602         },
16603         "VolumeParams": {
16604           "type": "object",
16605           "properties": {
16606             "attachment": {
16607               "$ref": "#/definitions/VolumeAttachmentParams"
16608             },
16609             "attributes": {
16610               "type": "object",
16611               "patternProperties": {
16612                 ".*": {
16613                   "type": "object",
16614                   "additionalProperties": true
16615                 }
16616               }
16617             },
16618             "provider": {
16619               "type": "string"
16620             },
16621             "size": {
16622               "type": "integer"
16623             },
16624             "tags": {
16625               "type": "object",
16626               "patternProperties": {
16627                 ".*": {
16628                   "type": "string"
16629                 }
16630               }
16631             },
16632             "volume-tag": {
16633               "type": "string"
16634             }
16635           },
16636           "additionalProperties": false,
16637           "required": [
16638             "volume-tag",
16639             "size",
16640             "provider"
16641           ]
16642         },
16643         "WatchContainer": {
16644           "type": "object",
16645           "properties": {
16646             "container-type": {
16647               "type": "string"
16648             },
16649             "machine-tag": {
16650               "type": "string"
16651             }
16652           },
16653           "additionalProperties": false,
16654           "required": [
16655             "machine-tag",
16656             "container-type"
16657           ]
16658         },
16659         "WatchContainers": {
16660           "type": "object",
16661           "properties": {
16662             "params": {
16663               "type": "array",
16664               "items": {
16665                 "$ref": "#/definitions/WatchContainer"
16666               }
16667             }
16668           },
16669           "additionalProperties": false,
16670           "required": [
16671             "params"
16672           ]
16673         }
16674       }
16675     }
16676   },
16677   {
16678     "Name": "ProxyUpdater",
16679     "Version": 1,
16680     "Schema": {
16681       "type": "object",
16682       "properties": {
16683         "ProxyConfig": {
16684           "type": "object",
16685           "properties": {
16686             "Params": {
16687               "$ref": "#/definitions/Entities"
16688             },
16689             "Result": {
16690               "$ref": "#/definitions/ProxyConfigResults"
16691             }
16692           }
16693         },
16694         "WatchForProxyConfigAndAPIHostPortChanges": {
16695           "type": "object",
16696           "properties": {
16697             "Params": {
16698               "$ref": "#/definitions/Entities"
16699             },
16700             "Result": {
16701               "$ref": "#/definitions/NotifyWatchResults"
16702             }
16703           }
16704         }
16705       },
16706       "definitions": {
16707         "Entities": {
16708           "type": "object",
16709           "properties": {
16710             "entities": {
16711               "type": "array",
16712               "items": {
16713                 "$ref": "#/definitions/Entity"
16714               }
16715             }
16716           },
16717           "additionalProperties": false,
16718           "required": [
16719             "entities"
16720           ]
16721         },
16722         "Entity": {
16723           "type": "object",
16724           "properties": {
16725             "tag": {
16726               "type": "string"
16727             }
16728           },
16729           "additionalProperties": false,
16730           "required": [
16731             "tag"
16732           ]
16733         },
16734         "Error": {
16735           "type": "object",
16736           "properties": {
16737             "code": {
16738               "type": "string"
16739             },
16740             "info": {
16741               "$ref": "#/definitions/ErrorInfo"
16742             },
16743             "message": {
16744               "type": "string"
16745             }
16746           },
16747           "additionalProperties": false,
16748           "required": [
16749             "message",
16750             "code"
16751           ]
16752         },
16753         "ErrorInfo": {
16754           "type": "object",
16755           "properties": {
16756             "macaroon": {
16757               "$ref": "#/definitions/Macaroon"
16758             },
16759             "macaroon-path": {
16760               "type": "string"
16761             }
16762           },
16763           "additionalProperties": false
16764         },
16765         "Macaroon": {
16766           "type": "object",
16767           "additionalProperties": false
16768         },
16769         "NotifyWatchResult": {
16770           "type": "object",
16771           "properties": {
16772             "NotifyWatcherId": {
16773               "type": "string"
16774             },
16775             "error": {
16776               "$ref": "#/definitions/Error"
16777             }
16778           },
16779           "additionalProperties": false,
16780           "required": [
16781             "NotifyWatcherId"
16782           ]
16783         },
16784         "NotifyWatchResults": {
16785           "type": "object",
16786           "properties": {
16787             "results": {
16788               "type": "array",
16789               "items": {
16790                 "$ref": "#/definitions/NotifyWatchResult"
16791               }
16792             }
16793           },
16794           "additionalProperties": false,
16795           "required": [
16796             "results"
16797           ]
16798         },
16799         "ProxyConfig": {
16800           "type": "object",
16801           "properties": {
16802             "ftp": {
16803               "type": "string"
16804             },
16805             "http": {
16806               "type": "string"
16807             },
16808             "https": {
16809               "type": "string"
16810             },
16811             "no-proxy": {
16812               "type": "string"
16813             }
16814           },
16815           "additionalProperties": false,
16816           "required": [
16817             "http",
16818             "https",
16819             "ftp",
16820             "no-proxy"
16821           ]
16822         },
16823         "ProxyConfigResult": {
16824           "type": "object",
16825           "properties": {
16826             "apt-proxy-settings": {
16827               "$ref": "#/definitions/ProxyConfig"
16828             },
16829             "error": {
16830               "$ref": "#/definitions/Error"
16831             },
16832             "proxy-settings": {
16833               "$ref": "#/definitions/ProxyConfig"
16834             }
16835           },
16836           "additionalProperties": false,
16837           "required": [
16838             "proxy-settings",
16839             "apt-proxy-settings"
16840           ]
16841         },
16842         "ProxyConfigResults": {
16843           "type": "object",
16844           "properties": {
16845             "results": {
16846               "type": "array",
16847               "items": {
16848                 "$ref": "#/definitions/ProxyConfigResult"
16849               }
16850             }
16851           },
16852           "additionalProperties": false,
16853           "required": [
16854             "results"
16855           ]
16856         }
16857       }
16858     }
16859   },
16860   {
16861     "Name": "Reboot",
16862     "Version": 2,
16863     "Schema": {
16864       "type": "object",
16865       "properties": {
16866         "ClearReboot": {
16867           "type": "object",
16868           "properties": {
16869             "Params": {
16870               "$ref": "#/definitions/Entities"
16871             },
16872             "Result": {
16873               "$ref": "#/definitions/ErrorResults"
16874             }
16875           }
16876         },
16877         "GetRebootAction": {
16878           "type": "object",
16879           "properties": {
16880             "Params": {
16881               "$ref": "#/definitions/Entities"
16882             },
16883             "Result": {
16884               "$ref": "#/definitions/RebootActionResults"
16885             }
16886           }
16887         },
16888         "RequestReboot": {
16889           "type": "object",
16890           "properties": {
16891             "Params": {
16892               "$ref": "#/definitions/Entities"
16893             },
16894             "Result": {
16895               "$ref": "#/definitions/ErrorResults"
16896             }
16897           }
16898         },
16899         "WatchForRebootEvent": {
16900           "type": "object",
16901           "properties": {
16902             "Result": {
16903               "$ref": "#/definitions/NotifyWatchResult"
16904             }
16905           }
16906         }
16907       },
16908       "definitions": {
16909         "Entities": {
16910           "type": "object",
16911           "properties": {
16912             "entities": {
16913               "type": "array",
16914               "items": {
16915                 "$ref": "#/definitions/Entity"
16916               }
16917             }
16918           },
16919           "additionalProperties": false,
16920           "required": [
16921             "entities"
16922           ]
16923         },
16924         "Entity": {
16925           "type": "object",
16926           "properties": {
16927             "tag": {
16928               "type": "string"
16929             }
16930           },
16931           "additionalProperties": false,
16932           "required": [
16933             "tag"
16934           ]
16935         },
16936         "Error": {
16937           "type": "object",
16938           "properties": {
16939             "code": {
16940               "type": "string"
16941             },
16942             "info": {
16943               "$ref": "#/definitions/ErrorInfo"
16944             },
16945             "message": {
16946               "type": "string"
16947             }
16948           },
16949           "additionalProperties": false,
16950           "required": [
16951             "message",
16952             "code"
16953           ]
16954         },
16955         "ErrorInfo": {
16956           "type": "object",
16957           "properties": {
16958             "macaroon": {
16959               "$ref": "#/definitions/Macaroon"
16960             },
16961             "macaroon-path": {
16962               "type": "string"
16963             }
16964           },
16965           "additionalProperties": false
16966         },
16967         "ErrorResult": {
16968           "type": "object",
16969           "properties": {
16970             "error": {
16971               "$ref": "#/definitions/Error"
16972             }
16973           },
16974           "additionalProperties": false
16975         },
16976         "ErrorResults": {
16977           "type": "object",
16978           "properties": {
16979             "results": {
16980               "type": "array",
16981               "items": {
16982                 "$ref": "#/definitions/ErrorResult"
16983               }
16984             }
16985           },
16986           "additionalProperties": false,
16987           "required": [
16988             "results"
16989           ]
16990         },
16991         "Macaroon": {
16992           "type": "object",
16993           "additionalProperties": false
16994         },
16995         "NotifyWatchResult": {
16996           "type": "object",
16997           "properties": {
16998             "NotifyWatcherId": {
16999               "type": "string"
17000             },
17001             "error": {
17002               "$ref": "#/definitions/Error"
17003             }
17004           },
17005           "additionalProperties": false,
17006           "required": [
17007             "NotifyWatcherId"
17008           ]
17009         },
17010         "RebootActionResult": {
17011           "type": "object",
17012           "properties": {
17013             "error": {
17014               "$ref": "#/definitions/Error"
17015             },
17016             "result": {
17017               "type": "string"
17018             }
17019           },
17020           "additionalProperties": false
17021         },
17022         "RebootActionResults": {
17023           "type": "object",
17024           "properties": {
17025             "results": {
17026               "type": "array",
17027               "items": {
17028                 "$ref": "#/definitions/RebootActionResult"
17029               }
17030             }
17031           },
17032           "additionalProperties": false
17033         }
17034       }
17035     }
17036   },
17037   {
17038     "Name": "RelationUnitsWatcher",
17039     "Version": 1,
17040     "Schema": {
17041       "type": "object",
17042       "properties": {
17043         "Next": {
17044           "type": "object",
17045           "properties": {
17046             "Result": {
17047               "$ref": "#/definitions/RelationUnitsWatchResult"
17048             }
17049           }
17050         },
17051         "Stop": {
17052           "type": "object"
17053         }
17054       },
17055       "definitions": {
17056         "Error": {
17057           "type": "object",
17058           "properties": {
17059             "code": {
17060               "type": "string"
17061             },
17062             "info": {
17063               "$ref": "#/definitions/ErrorInfo"
17064             },
17065             "message": {
17066               "type": "string"
17067             }
17068           },
17069           "additionalProperties": false,
17070           "required": [
17071             "message",
17072             "code"
17073           ]
17074         },
17075         "ErrorInfo": {
17076           "type": "object",
17077           "properties": {
17078             "macaroon": {
17079               "$ref": "#/definitions/Macaroon"
17080             },
17081             "macaroon-path": {
17082               "type": "string"
17083             }
17084           },
17085           "additionalProperties": false
17086         },
17087         "Macaroon": {
17088           "type": "object",
17089           "additionalProperties": false
17090         },
17091         "RelationUnitsChange": {
17092           "type": "object",
17093           "properties": {
17094             "changed": {
17095               "type": "object",
17096               "patternProperties": {
17097                 ".*": {
17098                   "$ref": "#/definitions/UnitSettings"
17099                 }
17100               }
17101             },
17102             "departed": {
17103               "type": "array",
17104               "items": {
17105                 "type": "string"
17106               }
17107             }
17108           },
17109           "additionalProperties": false,
17110           "required": [
17111             "changed"
17112           ]
17113         },
17114         "RelationUnitsWatchResult": {
17115           "type": "object",
17116           "properties": {
17117             "changes": {
17118               "$ref": "#/definitions/RelationUnitsChange"
17119             },
17120             "error": {
17121               "$ref": "#/definitions/Error"
17122             },
17123             "watcher-id": {
17124               "type": "string"
17125             }
17126           },
17127           "additionalProperties": false,
17128           "required": [
17129             "watcher-id",
17130             "changes"
17131           ]
17132         },
17133         "UnitSettings": {
17134           "type": "object",
17135           "properties": {
17136             "version": {
17137               "type": "integer"
17138             }
17139           },
17140           "additionalProperties": false,
17141           "required": [
17142             "version"
17143           ]
17144         }
17145       }
17146     }
17147   },
17148   {
17149     "Name": "Resources",
17150     "Version": 1,
17151     "Schema": {
17152       "type": "object",
17153       "properties": {
17154         "AddPendingResources": {
17155           "type": "object",
17156           "properties": {
17157             "Params": {
17158               "$ref": "#/definitions/AddPendingResourcesArgs"
17159             },
17160             "Result": {
17161               "$ref": "#/definitions/AddPendingResourcesResult"
17162             }
17163           }
17164         },
17165         "ListResources": {
17166           "type": "object",
17167           "properties": {
17168             "Params": {
17169               "$ref": "#/definitions/ListResourcesArgs"
17170             },
17171             "Result": {
17172               "$ref": "#/definitions/ResourcesResults"
17173             }
17174           }
17175         }
17176       },
17177       "definitions": {
17178         "AddCharmWithAuthorization": {
17179           "type": "object",
17180           "properties": {
17181             "channel": {
17182               "type": "string"
17183             },
17184             "macaroon": {
17185               "$ref": "#/definitions/Macaroon"
17186             },
17187             "url": {
17188               "type": "string"
17189             }
17190           },
17191           "additionalProperties": false,
17192           "required": [
17193             "url",
17194             "channel",
17195             "macaroon"
17196           ]
17197         },
17198         "AddPendingResourcesArgs": {
17199           "type": "object",
17200           "properties": {
17201             "AddCharmWithAuthorization": {
17202               "$ref": "#/definitions/AddCharmWithAuthorization"
17203             },
17204             "Entity": {
17205               "$ref": "#/definitions/Entity"
17206             },
17207             "Resources": {
17208               "type": "array",
17209               "items": {
17210                 "$ref": "#/definitions/CharmResource"
17211               }
17212             }
17213           },
17214           "additionalProperties": false,
17215           "required": [
17216             "Entity",
17217             "AddCharmWithAuthorization",
17218             "Resources"
17219           ]
17220         },
17221         "AddPendingResourcesResult": {
17222           "type": "object",
17223           "properties": {
17224             "ErrorResult": {
17225               "$ref": "#/definitions/ErrorResult"
17226             },
17227             "pending-ids": {
17228               "type": "array",
17229               "items": {
17230                 "type": "string"
17231               }
17232             }
17233           },
17234           "additionalProperties": false,
17235           "required": [
17236             "ErrorResult",
17237             "pending-ids"
17238           ]
17239         },
17240         "CharmResource": {
17241           "type": "object",
17242           "properties": {
17243             "description": {
17244               "type": "string"
17245             },
17246             "fingerprint": {
17247               "type": "array",
17248               "items": {
17249                 "type": "integer"
17250               }
17251             },
17252             "name": {
17253               "type": "string"
17254             },
17255             "origin": {
17256               "type": "string"
17257             },
17258             "path": {
17259               "type": "string"
17260             },
17261             "revision": {
17262               "type": "integer"
17263             },
17264             "size": {
17265               "type": "integer"
17266             },
17267             "type": {
17268               "type": "string"
17269             }
17270           },
17271           "additionalProperties": false,
17272           "required": [
17273             "name",
17274             "type",
17275             "path",
17276             "origin",
17277             "revision",
17278             "fingerprint",
17279             "size"
17280           ]
17281         },
17282         "Entity": {
17283           "type": "object",
17284           "properties": {
17285             "tag": {
17286               "type": "string"
17287             }
17288           },
17289           "additionalProperties": false,
17290           "required": [
17291             "tag"
17292           ]
17293         },
17294         "Error": {
17295           "type": "object",
17296           "properties": {
17297             "code": {
17298               "type": "string"
17299             },
17300             "info": {
17301               "$ref": "#/definitions/ErrorInfo"
17302             },
17303             "message": {
17304               "type": "string"
17305             }
17306           },
17307           "additionalProperties": false,
17308           "required": [
17309             "message",
17310             "code"
17311           ]
17312         },
17313         "ErrorInfo": {
17314           "type": "object",
17315           "properties": {
17316             "macaroon": {
17317               "$ref": "#/definitions/Macaroon"
17318             },
17319             "macaroon-path": {
17320               "type": "string"
17321             }
17322           },
17323           "additionalProperties": false
17324         },
17325         "ErrorResult": {
17326           "type": "object",
17327           "properties": {
17328             "error": {
17329               "$ref": "#/definitions/Error"
17330             }
17331           },
17332           "additionalProperties": false
17333         },
17334         "ListResourcesArgs": {
17335           "type": "object",
17336           "properties": {
17337             "entities": {
17338               "type": "array",
17339               "items": {
17340                 "$ref": "#/definitions/Entity"
17341               }
17342             }
17343           },
17344           "additionalProperties": false,
17345           "required": [
17346             "entities"
17347           ]
17348         },
17349         "Macaroon": {
17350           "type": "object",
17351           "additionalProperties": false
17352         },
17353         "Resource": {
17354           "type": "object",
17355           "properties": {
17356             "CharmResource": {
17357               "$ref": "#/definitions/CharmResource"
17358             },
17359             "application": {
17360               "type": "string"
17361             },
17362             "id": {
17363               "type": "string"
17364             },
17365             "pending-id": {
17366               "type": "string"
17367             },
17368             "timestamp": {
17369               "type": "string",
17370               "format": "date-time"
17371             },
17372             "username": {
17373               "type": "string"
17374             }
17375           },
17376           "additionalProperties": false,
17377           "required": [
17378             "CharmResource",
17379             "id",
17380             "pending-id",
17381             "application",
17382             "username",
17383             "timestamp"
17384           ]
17385         },
17386         "ResourcesResult": {
17387           "type": "object",
17388           "properties": {
17389             "ErrorResult": {
17390               "$ref": "#/definitions/ErrorResult"
17391             },
17392             "charm-store-resources": {
17393               "type": "array",
17394               "items": {
17395                 "$ref": "#/definitions/CharmResource"
17396               }
17397             },
17398             "resources": {
17399               "type": "array",
17400               "items": {
17401                 "$ref": "#/definitions/Resource"
17402               }
17403             },
17404             "unit-resources": {
17405               "type": "array",
17406               "items": {
17407                 "$ref": "#/definitions/UnitResources"
17408               }
17409             }
17410           },
17411           "additionalProperties": false,
17412           "required": [
17413             "ErrorResult",
17414             "resources",
17415             "charm-store-resources",
17416             "unit-resources"
17417           ]
17418         },
17419         "ResourcesResults": {
17420           "type": "object",
17421           "properties": {
17422             "results": {
17423               "type": "array",
17424               "items": {
17425                 "$ref": "#/definitions/ResourcesResult"
17426               }
17427             }
17428           },
17429           "additionalProperties": false,
17430           "required": [
17431             "results"
17432           ]
17433         },
17434         "UnitResources": {
17435           "type": "object",
17436           "properties": {
17437             "Entity": {
17438               "$ref": "#/definitions/Entity"
17439             },
17440             "download-progress": {
17441               "type": "object",
17442               "patternProperties": {
17443                 ".*": {
17444                   "type": "integer"
17445                 }
17446               }
17447             },
17448             "resources": {
17449               "type": "array",
17450               "items": {
17451                 "$ref": "#/definitions/Resource"
17452               }
17453             }
17454           },
17455           "additionalProperties": false,
17456           "required": [
17457             "Entity",
17458             "resources",
17459             "download-progress"
17460           ]
17461         }
17462       }
17463     }
17464   },
17465   {
17466     "Name": "ResourcesHookContext",
17467     "Version": 1,
17468     "Schema": {
17469       "type": "object",
17470       "properties": {
17471         "GetResourceInfo": {
17472           "type": "object",
17473           "properties": {
17474             "Params": {
17475               "$ref": "#/definitions/ListResourcesArgs"
17476             },
17477             "Result": {
17478               "$ref": "#/definitions/ResourcesResult"
17479             }
17480           }
17481         }
17482       },
17483       "definitions": {
17484         "CharmResource": {
17485           "type": "object",
17486           "properties": {
17487             "description": {
17488               "type": "string"
17489             },
17490             "fingerprint": {
17491               "type": "array",
17492               "items": {
17493                 "type": "integer"
17494               }
17495             },
17496             "name": {
17497               "type": "string"
17498             },
17499             "origin": {
17500               "type": "string"
17501             },
17502             "path": {
17503               "type": "string"
17504             },
17505             "revision": {
17506               "type": "integer"
17507             },
17508             "size": {
17509               "type": "integer"
17510             },
17511             "type": {
17512               "type": "string"
17513             }
17514           },
17515           "additionalProperties": false,
17516           "required": [
17517             "name",
17518             "type",
17519             "path",
17520             "origin",
17521             "revision",
17522             "fingerprint",
17523             "size"
17524           ]
17525         },
17526         "Error": {
17527           "type": "object",
17528           "properties": {
17529             "code": {
17530               "type": "string"
17531             },
17532             "info": {
17533               "$ref": "#/definitions/ErrorInfo"
17534             },
17535             "message": {
17536               "type": "string"
17537             }
17538           },
17539           "additionalProperties": false,
17540           "required": [
17541             "message",
17542             "code"
17543           ]
17544         },
17545         "ErrorInfo": {
17546           "type": "object",
17547           "properties": {
17548             "macaroon": {
17549               "$ref": "#/definitions/Macaroon"
17550             },
17551             "macaroon-path": {
17552               "type": "string"
17553             }
17554           },
17555           "additionalProperties": false
17556         },
17557         "ErrorResult": {
17558           "type": "object",
17559           "properties": {
17560             "error": {
17561               "$ref": "#/definitions/Error"
17562             }
17563           },
17564           "additionalProperties": false
17565         },
17566         "ListResourcesArgs": {
17567           "type": "object",
17568           "properties": {
17569             "resource-names": {
17570               "type": "array",
17571               "items": {
17572                 "type": "string"
17573               }
17574             }
17575           },
17576           "additionalProperties": false,
17577           "required": [
17578             "resource-names"
17579           ]
17580         },
17581         "Macaroon": {
17582           "type": "object",
17583           "additionalProperties": false
17584         },
17585         "Resource": {
17586           "type": "object",
17587           "properties": {
17588             "CharmResource": {
17589               "$ref": "#/definitions/CharmResource"
17590             },
17591             "application": {
17592               "type": "string"
17593             },
17594             "id": {
17595               "type": "string"
17596             },
17597             "pending-id": {
17598               "type": "string"
17599             },
17600             "timestamp": {
17601               "type": "string",
17602               "format": "date-time"
17603             },
17604             "username": {
17605               "type": "string"
17606             }
17607           },
17608           "additionalProperties": false,
17609           "required": [
17610             "CharmResource",
17611             "id",
17612             "pending-id",
17613             "application",
17614             "username",
17615             "timestamp"
17616           ]
17617         },
17618         "ResourceResult": {
17619           "type": "object",
17620           "properties": {
17621             "ErrorResult": {
17622               "$ref": "#/definitions/ErrorResult"
17623             },
17624             "resource": {
17625               "$ref": "#/definitions/Resource"
17626             }
17627           },
17628           "additionalProperties": false,
17629           "required": [
17630             "ErrorResult",
17631             "resource"
17632           ]
17633         },
17634         "ResourcesResult": {
17635           "type": "object",
17636           "properties": {
17637             "ErrorResult": {
17638               "$ref": "#/definitions/ErrorResult"
17639             },
17640             "resources": {
17641               "type": "array",
17642               "items": {
17643                 "$ref": "#/definitions/ResourceResult"
17644               }
17645             }
17646           },
17647           "additionalProperties": false,
17648           "required": [
17649             "ErrorResult",
17650             "resources"
17651           ]
17652         }
17653       }
17654     }
17655   },
17656   {
17657     "Name": "Resumer",
17658     "Version": 2,
17659     "Schema": {
17660       "type": "object",
17661       "properties": {
17662         "ResumeTransactions": {
17663           "type": "object"
17664         }
17665       }
17666     }
17667   },
17668   {
17669     "Name": "RetryStrategy",
17670     "Version": 1,
17671     "Schema": {
17672       "type": "object",
17673       "properties": {
17674         "RetryStrategy": {
17675           "type": "object",
17676           "properties": {
17677             "Params": {
17678               "$ref": "#/definitions/Entities"
17679             },
17680             "Result": {
17681               "$ref": "#/definitions/RetryStrategyResults"
17682             }
17683           }
17684         },
17685         "WatchRetryStrategy": {
17686           "type": "object",
17687           "properties": {
17688             "Params": {
17689               "$ref": "#/definitions/Entities"
17690             },
17691             "Result": {
17692               "$ref": "#/definitions/NotifyWatchResults"
17693             }
17694           }
17695         }
17696       },
17697       "definitions": {
17698         "Entities": {
17699           "type": "object",
17700           "properties": {
17701             "entities": {
17702               "type": "array",
17703               "items": {
17704                 "$ref": "#/definitions/Entity"
17705               }
17706             }
17707           },
17708           "additionalProperties": false,
17709           "required": [
17710             "entities"
17711           ]
17712         },
17713         "Entity": {
17714           "type": "object",
17715           "properties": {
17716             "tag": {
17717               "type": "string"
17718             }
17719           },
17720           "additionalProperties": false,
17721           "required": [
17722             "tag"
17723           ]
17724         },
17725         "Error": {
17726           "type": "object",
17727           "properties": {
17728             "code": {
17729               "type": "string"
17730             },
17731             "info": {
17732               "$ref": "#/definitions/ErrorInfo"
17733             },
17734             "message": {
17735               "type": "string"
17736             }
17737           },
17738           "additionalProperties": false,
17739           "required": [
17740             "message",
17741             "code"
17742           ]
17743         },
17744         "ErrorInfo": {
17745           "type": "object",
17746           "properties": {
17747             "macaroon": {
17748               "$ref": "#/definitions/Macaroon"
17749             },
17750             "macaroon-path": {
17751               "type": "string"
17752             }
17753           },
17754           "additionalProperties": false
17755         },
17756         "Macaroon": {
17757           "type": "object",
17758           "additionalProperties": false
17759         },
17760         "NotifyWatchResult": {
17761           "type": "object",
17762           "properties": {
17763             "NotifyWatcherId": {
17764               "type": "string"
17765             },
17766             "error": {
17767               "$ref": "#/definitions/Error"
17768             }
17769           },
17770           "additionalProperties": false,
17771           "required": [
17772             "NotifyWatcherId"
17773           ]
17774         },
17775         "NotifyWatchResults": {
17776           "type": "object",
17777           "properties": {
17778             "results": {
17779               "type": "array",
17780               "items": {
17781                 "$ref": "#/definitions/NotifyWatchResult"
17782               }
17783             }
17784           },
17785           "additionalProperties": false,
17786           "required": [
17787             "results"
17788           ]
17789         },
17790         "RetryStrategy": {
17791           "type": "object",
17792           "properties": {
17793             "jitter-retry-time": {
17794               "type": "boolean"
17795             },
17796             "max-retry-time": {
17797               "type": "integer"
17798             },
17799             "min-retry-time": {
17800               "type": "integer"
17801             },
17802             "retry-time-factor": {
17803               "type": "integer"
17804             },
17805             "should-retry": {
17806               "type": "boolean"
17807             }
17808           },
17809           "additionalProperties": false,
17810           "required": [
17811             "should-retry",
17812             "min-retry-time",
17813             "max-retry-time",
17814             "jitter-retry-time",
17815             "retry-time-factor"
17816           ]
17817         },
17818         "RetryStrategyResult": {
17819           "type": "object",
17820           "properties": {
17821             "error": {
17822               "$ref": "#/definitions/Error"
17823             },
17824             "result": {
17825               "$ref": "#/definitions/RetryStrategy"
17826             }
17827           },
17828           "additionalProperties": false
17829         },
17830         "RetryStrategyResults": {
17831           "type": "object",
17832           "properties": {
17833             "results": {
17834               "type": "array",
17835               "items": {
17836                 "$ref": "#/definitions/RetryStrategyResult"
17837               }
17838             }
17839           },
17840           "additionalProperties": false,
17841           "required": [
17842             "results"
17843           ]
17844         }
17845       }
17846     }
17847   },
17848   {
17849     "Name": "SSHClient",
17850     "Version": 1,
17851     "Schema": {
17852       "type": "object",
17853       "properties": {
17854         "PrivateAddress": {
17855           "type": "object",
17856           "properties": {
17857             "Params": {
17858               "$ref": "#/definitions/Entities"
17859             },
17860             "Result": {
17861               "$ref": "#/definitions/SSHAddressResults"
17862             }
17863           }
17864         },
17865         "Proxy": {
17866           "type": "object",
17867           "properties": {
17868             "Result": {
17869               "$ref": "#/definitions/SSHProxyResult"
17870             }
17871           }
17872         },
17873         "PublicAddress": {
17874           "type": "object",
17875           "properties": {
17876             "Params": {
17877               "$ref": "#/definitions/Entities"
17878             },
17879             "Result": {
17880               "$ref": "#/definitions/SSHAddressResults"
17881             }
17882           }
17883         },
17884         "PublicKeys": {
17885           "type": "object",
17886           "properties": {
17887             "Params": {
17888               "$ref": "#/definitions/Entities"
17889             },
17890             "Result": {
17891               "$ref": "#/definitions/SSHPublicKeysResults"
17892             }
17893           }
17894         }
17895       },
17896       "definitions": {
17897         "Entities": {
17898           "type": "object",
17899           "properties": {
17900             "entities": {
17901               "type": "array",
17902               "items": {
17903                 "$ref": "#/definitions/Entity"
17904               }
17905             }
17906           },
17907           "additionalProperties": false,
17908           "required": [
17909             "entities"
17910           ]
17911         },
17912         "Entity": {
17913           "type": "object",
17914           "properties": {
17915             "tag": {
17916               "type": "string"
17917             }
17918           },
17919           "additionalProperties": false,
17920           "required": [
17921             "tag"
17922           ]
17923         },
17924         "Error": {
17925           "type": "object",
17926           "properties": {
17927             "code": {
17928               "type": "string"
17929             },
17930             "info": {
17931               "$ref": "#/definitions/ErrorInfo"
17932             },
17933             "message": {
17934               "type": "string"
17935             }
17936           },
17937           "additionalProperties": false,
17938           "required": [
17939             "message",
17940             "code"
17941           ]
17942         },
17943         "ErrorInfo": {
17944           "type": "object",
17945           "properties": {
17946             "macaroon": {
17947               "$ref": "#/definitions/Macaroon"
17948             },
17949             "macaroon-path": {
17950               "type": "string"
17951             }
17952           },
17953           "additionalProperties": false
17954         },
17955         "Macaroon": {
17956           "type": "object",
17957           "additionalProperties": false
17958         },
17959         "SSHAddressResult": {
17960           "type": "object",
17961           "properties": {
17962             "address": {
17963               "type": "string"
17964             },
17965             "error": {
17966               "$ref": "#/definitions/Error"
17967             }
17968           },
17969           "additionalProperties": false
17970         },
17971         "SSHAddressResults": {
17972           "type": "object",
17973           "properties": {
17974             "results": {
17975               "type": "array",
17976               "items": {
17977                 "$ref": "#/definitions/SSHAddressResult"
17978               }
17979             }
17980           },
17981           "additionalProperties": false,
17982           "required": [
17983             "results"
17984           ]
17985         },
17986         "SSHProxyResult": {
17987           "type": "object",
17988           "properties": {
17989             "use-proxy": {
17990               "type": "boolean"
17991             }
17992           },
17993           "additionalProperties": false,
17994           "required": [
17995             "use-proxy"
17996           ]
17997         },
17998         "SSHPublicKeysResult": {
17999           "type": "object",
18000           "properties": {
18001             "error": {
18002               "$ref": "#/definitions/Error"
18003             },
18004             "public-keys": {
18005               "type": "array",
18006               "items": {
18007                 "type": "string"
18008               }
18009             }
18010           },
18011           "additionalProperties": false
18012         },
18013         "SSHPublicKeysResults": {
18014           "type": "object",
18015           "properties": {
18016             "results": {
18017               "type": "array",
18018               "items": {
18019                 "$ref": "#/definitions/SSHPublicKeysResult"
18020               }
18021             }
18022           },
18023           "additionalProperties": false,
18024           "required": [
18025             "results"
18026           ]
18027         }
18028       }
18029     }
18030   },
18031   {
18032     "Name": "Singular",
18033     "Version": 1,
18034     "Schema": {
18035       "type": "object",
18036       "properties": {
18037         "Claim": {
18038           "type": "object",
18039           "properties": {
18040             "Params": {
18041               "$ref": "#/definitions/SingularClaims"
18042             },
18043             "Result": {
18044               "$ref": "#/definitions/ErrorResults"
18045             }
18046           }
18047         },
18048         "Wait": {
18049           "type": "object",
18050           "properties": {
18051             "Params": {
18052               "$ref": "#/definitions/Entities"
18053             },
18054             "Result": {
18055               "$ref": "#/definitions/ErrorResults"
18056             }
18057           }
18058         }
18059       },
18060       "definitions": {
18061         "Entities": {
18062           "type": "object",
18063           "properties": {
18064             "entities": {
18065               "type": "array",
18066               "items": {
18067                 "$ref": "#/definitions/Entity"
18068               }
18069             }
18070           },
18071           "additionalProperties": false,
18072           "required": [
18073             "entities"
18074           ]
18075         },
18076         "Entity": {
18077           "type": "object",
18078           "properties": {
18079             "tag": {
18080               "type": "string"
18081             }
18082           },
18083           "additionalProperties": false,
18084           "required": [
18085             "tag"
18086           ]
18087         },
18088         "Error": {
18089           "type": "object",
18090           "properties": {
18091             "code": {
18092               "type": "string"
18093             },
18094             "info": {
18095               "$ref": "#/definitions/ErrorInfo"
18096             },
18097             "message": {
18098               "type": "string"
18099             }
18100           },
18101           "additionalProperties": false,
18102           "required": [
18103             "message",
18104             "code"
18105           ]
18106         },
18107         "ErrorInfo": {
18108           "type": "object",
18109           "properties": {
18110             "macaroon": {
18111               "$ref": "#/definitions/Macaroon"
18112             },
18113             "macaroon-path": {
18114               "type": "string"
18115             }
18116           },
18117           "additionalProperties": false
18118         },
18119         "ErrorResult": {
18120           "type": "object",
18121           "properties": {
18122             "error": {
18123               "$ref": "#/definitions/Error"
18124             }
18125           },
18126           "additionalProperties": false
18127         },
18128         "ErrorResults": {
18129           "type": "object",
18130           "properties": {
18131             "results": {
18132               "type": "array",
18133               "items": {
18134                 "$ref": "#/definitions/ErrorResult"
18135               }
18136             }
18137           },
18138           "additionalProperties": false,
18139           "required": [
18140             "results"
18141           ]
18142         },
18143         "Macaroon": {
18144           "type": "object",
18145           "additionalProperties": false
18146         },
18147         "SingularClaim": {
18148           "type": "object",
18149           "properties": {
18150             "controller-tag": {
18151               "type": "string"
18152             },
18153             "duration": {
18154               "type": "integer"
18155             },
18156             "model-tag": {
18157               "type": "string"
18158             }
18159           },
18160           "additionalProperties": false,
18161           "required": [
18162             "model-tag",
18163             "controller-tag",
18164             "duration"
18165           ]
18166         },
18167         "SingularClaims": {
18168           "type": "object",
18169           "properties": {
18170             "claims": {
18171               "type": "array",
18172               "items": {
18173                 "$ref": "#/definitions/SingularClaim"
18174               }
18175             }
18176           },
18177           "additionalProperties": false,
18178           "required": [
18179             "claims"
18180           ]
18181         }
18182       }
18183     }
18184   },
18185   {
18186     "Name": "Spaces",
18187     "Version": 2,
18188     "Schema": {
18189       "type": "object",
18190       "properties": {
18191         "CreateSpaces": {
18192           "type": "object",
18193           "properties": {
18194             "Params": {
18195               "$ref": "#/definitions/CreateSpacesParams"
18196             },
18197             "Result": {
18198               "$ref": "#/definitions/ErrorResults"
18199             }
18200           }
18201         },
18202         "ListSpaces": {
18203           "type": "object",
18204           "properties": {
18205             "Result": {
18206               "$ref": "#/definitions/ListSpacesResults"
18207             }
18208           }
18209         }
18210       },
18211       "definitions": {
18212         "CreateSpaceParams": {
18213           "type": "object",
18214           "properties": {
18215             "provider-id": {
18216               "type": "string"
18217             },
18218             "public": {
18219               "type": "boolean"
18220             },
18221             "space-tag": {
18222               "type": "string"
18223             },
18224             "subnet-tags": {
18225               "type": "array",
18226               "items": {
18227                 "type": "string"
18228               }
18229             }
18230           },
18231           "additionalProperties": false,
18232           "required": [
18233             "subnet-tags",
18234             "space-tag",
18235             "public"
18236           ]
18237         },
18238         "CreateSpacesParams": {
18239           "type": "object",
18240           "properties": {
18241             "spaces": {
18242               "type": "array",
18243               "items": {
18244                 "$ref": "#/definitions/CreateSpaceParams"
18245               }
18246             }
18247           },
18248           "additionalProperties": false,
18249           "required": [
18250             "spaces"
18251           ]
18252         },
18253         "Error": {
18254           "type": "object",
18255           "properties": {
18256             "code": {
18257               "type": "string"
18258             },
18259             "info": {
18260               "$ref": "#/definitions/ErrorInfo"
18261             },
18262             "message": {
18263               "type": "string"
18264             }
18265           },
18266           "additionalProperties": false,
18267           "required": [
18268             "message",
18269             "code"
18270           ]
18271         },
18272         "ErrorInfo": {
18273           "type": "object",
18274           "properties": {
18275             "macaroon": {
18276               "$ref": "#/definitions/Macaroon"
18277             },
18278             "macaroon-path": {
18279               "type": "string"
18280             }
18281           },
18282           "additionalProperties": false
18283         },
18284         "ErrorResult": {
18285           "type": "object",
18286           "properties": {
18287             "error": {
18288               "$ref": "#/definitions/Error"
18289             }
18290           },
18291           "additionalProperties": false
18292         },
18293         "ErrorResults": {
18294           "type": "object",
18295           "properties": {
18296             "results": {
18297               "type": "array",
18298               "items": {
18299                 "$ref": "#/definitions/ErrorResult"
18300               }
18301             }
18302           },
18303           "additionalProperties": false,
18304           "required": [
18305             "results"
18306           ]
18307         },
18308         "ListSpacesResults": {
18309           "type": "object",
18310           "properties": {
18311             "results": {
18312               "type": "array",
18313               "items": {
18314                 "$ref": "#/definitions/Space"
18315               }
18316             }
18317           },
18318           "additionalProperties": false,
18319           "required": [
18320             "results"
18321           ]
18322         },
18323         "Macaroon": {
18324           "type": "object",
18325           "additionalProperties": false
18326         },
18327         "Space": {
18328           "type": "object",
18329           "properties": {
18330             "error": {
18331               "$ref": "#/definitions/Error"
18332             },
18333             "name": {
18334               "type": "string"
18335             },
18336             "subnets": {
18337               "type": "array",
18338               "items": {
18339                 "$ref": "#/definitions/Subnet"
18340               }
18341             }
18342           },
18343           "additionalProperties": false,
18344           "required": [
18345             "name",
18346             "subnets"
18347           ]
18348         },
18349         "Subnet": {
18350           "type": "object",
18351           "properties": {
18352             "cidr": {
18353               "type": "string"
18354             },
18355             "life": {
18356               "type": "string"
18357             },
18358             "provider-id": {
18359               "type": "string"
18360             },
18361             "space-tag": {
18362               "type": "string"
18363             },
18364             "status": {
18365               "type": "string"
18366             },
18367             "vlan-tag": {
18368               "type": "integer"
18369             },
18370             "zones": {
18371               "type": "array",
18372               "items": {
18373                 "type": "string"
18374               }
18375             }
18376           },
18377           "additionalProperties": false,
18378           "required": [
18379             "cidr",
18380             "vlan-tag",
18381             "life",
18382             "space-tag",
18383             "zones"
18384           ]
18385         }
18386       }
18387     }
18388   },
18389   {
18390     "Name": "StatusHistory",
18391     "Version": 2,
18392     "Schema": {
18393       "type": "object",
18394       "properties": {
18395         "Prune": {
18396           "type": "object",
18397           "properties": {
18398             "Params": {
18399               "$ref": "#/definitions/StatusHistoryPruneArgs"
18400             }
18401           }
18402         }
18403       },
18404       "definitions": {
18405         "StatusHistoryPruneArgs": {
18406           "type": "object",
18407           "properties": {
18408             "max-history-mb": {
18409               "type": "integer"
18410             },
18411             "max-history-time": {
18412               "type": "integer"
18413             }
18414           },
18415           "additionalProperties": false,
18416           "required": [
18417             "max-history-time",
18418             "max-history-mb"
18419           ]
18420         }
18421       }
18422     }
18423   },
18424   {
18425     "Name": "Storage",
18426     "Version": 3,
18427     "Schema": {
18428       "type": "object",
18429       "properties": {
18430         "AddToUnit": {
18431           "type": "object",
18432           "properties": {
18433             "Params": {
18434               "$ref": "#/definitions/StoragesAddParams"
18435             },
18436             "Result": {
18437               "$ref": "#/definitions/ErrorResults"
18438             }
18439           }
18440         },
18441         "CreatePool": {
18442           "type": "object",
18443           "properties": {
18444             "Params": {
18445               "$ref": "#/definitions/StoragePool"
18446             }
18447           }
18448         },
18449         "ListFilesystems": {
18450           "type": "object",
18451           "properties": {
18452             "Params": {
18453               "$ref": "#/definitions/FilesystemFilters"
18454             },
18455             "Result": {
18456               "$ref": "#/definitions/FilesystemDetailsListResults"
18457             }
18458           }
18459         },
18460         "ListPools": {
18461           "type": "object",
18462           "properties": {
18463             "Params": {
18464               "$ref": "#/definitions/StoragePoolFilters"
18465             },
18466             "Result": {
18467               "$ref": "#/definitions/StoragePoolsResults"
18468             }
18469           }
18470         },
18471         "ListStorageDetails": {
18472           "type": "object",
18473           "properties": {
18474             "Params": {
18475               "$ref": "#/definitions/StorageFilters"
18476             },
18477             "Result": {
18478               "$ref": "#/definitions/StorageDetailsListResults"
18479             }
18480           }
18481         },
18482         "ListVolumes": {
18483           "type": "object",
18484           "properties": {
18485             "Params": {
18486               "$ref": "#/definitions/VolumeFilters"
18487             },
18488             "Result": {
18489               "$ref": "#/definitions/VolumeDetailsListResults"
18490             }
18491           }
18492         },
18493         "StorageDetails": {
18494           "type": "object",
18495           "properties": {
18496             "Params": {
18497               "$ref": "#/definitions/Entities"
18498             },
18499             "Result": {
18500               "$ref": "#/definitions/StorageDetailsResults"
18501             }
18502           }
18503         }
18504       },
18505       "definitions": {
18506         "Entities": {
18507           "type": "object",
18508           "properties": {
18509             "entities": {
18510               "type": "array",
18511               "items": {
18512                 "$ref": "#/definitions/Entity"
18513               }
18514             }
18515           },
18516           "additionalProperties": false,
18517           "required": [
18518             "entities"
18519           ]
18520         },
18521         "Entity": {
18522           "type": "object",
18523           "properties": {
18524             "tag": {
18525               "type": "string"
18526             }
18527           },
18528           "additionalProperties": false,
18529           "required": [
18530             "tag"
18531           ]
18532         },
18533         "EntityStatus": {
18534           "type": "object",
18535           "properties": {
18536             "data": {
18537               "type": "object",
18538               "patternProperties": {
18539                 ".*": {
18540                   "type": "object",
18541                   "additionalProperties": true
18542                 }
18543               }
18544             },
18545             "info": {
18546               "type": "string"
18547             },
18548             "since": {
18549               "type": "string",
18550               "format": "date-time"
18551             },
18552             "status": {
18553               "type": "string"
18554             }
18555           },
18556           "additionalProperties": false,
18557           "required": [
18558             "status",
18559             "info",
18560             "since"
18561           ]
18562         },
18563         "Error": {
18564           "type": "object",
18565           "properties": {
18566             "code": {
18567               "type": "string"
18568             },
18569             "info": {
18570               "$ref": "#/definitions/ErrorInfo"
18571             },
18572             "message": {
18573               "type": "string"
18574             }
18575           },
18576           "additionalProperties": false,
18577           "required": [
18578             "message",
18579             "code"
18580           ]
18581         },
18582         "ErrorInfo": {
18583           "type": "object",
18584           "properties": {
18585             "macaroon": {
18586               "$ref": "#/definitions/Macaroon"
18587             },
18588             "macaroon-path": {
18589               "type": "string"
18590             }
18591           },
18592           "additionalProperties": false
18593         },
18594         "ErrorResult": {
18595           "type": "object",
18596           "properties": {
18597             "error": {
18598               "$ref": "#/definitions/Error"
18599             }
18600           },
18601           "additionalProperties": false
18602         },
18603         "ErrorResults": {
18604           "type": "object",
18605           "properties": {
18606             "results": {
18607               "type": "array",
18608               "items": {
18609                 "$ref": "#/definitions/ErrorResult"
18610               }
18611             }
18612           },
18613           "additionalProperties": false,
18614           "required": [
18615             "results"
18616           ]
18617         },
18618         "FilesystemAttachmentInfo": {
18619           "type": "object",
18620           "properties": {
18621             "mount-point": {
18622               "type": "string"
18623             },
18624             "read-only": {
18625               "type": "boolean"
18626             }
18627           },
18628           "additionalProperties": false
18629         },
18630         "FilesystemDetails": {
18631           "type": "object",
18632           "properties": {
18633             "filesystem-tag": {
18634               "type": "string"
18635             },
18636             "info": {
18637               "$ref": "#/definitions/FilesystemInfo"
18638             },
18639             "machine-attachments": {
18640               "type": "object",
18641               "patternProperties": {
18642                 ".*": {
18643                   "$ref": "#/definitions/FilesystemAttachmentInfo"
18644                 }
18645               }
18646             },
18647             "status": {
18648               "$ref": "#/definitions/EntityStatus"
18649             },
18650             "storage": {
18651               "$ref": "#/definitions/StorageDetails"
18652             },
18653             "volume-tag": {
18654               "type": "string"
18655             }
18656           },
18657           "additionalProperties": false,
18658           "required": [
18659             "filesystem-tag",
18660             "info",
18661             "status"
18662           ]
18663         },
18664         "FilesystemDetailsListResult": {
18665           "type": "object",
18666           "properties": {
18667             "error": {
18668               "$ref": "#/definitions/Error"
18669             },
18670             "result": {
18671               "type": "array",
18672               "items": {
18673                 "$ref": "#/definitions/FilesystemDetails"
18674               }
18675             }
18676           },
18677           "additionalProperties": false
18678         },
18679         "FilesystemDetailsListResults": {
18680           "type": "object",
18681           "properties": {
18682             "results": {
18683               "type": "array",
18684               "items": {
18685                 "$ref": "#/definitions/FilesystemDetailsListResult"
18686               }
18687             }
18688           },
18689           "additionalProperties": false
18690         },
18691         "FilesystemFilter": {
18692           "type": "object",
18693           "properties": {
18694             "machines": {
18695               "type": "array",
18696               "items": {
18697                 "type": "string"
18698               }
18699             }
18700           },
18701           "additionalProperties": false
18702         },
18703         "FilesystemFilters": {
18704           "type": "object",
18705           "properties": {
18706             "filters": {
18707               "type": "array",
18708               "items": {
18709                 "$ref": "#/definitions/FilesystemFilter"
18710               }
18711             }
18712           },
18713           "additionalProperties": false
18714         },
18715         "FilesystemInfo": {
18716           "type": "object",
18717           "properties": {
18718             "filesystem-id": {
18719               "type": "string"
18720             },
18721             "size": {
18722               "type": "integer"
18723             }
18724           },
18725           "additionalProperties": false,
18726           "required": [
18727             "filesystem-id",
18728             "size"
18729           ]
18730         },
18731         "Macaroon": {
18732           "type": "object",
18733           "additionalProperties": false
18734         },
18735         "StorageAddParams": {
18736           "type": "object",
18737           "properties": {
18738             "name": {
18739               "type": "string"
18740             },
18741             "storage": {
18742               "$ref": "#/definitions/StorageConstraints"
18743             },
18744             "unit": {
18745               "type": "string"
18746             }
18747           },
18748           "additionalProperties": false,
18749           "required": [
18750             "unit",
18751             "name",
18752             "storage"
18753           ]
18754         },
18755         "StorageAttachmentDetails": {
18756           "type": "object",
18757           "properties": {
18758             "location": {
18759               "type": "string"
18760             },
18761             "machine-tag": {
18762               "type": "string"
18763             },
18764             "storage-tag": {
18765               "type": "string"
18766             },
18767             "unit-tag": {
18768               "type": "string"
18769             }
18770           },
18771           "additionalProperties": false,
18772           "required": [
18773             "storage-tag",
18774             "unit-tag",
18775             "machine-tag"
18776           ]
18777         },
18778         "StorageConstraints": {
18779           "type": "object",
18780           "properties": {
18781             "count": {
18782               "type": "integer"
18783             },
18784             "pool": {
18785               "type": "string"
18786             },
18787             "size": {
18788               "type": "integer"
18789             }
18790           },
18791           "additionalProperties": false
18792         },
18793         "StorageDetails": {
18794           "type": "object",
18795           "properties": {
18796             "attachments": {
18797               "type": "object",
18798               "patternProperties": {
18799                 ".*": {
18800                   "$ref": "#/definitions/StorageAttachmentDetails"
18801                 }
18802               }
18803             },
18804             "kind": {
18805               "type": "integer"
18806             },
18807             "owner-tag": {
18808               "type": "string"
18809             },
18810             "persistent": {
18811               "type": "boolean"
18812             },
18813             "status": {
18814               "$ref": "#/definitions/EntityStatus"
18815             },
18816             "storage-tag": {
18817               "type": "string"
18818             }
18819           },
18820           "additionalProperties": false,
18821           "required": [
18822             "storage-tag",
18823             "owner-tag",
18824             "kind",
18825             "status",
18826             "persistent"
18827           ]
18828         },
18829         "StorageDetailsListResult": {
18830           "type": "object",
18831           "properties": {
18832             "error": {
18833               "$ref": "#/definitions/Error"
18834             },
18835             "result": {
18836               "type": "array",
18837               "items": {
18838                 "$ref": "#/definitions/StorageDetails"
18839               }
18840             }
18841           },
18842           "additionalProperties": false
18843         },
18844         "StorageDetailsListResults": {
18845           "type": "object",
18846           "properties": {
18847             "results": {
18848               "type": "array",
18849               "items": {
18850                 "$ref": "#/definitions/StorageDetailsListResult"
18851               }
18852             }
18853           },
18854           "additionalProperties": false
18855         },
18856         "StorageDetailsResult": {
18857           "type": "object",
18858           "properties": {
18859             "error": {
18860               "$ref": "#/definitions/Error"
18861             },
18862             "result": {
18863               "$ref": "#/definitions/StorageDetails"
18864             }
18865           },
18866           "additionalProperties": false
18867         },
18868         "StorageDetailsResults": {
18869           "type": "object",
18870           "properties": {
18871             "results": {
18872               "type": "array",
18873               "items": {
18874                 "$ref": "#/definitions/StorageDetailsResult"
18875               }
18876             }
18877           },
18878           "additionalProperties": false
18879         },
18880         "StorageFilter": {
18881           "type": "object",
18882           "additionalProperties": false
18883         },
18884         "StorageFilters": {
18885           "type": "object",
18886           "properties": {
18887             "filters": {
18888               "type": "array",
18889               "items": {
18890                 "$ref": "#/definitions/StorageFilter"
18891               }
18892             }
18893           },
18894           "additionalProperties": false
18895         },
18896         "StoragePool": {
18897           "type": "object",
18898           "properties": {
18899             "attrs": {
18900               "type": "object",
18901               "patternProperties": {
18902                 ".*": {
18903                   "type": "object",
18904                   "additionalProperties": true
18905                 }
18906               }
18907             },
18908             "name": {
18909               "type": "string"
18910             },
18911             "provider": {
18912               "type": "string"
18913             }
18914           },
18915           "additionalProperties": false,
18916           "required": [
18917             "name",
18918             "provider",
18919             "attrs"
18920           ]
18921         },
18922         "StoragePoolFilter": {
18923           "type": "object",
18924           "properties": {
18925             "names": {
18926               "type": "array",
18927               "items": {
18928                 "type": "string"
18929               }
18930             },
18931             "providers": {
18932               "type": "array",
18933               "items": {
18934                 "type": "string"
18935               }
18936             }
18937           },
18938           "additionalProperties": false
18939         },
18940         "StoragePoolFilters": {
18941           "type": "object",
18942           "properties": {
18943             "filters": {
18944               "type": "array",
18945               "items": {
18946                 "$ref": "#/definitions/StoragePoolFilter"
18947               }
18948             }
18949           },
18950           "additionalProperties": false
18951         },
18952         "StoragePoolsResult": {
18953           "type": "object",
18954           "properties": {
18955             "error": {
18956               "$ref": "#/definitions/Error"
18957             },
18958             "storage-pools": {
18959               "type": "array",
18960               "items": {
18961                 "$ref": "#/definitions/StoragePool"
18962               }
18963             }
18964           },
18965           "additionalProperties": false
18966         },
18967         "StoragePoolsResults": {
18968           "type": "object",
18969           "properties": {
18970             "results": {
18971               "type": "array",
18972               "items": {
18973                 "$ref": "#/definitions/StoragePoolsResult"
18974               }
18975             }
18976           },
18977           "additionalProperties": false
18978         },
18979         "StoragesAddParams": {
18980           "type": "object",
18981           "properties": {
18982             "storages": {
18983               "type": "array",
18984               "items": {
18985                 "$ref": "#/definitions/StorageAddParams"
18986               }
18987             }
18988           },
18989           "additionalProperties": false,
18990           "required": [
18991             "storages"
18992           ]
18993         },
18994         "VolumeAttachmentInfo": {
18995           "type": "object",
18996           "properties": {
18997             "bus-address": {
18998               "type": "string"
18999             },
19000             "device-link": {
19001               "type": "string"
19002             },
19003             "device-name": {
19004               "type": "string"
19005             },
19006             "read-only": {
19007               "type": "boolean"
19008             }
19009           },
19010           "additionalProperties": false
19011         },
19012         "VolumeDetails": {
19013           "type": "object",
19014           "properties": {
19015             "info": {
19016               "$ref": "#/definitions/VolumeInfo"
19017             },
19018             "machine-attachments": {
19019               "type": "object",
19020               "patternProperties": {
19021                 ".*": {
19022                   "$ref": "#/definitions/VolumeAttachmentInfo"
19023                 }
19024               }
19025             },
19026             "status": {
19027               "$ref": "#/definitions/EntityStatus"
19028             },
19029             "storage": {
19030               "$ref": "#/definitions/StorageDetails"
19031             },
19032             "volume-tag": {
19033               "type": "string"
19034             }
19035           },
19036           "additionalProperties": false,
19037           "required": [
19038             "volume-tag",
19039             "info",
19040             "status"
19041           ]
19042         },
19043         "VolumeDetailsListResult": {
19044           "type": "object",
19045           "properties": {
19046             "error": {
19047               "$ref": "#/definitions/Error"
19048             },
19049             "result": {
19050               "type": "array",
19051               "items": {
19052                 "$ref": "#/definitions/VolumeDetails"
19053               }
19054             }
19055           },
19056           "additionalProperties": false
19057         },
19058         "VolumeDetailsListResults": {
19059           "type": "object",
19060           "properties": {
19061             "results": {
19062               "type": "array",
19063               "items": {
19064                 "$ref": "#/definitions/VolumeDetailsListResult"
19065               }
19066             }
19067           },
19068           "additionalProperties": false
19069         },
19070         "VolumeFilter": {
19071           "type": "object",
19072           "properties": {
19073             "machines": {
19074               "type": "array",
19075               "items": {
19076                 "type": "string"
19077               }
19078             }
19079           },
19080           "additionalProperties": false
19081         },
19082         "VolumeFilters": {
19083           "type": "object",
19084           "properties": {
19085             "filters": {
19086               "type": "array",
19087               "items": {
19088                 "$ref": "#/definitions/VolumeFilter"
19089               }
19090             }
19091           },
19092           "additionalProperties": false
19093         },
19094         "VolumeInfo": {
19095           "type": "object",
19096           "properties": {
19097             "hardware-id": {
19098               "type": "string"
19099             },
19100             "persistent": {
19101               "type": "boolean"
19102             },
19103             "size": {
19104               "type": "integer"
19105             },
19106             "volume-id": {
19107               "type": "string"
19108             }
19109           },
19110           "additionalProperties": false,
19111           "required": [
19112             "volume-id",
19113             "size",
19114             "persistent"
19115           ]
19116         }
19117       }
19118     }
19119   },
19120   {
19121     "Name": "StorageProvisioner",
19122     "Version": 3,
19123     "Schema": {
19124       "type": "object",
19125       "properties": {
19126         "AttachmentLife": {
19127           "type": "object",
19128           "properties": {
19129             "Params": {
19130               "$ref": "#/definitions/MachineStorageIds"
19131             },
19132             "Result": {
19133               "$ref": "#/definitions/LifeResults"
19134             }
19135           }
19136         },
19137         "EnsureDead": {
19138           "type": "object",
19139           "properties": {
19140             "Params": {
19141               "$ref": "#/definitions/Entities"
19142             },
19143             "Result": {
19144               "$ref": "#/definitions/ErrorResults"
19145             }
19146           }
19147         },
19148         "FilesystemAttachmentParams": {
19149           "type": "object",
19150           "properties": {
19151             "Params": {
19152               "$ref": "#/definitions/MachineStorageIds"
19153             },
19154             "Result": {
19155               "$ref": "#/definitions/FilesystemAttachmentParamsResults"
19156             }
19157           }
19158         },
19159         "FilesystemAttachments": {
19160           "type": "object",
19161           "properties": {
19162             "Params": {
19163               "$ref": "#/definitions/MachineStorageIds"
19164             },
19165             "Result": {
19166               "$ref": "#/definitions/FilesystemAttachmentResults"
19167             }
19168           }
19169         },
19170         "FilesystemParams": {
19171           "type": "object",
19172           "properties": {
19173             "Params": {
19174               "$ref": "#/definitions/Entities"
19175             },
19176             "Result": {
19177               "$ref": "#/definitions/FilesystemParamsResults"
19178             }
19179           }
19180         },
19181         "Filesystems": {
19182           "type": "object",
19183           "properties": {
19184             "Params": {
19185               "$ref": "#/definitions/Entities"
19186             },
19187             "Result": {
19188               "$ref": "#/definitions/FilesystemResults"
19189             }
19190           }
19191         },
19192         "InstanceId": {
19193           "type": "object",
19194           "properties": {
19195             "Params": {
19196               "$ref": "#/definitions/Entities"
19197             },
19198             "Result": {
19199               "$ref": "#/definitions/StringResults"
19200             }
19201           }
19202         },
19203         "Life": {
19204           "type": "object",
19205           "properties": {
19206             "Params": {
19207               "$ref": "#/definitions/Entities"
19208             },
19209             "Result": {
19210               "$ref": "#/definitions/LifeResults"
19211             }
19212           }
19213         },
19214         "Remove": {
19215           "type": "object",
19216           "properties": {
19217             "Params": {
19218               "$ref": "#/definitions/Entities"
19219             },
19220             "Result": {
19221               "$ref": "#/definitions/ErrorResults"
19222             }
19223           }
19224         },
19225         "RemoveAttachment": {
19226           "type": "object",
19227           "properties": {
19228             "Params": {
19229               "$ref": "#/definitions/MachineStorageIds"
19230             },
19231             "Result": {
19232               "$ref": "#/definitions/ErrorResults"
19233             }
19234           }
19235         },
19236         "SetFilesystemAttachmentInfo": {
19237           "type": "object",
19238           "properties": {
19239             "Params": {
19240               "$ref": "#/definitions/FilesystemAttachments"
19241             },
19242             "Result": {
19243               "$ref": "#/definitions/ErrorResults"
19244             }
19245           }
19246         },
19247         "SetFilesystemInfo": {
19248           "type": "object",
19249           "properties": {
19250             "Params": {
19251               "$ref": "#/definitions/Filesystems"
19252             },
19253             "Result": {
19254               "$ref": "#/definitions/ErrorResults"
19255             }
19256           }
19257         },
19258         "SetStatus": {
19259           "type": "object",
19260           "properties": {
19261             "Params": {
19262               "$ref": "#/definitions/SetStatus"
19263             },
19264             "Result": {
19265               "$ref": "#/definitions/ErrorResults"
19266             }
19267           }
19268         },
19269         "SetVolumeAttachmentInfo": {
19270           "type": "object",
19271           "properties": {
19272             "Params": {
19273               "$ref": "#/definitions/VolumeAttachments"
19274             },
19275             "Result": {
19276               "$ref": "#/definitions/ErrorResults"
19277             }
19278           }
19279         },
19280         "SetVolumeInfo": {
19281           "type": "object",
19282           "properties": {
19283             "Params": {
19284               "$ref": "#/definitions/Volumes"
19285             },
19286             "Result": {
19287               "$ref": "#/definitions/ErrorResults"
19288             }
19289           }
19290         },
19291         "UpdateStatus": {
19292           "type": "object",
19293           "properties": {
19294             "Params": {
19295               "$ref": "#/definitions/SetStatus"
19296             },
19297             "Result": {
19298               "$ref": "#/definitions/ErrorResults"
19299             }
19300           }
19301         },
19302         "VolumeAttachmentParams": {
19303           "type": "object",
19304           "properties": {
19305             "Params": {
19306               "$ref": "#/definitions/MachineStorageIds"
19307             },
19308             "Result": {
19309               "$ref": "#/definitions/VolumeAttachmentParamsResults"
19310             }
19311           }
19312         },
19313         "VolumeAttachments": {
19314           "type": "object",
19315           "properties": {
19316             "Params": {
19317               "$ref": "#/definitions/MachineStorageIds"
19318             },
19319             "Result": {
19320               "$ref": "#/definitions/VolumeAttachmentResults"
19321             }
19322           }
19323         },
19324         "VolumeBlockDevices": {
19325           "type": "object",
19326           "properties": {
19327             "Params": {
19328               "$ref": "#/definitions/MachineStorageIds"
19329             },
19330             "Result": {
19331               "$ref": "#/definitions/BlockDeviceResults"
19332             }
19333           }
19334         },
19335         "VolumeParams": {
19336           "type": "object",
19337           "properties": {
19338             "Params": {
19339               "$ref": "#/definitions/Entities"
19340             },
19341             "Result": {
19342               "$ref": "#/definitions/VolumeParamsResults"
19343             }
19344           }
19345         },
19346         "Volumes": {
19347           "type": "object",
19348           "properties": {
19349             "Params": {
19350               "$ref": "#/definitions/Entities"
19351             },
19352             "Result": {
19353               "$ref": "#/definitions/VolumeResults"
19354             }
19355           }
19356         },
19357         "WatchBlockDevices": {
19358           "type": "object",
19359           "properties": {
19360             "Params": {
19361               "$ref": "#/definitions/Entities"
19362             },
19363             "Result": {
19364               "$ref": "#/definitions/NotifyWatchResults"
19365             }
19366           }
19367         },
19368         "WatchFilesystemAttachments": {
19369           "type": "object",
19370           "properties": {
19371             "Params": {
19372               "$ref": "#/definitions/Entities"
19373             },
19374             "Result": {
19375               "$ref": "#/definitions/MachineStorageIdsWatchResults"
19376             }
19377           }
19378         },
19379         "WatchFilesystems": {
19380           "type": "object",
19381           "properties": {
19382             "Params": {
19383               "$ref": "#/definitions/Entities"
19384             },
19385             "Result": {
19386               "$ref": "#/definitions/StringsWatchResults"
19387             }
19388           }
19389         },
19390         "WatchMachines": {
19391           "type": "object",
19392           "properties": {
19393             "Params": {
19394               "$ref": "#/definitions/Entities"
19395             },
19396             "Result": {
19397               "$ref": "#/definitions/NotifyWatchResults"
19398             }
19399           }
19400         },
19401         "WatchVolumeAttachments": {
19402           "type": "object",
19403           "properties": {
19404             "Params": {
19405               "$ref": "#/definitions/Entities"
19406             },
19407             "Result": {
19408               "$ref": "#/definitions/MachineStorageIdsWatchResults"
19409             }
19410           }
19411         },
19412         "WatchVolumes": {
19413           "type": "object",
19414           "properties": {
19415             "Params": {
19416               "$ref": "#/definitions/Entities"
19417             },
19418             "Result": {
19419               "$ref": "#/definitions/StringsWatchResults"
19420             }
19421           }
19422         }
19423       },
19424       "definitions": {
19425         "BlockDevice": {
19426           "type": "object",
19427           "properties": {
19428             "BusAddress": {
19429               "type": "string"
19430             },
19431             "DeviceLinks": {
19432               "type": "array",
19433               "items": {
19434                 "type": "string"
19435               }
19436             },
19437             "DeviceName": {
19438               "type": "string"
19439             },
19440             "FilesystemType": {
19441               "type": "string"
19442             },
19443             "HardwareId": {
19444               "type": "string"
19445             },
19446             "InUse": {
19447               "type": "boolean"
19448             },
19449             "Label": {
19450               "type": "string"
19451             },
19452             "MountPoint": {
19453               "type": "string"
19454             },
19455             "Size": {
19456               "type": "integer"
19457             },
19458             "UUID": {
19459               "type": "string"
19460             }
19461           },
19462           "additionalProperties": false,
19463           "required": [
19464             "DeviceName",
19465             "DeviceLinks",
19466             "Label",
19467             "UUID",
19468             "HardwareId",
19469             "BusAddress",
19470             "Size",
19471             "FilesystemType",
19472             "InUse",
19473             "MountPoint"
19474           ]
19475         },
19476         "BlockDeviceResult": {
19477           "type": "object",
19478           "properties": {
19479             "error": {
19480               "$ref": "#/definitions/Error"
19481             },
19482             "result": {
19483               "$ref": "#/definitions/BlockDevice"
19484             }
19485           },
19486           "additionalProperties": false,
19487           "required": [
19488             "result"
19489           ]
19490         },
19491         "BlockDeviceResults": {
19492           "type": "object",
19493           "properties": {
19494             "results": {
19495               "type": "array",
19496               "items": {
19497                 "$ref": "#/definitions/BlockDeviceResult"
19498               }
19499             }
19500           },
19501           "additionalProperties": false
19502         },
19503         "Entities": {
19504           "type": "object",
19505           "properties": {
19506             "entities": {
19507               "type": "array",
19508               "items": {
19509                 "$ref": "#/definitions/Entity"
19510               }
19511             }
19512           },
19513           "additionalProperties": false,
19514           "required": [
19515             "entities"
19516           ]
19517         },
19518         "Entity": {
19519           "type": "object",
19520           "properties": {
19521             "tag": {
19522               "type": "string"
19523             }
19524           },
19525           "additionalProperties": false,
19526           "required": [
19527             "tag"
19528           ]
19529         },
19530         "EntityStatusArgs": {
19531           "type": "object",
19532           "properties": {
19533             "data": {
19534               "type": "object",
19535               "patternProperties": {
19536                 ".*": {
19537                   "type": "object",
19538                   "additionalProperties": true
19539                 }
19540               }
19541             },
19542             "info": {
19543               "type": "string"
19544             },
19545             "status": {
19546               "type": "string"
19547             },
19548             "tag": {
19549               "type": "string"
19550             }
19551           },
19552           "additionalProperties": false,
19553           "required": [
19554             "tag",
19555             "status",
19556             "info",
19557             "data"
19558           ]
19559         },
19560         "Error": {
19561           "type": "object",
19562           "properties": {
19563             "code": {
19564               "type": "string"
19565             },
19566             "info": {
19567               "$ref": "#/definitions/ErrorInfo"
19568             },
19569             "message": {
19570               "type": "string"
19571             }
19572           },
19573           "additionalProperties": false,
19574           "required": [
19575             "message",
19576             "code"
19577           ]
19578         },
19579         "ErrorInfo": {
19580           "type": "object",
19581           "properties": {
19582             "macaroon": {
19583               "$ref": "#/definitions/Macaroon"
19584             },
19585             "macaroon-path": {
19586               "type": "string"
19587             }
19588           },
19589           "additionalProperties": false
19590         },
19591         "ErrorResult": {
19592           "type": "object",
19593           "properties": {
19594             "error": {
19595               "$ref": "#/definitions/Error"
19596             }
19597           },
19598           "additionalProperties": false
19599         },
19600         "ErrorResults": {
19601           "type": "object",
19602           "properties": {
19603             "results": {
19604               "type": "array",
19605               "items": {
19606                 "$ref": "#/definitions/ErrorResult"
19607               }
19608             }
19609           },
19610           "additionalProperties": false,
19611           "required": [
19612             "results"
19613           ]
19614         },
19615         "Filesystem": {
19616           "type": "object",
19617           "properties": {
19618             "filesystem-tag": {
19619               "type": "string"
19620             },
19621             "info": {
19622               "$ref": "#/definitions/FilesystemInfo"
19623             },
19624             "volume-tag": {
19625               "type": "string"
19626             }
19627           },
19628           "additionalProperties": false,
19629           "required": [
19630             "filesystem-tag",
19631             "info"
19632           ]
19633         },
19634         "FilesystemAttachment": {
19635           "type": "object",
19636           "properties": {
19637             "filesystem-tag": {
19638               "type": "string"
19639             },
19640             "info": {
19641               "$ref": "#/definitions/FilesystemAttachmentInfo"
19642             },
19643             "machine-tag": {
19644               "type": "string"
19645             }
19646           },
19647           "additionalProperties": false,
19648           "required": [
19649             "filesystem-tag",
19650             "machine-tag",
19651             "info"
19652           ]
19653         },
19654         "FilesystemAttachmentInfo": {
19655           "type": "object",
19656           "properties": {
19657             "mount-point": {
19658               "type": "string"
19659             },
19660             "read-only": {
19661               "type": "boolean"
19662             }
19663           },
19664           "additionalProperties": false
19665         },
19666         "FilesystemAttachmentParams": {
19667           "type": "object",
19668           "properties": {
19669             "filesystem-id": {
19670               "type": "string"
19671             },
19672             "filesystem-tag": {
19673               "type": "string"
19674             },
19675             "instance-id": {
19676               "type": "string"
19677             },
19678             "machine-tag": {
19679               "type": "string"
19680             },
19681             "mount-point": {
19682               "type": "string"
19683             },
19684             "provider": {
19685               "type": "string"
19686             },
19687             "read-only": {
19688               "type": "boolean"
19689             }
19690           },
19691           "additionalProperties": false,
19692           "required": [
19693             "filesystem-tag",
19694             "machine-tag",
19695             "provider"
19696           ]
19697         },
19698         "FilesystemAttachmentParamsResult": {
19699           "type": "object",
19700           "properties": {
19701             "error": {
19702               "$ref": "#/definitions/Error"
19703             },
19704             "result": {
19705               "$ref": "#/definitions/FilesystemAttachmentParams"
19706             }
19707           },
19708           "additionalProperties": false,
19709           "required": [
19710             "result"
19711           ]
19712         },
19713         "FilesystemAttachmentParamsResults": {
19714           "type": "object",
19715           "properties": {
19716             "results": {
19717               "type": "array",
19718               "items": {
19719                 "$ref": "#/definitions/FilesystemAttachmentParamsResult"
19720               }
19721             }
19722           },
19723           "additionalProperties": false
19724         },
19725         "FilesystemAttachmentResult": {
19726           "type": "object",
19727           "properties": {
19728             "error": {
19729               "$ref": "#/definitions/Error"
19730             },
19731             "result": {
19732               "$ref": "#/definitions/FilesystemAttachment"
19733             }
19734           },
19735           "additionalProperties": false,
19736           "required": [
19737             "result"
19738           ]
19739         },
19740         "FilesystemAttachmentResults": {
19741           "type": "object",
19742           "properties": {
19743             "results": {
19744               "type": "array",
19745               "items": {
19746                 "$ref": "#/definitions/FilesystemAttachmentResult"
19747               }
19748             }
19749           },
19750           "additionalProperties": false
19751         },
19752         "FilesystemAttachments": {
19753           "type": "object",
19754           "properties": {
19755             "filesystem-attachments": {
19756               "type": "array",
19757               "items": {
19758                 "$ref": "#/definitions/FilesystemAttachment"
19759               }
19760             }
19761           },
19762           "additionalProperties": false,
19763           "required": [
19764             "filesystem-attachments"
19765           ]
19766         },
19767         "FilesystemInfo": {
19768           "type": "object",
19769           "properties": {
19770             "filesystem-id": {
19771               "type": "string"
19772             },
19773             "size": {
19774               "type": "integer"
19775             }
19776           },
19777           "additionalProperties": false,
19778           "required": [
19779             "filesystem-id",
19780             "size"
19781           ]
19782         },
19783         "FilesystemParams": {
19784           "type": "object",
19785           "properties": {
19786             "attachment": {
19787               "$ref": "#/definitions/FilesystemAttachmentParams"
19788             },
19789             "attributes": {
19790               "type": "object",
19791               "patternProperties": {
19792                 ".*": {
19793                   "type": "object",
19794                   "additionalProperties": true
19795                 }
19796               }
19797             },
19798             "filesystem-tag": {
19799               "type": "string"
19800             },
19801             "provider": {
19802               "type": "string"
19803             },
19804             "size": {
19805               "type": "integer"
19806             },
19807             "tags": {
19808               "type": "object",
19809               "patternProperties": {
19810                 ".*": {
19811                   "type": "string"
19812                 }
19813               }
19814             },
19815             "volume-tag": {
19816               "type": "string"
19817             }
19818           },
19819           "additionalProperties": false,
19820           "required": [
19821             "filesystem-tag",
19822             "size",
19823             "provider"
19824           ]
19825         },
19826         "FilesystemParamsResult": {
19827           "type": "object",
19828           "properties": {
19829             "error": {
19830               "$ref": "#/definitions/Error"
19831             },
19832             "result": {
19833               "$ref": "#/definitions/FilesystemParams"
19834             }
19835           },
19836           "additionalProperties": false,
19837           "required": [
19838             "result"
19839           ]
19840         },
19841         "FilesystemParamsResults": {
19842           "type": "object",
19843           "properties": {
19844             "results": {
19845               "type": "array",
19846               "items": {
19847                 "$ref": "#/definitions/FilesystemParamsResult"
19848               }
19849             }
19850           },
19851           "additionalProperties": false
19852         },
19853         "FilesystemResult": {
19854           "type": "object",
19855           "properties": {
19856             "error": {
19857               "$ref": "#/definitions/Error"
19858             },
19859             "result": {
19860               "$ref": "#/definitions/Filesystem"
19861             }
19862           },
19863           "additionalProperties": false,
19864           "required": [
19865             "result"
19866           ]
19867         },
19868         "FilesystemResults": {
19869           "type": "object",
19870           "properties": {
19871             "results": {
19872               "type": "array",
19873               "items": {
19874                 "$ref": "#/definitions/FilesystemResult"
19875               }
19876             }
19877           },
19878           "additionalProperties": false
19879         },
19880         "Filesystems": {
19881           "type": "object",
19882           "properties": {
19883             "filesystems": {
19884               "type": "array",
19885               "items": {
19886                 "$ref": "#/definitions/Filesystem"
19887               }
19888             }
19889           },
19890           "additionalProperties": false,
19891           "required": [
19892             "filesystems"
19893           ]
19894         },
19895         "LifeResult": {
19896           "type": "object",
19897           "properties": {
19898             "error": {
19899               "$ref": "#/definitions/Error"
19900             },
19901             "life": {
19902               "type": "string"
19903             }
19904           },
19905           "additionalProperties": false,
19906           "required": [
19907             "life"
19908           ]
19909         },
19910         "LifeResults": {
19911           "type": "object",
19912           "properties": {
19913             "results": {
19914               "type": "array",
19915               "items": {
19916                 "$ref": "#/definitions/LifeResult"
19917               }
19918             }
19919           },
19920           "additionalProperties": false,
19921           "required": [
19922             "results"
19923           ]
19924         },
19925         "Macaroon": {
19926           "type": "object",
19927           "additionalProperties": false
19928         },
19929         "MachineStorageId": {
19930           "type": "object",
19931           "properties": {
19932             "attachment-tag": {
19933               "type": "string"
19934             },
19935             "machine-tag": {
19936               "type": "string"
19937             }
19938           },
19939           "additionalProperties": false,
19940           "required": [
19941             "machine-tag",
19942             "attachment-tag"
19943           ]
19944         },
19945         "MachineStorageIds": {
19946           "type": "object",
19947           "properties": {
19948             "ids": {
19949               "type": "array",
19950               "items": {
19951                 "$ref": "#/definitions/MachineStorageId"
19952               }
19953             }
19954           },
19955           "additionalProperties": false,
19956           "required": [
19957             "ids"
19958           ]
19959         },
19960         "MachineStorageIdsWatchResult": {
19961           "type": "object",
19962           "properties": {
19963             "changes": {
19964               "type": "array",
19965               "items": {
19966                 "$ref": "#/definitions/MachineStorageId"
19967               }
19968             },
19969             "error": {
19970               "$ref": "#/definitions/Error"
19971             },
19972             "watcher-id": {
19973               "type": "string"
19974             }
19975           },
19976           "additionalProperties": false,
19977           "required": [
19978             "watcher-id",
19979             "changes"
19980           ]
19981         },
19982         "MachineStorageIdsWatchResults": {
19983           "type": "object",
19984           "properties": {
19985             "results": {
19986               "type": "array",
19987               "items": {
19988                 "$ref": "#/definitions/MachineStorageIdsWatchResult"
19989               }
19990             }
19991           },
19992           "additionalProperties": false,
19993           "required": [
19994             "results"
19995           ]
19996         },
19997         "NotifyWatchResult": {
19998           "type": "object",
19999           "properties": {
20000             "NotifyWatcherId": {
20001               "type": "string"
20002             },
20003             "error": {
20004               "$ref": "#/definitions/Error"
20005             }
20006           },
20007           "additionalProperties": false,
20008           "required": [
20009             "NotifyWatcherId"
20010           ]
20011         },
20012         "NotifyWatchResults": {
20013           "type": "object",
20014           "properties": {
20015             "results": {
20016               "type": "array",
20017               "items": {
20018                 "$ref": "#/definitions/NotifyWatchResult"
20019               }
20020             }
20021           },
20022           "additionalProperties": false,
20023           "required": [
20024             "results"
20025           ]
20026         },
20027         "SetStatus": {
20028           "type": "object",
20029           "properties": {
20030             "entities": {
20031               "type": "array",
20032               "items": {
20033                 "$ref": "#/definitions/EntityStatusArgs"
20034               }
20035             }
20036           },
20037           "additionalProperties": false,
20038           "required": [
20039             "entities"
20040           ]
20041         },
20042         "StringResult": {
20043           "type": "object",
20044           "properties": {
20045             "error": {
20046               "$ref": "#/definitions/Error"
20047             },
20048             "result": {
20049               "type": "string"
20050             }
20051           },
20052           "additionalProperties": false,
20053           "required": [
20054             "result"
20055           ]
20056         },
20057         "StringResults": {
20058           "type": "object",
20059           "properties": {
20060             "results": {
20061               "type": "array",
20062               "items": {
20063                 "$ref": "#/definitions/StringResult"
20064               }
20065             }
20066           },
20067           "additionalProperties": false,
20068           "required": [
20069             "results"
20070           ]
20071         },
20072         "StringsWatchResult": {
20073           "type": "object",
20074           "properties": {
20075             "changes": {
20076               "type": "array",
20077               "items": {
20078                 "type": "string"
20079               }
20080             },
20081             "error": {
20082               "$ref": "#/definitions/Error"
20083             },
20084             "watcher-id": {
20085               "type": "string"
20086             }
20087           },
20088           "additionalProperties": false,
20089           "required": [
20090             "watcher-id"
20091           ]
20092         },
20093         "StringsWatchResults": {
20094           "type": "object",
20095           "properties": {
20096             "results": {
20097               "type": "array",
20098               "items": {
20099                 "$ref": "#/definitions/StringsWatchResult"
20100               }
20101             }
20102           },
20103           "additionalProperties": false,
20104           "required": [
20105             "results"
20106           ]
20107         },
20108         "Volume": {
20109           "type": "object",
20110           "properties": {
20111             "info": {
20112               "$ref": "#/definitions/VolumeInfo"
20113             },
20114             "volume-tag": {
20115               "type": "string"
20116             }
20117           },
20118           "additionalProperties": false,
20119           "required": [
20120             "volume-tag",
20121             "info"
20122           ]
20123         },
20124         "VolumeAttachment": {
20125           "type": "object",
20126           "properties": {
20127             "info": {
20128               "$ref": "#/definitions/VolumeAttachmentInfo"
20129             },
20130             "machine-tag": {
20131               "type": "string"
20132             },
20133             "volume-tag": {
20134               "type": "string"
20135             }
20136           },
20137           "additionalProperties": false,
20138           "required": [
20139             "volume-tag",
20140             "machine-tag",
20141             "info"
20142           ]
20143         },
20144         "VolumeAttachmentInfo": {
20145           "type": "object",
20146           "properties": {
20147             "bus-address": {
20148               "type": "string"
20149             },
20150             "device-link": {
20151               "type": "string"
20152             },
20153             "device-name": {
20154               "type": "string"
20155             },
20156             "read-only": {
20157               "type": "boolean"
20158             }
20159           },
20160           "additionalProperties": false
20161         },
20162         "VolumeAttachmentParams": {
20163           "type": "object",
20164           "properties": {
20165             "instance-id": {
20166               "type": "string"
20167             },
20168             "machine-tag": {
20169               "type": "string"
20170             },
20171             "provider": {
20172               "type": "string"
20173             },
20174             "read-only": {
20175               "type": "boolean"
20176             },
20177             "volume-id": {
20178               "type": "string"
20179             },
20180             "volume-tag": {
20181               "type": "string"
20182             }
20183           },
20184           "additionalProperties": false,
20185           "required": [
20186             "volume-tag",
20187             "machine-tag",
20188             "provider"
20189           ]
20190         },
20191         "VolumeAttachmentParamsResult": {
20192           "type": "object",
20193           "properties": {
20194             "error": {
20195               "$ref": "#/definitions/Error"
20196             },
20197             "result": {
20198               "$ref": "#/definitions/VolumeAttachmentParams"
20199             }
20200           },
20201           "additionalProperties": false,
20202           "required": [
20203             "result"
20204           ]
20205         },
20206         "VolumeAttachmentParamsResults": {
20207           "type": "object",
20208           "properties": {
20209             "results": {
20210               "type": "array",
20211               "items": {
20212                 "$ref": "#/definitions/VolumeAttachmentParamsResult"
20213               }
20214             }
20215           },
20216           "additionalProperties": false
20217         },
20218         "VolumeAttachmentResult": {
20219           "type": "object",
20220           "properties": {
20221             "error": {
20222               "$ref": "#/definitions/Error"
20223             },
20224             "result": {
20225               "$ref": "#/definitions/VolumeAttachment"
20226             }
20227           },
20228           "additionalProperties": false,
20229           "required": [
20230             "result"
20231           ]
20232         },
20233         "VolumeAttachmentResults": {
20234           "type": "object",
20235           "properties": {
20236             "results": {
20237               "type": "array",
20238               "items": {
20239                 "$ref": "#/definitions/VolumeAttachmentResult"
20240               }
20241             }
20242           },
20243           "additionalProperties": false
20244         },
20245         "VolumeAttachments": {
20246           "type": "object",
20247           "properties": {
20248             "volume-attachments": {
20249               "type": "array",
20250               "items": {
20251                 "$ref": "#/definitions/VolumeAttachment"
20252               }
20253             }
20254           },
20255           "additionalProperties": false,
20256           "required": [
20257             "volume-attachments"
20258           ]
20259         },
20260         "VolumeInfo": {
20261           "type": "object",
20262           "properties": {
20263             "hardware-id": {
20264               "type": "string"
20265             },
20266             "persistent": {
20267               "type": "boolean"
20268             },
20269             "size": {
20270               "type": "integer"
20271             },
20272             "volume-id": {
20273               "type": "string"
20274             }
20275           },
20276           "additionalProperties": false,
20277           "required": [
20278             "volume-id",
20279             "size",
20280             "persistent"
20281           ]
20282         },
20283         "VolumeParams": {
20284           "type": "object",
20285           "properties": {
20286             "attachment": {
20287               "$ref": "#/definitions/VolumeAttachmentParams"
20288             },
20289             "attributes": {
20290               "type": "object",
20291               "patternProperties": {
20292                 ".*": {
20293                   "type": "object",
20294                   "additionalProperties": true
20295                 }
20296               }
20297             },
20298             "provider": {
20299               "type": "string"
20300             },
20301             "size": {
20302               "type": "integer"
20303             },
20304             "tags": {
20305               "type": "object",
20306               "patternProperties": {
20307                 ".*": {
20308                   "type": "string"
20309                 }
20310               }
20311             },
20312             "volume-tag": {
20313               "type": "string"
20314             }
20315           },
20316           "additionalProperties": false,
20317           "required": [
20318             "volume-tag",
20319             "size",
20320             "provider"
20321           ]
20322         },
20323         "VolumeParamsResult": {
20324           "type": "object",
20325           "properties": {
20326             "error": {
20327               "$ref": "#/definitions/Error"
20328             },
20329             "result": {
20330               "$ref": "#/definitions/VolumeParams"
20331             }
20332           },
20333           "additionalProperties": false,
20334           "required": [
20335             "result"
20336           ]
20337         },
20338         "VolumeParamsResults": {
20339           "type": "object",
20340           "properties": {
20341             "results": {
20342               "type": "array",
20343               "items": {
20344                 "$ref": "#/definitions/VolumeParamsResult"
20345               }
20346             }
20347           },
20348           "additionalProperties": false
20349         },
20350         "VolumeResult": {
20351           "type": "object",
20352           "properties": {
20353             "error": {
20354               "$ref": "#/definitions/Error"
20355             },
20356             "result": {
20357               "$ref": "#/definitions/Volume"
20358             }
20359           },
20360           "additionalProperties": false,
20361           "required": [
20362             "result"
20363           ]
20364         },
20365         "VolumeResults": {
20366           "type": "object",
20367           "properties": {
20368             "results": {
20369               "type": "array",
20370               "items": {
20371                 "$ref": "#/definitions/VolumeResult"
20372               }
20373             }
20374           },
20375           "additionalProperties": false
20376         },
20377         "Volumes": {
20378           "type": "object",
20379           "properties": {
20380             "volumes": {
20381               "type": "array",
20382               "items": {
20383                 "$ref": "#/definitions/Volume"
20384               }
20385             }
20386           },
20387           "additionalProperties": false,
20388           "required": [
20389             "volumes"
20390           ]
20391         }
20392       }
20393     }
20394   },
20395   {
20396     "Name": "StringsWatcher",
20397     "Version": 1,
20398     "Schema": {
20399       "type": "object",
20400       "properties": {
20401         "Next": {
20402           "type": "object",
20403           "properties": {
20404             "Result": {
20405               "$ref": "#/definitions/StringsWatchResult"
20406             }
20407           }
20408         },
20409         "Stop": {
20410           "type": "object"
20411         }
20412       },
20413       "definitions": {
20414         "Error": {
20415           "type": "object",
20416           "properties": {
20417             "code": {
20418               "type": "string"
20419             },
20420             "info": {
20421               "$ref": "#/definitions/ErrorInfo"
20422             },
20423             "message": {
20424               "type": "string"
20425             }
20426           },
20427           "additionalProperties": false,
20428           "required": [
20429             "message",
20430             "code"
20431           ]
20432         },
20433         "ErrorInfo": {
20434           "type": "object",
20435           "properties": {
20436             "macaroon": {
20437               "$ref": "#/definitions/Macaroon"
20438             },
20439             "macaroon-path": {
20440               "type": "string"
20441             }
20442           },
20443           "additionalProperties": false
20444         },
20445         "Macaroon": {
20446           "type": "object",
20447           "additionalProperties": false
20448         },
20449         "StringsWatchResult": {
20450           "type": "object",
20451           "properties": {
20452             "changes": {
20453               "type": "array",
20454               "items": {
20455                 "type": "string"
20456               }
20457             },
20458             "error": {
20459               "$ref": "#/definitions/Error"
20460             },
20461             "watcher-id": {
20462               "type": "string"
20463             }
20464           },
20465           "additionalProperties": false,
20466           "required": [
20467             "watcher-id"
20468           ]
20469         }
20470       }
20471     }
20472   },
20473   {
20474     "Name": "Subnets",
20475     "Version": 2,
20476     "Schema": {
20477       "type": "object",
20478       "properties": {
20479         "AddSubnets": {
20480           "type": "object",
20481           "properties": {
20482             "Params": {
20483               "$ref": "#/definitions/AddSubnetsParams"
20484             },
20485             "Result": {
20486               "$ref": "#/definitions/ErrorResults"
20487             }
20488           }
20489         },
20490         "AllSpaces": {
20491           "type": "object",
20492           "properties": {
20493             "Result": {
20494               "$ref": "#/definitions/SpaceResults"
20495             }
20496           }
20497         },
20498         "AllZones": {
20499           "type": "object",
20500           "properties": {
20501             "Result": {
20502               "$ref": "#/definitions/ZoneResults"
20503             }
20504           }
20505         },
20506         "ListSubnets": {
20507           "type": "object",
20508           "properties": {
20509             "Params": {
20510               "$ref": "#/definitions/SubnetsFilters"
20511             },
20512             "Result": {
20513               "$ref": "#/definitions/ListSubnetsResults"
20514             }
20515           }
20516         }
20517       },
20518       "definitions": {
20519         "AddSubnetParams": {
20520           "type": "object",
20521           "properties": {
20522             "space-tag": {
20523               "type": "string"
20524             },
20525             "subnet-provider-id": {
20526               "type": "string"
20527             },
20528             "subnet-tag": {
20529               "type": "string"
20530             },
20531             "zones": {
20532               "type": "array",
20533               "items": {
20534                 "type": "string"
20535               }
20536             }
20537           },
20538           "additionalProperties": false,
20539           "required": [
20540             "space-tag"
20541           ]
20542         },
20543         "AddSubnetsParams": {
20544           "type": "object",
20545           "properties": {
20546             "subnets": {
20547               "type": "array",
20548               "items": {
20549                 "$ref": "#/definitions/AddSubnetParams"
20550               }
20551             }
20552           },
20553           "additionalProperties": false,
20554           "required": [
20555             "subnets"
20556           ]
20557         },
20558         "Error": {
20559           "type": "object",
20560           "properties": {
20561             "code": {
20562               "type": "string"
20563             },
20564             "info": {
20565               "$ref": "#/definitions/ErrorInfo"
20566             },
20567             "message": {
20568               "type": "string"
20569             }
20570           },
20571           "additionalProperties": false,
20572           "required": [
20573             "message",
20574             "code"
20575           ]
20576         },
20577         "ErrorInfo": {
20578           "type": "object",
20579           "properties": {
20580             "macaroon": {
20581               "$ref": "#/definitions/Macaroon"
20582             },
20583             "macaroon-path": {
20584               "type": "string"
20585             }
20586           },
20587           "additionalProperties": false
20588         },
20589         "ErrorResult": {
20590           "type": "object",
20591           "properties": {
20592             "error": {
20593               "$ref": "#/definitions/Error"
20594             }
20595           },
20596           "additionalProperties": false
20597         },
20598         "ErrorResults": {
20599           "type": "object",
20600           "properties": {
20601             "results": {
20602               "type": "array",
20603               "items": {
20604                 "$ref": "#/definitions/ErrorResult"
20605               }
20606             }
20607           },
20608           "additionalProperties": false,
20609           "required": [
20610             "results"
20611           ]
20612         },
20613         "ListSubnetsResults": {
20614           "type": "object",
20615           "properties": {
20616             "results": {
20617               "type": "array",
20618               "items": {
20619                 "$ref": "#/definitions/Subnet"
20620               }
20621             }
20622           },
20623           "additionalProperties": false,
20624           "required": [
20625             "results"
20626           ]
20627         },
20628         "Macaroon": {
20629           "type": "object",
20630           "additionalProperties": false
20631         },
20632         "SpaceResult": {
20633           "type": "object",
20634           "properties": {
20635             "error": {
20636               "$ref": "#/definitions/Error"
20637             },
20638             "tag": {
20639               "type": "string"
20640             }
20641           },
20642           "additionalProperties": false,
20643           "required": [
20644             "tag"
20645           ]
20646         },
20647         "SpaceResults": {
20648           "type": "object",
20649           "properties": {
20650             "results": {
20651               "type": "array",
20652               "items": {
20653                 "$ref": "#/definitions/SpaceResult"
20654               }
20655             }
20656           },
20657           "additionalProperties": false,
20658           "required": [
20659             "results"
20660           ]
20661         },
20662         "Subnet": {
20663           "type": "object",
20664           "properties": {
20665             "cidr": {
20666               "type": "string"
20667             },
20668             "life": {
20669               "type": "string"
20670             },
20671             "provider-id": {
20672               "type": "string"
20673             },
20674             "space-tag": {
20675               "type": "string"
20676             },
20677             "status": {
20678               "type": "string"
20679             },
20680             "vlan-tag": {
20681               "type": "integer"
20682             },
20683             "zones": {
20684               "type": "array",
20685               "items": {
20686                 "type": "string"
20687               }
20688             }
20689           },
20690           "additionalProperties": false,
20691           "required": [
20692             "cidr",
20693             "vlan-tag",
20694             "life",
20695             "space-tag",
20696             "zones"
20697           ]
20698         },
20699         "SubnetsFilters": {
20700           "type": "object",
20701           "properties": {
20702             "space-tag": {
20703               "type": "string"
20704             },
20705             "zone": {
20706               "type": "string"
20707             }
20708           },
20709           "additionalProperties": false
20710         },
20711         "ZoneResult": {
20712           "type": "object",
20713           "properties": {
20714             "available": {
20715               "type": "boolean"
20716             },
20717             "error": {
20718               "$ref": "#/definitions/Error"
20719             },
20720             "name": {
20721               "type": "string"
20722             }
20723           },
20724           "additionalProperties": false,
20725           "required": [
20726             "name",
20727             "available"
20728           ]
20729         },
20730         "ZoneResults": {
20731           "type": "object",
20732           "properties": {
20733             "results": {
20734               "type": "array",
20735               "items": {
20736                 "$ref": "#/definitions/ZoneResult"
20737               }
20738             }
20739           },
20740           "additionalProperties": false,
20741           "required": [
20742             "results"
20743           ]
20744         }
20745       }
20746     }
20747   },
20748   {
20749     "Name": "Undertaker",
20750     "Version": 1,
20751     "Schema": {
20752       "type": "object",
20753       "properties": {
20754         "ModelConfig": {
20755           "type": "object",
20756           "properties": {
20757             "Result": {
20758               "$ref": "#/definitions/ModelConfigResult"
20759             }
20760           }
20761         },
20762         "ModelInfo": {
20763           "type": "object",
20764           "properties": {
20765             "Result": {
20766               "$ref": "#/definitions/UndertakerModelInfoResult"
20767             }
20768           }
20769         },
20770         "ProcessDyingModel": {
20771           "type": "object"
20772         },
20773         "RemoveModel": {
20774           "type": "object"
20775         },
20776         "SetStatus": {
20777           "type": "object",
20778           "properties": {
20779             "Params": {
20780               "$ref": "#/definitions/SetStatus"
20781             },
20782             "Result": {
20783               "$ref": "#/definitions/ErrorResults"
20784             }
20785           }
20786         },
20787         "UpdateStatus": {
20788           "type": "object",
20789           "properties": {
20790             "Params": {
20791               "$ref": "#/definitions/SetStatus"
20792             },
20793             "Result": {
20794               "$ref": "#/definitions/ErrorResults"
20795             }
20796           }
20797         },
20798         "WatchModelResources": {
20799           "type": "object",
20800           "properties": {
20801             "Result": {
20802               "$ref": "#/definitions/NotifyWatchResults"
20803             }
20804           }
20805         }
20806       },
20807       "definitions": {
20808         "EntityStatusArgs": {
20809           "type": "object",
20810           "properties": {
20811             "data": {
20812               "type": "object",
20813               "patternProperties": {
20814                 ".*": {
20815                   "type": "object",
20816                   "additionalProperties": true
20817                 }
20818               }
20819             },
20820             "info": {
20821               "type": "string"
20822             },
20823             "status": {
20824               "type": "string"
20825             },
20826             "tag": {
20827               "type": "string"
20828             }
20829           },
20830           "additionalProperties": false,
20831           "required": [
20832             "tag",
20833             "status",
20834             "info",
20835             "data"
20836           ]
20837         },
20838         "Error": {
20839           "type": "object",
20840           "properties": {
20841             "code": {
20842               "type": "string"
20843             },
20844             "info": {
20845               "$ref": "#/definitions/ErrorInfo"
20846             },
20847             "message": {
20848               "type": "string"
20849             }
20850           },
20851           "additionalProperties": false,
20852           "required": [
20853             "message",
20854             "code"
20855           ]
20856         },
20857         "ErrorInfo": {
20858           "type": "object",
20859           "properties": {
20860             "macaroon": {
20861               "$ref": "#/definitions/Macaroon"
20862             },
20863             "macaroon-path": {
20864               "type": "string"
20865             }
20866           },
20867           "additionalProperties": false
20868         },
20869         "ErrorResult": {
20870           "type": "object",
20871           "properties": {
20872             "error": {
20873               "$ref": "#/definitions/Error"
20874             }
20875           },
20876           "additionalProperties": false
20877         },
20878         "ErrorResults": {
20879           "type": "object",
20880           "properties": {
20881             "results": {
20882               "type": "array",
20883               "items": {
20884                 "$ref": "#/definitions/ErrorResult"
20885               }
20886             }
20887           },
20888           "additionalProperties": false,
20889           "required": [
20890             "results"
20891           ]
20892         },
20893         "Macaroon": {
20894           "type": "object",
20895           "additionalProperties": false
20896         },
20897         "ModelConfigResult": {
20898           "type": "object",
20899           "properties": {
20900             "config": {
20901               "type": "object",
20902               "patternProperties": {
20903                 ".*": {
20904                   "type": "object",
20905                   "additionalProperties": true
20906                 }
20907               }
20908             }
20909           },
20910           "additionalProperties": false,
20911           "required": [
20912             "config"
20913           ]
20914         },
20915         "NotifyWatchResult": {
20916           "type": "object",
20917           "properties": {
20918             "NotifyWatcherId": {
20919               "type": "string"
20920             },
20921             "error": {
20922               "$ref": "#/definitions/Error"
20923             }
20924           },
20925           "additionalProperties": false,
20926           "required": [
20927             "NotifyWatcherId"
20928           ]
20929         },
20930         "NotifyWatchResults": {
20931           "type": "object",
20932           "properties": {
20933             "results": {
20934               "type": "array",
20935               "items": {
20936                 "$ref": "#/definitions/NotifyWatchResult"
20937               }
20938             }
20939           },
20940           "additionalProperties": false,
20941           "required": [
20942             "results"
20943           ]
20944         },
20945         "SetStatus": {
20946           "type": "object",
20947           "properties": {
20948             "entities": {
20949               "type": "array",
20950               "items": {
20951                 "$ref": "#/definitions/EntityStatusArgs"
20952               }
20953             }
20954           },
20955           "additionalProperties": false,
20956           "required": [
20957             "entities"
20958           ]
20959         },
20960         "UndertakerModelInfo": {
20961           "type": "object",
20962           "properties": {
20963             "global-name": {
20964               "type": "string"
20965             },
20966             "is-system": {
20967               "type": "boolean"
20968             },
20969             "life": {
20970               "type": "string"
20971             },
20972             "name": {
20973               "type": "string"
20974             },
20975             "uuid": {
20976               "type": "string"
20977             }
20978           },
20979           "additionalProperties": false,
20980           "required": [
20981             "uuid",
20982             "name",
20983             "global-name",
20984             "is-system",
20985             "life"
20986           ]
20987         },
20988         "UndertakerModelInfoResult": {
20989           "type": "object",
20990           "properties": {
20991             "error": {
20992               "$ref": "#/definitions/Error"
20993             },
20994             "result": {
20995               "$ref": "#/definitions/UndertakerModelInfo"
20996             }
20997           },
20998           "additionalProperties": false,
20999           "required": [
21000             "result"
21001           ]
21002         }
21003       }
21004     }
21005   },
21006   {
21007     "Name": "UnitAssigner",
21008     "Version": 1,
21009     "Schema": {
21010       "type": "object",
21011       "properties": {
21012         "AssignUnits": {
21013           "type": "object",
21014           "properties": {
21015             "Params": {
21016               "$ref": "#/definitions/Entities"
21017             },
21018             "Result": {
21019               "$ref": "#/definitions/ErrorResults"
21020             }
21021           }
21022         },
21023         "SetAgentStatus": {
21024           "type": "object",
21025           "properties": {
21026             "Params": {
21027               "$ref": "#/definitions/SetStatus"
21028             },
21029             "Result": {
21030               "$ref": "#/definitions/ErrorResults"
21031             }
21032           }
21033         },
21034         "WatchUnitAssignments": {
21035           "type": "object",
21036           "properties": {
21037             "Result": {
21038               "$ref": "#/definitions/StringsWatchResult"
21039             }
21040           }
21041         }
21042       },
21043       "definitions": {
21044         "Entities": {
21045           "type": "object",
21046           "properties": {
21047             "entities": {
21048               "type": "array",
21049               "items": {
21050                 "$ref": "#/definitions/Entity"
21051               }
21052             }
21053           },
21054           "additionalProperties": false,
21055           "required": [
21056             "entities"
21057           ]
21058         },
21059         "Entity": {
21060           "type": "object",
21061           "properties": {
21062             "tag": {
21063               "type": "string"
21064             }
21065           },
21066           "additionalProperties": false,
21067           "required": [
21068             "tag"
21069           ]
21070         },
21071         "EntityStatusArgs": {
21072           "type": "object",
21073           "properties": {
21074             "data": {
21075               "type": "object",
21076               "patternProperties": {
21077                 ".*": {
21078                   "type": "object",
21079                   "additionalProperties": true
21080                 }
21081               }
21082             },
21083             "info": {
21084               "type": "string"
21085             },
21086             "status": {
21087               "type": "string"
21088             },
21089             "tag": {
21090               "type": "string"
21091             }
21092           },
21093           "additionalProperties": false,
21094           "required": [
21095             "tag",
21096             "status",
21097             "info",
21098             "data"
21099           ]
21100         },
21101         "Error": {
21102           "type": "object",
21103           "properties": {
21104             "code": {
21105               "type": "string"
21106             },
21107             "info": {
21108               "$ref": "#/definitions/ErrorInfo"
21109             },
21110             "message": {
21111               "type": "string"
21112             }
21113           },
21114           "additionalProperties": false,
21115           "required": [
21116             "message",
21117             "code"
21118           ]
21119         },
21120         "ErrorInfo": {
21121           "type": "object",
21122           "properties": {
21123             "macaroon": {
21124               "$ref": "#/definitions/Macaroon"
21125             },
21126             "macaroon-path": {
21127               "type": "string"
21128             }
21129           },
21130           "additionalProperties": false
21131         },
21132         "ErrorResult": {
21133           "type": "object",
21134           "properties": {
21135             "error": {
21136               "$ref": "#/definitions/Error"
21137             }
21138           },
21139           "additionalProperties": false
21140         },
21141         "ErrorResults": {
21142           "type": "object",
21143           "properties": {
21144             "results": {
21145               "type": "array",
21146               "items": {
21147                 "$ref": "#/definitions/ErrorResult"
21148               }
21149             }
21150           },
21151           "additionalProperties": false,
21152           "required": [
21153             "results"
21154           ]
21155         },
21156         "Macaroon": {
21157           "type": "object",
21158           "additionalProperties": false
21159         },
21160         "SetStatus": {
21161           "type": "object",
21162           "properties": {
21163             "entities": {
21164               "type": "array",
21165               "items": {
21166                 "$ref": "#/definitions/EntityStatusArgs"
21167               }
21168             }
21169           },
21170           "additionalProperties": false,
21171           "required": [
21172             "entities"
21173           ]
21174         },
21175         "StringsWatchResult": {
21176           "type": "object",
21177           "properties": {
21178             "changes": {
21179               "type": "array",
21180               "items": {
21181                 "type": "string"
21182               }
21183             },
21184             "error": {
21185               "$ref": "#/definitions/Error"
21186             },
21187             "watcher-id": {
21188               "type": "string"
21189             }
21190           },
21191           "additionalProperties": false,
21192           "required": [
21193             "watcher-id"
21194           ]
21195         }
21196       }
21197     }
21198   },
21199   {
21200     "Name": "Uniter",
21201     "Version": 4,
21202     "Schema": {
21203       "type": "object",
21204       "properties": {
21205         "APIAddresses": {
21206           "type": "object",
21207           "properties": {
21208             "Result": {
21209               "$ref": "#/definitions/StringsResult"
21210             }
21211           }
21212         },
21213         "APIHostPorts": {
21214           "type": "object",
21215           "properties": {
21216             "Result": {
21217               "$ref": "#/definitions/APIHostPortsResult"
21218             }
21219           }
21220         },
21221         "Actions": {
21222           "type": "object",
21223           "properties": {
21224             "Params": {
21225               "$ref": "#/definitions/Entities"
21226             },
21227             "Result": {
21228               "$ref": "#/definitions/ActionResults"
21229             }
21230           }
21231         },
21232         "AddMetricBatches": {
21233           "type": "object",
21234           "properties": {
21235             "Params": {
21236               "$ref": "#/definitions/MetricBatchParams"
21237             },
21238             "Result": {
21239               "$ref": "#/definitions/ErrorResults"
21240             }
21241           }
21242         },
21243         "AddUnitStorage": {
21244           "type": "object",
21245           "properties": {
21246             "Params": {
21247               "$ref": "#/definitions/StoragesAddParams"
21248             },
21249             "Result": {
21250               "$ref": "#/definitions/ErrorResults"
21251             }
21252           }
21253         },
21254         "AllMachinePorts": {
21255           "type": "object",
21256           "properties": {
21257             "Params": {
21258               "$ref": "#/definitions/Entities"
21259             },
21260             "Result": {
21261               "$ref": "#/definitions/MachinePortsResults"
21262             }
21263           }
21264         },
21265         "ApplicationStatus": {
21266           "type": "object",
21267           "properties": {
21268             "Params": {
21269               "$ref": "#/definitions/Entities"
21270             },
21271             "Result": {
21272               "$ref": "#/definitions/ApplicationStatusResults"
21273             }
21274           }
21275         },
21276         "AssignedMachine": {
21277           "type": "object",
21278           "properties": {
21279             "Params": {
21280               "$ref": "#/definitions/Entities"
21281             },
21282             "Result": {
21283               "$ref": "#/definitions/StringResults"
21284             }
21285           }
21286         },
21287         "AvailabilityZone": {
21288           "type": "object",
21289           "properties": {
21290             "Params": {
21291               "$ref": "#/definitions/Entities"
21292             },
21293             "Result": {
21294               "$ref": "#/definitions/StringResults"
21295             }
21296           }
21297         },
21298         "BeginActions": {
21299           "type": "object",
21300           "properties": {
21301             "Params": {
21302               "$ref": "#/definitions/Entities"
21303             },
21304             "Result": {
21305               "$ref": "#/definitions/ErrorResults"
21306             }
21307           }
21308         },
21309         "CACert": {
21310           "type": "object",
21311           "properties": {
21312             "Result": {
21313               "$ref": "#/definitions/BytesResult"
21314             }
21315           }
21316         },
21317         "CharmArchiveSha256": {
21318           "type": "object",
21319           "properties": {
21320             "Params": {
21321               "$ref": "#/definitions/CharmURLs"
21322             },
21323             "Result": {
21324               "$ref": "#/definitions/StringResults"
21325             }
21326           }
21327         },
21328         "CharmModifiedVersion": {
21329           "type": "object",
21330           "properties": {
21331             "Params": {
21332               "$ref": "#/definitions/Entities"
21333             },
21334             "Result": {
21335               "$ref": "#/definitions/IntResults"
21336             }
21337           }
21338         },
21339         "CharmURL": {
21340           "type": "object",
21341           "properties": {
21342             "Params": {
21343               "$ref": "#/definitions/Entities"
21344             },
21345             "Result": {
21346               "$ref": "#/definitions/StringBoolResults"
21347             }
21348           }
21349         },
21350         "ClearResolved": {
21351           "type": "object",
21352           "properties": {
21353             "Params": {
21354               "$ref": "#/definitions/Entities"
21355             },
21356             "Result": {
21357               "$ref": "#/definitions/ErrorResults"
21358             }
21359           }
21360         },
21361         "ClosePorts": {
21362           "type": "object",
21363           "properties": {
21364             "Params": {
21365               "$ref": "#/definitions/EntitiesPortRanges"
21366             },
21367             "Result": {
21368               "$ref": "#/definitions/ErrorResults"
21369             }
21370           }
21371         },
21372         "ConfigSettings": {
21373           "type": "object",
21374           "properties": {
21375             "Params": {
21376               "$ref": "#/definitions/Entities"
21377             },
21378             "Result": {
21379               "$ref": "#/definitions/ConfigSettingsResults"
21380             }
21381           }
21382         },
21383         "CurrentModel": {
21384           "type": "object",
21385           "properties": {
21386             "Result": {
21387               "$ref": "#/definitions/ModelResult"
21388             }
21389           }
21390         },
21391         "Destroy": {
21392           "type": "object",
21393           "properties": {
21394             "Params": {
21395               "$ref": "#/definitions/Entities"
21396             },
21397             "Result": {
21398               "$ref": "#/definitions/ErrorResults"
21399             }
21400           }
21401         },
21402         "DestroyAllSubordinates": {
21403           "type": "object",
21404           "properties": {
21405             "Params": {
21406               "$ref": "#/definitions/Entities"
21407             },
21408             "Result": {
21409               "$ref": "#/definitions/ErrorResults"
21410             }
21411           }
21412         },
21413         "DestroyUnitStorageAttachments": {
21414           "type": "object",
21415           "properties": {
21416             "Params": {
21417               "$ref": "#/definitions/Entities"
21418             },
21419             "Result": {
21420               "$ref": "#/definitions/ErrorResults"
21421             }
21422           }
21423         },
21424         "EnsureDead": {
21425           "type": "object",
21426           "properties": {
21427             "Params": {
21428               "$ref": "#/definitions/Entities"
21429             },
21430             "Result": {
21431               "$ref": "#/definitions/ErrorResults"
21432             }
21433           }
21434         },
21435         "EnterScope": {
21436           "type": "object",
21437           "properties": {
21438             "Params": {
21439               "$ref": "#/definitions/RelationUnits"
21440             },
21441             "Result": {
21442               "$ref": "#/definitions/ErrorResults"
21443             }
21444           }
21445         },
21446         "FinishActions": {
21447           "type": "object",
21448           "properties": {
21449             "Params": {
21450               "$ref": "#/definitions/ActionExecutionResults"
21451             },
21452             "Result": {
21453               "$ref": "#/definitions/ErrorResults"
21454             }
21455           }
21456         },
21457         "GetMeterStatus": {
21458           "type": "object",
21459           "properties": {
21460             "Params": {
21461               "$ref": "#/definitions/Entities"
21462             },
21463             "Result": {
21464               "$ref": "#/definitions/MeterStatusResults"
21465             }
21466           }
21467         },
21468         "GetPrincipal": {
21469           "type": "object",
21470           "properties": {
21471             "Params": {
21472               "$ref": "#/definitions/Entities"
21473             },
21474             "Result": {
21475               "$ref": "#/definitions/StringBoolResults"
21476             }
21477           }
21478         },
21479         "HasSubordinates": {
21480           "type": "object",
21481           "properties": {
21482             "Params": {
21483               "$ref": "#/definitions/Entities"
21484             },
21485             "Result": {
21486               "$ref": "#/definitions/BoolResults"
21487             }
21488           }
21489         },
21490         "JoinedRelations": {
21491           "type": "object",
21492           "properties": {
21493             "Params": {
21494               "$ref": "#/definitions/Entities"
21495             },
21496             "Result": {
21497               "$ref": "#/definitions/StringsResults"
21498             }
21499           }
21500         },
21501         "LeaveScope": {
21502           "type": "object",
21503           "properties": {
21504             "Params": {
21505               "$ref": "#/definitions/RelationUnits"
21506             },
21507             "Result": {
21508               "$ref": "#/definitions/ErrorResults"
21509             }
21510           }
21511         },
21512         "Life": {
21513           "type": "object",
21514           "properties": {
21515             "Params": {
21516               "$ref": "#/definitions/Entities"
21517             },
21518             "Result": {
21519               "$ref": "#/definitions/LifeResults"
21520             }
21521           }
21522         },
21523         "Merge": {
21524           "type": "object",
21525           "properties": {
21526             "Params": {
21527               "$ref": "#/definitions/MergeLeadershipSettingsBulkParams"
21528             },
21529             "Result": {
21530               "$ref": "#/definitions/ErrorResults"
21531             }
21532           }
21533         },
21534         "ModelConfig": {
21535           "type": "object",
21536           "properties": {
21537             "Result": {
21538               "$ref": "#/definitions/ModelConfigResult"
21539             }
21540           }
21541         },
21542         "ModelUUID": {
21543           "type": "object",
21544           "properties": {
21545             "Result": {
21546               "$ref": "#/definitions/StringResult"
21547             }
21548           }
21549         },
21550         "NetworkConfig": {
21551           "type": "object",
21552           "properties": {
21553             "Params": {
21554               "$ref": "#/definitions/UnitsNetworkConfig"
21555             },
21556             "Result": {
21557               "$ref": "#/definitions/UnitNetworkConfigResults"
21558             }
21559           }
21560         },
21561         "OpenPorts": {
21562           "type": "object",
21563           "properties": {
21564             "Params": {
21565               "$ref": "#/definitions/EntitiesPortRanges"
21566             },
21567             "Result": {
21568               "$ref": "#/definitions/ErrorResults"
21569             }
21570           }
21571         },
21572         "PrivateAddress": {
21573           "type": "object",
21574           "properties": {
21575             "Params": {
21576               "$ref": "#/definitions/Entities"
21577             },
21578             "Result": {
21579               "$ref": "#/definitions/StringResults"
21580             }
21581           }
21582         },
21583         "ProviderType": {
21584           "type": "object",
21585           "properties": {
21586             "Result": {
21587               "$ref": "#/definitions/StringResult"
21588             }
21589           }
21590         },
21591         "PublicAddress": {
21592           "type": "object",
21593           "properties": {
21594             "Params": {
21595               "$ref": "#/definitions/Entities"
21596             },
21597             "Result": {
21598               "$ref": "#/definitions/StringResults"
21599             }
21600           }
21601         },
21602         "Read": {
21603           "type": "object",
21604           "properties": {
21605             "Params": {
21606               "$ref": "#/definitions/Entities"
21607             },
21608             "Result": {
21609               "$ref": "#/definitions/GetLeadershipSettingsBulkResults"
21610             }
21611           }
21612         },
21613         "ReadRemoteSettings": {
21614           "type": "object",
21615           "properties": {
21616             "Params": {
21617               "$ref": "#/definitions/RelationUnitPairs"
21618             },
21619             "Result": {
21620               "$ref": "#/definitions/SettingsResults"
21621             }
21622           }
21623         },
21624         "ReadSettings": {
21625           "type": "object",
21626           "properties": {
21627             "Params": {
21628               "$ref": "#/definitions/RelationUnits"
21629             },
21630             "Result": {
21631               "$ref": "#/definitions/SettingsResults"
21632             }
21633           }
21634         },
21635         "Relation": {
21636           "type": "object",
21637           "properties": {
21638             "Params": {
21639               "$ref": "#/definitions/RelationUnits"
21640             },
21641             "Result": {
21642               "$ref": "#/definitions/RelationResults"
21643             }
21644           }
21645         },
21646         "RelationById": {
21647           "type": "object",
21648           "properties": {
21649             "Params": {
21650               "$ref": "#/definitions/RelationIds"
21651             },
21652             "Result": {
21653               "$ref": "#/definitions/RelationResults"
21654             }
21655           }
21656         },
21657         "RemoveStorageAttachments": {
21658           "type": "object",
21659           "properties": {
21660             "Params": {
21661               "$ref": "#/definitions/StorageAttachmentIds"
21662             },
21663             "Result": {
21664               "$ref": "#/definitions/ErrorResults"
21665             }
21666           }
21667         },
21668         "RequestReboot": {
21669           "type": "object",
21670           "properties": {
21671             "Params": {
21672               "$ref": "#/definitions/Entities"
21673             },
21674             "Result": {
21675               "$ref": "#/definitions/ErrorResults"
21676             }
21677           }
21678         },
21679         "Resolved": {
21680           "type": "object",
21681           "properties": {
21682             "Params": {
21683               "$ref": "#/definitions/Entities"
21684             },
21685             "Result": {
21686               "$ref": "#/definitions/ResolvedModeResults"
21687             }
21688           }
21689         },
21690         "SetAgentStatus": {
21691           "type": "object",
21692           "properties": {
21693             "Params": {
21694               "$ref": "#/definitions/SetStatus"
21695             },
21696             "Result": {
21697               "$ref": "#/definitions/ErrorResults"
21698             }
21699           }
21700         },
21701         "SetApplicationStatus": {
21702           "type": "object",
21703           "properties": {
21704             "Params": {
21705               "$ref": "#/definitions/SetStatus"
21706             },
21707             "Result": {
21708               "$ref": "#/definitions/ErrorResults"
21709             }
21710           }
21711         },
21712         "SetCharmURL": {
21713           "type": "object",
21714           "properties": {
21715             "Params": {
21716               "$ref": "#/definitions/EntitiesCharmURL"
21717             },
21718             "Result": {
21719               "$ref": "#/definitions/ErrorResults"
21720             }
21721           }
21722         },
21723         "SetStatus": {
21724           "type": "object",
21725           "properties": {
21726             "Params": {
21727               "$ref": "#/definitions/SetStatus"
21728             },
21729             "Result": {
21730               "$ref": "#/definitions/ErrorResults"
21731             }
21732           }
21733         },
21734         "SetUnitStatus": {
21735           "type": "object",
21736           "properties": {
21737             "Params": {
21738               "$ref": "#/definitions/SetStatus"
21739             },
21740             "Result": {
21741               "$ref": "#/definitions/ErrorResults"
21742             }
21743           }
21744         },
21745         "SetWorkloadVersion": {
21746           "type": "object",
21747           "properties": {
21748             "Params": {
21749               "$ref": "#/definitions/EntityWorkloadVersions"
21750             },
21751             "Result": {
21752               "$ref": "#/definitions/ErrorResults"
21753             }
21754           }
21755         },
21756         "StorageAttachmentLife": {
21757           "type": "object",
21758           "properties": {
21759             "Params": {
21760               "$ref": "#/definitions/StorageAttachmentIds"
21761             },
21762             "Result": {
21763               "$ref": "#/definitions/LifeResults"
21764             }
21765           }
21766         },
21767         "StorageAttachments": {
21768           "type": "object",
21769           "properties": {
21770             "Params": {
21771               "$ref": "#/definitions/StorageAttachmentIds"
21772             },
21773             "Result": {
21774               "$ref": "#/definitions/StorageAttachmentResults"
21775             }
21776           }
21777         },
21778         "UnitStatus": {
21779           "type": "object",
21780           "properties": {
21781             "Params": {
21782               "$ref": "#/definitions/Entities"
21783             },
21784             "Result": {
21785               "$ref": "#/definitions/StatusResults"
21786             }
21787           }
21788         },
21789         "UnitStorageAttachments": {
21790           "type": "object",
21791           "properties": {
21792             "Params": {
21793               "$ref": "#/definitions/Entities"
21794             },
21795             "Result": {
21796               "$ref": "#/definitions/StorageAttachmentIdsResults"
21797             }
21798           }
21799         },
21800         "UpdateSettings": {
21801           "type": "object",
21802           "properties": {
21803             "Params": {
21804               "$ref": "#/definitions/RelationUnitsSettings"
21805             },
21806             "Result": {
21807               "$ref": "#/definitions/ErrorResults"
21808             }
21809           }
21810         },
21811         "Watch": {
21812           "type": "object",
21813           "properties": {
21814             "Params": {
21815               "$ref": "#/definitions/Entities"
21816             },
21817             "Result": {
21818               "$ref": "#/definitions/NotifyWatchResults"
21819             }
21820           }
21821         },
21822         "WatchAPIHostPorts": {
21823           "type": "object",
21824           "properties": {
21825             "Result": {
21826               "$ref": "#/definitions/NotifyWatchResult"
21827             }
21828           }
21829         },
21830         "WatchActionNotifications": {
21831           "type": "object",
21832           "properties": {
21833             "Params": {
21834               "$ref": "#/definitions/Entities"
21835             },
21836             "Result": {
21837               "$ref": "#/definitions/StringsWatchResults"
21838             }
21839           }
21840         },
21841         "WatchApplicationRelations": {
21842           "type": "object",
21843           "properties": {
21844             "Params": {
21845               "$ref": "#/definitions/Entities"
21846             },
21847             "Result": {
21848               "$ref": "#/definitions/StringsWatchResults"
21849             }
21850           }
21851         },
21852         "WatchConfigSettings": {
21853           "type": "object",
21854           "properties": {
21855             "Params": {
21856               "$ref": "#/definitions/Entities"
21857             },
21858             "Result": {
21859               "$ref": "#/definitions/NotifyWatchResults"
21860             }
21861           }
21862         },
21863         "WatchForModelConfigChanges": {
21864           "type": "object",
21865           "properties": {
21866             "Result": {
21867               "$ref": "#/definitions/NotifyWatchResult"
21868             }
21869           }
21870         },
21871         "WatchLeadershipSettings": {
21872           "type": "object",
21873           "properties": {
21874             "Params": {
21875               "$ref": "#/definitions/Entities"
21876             },
21877             "Result": {
21878               "$ref": "#/definitions/NotifyWatchResults"
21879             }
21880           }
21881         },
21882         "WatchMeterStatus": {
21883           "type": "object",
21884           "properties": {
21885             "Params": {
21886               "$ref": "#/definitions/Entities"
21887             },
21888             "Result": {
21889               "$ref": "#/definitions/NotifyWatchResults"
21890             }
21891           }
21892         },
21893         "WatchRelationUnits": {
21894           "type": "object",
21895           "properties": {
21896             "Params": {
21897               "$ref": "#/definitions/RelationUnits"
21898             },
21899             "Result": {
21900               "$ref": "#/definitions/RelationUnitsWatchResults"
21901             }
21902           }
21903         },
21904         "WatchStorageAttachments": {
21905           "type": "object",
21906           "properties": {
21907             "Params": {
21908               "$ref": "#/definitions/StorageAttachmentIds"
21909             },
21910             "Result": {
21911               "$ref": "#/definitions/NotifyWatchResults"
21912             }
21913           }
21914         },
21915         "WatchUnitAddresses": {
21916           "type": "object",
21917           "properties": {
21918             "Params": {
21919               "$ref": "#/definitions/Entities"
21920             },
21921             "Result": {
21922               "$ref": "#/definitions/NotifyWatchResults"
21923             }
21924           }
21925         },
21926         "WatchUnitStorageAttachments": {
21927           "type": "object",
21928           "properties": {
21929             "Params": {
21930               "$ref": "#/definitions/Entities"
21931             },
21932             "Result": {
21933               "$ref": "#/definitions/StringsWatchResults"
21934             }
21935           }
21936         },
21937         "WorkloadVersion": {
21938           "type": "object",
21939           "properties": {
21940             "Params": {
21941               "$ref": "#/definitions/Entities"
21942             },
21943             "Result": {
21944               "$ref": "#/definitions/StringResults"
21945             }
21946           }
21947         }
21948       },
21949       "definitions": {
21950         "APIHostPortsResult": {
21951           "type": "object",
21952           "properties": {
21953             "servers": {
21954               "type": "array",
21955               "items": {
21956                 "type": "array",
21957                 "items": {
21958                   "$ref": "#/definitions/HostPort"
21959                 }
21960               }
21961             }
21962           },
21963           "additionalProperties": false,
21964           "required": [
21965             "servers"
21966           ]
21967         },
21968         "Action": {
21969           "type": "object",
21970           "properties": {
21971             "name": {
21972               "type": "string"
21973             },
21974             "parameters": {
21975               "type": "object",
21976               "patternProperties": {
21977                 ".*": {
21978                   "type": "object",
21979                   "additionalProperties": true
21980                 }
21981               }
21982             },
21983             "receiver": {
21984               "type": "string"
21985             },
21986             "tag": {
21987               "type": "string"
21988             }
21989           },
21990           "additionalProperties": false,
21991           "required": [
21992             "tag",
21993             "receiver",
21994             "name"
21995           ]
21996         },
21997         "ActionExecutionResult": {
21998           "type": "object",
21999           "properties": {
22000             "action-tag": {
22001               "type": "string"
22002             },
22003             "message": {
22004               "type": "string"
22005             },
22006             "results": {
22007               "type": "object",
22008               "patternProperties": {
22009                 ".*": {
22010                   "type": "object",
22011                   "additionalProperties": true
22012                 }
22013               }
22014             },
22015             "status": {
22016               "type": "string"
22017             }
22018           },
22019           "additionalProperties": false,
22020           "required": [
22021             "action-tag",
22022             "status"
22023           ]
22024         },
22025         "ActionExecutionResults": {
22026           "type": "object",
22027           "properties": {
22028             "results": {
22029               "type": "array",
22030               "items": {
22031                 "$ref": "#/definitions/ActionExecutionResult"
22032               }
22033             }
22034           },
22035           "additionalProperties": false
22036         },
22037         "ActionResult": {
22038           "type": "object",
22039           "properties": {
22040             "action": {
22041               "$ref": "#/definitions/Action"
22042             },
22043             "completed": {
22044               "type": "string",
22045               "format": "date-time"
22046             },
22047             "enqueued": {
22048               "type": "string",
22049               "format": "date-time"
22050             },
22051             "error": {
22052               "$ref": "#/definitions/Error"
22053             },
22054             "message": {
22055               "type": "string"
22056             },
22057             "output": {
22058               "type": "object",
22059               "patternProperties": {
22060                 ".*": {
22061                   "type": "object",
22062                   "additionalProperties": true
22063                 }
22064               }
22065             },
22066             "started": {
22067               "type": "string",
22068               "format": "date-time"
22069             },
22070             "status": {
22071               "type": "string"
22072             }
22073           },
22074           "additionalProperties": false
22075         },
22076         "ActionResults": {
22077           "type": "object",
22078           "properties": {
22079             "results": {
22080               "type": "array",
22081               "items": {
22082                 "$ref": "#/definitions/ActionResult"
22083               }
22084             }
22085           },
22086           "additionalProperties": false
22087         },
22088         "Address": {
22089           "type": "object",
22090           "properties": {
22091             "scope": {
22092               "type": "string"
22093             },
22094             "space-name": {
22095               "type": "string"
22096             },
22097             "type": {
22098               "type": "string"
22099             },
22100             "value": {
22101               "type": "string"
22102             }
22103           },
22104           "additionalProperties": false,
22105           "required": [
22106             "value",
22107             "type",
22108             "scope"
22109           ]
22110         },
22111         "ApplicationStatusResult": {
22112           "type": "object",
22113           "properties": {
22114             "application": {
22115               "$ref": "#/definitions/StatusResult"
22116             },
22117             "error": {
22118               "$ref": "#/definitions/Error"
22119             },
22120             "units": {
22121               "type": "object",
22122               "patternProperties": {
22123                 ".*": {
22124                   "$ref": "#/definitions/StatusResult"
22125                 }
22126               }
22127             }
22128           },
22129           "additionalProperties": false,
22130           "required": [
22131             "application",
22132             "units"
22133           ]
22134         },
22135         "ApplicationStatusResults": {
22136           "type": "object",
22137           "properties": {
22138             "results": {
22139               "type": "array",
22140               "items": {
22141                 "$ref": "#/definitions/ApplicationStatusResult"
22142               }
22143             }
22144           },
22145           "additionalProperties": false,
22146           "required": [
22147             "results"
22148           ]
22149         },
22150         "BoolResult": {
22151           "type": "object",
22152           "properties": {
22153             "error": {
22154               "$ref": "#/definitions/Error"
22155             },
22156             "result": {
22157               "type": "boolean"
22158             }
22159           },
22160           "additionalProperties": false,
22161           "required": [
22162             "result"
22163           ]
22164         },
22165         "BoolResults": {
22166           "type": "object",
22167           "properties": {
22168             "results": {
22169               "type": "array",
22170               "items": {
22171                 "$ref": "#/definitions/BoolResult"
22172               }
22173             }
22174           },
22175           "additionalProperties": false,
22176           "required": [
22177             "results"
22178           ]
22179         },
22180         "BytesResult": {
22181           "type": "object",
22182           "properties": {
22183             "result": {
22184               "type": "array",
22185               "items": {
22186                 "type": "integer"
22187               }
22188             }
22189           },
22190           "additionalProperties": false,
22191           "required": [
22192             "result"
22193           ]
22194         },
22195         "CharmRelation": {
22196           "type": "object",
22197           "properties": {
22198             "interface": {
22199               "type": "string"
22200             },
22201             "limit": {
22202               "type": "integer"
22203             },
22204             "name": {
22205               "type": "string"
22206             },
22207             "optional": {
22208               "type": "boolean"
22209             },
22210             "role": {
22211               "type": "string"
22212             },
22213             "scope": {
22214               "type": "string"
22215             }
22216           },
22217           "additionalProperties": false,
22218           "required": [
22219             "name",
22220             "role",
22221             "interface",
22222             "optional",
22223             "limit",
22224             "scope"
22225           ]
22226         },
22227         "CharmURL": {
22228           "type": "object",
22229           "properties": {
22230             "url": {
22231               "type": "string"
22232             }
22233           },
22234           "additionalProperties": false,
22235           "required": [
22236             "url"
22237           ]
22238         },
22239         "CharmURLs": {
22240           "type": "object",
22241           "properties": {
22242             "urls": {
22243               "type": "array",
22244               "items": {
22245                 "$ref": "#/definitions/CharmURL"
22246               }
22247             }
22248           },
22249           "additionalProperties": false,
22250           "required": [
22251             "urls"
22252           ]
22253         },
22254         "ConfigSettingsResult": {
22255           "type": "object",
22256           "properties": {
22257             "error": {
22258               "$ref": "#/definitions/Error"
22259             },
22260             "settings": {
22261               "type": "object",
22262               "patternProperties": {
22263                 ".*": {
22264                   "type": "object",
22265                   "additionalProperties": true
22266                 }
22267               }
22268             }
22269           },
22270           "additionalProperties": false,
22271           "required": [
22272             "settings"
22273           ]
22274         },
22275         "ConfigSettingsResults": {
22276           "type": "object",
22277           "properties": {
22278             "results": {
22279               "type": "array",
22280               "items": {
22281                 "$ref": "#/definitions/ConfigSettingsResult"
22282               }
22283             }
22284           },
22285           "additionalProperties": false,
22286           "required": [
22287             "results"
22288           ]
22289         },
22290         "Endpoint": {
22291           "type": "object",
22292           "properties": {
22293             "application-name": {
22294               "type": "string"
22295             },
22296             "relation": {
22297               "$ref": "#/definitions/CharmRelation"
22298             }
22299           },
22300           "additionalProperties": false,
22301           "required": [
22302             "application-name",
22303             "relation"
22304           ]
22305         },
22306         "Entities": {
22307           "type": "object",
22308           "properties": {
22309             "entities": {
22310               "type": "array",
22311               "items": {
22312                 "$ref": "#/definitions/Entity"
22313               }
22314             }
22315           },
22316           "additionalProperties": false,
22317           "required": [
22318             "entities"
22319           ]
22320         },
22321         "EntitiesCharmURL": {
22322           "type": "object",
22323           "properties": {
22324             "entities": {
22325               "type": "array",
22326               "items": {
22327                 "$ref": "#/definitions/EntityCharmURL"
22328               }
22329             }
22330           },
22331           "additionalProperties": false,
22332           "required": [
22333             "entities"
22334           ]
22335         },
22336         "EntitiesPortRanges": {
22337           "type": "object",
22338           "properties": {
22339             "entities": {
22340               "type": "array",
22341               "items": {
22342                 "$ref": "#/definitions/EntityPortRange"
22343               }
22344             }
22345           },
22346           "additionalProperties": false,
22347           "required": [
22348             "entities"
22349           ]
22350         },
22351         "Entity": {
22352           "type": "object",
22353           "properties": {
22354             "tag": {
22355               "type": "string"
22356             }
22357           },
22358           "additionalProperties": false,
22359           "required": [
22360             "tag"
22361           ]
22362         },
22363         "EntityCharmURL": {
22364           "type": "object",
22365           "properties": {
22366             "charm-url": {
22367               "type": "string"
22368             },
22369             "tag": {
22370               "type": "string"
22371             }
22372           },
22373           "additionalProperties": false,
22374           "required": [
22375             "tag",
22376             "charm-url"
22377           ]
22378         },
22379         "EntityPortRange": {
22380           "type": "object",
22381           "properties": {
22382             "from-port": {
22383               "type": "integer"
22384             },
22385             "protocol": {
22386               "type": "string"
22387             },
22388             "tag": {
22389               "type": "string"
22390             },
22391             "to-port": {
22392               "type": "integer"
22393             }
22394           },
22395           "additionalProperties": false,
22396           "required": [
22397             "tag",
22398             "protocol",
22399             "from-port",
22400             "to-port"
22401           ]
22402         },
22403         "EntityStatusArgs": {
22404           "type": "object",
22405           "properties": {
22406             "data": {
22407               "type": "object",
22408               "patternProperties": {
22409                 ".*": {
22410                   "type": "object",
22411                   "additionalProperties": true
22412                 }
22413               }
22414             },
22415             "info": {
22416               "type": "string"
22417             },
22418             "status": {
22419               "type": "string"
22420             },
22421             "tag": {
22422               "type": "string"
22423             }
22424           },
22425           "additionalProperties": false,
22426           "required": [
22427             "tag",
22428             "status",
22429             "info",
22430             "data"
22431           ]
22432         },
22433         "EntityWorkloadVersion": {
22434           "type": "object",
22435           "properties": {
22436             "tag": {
22437               "type": "string"
22438             },
22439             "workload-version": {
22440               "type": "string"
22441             }
22442           },
22443           "additionalProperties": false,
22444           "required": [
22445             "tag",
22446             "workload-version"
22447           ]
22448         },
22449         "EntityWorkloadVersions": {
22450           "type": "object",
22451           "properties": {
22452             "entities": {
22453               "type": "array",
22454               "items": {
22455                 "$ref": "#/definitions/EntityWorkloadVersion"
22456               }
22457             }
22458           },
22459           "additionalProperties": false,
22460           "required": [
22461             "entities"
22462           ]
22463         },
22464         "Error": {
22465           "type": "object",
22466           "properties": {
22467             "code": {
22468               "type": "string"
22469             },
22470             "info": {
22471               "$ref": "#/definitions/ErrorInfo"
22472             },
22473             "message": {
22474               "type": "string"
22475             }
22476           },
22477           "additionalProperties": false,
22478           "required": [
22479             "message",
22480             "code"
22481           ]
22482         },
22483         "ErrorInfo": {
22484           "type": "object",
22485           "properties": {
22486             "macaroon": {
22487               "$ref": "#/definitions/Macaroon"
22488             },
22489             "macaroon-path": {
22490               "type": "string"
22491             }
22492           },
22493           "additionalProperties": false
22494         },
22495         "ErrorResult": {
22496           "type": "object",
22497           "properties": {
22498             "error": {
22499               "$ref": "#/definitions/Error"
22500             }
22501           },
22502           "additionalProperties": false
22503         },
22504         "ErrorResults": {
22505           "type": "object",
22506           "properties": {
22507             "results": {
22508               "type": "array",
22509               "items": {
22510                 "$ref": "#/definitions/ErrorResult"
22511               }
22512             }
22513           },
22514           "additionalProperties": false,
22515           "required": [
22516             "results"
22517           ]
22518         },
22519         "GetLeadershipSettingsBulkResults": {
22520           "type": "object",
22521           "properties": {
22522             "results": {
22523               "type": "array",
22524               "items": {
22525                 "$ref": "#/definitions/GetLeadershipSettingsResult"
22526               }
22527             }
22528           },
22529           "additionalProperties": false,
22530           "required": [
22531             "results"
22532           ]
22533         },
22534         "GetLeadershipSettingsResult": {
22535           "type": "object",
22536           "properties": {
22537             "error": {
22538               "$ref": "#/definitions/Error"
22539             },
22540             "settings": {
22541               "type": "object",
22542               "patternProperties": {
22543                 ".*": {
22544                   "type": "string"
22545                 }
22546               }
22547             }
22548           },
22549           "additionalProperties": false,
22550           "required": [
22551             "settings"
22552           ]
22553         },
22554         "HostPort": {
22555           "type": "object",
22556           "properties": {
22557             "Address": {
22558               "$ref": "#/definitions/Address"
22559             },
22560             "port": {
22561               "type": "integer"
22562             }
22563           },
22564           "additionalProperties": false,
22565           "required": [
22566             "Address",
22567             "port"
22568           ]
22569         },
22570         "IntResult": {
22571           "type": "object",
22572           "properties": {
22573             "error": {
22574               "$ref": "#/definitions/Error"
22575             },
22576             "result": {
22577               "type": "integer"
22578             }
22579           },
22580           "additionalProperties": false,
22581           "required": [
22582             "result"
22583           ]
22584         },
22585         "IntResults": {
22586           "type": "object",
22587           "properties": {
22588             "results": {
22589               "type": "array",
22590               "items": {
22591                 "$ref": "#/definitions/IntResult"
22592               }
22593             }
22594           },
22595           "additionalProperties": false,
22596           "required": [
22597             "results"
22598           ]
22599         },
22600         "LifeResult": {
22601           "type": "object",
22602           "properties": {
22603             "error": {
22604               "$ref": "#/definitions/Error"
22605             },
22606             "life": {
22607               "type": "string"
22608             }
22609           },
22610           "additionalProperties": false,
22611           "required": [
22612             "life"
22613           ]
22614         },
22615         "LifeResults": {
22616           "type": "object",
22617           "properties": {
22618             "results": {
22619               "type": "array",
22620               "items": {
22621                 "$ref": "#/definitions/LifeResult"
22622               }
22623             }
22624           },
22625           "additionalProperties": false,
22626           "required": [
22627             "results"
22628           ]
22629         },
22630         "Macaroon": {
22631           "type": "object",
22632           "additionalProperties": false
22633         },
22634         "MachinePortRange": {
22635           "type": "object",
22636           "properties": {
22637             "port-range": {
22638               "$ref": "#/definitions/PortRange"
22639             },
22640             "relation-tag": {
22641               "type": "string"
22642             },
22643             "unit-tag": {
22644               "type": "string"
22645             }
22646           },
22647           "additionalProperties": false,
22648           "required": [
22649             "unit-tag",
22650             "relation-tag",
22651             "port-range"
22652           ]
22653         },
22654         "MachinePortsResult": {
22655           "type": "object",
22656           "properties": {
22657             "error": {
22658               "$ref": "#/definitions/Error"
22659             },
22660             "ports": {
22661               "type": "array",
22662               "items": {
22663                 "$ref": "#/definitions/MachinePortRange"
22664               }
22665             }
22666           },
22667           "additionalProperties": false,
22668           "required": [
22669             "ports"
22670           ]
22671         },
22672         "MachinePortsResults": {
22673           "type": "object",
22674           "properties": {
22675             "results": {
22676               "type": "array",
22677               "items": {
22678                 "$ref": "#/definitions/MachinePortsResult"
22679               }
22680             }
22681           },
22682           "additionalProperties": false,
22683           "required": [
22684             "results"
22685           ]
22686         },
22687         "MergeLeadershipSettingsBulkParams": {
22688           "type": "object",
22689           "properties": {
22690             "params": {
22691               "type": "array",
22692               "items": {
22693                 "$ref": "#/definitions/MergeLeadershipSettingsParam"
22694               }
22695             }
22696           },
22697           "additionalProperties": false,
22698           "required": [
22699             "params"
22700           ]
22701         },
22702         "MergeLeadershipSettingsParam": {
22703           "type": "object",
22704           "properties": {
22705             "application-tag": {
22706               "type": "string"
22707             },
22708             "settings": {
22709               "type": "object",
22710               "patternProperties": {
22711                 ".*": {
22712                   "type": "string"
22713                 }
22714               }
22715             }
22716           },
22717           "additionalProperties": false,
22718           "required": [
22719             "application-tag",
22720             "settings"
22721           ]
22722         },
22723         "MeterStatusResult": {
22724           "type": "object",
22725           "properties": {
22726             "code": {
22727               "type": "string"
22728             },
22729             "error": {
22730               "$ref": "#/definitions/Error"
22731             },
22732             "info": {
22733               "type": "string"
22734             }
22735           },
22736           "additionalProperties": false,
22737           "required": [
22738             "code",
22739             "info"
22740           ]
22741         },
22742         "MeterStatusResults": {
22743           "type": "object",
22744           "properties": {
22745             "results": {
22746               "type": "array",
22747               "items": {
22748                 "$ref": "#/definitions/MeterStatusResult"
22749               }
22750             }
22751           },
22752           "additionalProperties": false,
22753           "required": [
22754             "results"
22755           ]
22756         },
22757         "Metric": {
22758           "type": "object",
22759           "properties": {
22760             "key": {
22761               "type": "string"
22762             },
22763             "time": {
22764               "type": "string",
22765               "format": "date-time"
22766             },
22767             "value": {
22768               "type": "string"
22769             }
22770           },
22771           "additionalProperties": false,
22772           "required": [
22773             "key",
22774             "value",
22775             "time"
22776           ]
22777         },
22778         "MetricBatch": {
22779           "type": "object",
22780           "properties": {
22781             "charm-url": {
22782               "type": "string"
22783             },
22784             "created": {
22785               "type": "string",
22786               "format": "date-time"
22787             },
22788             "metrics": {
22789               "type": "array",
22790               "items": {
22791                 "$ref": "#/definitions/Metric"
22792               }
22793             },
22794             "uuid": {
22795               "type": "string"
22796             }
22797           },
22798           "additionalProperties": false,
22799           "required": [
22800             "uuid",
22801             "charm-url",
22802             "created",
22803             "metrics"
22804           ]
22805         },
22806         "MetricBatchParam": {
22807           "type": "object",
22808           "properties": {
22809             "batch": {
22810               "$ref": "#/definitions/MetricBatch"
22811             },
22812             "tag": {
22813               "type": "string"
22814             }
22815           },
22816           "additionalProperties": false,
22817           "required": [
22818             "tag",
22819             "batch"
22820           ]
22821         },
22822         "MetricBatchParams": {
22823           "type": "object",
22824           "properties": {
22825             "batches": {
22826               "type": "array",
22827               "items": {
22828                 "$ref": "#/definitions/MetricBatchParam"
22829               }
22830             }
22831           },
22832           "additionalProperties": false,
22833           "required": [
22834             "batches"
22835           ]
22836         },
22837         "ModelConfigResult": {
22838           "type": "object",
22839           "properties": {
22840             "config": {
22841               "type": "object",
22842               "patternProperties": {
22843                 ".*": {
22844                   "type": "object",
22845                   "additionalProperties": true
22846                 }
22847               }
22848             }
22849           },
22850           "additionalProperties": false,
22851           "required": [
22852             "config"
22853           ]
22854         },
22855         "ModelResult": {
22856           "type": "object",
22857           "properties": {
22858             "error": {
22859               "$ref": "#/definitions/Error"
22860             },
22861             "name": {
22862               "type": "string"
22863             },
22864             "uuid": {
22865               "type": "string"
22866             }
22867           },
22868           "additionalProperties": false,
22869           "required": [
22870             "name",
22871             "uuid"
22872           ]
22873         },
22874         "NetworkConfig": {
22875           "type": "object",
22876           "properties": {
22877             "address": {
22878               "type": "string"
22879             },
22880             "cidr": {
22881               "type": "string"
22882             },
22883             "config-type": {
22884               "type": "string"
22885             },
22886             "device-index": {
22887               "type": "integer"
22888             },
22889             "disabled": {
22890               "type": "boolean"
22891             },
22892             "dns-search-domains": {
22893               "type": "array",
22894               "items": {
22895                 "type": "string"
22896               }
22897             },
22898             "dns-servers": {
22899               "type": "array",
22900               "items": {
22901                 "type": "string"
22902               }
22903             },
22904             "gateway-address": {
22905               "type": "string"
22906             },
22907             "interface-name": {
22908               "type": "string"
22909             },
22910             "interface-type": {
22911               "type": "string"
22912             },
22913             "mac-address": {
22914               "type": "string"
22915             },
22916             "mtu": {
22917               "type": "integer"
22918             },
22919             "no-auto-start": {
22920               "type": "boolean"
22921             },
22922             "parent-interface-name": {
22923               "type": "string"
22924             },
22925             "provider-address-id": {
22926               "type": "string"
22927             },
22928             "provider-id": {
22929               "type": "string"
22930             },
22931             "provider-space-id": {
22932               "type": "string"
22933             },
22934             "provider-subnet-id": {
22935               "type": "string"
22936             },
22937             "provider-vlan-id": {
22938               "type": "string"
22939             },
22940             "vlan-tag": {
22941               "type": "integer"
22942             }
22943           },
22944           "additionalProperties": false,
22945           "required": [
22946             "device-index",
22947             "mac-address",
22948             "cidr",
22949             "mtu",
22950             "provider-id",
22951             "provider-subnet-id",
22952             "provider-space-id",
22953             "provider-address-id",
22954             "provider-vlan-id",
22955             "vlan-tag",
22956             "interface-name",
22957             "parent-interface-name",
22958             "interface-type",
22959             "disabled"
22960           ]
22961         },
22962         "NotifyWatchResult": {
22963           "type": "object",
22964           "properties": {
22965             "NotifyWatcherId": {
22966               "type": "string"
22967             },
22968             "error": {
22969               "$ref": "#/definitions/Error"
22970             }
22971           },
22972           "additionalProperties": false,
22973           "required": [
22974             "NotifyWatcherId"
22975           ]
22976         },
22977         "NotifyWatchResults": {
22978           "type": "object",
22979           "properties": {
22980             "results": {
22981               "type": "array",
22982               "items": {
22983                 "$ref": "#/definitions/NotifyWatchResult"
22984               }
22985             }
22986           },
22987           "additionalProperties": false,
22988           "required": [
22989             "results"
22990           ]
22991         },
22992         "PortRange": {
22993           "type": "object",
22994           "properties": {
22995             "from-port": {
22996               "type": "integer"
22997             },
22998             "protocol": {
22999               "type": "string"
23000             },
23001             "to-port": {
23002               "type": "integer"
23003             }
23004           },
23005           "additionalProperties": false,
23006           "required": [
23007             "from-port",
23008             "to-port",
23009             "protocol"
23010           ]
23011         },
23012         "RelationIds": {
23013           "type": "object",
23014           "properties": {
23015             "relation-ids": {
23016               "type": "array",
23017               "items": {
23018                 "type": "integer"
23019               }
23020             }
23021           },
23022           "additionalProperties": false,
23023           "required": [
23024             "relation-ids"
23025           ]
23026         },
23027         "RelationResult": {
23028           "type": "object",
23029           "properties": {
23030             "endpoint": {
23031               "$ref": "#/definitions/Endpoint"
23032             },
23033             "error": {
23034               "$ref": "#/definitions/Error"
23035             },
23036             "id": {
23037               "type": "integer"
23038             },
23039             "key": {
23040               "type": "string"
23041             },
23042             "life": {
23043               "type": "string"
23044             }
23045           },
23046           "additionalProperties": false,
23047           "required": [
23048             "life",
23049             "id",
23050             "key",
23051             "endpoint"
23052           ]
23053         },
23054         "RelationResults": {
23055           "type": "object",
23056           "properties": {
23057             "results": {
23058               "type": "array",
23059               "items": {
23060                 "$ref": "#/definitions/RelationResult"
23061               }
23062             }
23063           },
23064           "additionalProperties": false,
23065           "required": [
23066             "results"
23067           ]
23068         },
23069         "RelationUnit": {
23070           "type": "object",
23071           "properties": {
23072             "relation": {
23073               "type": "string"
23074             },
23075             "unit": {
23076               "type": "string"
23077             }
23078           },
23079           "additionalProperties": false,
23080           "required": [
23081             "relation",
23082             "unit"
23083           ]
23084         },
23085         "RelationUnitPair": {
23086           "type": "object",
23087           "properties": {
23088             "local-unit": {
23089               "type": "string"
23090             },
23091             "relation": {
23092               "type": "string"
23093             },
23094             "remote-unit": {
23095               "type": "string"
23096             }
23097           },
23098           "additionalProperties": false,
23099           "required": [
23100             "relation",
23101             "local-unit",
23102             "remote-unit"
23103           ]
23104         },
23105         "RelationUnitPairs": {
23106           "type": "object",
23107           "properties": {
23108             "relation-unit-pairs": {
23109               "type": "array",
23110               "items": {
23111                 "$ref": "#/definitions/RelationUnitPair"
23112               }
23113             }
23114           },
23115           "additionalProperties": false,
23116           "required": [
23117             "relation-unit-pairs"
23118           ]
23119         },
23120         "RelationUnitSettings": {
23121           "type": "object",
23122           "properties": {
23123             "relation": {
23124               "type": "string"
23125             },
23126             "settings": {
23127               "type": "object",
23128               "patternProperties": {
23129                 ".*": {
23130                   "type": "string"
23131                 }
23132               }
23133             },
23134             "unit": {
23135               "type": "string"
23136             }
23137           },
23138           "additionalProperties": false,
23139           "required": [
23140             "relation",
23141             "unit",
23142             "settings"
23143           ]
23144         },
23145         "RelationUnits": {
23146           "type": "object",
23147           "properties": {
23148             "relation-units": {
23149               "type": "array",
23150               "items": {
23151                 "$ref": "#/definitions/RelationUnit"
23152               }
23153             }
23154           },
23155           "additionalProperties": false,
23156           "required": [
23157             "relation-units"
23158           ]
23159         },
23160         "RelationUnitsChange": {
23161           "type": "object",
23162           "properties": {
23163             "changed": {
23164               "type": "object",
23165               "patternProperties": {
23166                 ".*": {
23167                   "$ref": "#/definitions/UnitSettings"
23168                 }
23169               }
23170             },
23171             "departed": {
23172               "type": "array",
23173               "items": {
23174                 "type": "string"
23175               }
23176             }
23177           },
23178           "additionalProperties": false,
23179           "required": [
23180             "changed"
23181           ]
23182         },
23183         "RelationUnitsSettings": {
23184           "type": "object",
23185           "properties": {
23186             "relation-units": {
23187               "type": "array",
23188               "items": {
23189                 "$ref": "#/definitions/RelationUnitSettings"
23190               }
23191             }
23192           },
23193           "additionalProperties": false,
23194           "required": [
23195             "relation-units"
23196           ]
23197         },
23198         "RelationUnitsWatchResult": {
23199           "type": "object",
23200           "properties": {
23201             "changes": {
23202               "$ref": "#/definitions/RelationUnitsChange"
23203             },
23204             "error": {
23205               "$ref": "#/definitions/Error"
23206             },
23207             "watcher-id": {
23208               "type": "string"
23209             }
23210           },
23211           "additionalProperties": false,
23212           "required": [
23213             "watcher-id",
23214             "changes"
23215           ]
23216         },
23217         "RelationUnitsWatchResults": {
23218           "type": "object",
23219           "properties": {
23220             "results": {
23221               "type": "array",
23222               "items": {
23223                 "$ref": "#/definitions/RelationUnitsWatchResult"
23224               }
23225             }
23226           },
23227           "additionalProperties": false,
23228           "required": [
23229             "results"
23230           ]
23231         },
23232         "ResolvedModeResult": {
23233           "type": "object",
23234           "properties": {
23235             "error": {
23236               "$ref": "#/definitions/Error"
23237             },
23238             "mode": {
23239               "type": "string"
23240             }
23241           },
23242           "additionalProperties": false,
23243           "required": [
23244             "mode"
23245           ]
23246         },
23247         "ResolvedModeResults": {
23248           "type": "object",
23249           "properties": {
23250             "results": {
23251               "type": "array",
23252               "items": {
23253                 "$ref": "#/definitions/ResolvedModeResult"
23254               }
23255             }
23256           },
23257           "additionalProperties": false,
23258           "required": [
23259             "results"
23260           ]
23261         },
23262         "SetStatus": {
23263           "type": "object",
23264           "properties": {
23265             "entities": {
23266               "type": "array",
23267               "items": {
23268                 "$ref": "#/definitions/EntityStatusArgs"
23269               }
23270             }
23271           },
23272           "additionalProperties": false,
23273           "required": [
23274             "entities"
23275           ]
23276         },
23277         "SettingsResult": {
23278           "type": "object",
23279           "properties": {
23280             "error": {
23281               "$ref": "#/definitions/Error"
23282             },
23283             "settings": {
23284               "type": "object",
23285               "patternProperties": {
23286                 ".*": {
23287                   "type": "string"
23288                 }
23289               }
23290             }
23291           },
23292           "additionalProperties": false,
23293           "required": [
23294             "settings"
23295           ]
23296         },
23297         "SettingsResults": {
23298           "type": "object",
23299           "properties": {
23300             "results": {
23301               "type": "array",
23302               "items": {
23303                 "$ref": "#/definitions/SettingsResult"
23304               }
23305             }
23306           },
23307           "additionalProperties": false,
23308           "required": [
23309             "results"
23310           ]
23311         },
23312         "StatusResult": {
23313           "type": "object",
23314           "properties": {
23315             "data": {
23316               "type": "object",
23317               "patternProperties": {
23318                 ".*": {
23319                   "type": "object",
23320                   "additionalProperties": true
23321                 }
23322               }
23323             },
23324             "error": {
23325               "$ref": "#/definitions/Error"
23326             },
23327             "id": {
23328               "type": "string"
23329             },
23330             "info": {
23331               "type": "string"
23332             },
23333             "life": {
23334               "type": "string"
23335             },
23336             "since": {
23337               "type": "string",
23338               "format": "date-time"
23339             },
23340             "status": {
23341               "type": "string"
23342             }
23343           },
23344           "additionalProperties": false,
23345           "required": [
23346             "id",
23347             "life",
23348             "status",
23349             "info",
23350             "data",
23351             "since"
23352           ]
23353         },
23354         "StatusResults": {
23355           "type": "object",
23356           "properties": {
23357             "results": {
23358               "type": "array",
23359               "items": {
23360                 "$ref": "#/definitions/StatusResult"
23361               }
23362             }
23363           },
23364           "additionalProperties": false,
23365           "required": [
23366             "results"
23367           ]
23368         },
23369         "StorageAddParams": {
23370           "type": "object",
23371           "properties": {
23372             "name": {
23373               "type": "string"
23374             },
23375             "storage": {
23376               "$ref": "#/definitions/StorageConstraints"
23377             },
23378             "unit": {
23379               "type": "string"
23380             }
23381           },
23382           "additionalProperties": false,
23383           "required": [
23384             "unit",
23385             "name",
23386             "storage"
23387           ]
23388         },
23389         "StorageAttachment": {
23390           "type": "object",
23391           "properties": {
23392             "kind": {
23393               "type": "integer"
23394             },
23395             "life": {
23396               "type": "string"
23397             },
23398             "location": {
23399               "type": "string"
23400             },
23401             "owner-tag": {
23402               "type": "string"
23403             },
23404             "storage-tag": {
23405               "type": "string"
23406             },
23407             "unit-tag": {
23408               "type": "string"
23409             }
23410           },
23411           "additionalProperties": false,
23412           "required": [
23413             "storage-tag",
23414             "owner-tag",
23415             "unit-tag",
23416             "kind",
23417             "location",
23418             "life"
23419           ]
23420         },
23421         "StorageAttachmentId": {
23422           "type": "object",
23423           "properties": {
23424             "storage-tag": {
23425               "type": "string"
23426             },
23427             "unit-tag": {
23428               "type": "string"
23429             }
23430           },
23431           "additionalProperties": false,
23432           "required": [
23433             "storage-tag",
23434             "unit-tag"
23435           ]
23436         },
23437         "StorageAttachmentIds": {
23438           "type": "object",
23439           "properties": {
23440             "ids": {
23441               "type": "array",
23442               "items": {
23443                 "$ref": "#/definitions/StorageAttachmentId"
23444               }
23445             }
23446           },
23447           "additionalProperties": false,
23448           "required": [
23449             "ids"
23450           ]
23451         },
23452         "StorageAttachmentIdsResult": {
23453           "type": "object",
23454           "properties": {
23455             "error": {
23456               "$ref": "#/definitions/Error"
23457             },
23458             "result": {
23459               "$ref": "#/definitions/StorageAttachmentIds"
23460             }
23461           },
23462           "additionalProperties": false,
23463           "required": [
23464             "result"
23465           ]
23466         },
23467         "StorageAttachmentIdsResults": {
23468           "type": "object",
23469           "properties": {
23470             "results": {
23471               "type": "array",
23472               "items": {
23473                 "$ref": "#/definitions/StorageAttachmentIdsResult"
23474               }
23475             }
23476           },
23477           "additionalProperties": false
23478         },
23479         "StorageAttachmentResult": {
23480           "type": "object",
23481           "properties": {
23482             "error": {
23483               "$ref": "#/definitions/Error"
23484             },
23485             "result": {
23486               "$ref": "#/definitions/StorageAttachment"
23487             }
23488           },
23489           "additionalProperties": false,
23490           "required": [
23491             "result"
23492           ]
23493         },
23494         "StorageAttachmentResults": {
23495           "type": "object",
23496           "properties": {
23497             "results": {
23498               "type": "array",
23499               "items": {
23500                 "$ref": "#/definitions/StorageAttachmentResult"
23501               }
23502             }
23503           },
23504           "additionalProperties": false
23505         },
23506         "StorageConstraints": {
23507           "type": "object",
23508           "properties": {
23509             "count": {
23510               "type": "integer"
23511             },
23512             "pool": {
23513               "type": "string"
23514             },
23515             "size": {
23516               "type": "integer"
23517             }
23518           },
23519           "additionalProperties": false
23520         },
23521         "StoragesAddParams": {
23522           "type": "object",
23523           "properties": {
23524             "storages": {
23525               "type": "array",
23526               "items": {
23527                 "$ref": "#/definitions/StorageAddParams"
23528               }
23529             }
23530           },
23531           "additionalProperties": false,
23532           "required": [
23533             "storages"
23534           ]
23535         },
23536         "StringBoolResult": {
23537           "type": "object",
23538           "properties": {
23539             "error": {
23540               "$ref": "#/definitions/Error"
23541             },
23542             "ok": {
23543               "type": "boolean"
23544             },
23545             "result": {
23546               "type": "string"
23547             }
23548           },
23549           "additionalProperties": false,
23550           "required": [
23551             "result",
23552             "ok"
23553           ]
23554         },
23555         "StringBoolResults": {
23556           "type": "object",
23557           "properties": {
23558             "results": {
23559               "type": "array",
23560               "items": {
23561                 "$ref": "#/definitions/StringBoolResult"
23562               }
23563             }
23564           },
23565           "additionalProperties": false,
23566           "required": [
23567             "results"
23568           ]
23569         },
23570         "StringResult": {
23571           "type": "object",
23572           "properties": {
23573             "error": {
23574               "$ref": "#/definitions/Error"
23575             },
23576             "result": {
23577               "type": "string"
23578             }
23579           },
23580           "additionalProperties": false,
23581           "required": [
23582             "result"
23583           ]
23584         },
23585         "StringResults": {
23586           "type": "object",
23587           "properties": {
23588             "results": {
23589               "type": "array",
23590               "items": {
23591                 "$ref": "#/definitions/StringResult"
23592               }
23593             }
23594           },
23595           "additionalProperties": false,
23596           "required": [
23597             "results"
23598           ]
23599         },
23600         "StringsResult": {
23601           "type": "object",
23602           "properties": {
23603             "error": {
23604               "$ref": "#/definitions/Error"
23605             },
23606             "result": {
23607               "type": "array",
23608               "items": {
23609                 "type": "string"
23610               }
23611             }
23612           },
23613           "additionalProperties": false
23614         },
23615         "StringsResults": {
23616           "type": "object",
23617           "properties": {
23618             "results": {
23619               "type": "array",
23620               "items": {
23621                 "$ref": "#/definitions/StringsResult"
23622               }
23623             }
23624           },
23625           "additionalProperties": false,
23626           "required": [
23627             "results"
23628           ]
23629         },
23630         "StringsWatchResult": {
23631           "type": "object",
23632           "properties": {
23633             "changes": {
23634               "type": "array",
23635               "items": {
23636                 "type": "string"
23637               }
23638             },
23639             "error": {
23640               "$ref": "#/definitions/Error"
23641             },
23642             "watcher-id": {
23643               "type": "string"
23644             }
23645           },
23646           "additionalProperties": false,
23647           "required": [
23648             "watcher-id"
23649           ]
23650         },
23651         "StringsWatchResults": {
23652           "type": "object",
23653           "properties": {
23654             "results": {
23655               "type": "array",
23656               "items": {
23657                 "$ref": "#/definitions/StringsWatchResult"
23658               }
23659             }
23660           },
23661           "additionalProperties": false,
23662           "required": [
23663             "results"
23664           ]
23665         },
23666         "UnitNetworkConfig": {
23667           "type": "object",
23668           "properties": {
23669             "binding-name": {
23670               "type": "string"
23671             },
23672             "unit-tag": {
23673               "type": "string"
23674             }
23675           },
23676           "additionalProperties": false,
23677           "required": [
23678             "unit-tag",
23679             "binding-name"
23680           ]
23681         },
23682         "UnitNetworkConfigResult": {
23683           "type": "object",
23684           "properties": {
23685             "error": {
23686               "$ref": "#/definitions/Error"
23687             },
23688             "info": {
23689               "type": "array",
23690               "items": {
23691                 "$ref": "#/definitions/NetworkConfig"
23692               }
23693             }
23694           },
23695           "additionalProperties": false,
23696           "required": [
23697             "info"
23698           ]
23699         },
23700         "UnitNetworkConfigResults": {
23701           "type": "object",
23702           "properties": {
23703             "results": {
23704               "type": "array",
23705               "items": {
23706                 "$ref": "#/definitions/UnitNetworkConfigResult"
23707               }
23708             }
23709           },
23710           "additionalProperties": false,
23711           "required": [
23712             "results"
23713           ]
23714         },
23715         "UnitSettings": {
23716           "type": "object",
23717           "properties": {
23718             "version": {
23719               "type": "integer"
23720             }
23721           },
23722           "additionalProperties": false,
23723           "required": [
23724             "version"
23725           ]
23726         },
23727         "UnitsNetworkConfig": {
23728           "type": "object",
23729           "properties": {
23730             "args": {
23731               "type": "array",
23732               "items": {
23733                 "$ref": "#/definitions/UnitNetworkConfig"
23734               }
23735             }
23736           },
23737           "additionalProperties": false,
23738           "required": [
23739             "args"
23740           ]
23741         }
23742       }
23743     }
23744   },
23745   {
23746     "Name": "Upgrader",
23747     "Version": 1,
23748     "Schema": {
23749       "type": "object",
23750       "properties": {
23751         "DesiredVersion": {
23752           "type": "object",
23753           "properties": {
23754             "Params": {
23755               "$ref": "#/definitions/Entities"
23756             },
23757             "Result": {
23758               "$ref": "#/definitions/VersionResults"
23759             }
23760           }
23761         },
23762         "SetTools": {
23763           "type": "object",
23764           "properties": {
23765             "Params": {
23766               "$ref": "#/definitions/EntitiesVersion"
23767             },
23768             "Result": {
23769               "$ref": "#/definitions/ErrorResults"
23770             }
23771           }
23772         },
23773         "Tools": {
23774           "type": "object",
23775           "properties": {
23776             "Params": {
23777               "$ref": "#/definitions/Entities"
23778             },
23779             "Result": {
23780               "$ref": "#/definitions/ToolsResults"
23781             }
23782           }
23783         },
23784         "WatchAPIVersion": {
23785           "type": "object",
23786           "properties": {
23787             "Params": {
23788               "$ref": "#/definitions/Entities"
23789             },
23790             "Result": {
23791               "$ref": "#/definitions/NotifyWatchResults"
23792             }
23793           }
23794         }
23795       },
23796       "definitions": {
23797         "Binary": {
23798           "type": "object",
23799           "properties": {
23800             "Arch": {
23801               "type": "string"
23802             },
23803             "Number": {
23804               "$ref": "#/definitions/Number"
23805             },
23806             "Series": {
23807               "type": "string"
23808             }
23809           },
23810           "additionalProperties": false,
23811           "required": [
23812             "Number",
23813             "Series",
23814             "Arch"
23815           ]
23816         },
23817         "Entities": {
23818           "type": "object",
23819           "properties": {
23820             "entities": {
23821               "type": "array",
23822               "items": {
23823                 "$ref": "#/definitions/Entity"
23824               }
23825             }
23826           },
23827           "additionalProperties": false,
23828           "required": [
23829             "entities"
23830           ]
23831         },
23832         "EntitiesVersion": {
23833           "type": "object",
23834           "properties": {
23835             "agent-tools": {
23836               "type": "array",
23837               "items": {
23838                 "$ref": "#/definitions/EntityVersion"
23839               }
23840             }
23841           },
23842           "additionalProperties": false,
23843           "required": [
23844             "agent-tools"
23845           ]
23846         },
23847         "Entity": {
23848           "type": "object",
23849           "properties": {
23850             "tag": {
23851               "type": "string"
23852             }
23853           },
23854           "additionalProperties": false,
23855           "required": [
23856             "tag"
23857           ]
23858         },
23859         "EntityVersion": {
23860           "type": "object",
23861           "properties": {
23862             "tag": {
23863               "type": "string"
23864             },
23865             "tools": {
23866               "$ref": "#/definitions/Version"
23867             }
23868           },
23869           "additionalProperties": false,
23870           "required": [
23871             "tag",
23872             "tools"
23873           ]
23874         },
23875         "Error": {
23876           "type": "object",
23877           "properties": {
23878             "code": {
23879               "type": "string"
23880             },
23881             "info": {
23882               "$ref": "#/definitions/ErrorInfo"
23883             },
23884             "message": {
23885               "type": "string"
23886             }
23887           },
23888           "additionalProperties": false,
23889           "required": [
23890             "message",
23891             "code"
23892           ]
23893         },
23894         "ErrorInfo": {
23895           "type": "object",
23896           "properties": {
23897             "macaroon": {
23898               "$ref": "#/definitions/Macaroon"
23899             },
23900             "macaroon-path": {
23901               "type": "string"
23902             }
23903           },
23904           "additionalProperties": false
23905         },
23906         "ErrorResult": {
23907           "type": "object",
23908           "properties": {
23909             "error": {
23910               "$ref": "#/definitions/Error"
23911             }
23912           },
23913           "additionalProperties": false
23914         },
23915         "ErrorResults": {
23916           "type": "object",
23917           "properties": {
23918             "results": {
23919               "type": "array",
23920               "items": {
23921                 "$ref": "#/definitions/ErrorResult"
23922               }
23923             }
23924           },
23925           "additionalProperties": false,
23926           "required": [
23927             "results"
23928           ]
23929         },
23930         "Macaroon": {
23931           "type": "object",
23932           "additionalProperties": false
23933         },
23934         "NotifyWatchResult": {
23935           "type": "object",
23936           "properties": {
23937             "NotifyWatcherId": {
23938               "type": "string"
23939             },
23940             "error": {
23941               "$ref": "#/definitions/Error"
23942             }
23943           },
23944           "additionalProperties": false,
23945           "required": [
23946             "NotifyWatcherId"
23947           ]
23948         },
23949         "NotifyWatchResults": {
23950           "type": "object",
23951           "properties": {
23952             "results": {
23953               "type": "array",
23954               "items": {
23955                 "$ref": "#/definitions/NotifyWatchResult"
23956               }
23957             }
23958           },
23959           "additionalProperties": false,
23960           "required": [
23961             "results"
23962           ]
23963         },
23964         "Number": {
23965           "type": "object",
23966           "properties": {
23967             "Build": {
23968               "type": "integer"
23969             },
23970             "Major": {
23971               "type": "integer"
23972             },
23973             "Minor": {
23974               "type": "integer"
23975             },
23976             "Patch": {
23977               "type": "integer"
23978             },
23979             "Tag": {
23980               "type": "string"
23981             }
23982           },
23983           "additionalProperties": false,
23984           "required": [
23985             "Major",
23986             "Minor",
23987             "Tag",
23988             "Patch",
23989             "Build"
23990           ]
23991         },
23992         "Tools": {
23993           "type": "object",
23994           "properties": {
23995             "sha256": {
23996               "type": "string"
23997             },
23998             "size": {
23999               "type": "integer"
24000             },
24001             "url": {
24002               "type": "string"
24003             },
24004             "version": {
24005               "$ref": "#/definitions/Binary"
24006             }
24007           },
24008           "additionalProperties": false,
24009           "required": [
24010             "version",
24011             "url",
24012             "size"
24013           ]
24014         },
24015         "ToolsResult": {
24016           "type": "object",
24017           "properties": {
24018             "disable-ssl-hostname-verification": {
24019               "type": "boolean"
24020             },
24021             "error": {
24022               "$ref": "#/definitions/Error"
24023             },
24024             "tools": {
24025               "type": "array",
24026               "items": {
24027                 "$ref": "#/definitions/Tools"
24028               }
24029             }
24030           },
24031           "additionalProperties": false,
24032           "required": [
24033             "tools",
24034             "disable-ssl-hostname-verification"
24035           ]
24036         },
24037         "ToolsResults": {
24038           "type": "object",
24039           "properties": {
24040             "results": {
24041               "type": "array",
24042               "items": {
24043                 "$ref": "#/definitions/ToolsResult"
24044               }
24045             }
24046           },
24047           "additionalProperties": false,
24048           "required": [
24049             "results"
24050           ]
24051         },
24052         "Version": {
24053           "type": "object",
24054           "properties": {
24055             "version": {
24056               "$ref": "#/definitions/Binary"
24057             }
24058           },
24059           "additionalProperties": false,
24060           "required": [
24061             "version"
24062           ]
24063         },
24064         "VersionResult": {
24065           "type": "object",
24066           "properties": {
24067             "error": {
24068               "$ref": "#/definitions/Error"
24069             },
24070             "version": {
24071               "$ref": "#/definitions/Number"
24072             }
24073           },
24074           "additionalProperties": false
24075         },
24076         "VersionResults": {
24077           "type": "object",
24078           "properties": {
24079             "results": {
24080               "type": "array",
24081               "items": {
24082                 "$ref": "#/definitions/VersionResult"
24083               }
24084             }
24085           },
24086           "additionalProperties": false,
24087           "required": [
24088             "results"
24089           ]
24090         }
24091       }
24092     }
24093   },
24094   {
24095     "Name": "UserManager",
24096     "Version": 1,
24097     "Schema": {
24098       "type": "object",
24099       "properties": {
24100         "AddUser": {
24101           "type": "object",
24102           "properties": {
24103             "Params": {
24104               "$ref": "#/definitions/AddUsers"
24105             },
24106             "Result": {
24107               "$ref": "#/definitions/AddUserResults"
24108             }
24109           }
24110         },
24111         "DisableUser": {
24112           "type": "object",
24113           "properties": {
24114             "Params": {
24115               "$ref": "#/definitions/Entities"
24116             },
24117             "Result": {
24118               "$ref": "#/definitions/ErrorResults"
24119             }
24120           }
24121         },
24122         "EnableUser": {
24123           "type": "object",
24124           "properties": {
24125             "Params": {
24126               "$ref": "#/definitions/Entities"
24127             },
24128             "Result": {
24129               "$ref": "#/definitions/ErrorResults"
24130             }
24131           }
24132         },
24133         "RemoveUser": {
24134           "type": "object",
24135           "properties": {
24136             "Params": {
24137               "$ref": "#/definitions/Entities"
24138             },
24139             "Result": {
24140               "$ref": "#/definitions/ErrorResults"
24141             }
24142           }
24143         },
24144         "SetPassword": {
24145           "type": "object",
24146           "properties": {
24147             "Params": {
24148               "$ref": "#/definitions/EntityPasswords"
24149             },
24150             "Result": {
24151               "$ref": "#/definitions/ErrorResults"
24152             }
24153           }
24154         },
24155         "UserInfo": {
24156           "type": "object",
24157           "properties": {
24158             "Params": {
24159               "$ref": "#/definitions/UserInfoRequest"
24160             },
24161             "Result": {
24162               "$ref": "#/definitions/UserInfoResults"
24163             }
24164           }
24165         }
24166       },
24167       "definitions": {
24168         "AddUser": {
24169           "type": "object",
24170           "properties": {
24171             "display-name": {
24172               "type": "string"
24173             },
24174             "password": {
24175               "type": "string"
24176             },
24177             "username": {
24178               "type": "string"
24179             }
24180           },
24181           "additionalProperties": false,
24182           "required": [
24183             "username",
24184             "display-name"
24185           ]
24186         },
24187         "AddUserResult": {
24188           "type": "object",
24189           "properties": {
24190             "error": {
24191               "$ref": "#/definitions/Error"
24192             },
24193             "secret-key": {
24194               "type": "array",
24195               "items": {
24196                 "type": "integer"
24197               }
24198             },
24199             "tag": {
24200               "type": "string"
24201             }
24202           },
24203           "additionalProperties": false
24204         },
24205         "AddUserResults": {
24206           "type": "object",
24207           "properties": {
24208             "results": {
24209               "type": "array",
24210               "items": {
24211                 "$ref": "#/definitions/AddUserResult"
24212               }
24213             }
24214           },
24215           "additionalProperties": false,
24216           "required": [
24217             "results"
24218           ]
24219         },
24220         "AddUsers": {
24221           "type": "object",
24222           "properties": {
24223             "users": {
24224               "type": "array",
24225               "items": {
24226                 "$ref": "#/definitions/AddUser"
24227               }
24228             }
24229           },
24230           "additionalProperties": false,
24231           "required": [
24232             "users"
24233           ]
24234         },
24235         "Entities": {
24236           "type": "object",
24237           "properties": {
24238             "entities": {
24239               "type": "array",
24240               "items": {
24241                 "$ref": "#/definitions/Entity"
24242               }
24243             }
24244           },
24245           "additionalProperties": false,
24246           "required": [
24247             "entities"
24248           ]
24249         },
24250         "Entity": {
24251           "type": "object",
24252           "properties": {
24253             "tag": {
24254               "type": "string"
24255             }
24256           },
24257           "additionalProperties": false,
24258           "required": [
24259             "tag"
24260           ]
24261         },
24262         "EntityPassword": {
24263           "type": "object",
24264           "properties": {
24265             "password": {
24266               "type": "string"
24267             },
24268             "tag": {
24269               "type": "string"
24270             }
24271           },
24272           "additionalProperties": false,
24273           "required": [
24274             "tag",
24275             "password"
24276           ]
24277         },
24278         "EntityPasswords": {
24279           "type": "object",
24280           "properties": {
24281             "changes": {
24282               "type": "array",
24283               "items": {
24284                 "$ref": "#/definitions/EntityPassword"
24285               }
24286             }
24287           },
24288           "additionalProperties": false,
24289           "required": [
24290             "changes"
24291           ]
24292         },
24293         "Error": {
24294           "type": "object",
24295           "properties": {
24296             "code": {
24297               "type": "string"
24298             },
24299             "info": {
24300               "$ref": "#/definitions/ErrorInfo"
24301             },
24302             "message": {
24303               "type": "string"
24304             }
24305           },
24306           "additionalProperties": false,
24307           "required": [
24308             "message",
24309             "code"
24310           ]
24311         },
24312         "ErrorInfo": {
24313           "type": "object",
24314           "properties": {
24315             "macaroon": {
24316               "$ref": "#/definitions/Macaroon"
24317             },
24318             "macaroon-path": {
24319               "type": "string"
24320             }
24321           },
24322           "additionalProperties": false
24323         },
24324         "ErrorResult": {
24325           "type": "object",
24326           "properties": {
24327             "error": {
24328               "$ref": "#/definitions/Error"
24329             }
24330           },
24331           "additionalProperties": false
24332         },
24333         "ErrorResults": {
24334           "type": "object",
24335           "properties": {
24336             "results": {
24337               "type": "array",
24338               "items": {
24339                 "$ref": "#/definitions/ErrorResult"
24340               }
24341             }
24342           },
24343           "additionalProperties": false,
24344           "required": [
24345             "results"
24346           ]
24347         },
24348         "Macaroon": {
24349           "type": "object",
24350           "additionalProperties": false
24351         },
24352         "UserInfo": {
24353           "type": "object",
24354           "properties": {
24355             "access": {
24356               "type": "string"
24357             },
24358             "created-by": {
24359               "type": "string"
24360             },
24361             "date-created": {
24362               "type": "string",
24363               "format": "date-time"
24364             },
24365             "disabled": {
24366               "type": "boolean"
24367             },
24368             "display-name": {
24369               "type": "string"
24370             },
24371             "last-connection": {
24372               "type": "string",
24373               "format": "date-time"
24374             },
24375             "username": {
24376               "type": "string"
24377             }
24378           },
24379           "additionalProperties": false,
24380           "required": [
24381             "username",
24382             "display-name",
24383             "access",
24384             "created-by",
24385             "date-created",
24386             "disabled"
24387           ]
24388         },
24389         "UserInfoRequest": {
24390           "type": "object",
24391           "properties": {
24392             "entities": {
24393               "type": "array",
24394               "items": {
24395                 "$ref": "#/definitions/Entity"
24396               }
24397             },
24398             "include-disabled": {
24399               "type": "boolean"
24400             }
24401           },
24402           "additionalProperties": false,
24403           "required": [
24404             "entities",
24405             "include-disabled"
24406           ]
24407         },
24408         "UserInfoResult": {
24409           "type": "object",
24410           "properties": {
24411             "error": {
24412               "$ref": "#/definitions/Error"
24413             },
24414             "result": {
24415               "$ref": "#/definitions/UserInfo"
24416             }
24417           },
24418           "additionalProperties": false
24419         },
24420         "UserInfoResults": {
24421           "type": "object",
24422           "properties": {
24423             "results": {
24424               "type": "array",
24425               "items": {
24426                 "$ref": "#/definitions/UserInfoResult"
24427               }
24428             }
24429           },
24430           "additionalProperties": false,
24431           "required": [
24432             "results"
24433           ]
24434         }
24435       }
24436     }
24437   },
24438   {
24439     "Name": "VolumeAttachmentsWatcher",
24440     "Version": 2,
24441     "Schema": {
24442       "type": "object",
24443       "properties": {
24444         "Next": {
24445           "type": "object",
24446           "properties": {
24447             "Result": {
24448               "$ref": "#/definitions/MachineStorageIdsWatchResult"
24449             }
24450           }
24451         },
24452         "Stop": {
24453           "type": "object"
24454         }
24455       },
24456       "definitions": {
24457         "Error": {
24458           "type": "object",
24459           "properties": {
24460             "code": {
24461               "type": "string"
24462             },
24463             "info": {
24464               "$ref": "#/definitions/ErrorInfo"
24465             },
24466             "message": {
24467               "type": "string"
24468             }
24469           },
24470           "additionalProperties": false,
24471           "required": [
24472             "message",
24473             "code"
24474           ]
24475         },
24476         "ErrorInfo": {
24477           "type": "object",
24478           "properties": {
24479             "macaroon": {
24480               "$ref": "#/definitions/Macaroon"
24481             },
24482             "macaroon-path": {
24483               "type": "string"
24484             }
24485           },
24486           "additionalProperties": false
24487         },
24488         "Macaroon": {
24489           "type": "object",
24490           "additionalProperties": false
24491         },
24492         "MachineStorageId": {
24493           "type": "object",
24494           "properties": {
24495             "attachment-tag": {
24496               "type": "string"
24497             },
24498             "machine-tag": {
24499               "type": "string"
24500             }
24501           },
24502           "additionalProperties": false,
24503           "required": [
24504             "machine-tag",
24505             "attachment-tag"
24506           ]
24507         },
24508         "MachineStorageIdsWatchResult": {
24509           "type": "object",
24510           "properties": {
24511             "changes": {
24512               "type": "array",
24513               "items": {
24514                 "$ref": "#/definitions/MachineStorageId"
24515               }
24516             },
24517             "error": {
24518               "$ref": "#/definitions/Error"
24519             },
24520             "watcher-id": {
24521               "type": "string"
24522             }
24523           },
24524           "additionalProperties": false,
24525           "required": [
24526             "watcher-id",
24527             "changes"
24528           ]
24529         }
24530       }
24531     }
24532   }
24533 ]