1191024379a35905083ed127f4b7c6b7aab3382e
[osm/N2VC.git] / juju / client / schemas.json
1 [
2   {
3     "Name": "Action",
4     "Version": 2,
5     "Schema": {
6       "type": "object",
7       "properties": {
8         "Actions": {
9           "type": "object",
10           "properties": {
11             "Params": {
12               "$ref": "#/definitions/Entities"
13             },
14             "Result": {
15               "$ref": "#/definitions/ActionResults"
16             }
17           }
18         },
19         "ApplicationsCharmsActions": {
20           "type": "object",
21           "properties": {
22             "Params": {
23               "$ref": "#/definitions/Entities"
24             },
25             "Result": {
26               "$ref": "#/definitions/ApplicationsCharmActionsResults"
27             }
28           }
29         },
30         "Cancel": {
31           "type": "object",
32           "properties": {
33             "Params": {
34               "$ref": "#/definitions/Entities"
35             },
36             "Result": {
37               "$ref": "#/definitions/ActionResults"
38             }
39           }
40         },
41         "Enqueue": {
42           "type": "object",
43           "properties": {
44             "Params": {
45               "$ref": "#/definitions/Actions"
46             },
47             "Result": {
48               "$ref": "#/definitions/ActionResults"
49             }
50           }
51         },
52         "FindActionTagsByPrefix": {
53           "type": "object",
54           "properties": {
55             "Params": {
56               "$ref": "#/definitions/FindTags"
57             },
58             "Result": {
59               "$ref": "#/definitions/FindTagsResults"
60             }
61           }
62         },
63         "FindActionsByNames": {
64           "type": "object",
65           "properties": {
66             "Params": {
67               "$ref": "#/definitions/FindActionsByNames"
68             },
69             "Result": {
70               "$ref": "#/definitions/ActionsByNames"
71             }
72           }
73         },
74         "ListAll": {
75           "type": "object",
76           "properties": {
77             "Params": {
78               "$ref": "#/definitions/Entities"
79             },
80             "Result": {
81               "$ref": "#/definitions/ActionsByReceivers"
82             }
83           }
84         },
85         "ListCompleted": {
86           "type": "object",
87           "properties": {
88             "Params": {
89               "$ref": "#/definitions/Entities"
90             },
91             "Result": {
92               "$ref": "#/definitions/ActionsByReceivers"
93             }
94           }
95         },
96         "ListPending": {
97           "type": "object",
98           "properties": {
99             "Params": {
100               "$ref": "#/definitions/Entities"
101             },
102             "Result": {
103               "$ref": "#/definitions/ActionsByReceivers"
104             }
105           }
106         },
107         "ListRunning": {
108           "type": "object",
109           "properties": {
110             "Params": {
111               "$ref": "#/definitions/Entities"
112             },
113             "Result": {
114               "$ref": "#/definitions/ActionsByReceivers"
115             }
116           }
117         },
118         "Run": {
119           "type": "object",
120           "properties": {
121             "Params": {
122               "$ref": "#/definitions/RunParams"
123             },
124             "Result": {
125               "$ref": "#/definitions/ActionResults"
126             }
127           }
128         },
129         "RunOnAllMachines": {
130           "type": "object",
131           "properties": {
132             "Params": {
133               "$ref": "#/definitions/RunParams"
134             },
135             "Result": {
136               "$ref": "#/definitions/ActionResults"
137             }
138           }
139         }
140       },
141       "definitions": {
142         "Action": {
143           "type": "object",
144           "properties": {
145             "name": {
146               "type": "string"
147             },
148             "parameters": {
149               "type": "object",
150               "patternProperties": {
151                 ".*": {
152                   "type": "object",
153                   "additionalProperties": true
154                 }
155               }
156             },
157             "receiver": {
158               "type": "string"
159             },
160             "tag": {
161               "type": "string"
162             }
163           },
164           "additionalProperties": false,
165           "required": [
166             "tag",
167             "receiver",
168             "name"
169           ]
170         },
171         "ActionResult": {
172           "type": "object",
173           "properties": {
174             "action": {
175               "$ref": "#/definitions/Action"
176             },
177             "completed": {
178               "type": "string",
179               "format": "date-time"
180             },
181             "enqueued": {
182               "type": "string",
183               "format": "date-time"
184             },
185             "error": {
186               "$ref": "#/definitions/Error"
187             },
188             "message": {
189               "type": "string"
190             },
191             "output": {
192               "type": "object",
193               "patternProperties": {
194                 ".*": {
195                   "type": "object",
196                   "additionalProperties": true
197                 }
198               }
199             },
200             "started": {
201               "type": "string",
202               "format": "date-time"
203             },
204             "status": {
205               "type": "string"
206             }
207           },
208           "additionalProperties": false
209         },
210         "ActionResults": {
211           "type": "object",
212           "properties": {
213             "results": {
214               "type": "array",
215               "items": {
216                 "$ref": "#/definitions/ActionResult"
217               }
218             }
219           },
220           "additionalProperties": false
221         },
222         "ActionSpec": {
223           "type": "object",
224           "properties": {
225             "description": {
226               "type": "string"
227             },
228             "params": {
229               "type": "object",
230               "patternProperties": {
231                 ".*": {
232                   "type": "object",
233                   "additionalProperties": true
234                 }
235               }
236             }
237           },
238           "additionalProperties": false,
239           "required": [
240             "description",
241             "params"
242           ]
243         },
244         "Actions": {
245           "type": "object",
246           "properties": {
247             "actions": {
248               "type": "array",
249               "items": {
250                 "$ref": "#/definitions/Action"
251               }
252             }
253           },
254           "additionalProperties": false
255         },
256         "ActionsByName": {
257           "type": "object",
258           "properties": {
259             "actions": {
260               "type": "array",
261               "items": {
262                 "$ref": "#/definitions/ActionResult"
263               }
264             },
265             "error": {
266               "$ref": "#/definitions/Error"
267             },
268             "name": {
269               "type": "string"
270             }
271           },
272           "additionalProperties": false
273         },
274         "ActionsByNames": {
275           "type": "object",
276           "properties": {
277             "actions": {
278               "type": "array",
279               "items": {
280                 "$ref": "#/definitions/ActionsByName"
281               }
282             }
283           },
284           "additionalProperties": false
285         },
286         "ActionsByReceiver": {
287           "type": "object",
288           "properties": {
289             "actions": {
290               "type": "array",
291               "items": {
292                 "$ref": "#/definitions/ActionResult"
293               }
294             },
295             "error": {
296               "$ref": "#/definitions/Error"
297             },
298             "receiver": {
299               "type": "string"
300             }
301           },
302           "additionalProperties": false
303         },
304         "ActionsByReceivers": {
305           "type": "object",
306           "properties": {
307             "actions": {
308               "type": "array",
309               "items": {
310                 "$ref": "#/definitions/ActionsByReceiver"
311               }
312             }
313           },
314           "additionalProperties": false
315         },
316         "ApplicationCharmActionsResult": {
317           "type": "object",
318           "properties": {
319             "actions": {
320               "type": "object",
321               "patternProperties": {
322                 ".*": {
323                   "$ref": "#/definitions/ActionSpec"
324                 }
325               }
326             },
327             "application-tag": {
328               "type": "string"
329             },
330             "error": {
331               "$ref": "#/definitions/Error"
332             }
333           },
334           "additionalProperties": false
335         },
336         "ApplicationsCharmActionsResults": {
337           "type": "object",
338           "properties": {
339             "results": {
340               "type": "array",
341               "items": {
342                 "$ref": "#/definitions/ApplicationCharmActionsResult"
343               }
344             }
345           },
346           "additionalProperties": false
347         },
348         "Entities": {
349           "type": "object",
350           "properties": {
351             "entities": {
352               "type": "array",
353               "items": {
354                 "$ref": "#/definitions/Entity"
355               }
356             }
357           },
358           "additionalProperties": false,
359           "required": [
360             "entities"
361           ]
362         },
363         "Entity": {
364           "type": "object",
365           "properties": {
366             "tag": {
367               "type": "string"
368             }
369           },
370           "additionalProperties": false,
371           "required": [
372             "tag"
373           ]
374         },
375         "Error": {
376           "type": "object",
377           "properties": {
378             "code": {
379               "type": "string"
380             },
381             "info": {
382               "$ref": "#/definitions/ErrorInfo"
383             },
384             "message": {
385               "type": "string"
386             }
387           },
388           "additionalProperties": false,
389           "required": [
390             "message",
391             "code"
392           ]
393         },
394         "ErrorInfo": {
395           "type": "object",
396           "properties": {
397             "macaroon": {
398               "$ref": "#/definitions/Macaroon"
399             },
400             "macaroon-path": {
401               "type": "string"
402             }
403           },
404           "additionalProperties": false
405         },
406         "FindActionsByNames": {
407           "type": "object",
408           "properties": {
409             "names": {
410               "type": "array",
411               "items": {
412                 "type": "string"
413               }
414             }
415           },
416           "additionalProperties": false
417         },
418         "FindTags": {
419           "type": "object",
420           "properties": {
421             "prefixes": {
422               "type": "array",
423               "items": {
424                 "type": "string"
425               }
426             }
427           },
428           "additionalProperties": false,
429           "required": [
430             "prefixes"
431           ]
432         },
433         "FindTagsResults": {
434           "type": "object",
435           "properties": {
436             "matches": {
437               "type": "object",
438               "patternProperties": {
439                 ".*": {
440                   "type": "array",
441                   "items": {
442                     "$ref": "#/definitions/Entity"
443                   }
444                 }
445               }
446             }
447           },
448           "additionalProperties": false,
449           "required": [
450             "matches"
451           ]
452         },
453         "Macaroon": {
454           "type": "object",
455           "additionalProperties": false
456         },
457         "RunParams": {
458           "type": "object",
459           "properties": {
460             "applications": {
461               "type": "array",
462               "items": {
463                 "type": "string"
464               }
465             },
466             "commands": {
467               "type": "string"
468             },
469             "machines": {
470               "type": "array",
471               "items": {
472                 "type": "string"
473               }
474             },
475             "timeout": {
476               "type": "integer"
477             },
478             "units": {
479               "type": "array",
480               "items": {
481                 "type": "string"
482               }
483             }
484           },
485           "additionalProperties": false,
486           "required": [
487             "commands",
488             "timeout"
489           ]
490         }
491       }
492     }
493   },
494   {
495     "Name": "Agent",
496     "Version": 2,
497     "Schema": {
498       "type": "object",
499       "properties": {
500         "ClearReboot": {
501           "type": "object",
502           "properties": {
503             "Params": {
504               "$ref": "#/definitions/Entities"
505             },
506             "Result": {
507               "$ref": "#/definitions/ErrorResults"
508             }
509           }
510         },
511         "CloudSpec": {
512           "type": "object",
513           "properties": {
514             "Params": {
515               "$ref": "#/definitions/Entities"
516             },
517             "Result": {
518               "$ref": "#/definitions/CloudSpecResults"
519             }
520           }
521         },
522         "ControllerConfig": {
523           "type": "object",
524           "properties": {
525             "Result": {
526               "$ref": "#/definitions/ControllerConfigResult"
527             }
528           }
529         },
530         "GetCloudSpec": {
531           "type": "object",
532           "properties": {
533             "Params": {
534               "$ref": "#/definitions/ModelTag"
535             },
536             "Result": {
537               "$ref": "#/definitions/CloudSpecResult"
538             }
539           }
540         },
541         "GetEntities": {
542           "type": "object",
543           "properties": {
544             "Params": {
545               "$ref": "#/definitions/Entities"
546             },
547             "Result": {
548               "$ref": "#/definitions/AgentGetEntitiesResults"
549             }
550           }
551         },
552         "IsMaster": {
553           "type": "object",
554           "properties": {
555             "Result": {
556               "$ref": "#/definitions/IsMasterResult"
557             }
558           }
559         },
560         "ModelConfig": {
561           "type": "object",
562           "properties": {
563             "Result": {
564               "$ref": "#/definitions/ModelConfigResult"
565             }
566           }
567         },
568         "SetPasswords": {
569           "type": "object",
570           "properties": {
571             "Params": {
572               "$ref": "#/definitions/EntityPasswords"
573             },
574             "Result": {
575               "$ref": "#/definitions/ErrorResults"
576             }
577           }
578         },
579         "StateServingInfo": {
580           "type": "object",
581           "properties": {
582             "Result": {
583               "$ref": "#/definitions/StateServingInfo"
584             }
585           }
586         },
587         "WatchCredentials": {
588           "type": "object",
589           "properties": {
590             "Params": {
591               "$ref": "#/definitions/Entities"
592             },
593             "Result": {
594               "$ref": "#/definitions/NotifyWatchResults"
595             }
596           }
597         },
598         "WatchForModelConfigChanges": {
599           "type": "object",
600           "properties": {
601             "Result": {
602               "$ref": "#/definitions/NotifyWatchResult"
603             }
604           }
605         }
606       },
607       "definitions": {
608         "AgentGetEntitiesResult": {
609           "type": "object",
610           "properties": {
611             "container-type": {
612               "type": "string"
613             },
614             "error": {
615               "$ref": "#/definitions/Error"
616             },
617             "jobs": {
618               "type": "array",
619               "items": {
620                 "type": "string"
621               }
622             },
623             "life": {
624               "type": "string"
625             }
626           },
627           "additionalProperties": false,
628           "required": [
629             "life",
630             "jobs",
631             "container-type"
632           ]
633         },
634         "AgentGetEntitiesResults": {
635           "type": "object",
636           "properties": {
637             "entities": {
638               "type": "array",
639               "items": {
640                 "$ref": "#/definitions/AgentGetEntitiesResult"
641               }
642             }
643           },
644           "additionalProperties": false,
645           "required": [
646             "entities"
647           ]
648         },
649         "CloudCredential": {
650           "type": "object",
651           "properties": {
652             "attrs": {
653               "type": "object",
654               "patternProperties": {
655                 ".*": {
656                   "type": "string"
657                 }
658               }
659             },
660             "auth-type": {
661               "type": "string"
662             },
663             "redacted": {
664               "type": "array",
665               "items": {
666                 "type": "string"
667               }
668             }
669           },
670           "additionalProperties": false,
671           "required": [
672             "auth-type"
673           ]
674         },
675         "CloudSpec": {
676           "type": "object",
677           "properties": {
678             "credential": {
679               "$ref": "#/definitions/CloudCredential"
680             },
681             "endpoint": {
682               "type": "string"
683             },
684             "identity-endpoint": {
685               "type": "string"
686             },
687             "name": {
688               "type": "string"
689             },
690             "region": {
691               "type": "string"
692             },
693             "storage-endpoint": {
694               "type": "string"
695             },
696             "type": {
697               "type": "string"
698             }
699           },
700           "additionalProperties": false,
701           "required": [
702             "type",
703             "name"
704           ]
705         },
706         "CloudSpecResult": {
707           "type": "object",
708           "properties": {
709             "error": {
710               "$ref": "#/definitions/Error"
711             },
712             "result": {
713               "$ref": "#/definitions/CloudSpec"
714             }
715           },
716           "additionalProperties": false
717         },
718         "CloudSpecResults": {
719           "type": "object",
720           "properties": {
721             "results": {
722               "type": "array",
723               "items": {
724                 "$ref": "#/definitions/CloudSpecResult"
725               }
726             }
727           },
728           "additionalProperties": false
729         },
730         "ControllerConfigResult": {
731           "type": "object",
732           "properties": {
733             "config": {
734               "type": "object",
735               "patternProperties": {
736                 ".*": {
737                   "type": "object",
738                   "additionalProperties": true
739                 }
740               }
741             }
742           },
743           "additionalProperties": false,
744           "required": [
745             "config"
746           ]
747         },
748         "Entities": {
749           "type": "object",
750           "properties": {
751             "entities": {
752               "type": "array",
753               "items": {
754                 "$ref": "#/definitions/Entity"
755               }
756             }
757           },
758           "additionalProperties": false,
759           "required": [
760             "entities"
761           ]
762         },
763         "Entity": {
764           "type": "object",
765           "properties": {
766             "tag": {
767               "type": "string"
768             }
769           },
770           "additionalProperties": false,
771           "required": [
772             "tag"
773           ]
774         },
775         "EntityPassword": {
776           "type": "object",
777           "properties": {
778             "password": {
779               "type": "string"
780             },
781             "tag": {
782               "type": "string"
783             }
784           },
785           "additionalProperties": false,
786           "required": [
787             "tag",
788             "password"
789           ]
790         },
791         "EntityPasswords": {
792           "type": "object",
793           "properties": {
794             "changes": {
795               "type": "array",
796               "items": {
797                 "$ref": "#/definitions/EntityPassword"
798               }
799             }
800           },
801           "additionalProperties": false,
802           "required": [
803             "changes"
804           ]
805         },
806         "Error": {
807           "type": "object",
808           "properties": {
809             "code": {
810               "type": "string"
811             },
812             "info": {
813               "$ref": "#/definitions/ErrorInfo"
814             },
815             "message": {
816               "type": "string"
817             }
818           },
819           "additionalProperties": false,
820           "required": [
821             "message",
822             "code"
823           ]
824         },
825         "ErrorInfo": {
826           "type": "object",
827           "properties": {
828             "macaroon": {
829               "$ref": "#/definitions/Macaroon"
830             },
831             "macaroon-path": {
832               "type": "string"
833             }
834           },
835           "additionalProperties": false
836         },
837         "ErrorResult": {
838           "type": "object",
839           "properties": {
840             "error": {
841               "$ref": "#/definitions/Error"
842             }
843           },
844           "additionalProperties": false
845         },
846         "ErrorResults": {
847           "type": "object",
848           "properties": {
849             "results": {
850               "type": "array",
851               "items": {
852                 "$ref": "#/definitions/ErrorResult"
853               }
854             }
855           },
856           "additionalProperties": false,
857           "required": [
858             "results"
859           ]
860         },
861         "IsMasterResult": {
862           "type": "object",
863           "properties": {
864             "master": {
865               "type": "boolean"
866             }
867           },
868           "additionalProperties": false,
869           "required": [
870             "master"
871           ]
872         },
873         "Macaroon": {
874           "type": "object",
875           "additionalProperties": false
876         },
877         "ModelConfigResult": {
878           "type": "object",
879           "properties": {
880             "config": {
881               "type": "object",
882               "patternProperties": {
883                 ".*": {
884                   "type": "object",
885                   "additionalProperties": true
886                 }
887               }
888             }
889           },
890           "additionalProperties": false,
891           "required": [
892             "config"
893           ]
894         },
895         "ModelTag": {
896           "type": "object",
897           "additionalProperties": false
898         },
899         "NotifyWatchResult": {
900           "type": "object",
901           "properties": {
902             "NotifyWatcherId": {
903               "type": "string"
904             },
905             "error": {
906               "$ref": "#/definitions/Error"
907             }
908           },
909           "additionalProperties": false,
910           "required": [
911             "NotifyWatcherId"
912           ]
913         },
914         "NotifyWatchResults": {
915           "type": "object",
916           "properties": {
917             "results": {
918               "type": "array",
919               "items": {
920                 "$ref": "#/definitions/NotifyWatchResult"
921               }
922             }
923           },
924           "additionalProperties": false,
925           "required": [
926             "results"
927           ]
928         },
929         "StateServingInfo": {
930           "type": "object",
931           "properties": {
932             "api-port": {
933               "type": "integer"
934             },
935             "ca-private-key": {
936               "type": "string"
937             },
938             "cert": {
939               "type": "string"
940             },
941             "private-key": {
942               "type": "string"
943             },
944             "shared-secret": {
945               "type": "string"
946             },
947             "state-port": {
948               "type": "integer"
949             },
950             "system-identity": {
951               "type": "string"
952             }
953           },
954           "additionalProperties": false,
955           "required": [
956             "api-port",
957             "state-port",
958             "cert",
959             "private-key",
960             "ca-private-key",
961             "shared-secret",
962             "system-identity"
963           ]
964         }
965       }
966     }
967   },
968   {
969     "Name": "AgentTools",
970     "Version": 1,
971     "Schema": {
972       "type": "object",
973       "properties": {
974         "UpdateToolsAvailable": {
975           "type": "object"
976         }
977       }
978     }
979   },
980   {
981     "Name": "AllModelWatcher",
982     "Version": 2,
983     "Schema": {
984       "type": "object",
985       "properties": {
986         "Next": {
987           "type": "object",
988           "properties": {
989             "Result": {
990               "$ref": "#/definitions/AllWatcherNextResults"
991             }
992           }
993         },
994         "Stop": {
995           "type": "object"
996         }
997       },
998       "definitions": {
999         "AllWatcherNextResults": {
1000           "type": "object",
1001           "properties": {
1002             "deltas": {
1003               "type": "array",
1004               "items": {
1005                 "$ref": "#/definitions/Delta"
1006               }
1007             }
1008           },
1009           "additionalProperties": false,
1010           "required": [
1011             "deltas"
1012           ]
1013         },
1014         "Delta": {
1015           "type": "object",
1016           "properties": {
1017             "entity": {
1018               "type": "object",
1019               "additionalProperties": true
1020             },
1021             "removed": {
1022               "type": "boolean"
1023             }
1024           },
1025           "additionalProperties": false,
1026           "required": [
1027             "removed",
1028             "entity"
1029           ]
1030         }
1031       }
1032     }
1033   },
1034   {
1035     "Name": "AllWatcher",
1036     "Version": 1,
1037     "Schema": {
1038       "type": "object",
1039       "properties": {
1040         "Next": {
1041           "type": "object",
1042           "properties": {
1043             "Result": {
1044               "$ref": "#/definitions/AllWatcherNextResults"
1045             }
1046           }
1047         },
1048         "Stop": {
1049           "type": "object"
1050         }
1051       },
1052       "definitions": {
1053         "AllWatcherNextResults": {
1054           "type": "object",
1055           "properties": {
1056             "deltas": {
1057               "type": "array",
1058               "items": {
1059                 "$ref": "#/definitions/Delta"
1060               }
1061             }
1062           },
1063           "additionalProperties": false,
1064           "required": [
1065             "deltas"
1066           ]
1067         },
1068         "Delta": {
1069           "type": "object",
1070           "properties": {
1071             "entity": {
1072               "type": "object",
1073               "additionalProperties": true
1074             },
1075             "removed": {
1076               "type": "boolean"
1077             }
1078           },
1079           "additionalProperties": false,
1080           "required": [
1081             "removed",
1082             "entity"
1083           ]
1084         }
1085       }
1086     }
1087   },
1088   {
1089     "Name": "Annotations",
1090     "Version": 2,
1091     "Schema": {
1092       "type": "object",
1093       "properties": {
1094         "Get": {
1095           "type": "object",
1096           "properties": {
1097             "Params": {
1098               "$ref": "#/definitions/Entities"
1099             },
1100             "Result": {
1101               "$ref": "#/definitions/AnnotationsGetResults"
1102             }
1103           }
1104         },
1105         "Set": {
1106           "type": "object",
1107           "properties": {
1108             "Params": {
1109               "$ref": "#/definitions/AnnotationsSet"
1110             },
1111             "Result": {
1112               "$ref": "#/definitions/ErrorResults"
1113             }
1114           }
1115         }
1116       },
1117       "definitions": {
1118         "AnnotationsGetResult": {
1119           "type": "object",
1120           "properties": {
1121             "annotations": {
1122               "type": "object",
1123               "patternProperties": {
1124                 ".*": {
1125                   "type": "string"
1126                 }
1127               }
1128             },
1129             "entity": {
1130               "type": "string"
1131             },
1132             "error": {
1133               "$ref": "#/definitions/ErrorResult"
1134             }
1135           },
1136           "additionalProperties": false,
1137           "required": [
1138             "entity",
1139             "annotations"
1140           ]
1141         },
1142         "AnnotationsGetResults": {
1143           "type": "object",
1144           "properties": {
1145             "results": {
1146               "type": "array",
1147               "items": {
1148                 "$ref": "#/definitions/AnnotationsGetResult"
1149               }
1150             }
1151           },
1152           "additionalProperties": false,
1153           "required": [
1154             "results"
1155           ]
1156         },
1157         "AnnotationsSet": {
1158           "type": "object",
1159           "properties": {
1160             "annotations": {
1161               "type": "array",
1162               "items": {
1163                 "$ref": "#/definitions/EntityAnnotations"
1164               }
1165             }
1166           },
1167           "additionalProperties": false,
1168           "required": [
1169             "annotations"
1170           ]
1171         },
1172         "Entities": {
1173           "type": "object",
1174           "properties": {
1175             "entities": {
1176               "type": "array",
1177               "items": {
1178                 "$ref": "#/definitions/Entity"
1179               }
1180             }
1181           },
1182           "additionalProperties": false,
1183           "required": [
1184             "entities"
1185           ]
1186         },
1187         "Entity": {
1188           "type": "object",
1189           "properties": {
1190             "tag": {
1191               "type": "string"
1192             }
1193           },
1194           "additionalProperties": false,
1195           "required": [
1196             "tag"
1197           ]
1198         },
1199         "EntityAnnotations": {
1200           "type": "object",
1201           "properties": {
1202             "annotations": {
1203               "type": "object",
1204               "patternProperties": {
1205                 ".*": {
1206                   "type": "string"
1207                 }
1208               }
1209             },
1210             "entity": {
1211               "type": "string"
1212             }
1213           },
1214           "additionalProperties": false,
1215           "required": [
1216             "entity",
1217             "annotations"
1218           ]
1219         },
1220         "Error": {
1221           "type": "object",
1222           "properties": {
1223             "code": {
1224               "type": "string"
1225             },
1226             "info": {
1227               "$ref": "#/definitions/ErrorInfo"
1228             },
1229             "message": {
1230               "type": "string"
1231             }
1232           },
1233           "additionalProperties": false,
1234           "required": [
1235             "message",
1236             "code"
1237           ]
1238         },
1239         "ErrorInfo": {
1240           "type": "object",
1241           "properties": {
1242             "macaroon": {
1243               "$ref": "#/definitions/Macaroon"
1244             },
1245             "macaroon-path": {
1246               "type": "string"
1247             }
1248           },
1249           "additionalProperties": false
1250         },
1251         "ErrorResult": {
1252           "type": "object",
1253           "properties": {
1254             "error": {
1255               "$ref": "#/definitions/Error"
1256             }
1257           },
1258           "additionalProperties": false
1259         },
1260         "ErrorResults": {
1261           "type": "object",
1262           "properties": {
1263             "results": {
1264               "type": "array",
1265               "items": {
1266                 "$ref": "#/definitions/ErrorResult"
1267               }
1268             }
1269           },
1270           "additionalProperties": false,
1271           "required": [
1272             "results"
1273           ]
1274         },
1275         "Macaroon": {
1276           "type": "object",
1277           "additionalProperties": false
1278         }
1279       }
1280     }
1281   },
1282   {
1283     "Name": "Application",
1284     "Version": 3,
1285     "Schema": {
1286       "type": "object",
1287       "properties": {
1288         "AddRelation": {
1289           "type": "object",
1290           "properties": {
1291             "Params": {
1292               "$ref": "#/definitions/AddRelation"
1293             },
1294             "Result": {
1295               "$ref": "#/definitions/AddRelationResults"
1296             }
1297           }
1298         },
1299         "AddUnits": {
1300           "type": "object",
1301           "properties": {
1302             "Params": {
1303               "$ref": "#/definitions/AddApplicationUnits"
1304             },
1305             "Result": {
1306               "$ref": "#/definitions/AddApplicationUnitsResults"
1307             }
1308           }
1309         },
1310         "CharmRelations": {
1311           "type": "object",
1312           "properties": {
1313             "Params": {
1314               "$ref": "#/definitions/ApplicationCharmRelations"
1315             },
1316             "Result": {
1317               "$ref": "#/definitions/ApplicationCharmRelationsResults"
1318             }
1319           }
1320         },
1321         "Deploy": {
1322           "type": "object",
1323           "properties": {
1324             "Params": {
1325               "$ref": "#/definitions/ApplicationsDeploy"
1326             },
1327             "Result": {
1328               "$ref": "#/definitions/ErrorResults"
1329             }
1330           }
1331         },
1332         "Destroy": {
1333           "type": "object",
1334           "properties": {
1335             "Params": {
1336               "$ref": "#/definitions/ApplicationDestroy"
1337             }
1338           }
1339         },
1340         "DestroyRelation": {
1341           "type": "object",
1342           "properties": {
1343             "Params": {
1344               "$ref": "#/definitions/DestroyRelation"
1345             }
1346           }
1347         },
1348         "DestroyUnits": {
1349           "type": "object",
1350           "properties": {
1351             "Params": {
1352               "$ref": "#/definitions/DestroyApplicationUnits"
1353             }
1354           }
1355         },
1356         "Expose": {
1357           "type": "object",
1358           "properties": {
1359             "Params": {
1360               "$ref": "#/definitions/ApplicationExpose"
1361             }
1362           }
1363         },
1364         "Get": {
1365           "type": "object",
1366           "properties": {
1367             "Params": {
1368               "$ref": "#/definitions/ApplicationGet"
1369             },
1370             "Result": {
1371               "$ref": "#/definitions/ApplicationGetResults"
1372             }
1373           }
1374         },
1375         "GetCharmURL": {
1376           "type": "object",
1377           "properties": {
1378             "Params": {
1379               "$ref": "#/definitions/ApplicationGet"
1380             },
1381             "Result": {
1382               "$ref": "#/definitions/StringResult"
1383             }
1384           }
1385         },
1386         "GetConstraints": {
1387           "type": "object",
1388           "properties": {
1389             "Params": {
1390               "$ref": "#/definitions/GetApplicationConstraints"
1391             },
1392             "Result": {
1393               "$ref": "#/definitions/GetConstraintsResults"
1394             }
1395           }
1396         },
1397         "Set": {
1398           "type": "object",
1399           "properties": {
1400             "Params": {
1401               "$ref": "#/definitions/ApplicationSet"
1402             }
1403           }
1404         },
1405         "SetCharm": {
1406           "type": "object",
1407           "properties": {
1408             "Params": {
1409               "$ref": "#/definitions/ApplicationSetCharm"
1410             }
1411           }
1412         },
1413         "SetConstraints": {
1414           "type": "object",
1415           "properties": {
1416             "Params": {
1417               "$ref": "#/definitions/SetConstraints"
1418             }
1419           }
1420         },
1421         "SetMetricCredentials": {
1422           "type": "object",
1423           "properties": {
1424             "Params": {
1425               "$ref": "#/definitions/ApplicationMetricCredentials"
1426             },
1427             "Result": {
1428               "$ref": "#/definitions/ErrorResults"
1429             }
1430           }
1431         },
1432         "Unexpose": {
1433           "type": "object",
1434           "properties": {
1435             "Params": {
1436               "$ref": "#/definitions/ApplicationUnexpose"
1437             }
1438           }
1439         },
1440         "Unset": {
1441           "type": "object",
1442           "properties": {
1443             "Params": {
1444               "$ref": "#/definitions/ApplicationUnset"
1445             }
1446           }
1447         },
1448         "Update": {
1449           "type": "object",
1450           "properties": {
1451             "Params": {
1452               "$ref": "#/definitions/ApplicationUpdate"
1453             }
1454           }
1455         }
1456       },
1457       "definitions": {
1458         "AddApplicationUnits": {
1459           "type": "object",
1460           "properties": {
1461             "application": {
1462               "type": "string"
1463             },
1464             "num-units": {
1465               "type": "integer"
1466             },
1467             "placement": {
1468               "type": "array",
1469               "items": {
1470                 "$ref": "#/definitions/Placement"
1471               }
1472             }
1473           },
1474           "additionalProperties": false,
1475           "required": [
1476             "application",
1477             "num-units",
1478             "placement"
1479           ]
1480         },
1481         "AddApplicationUnitsResults": {
1482           "type": "object",
1483           "properties": {
1484             "units": {
1485               "type": "array",
1486               "items": {
1487                 "type": "string"
1488               }
1489             }
1490           },
1491           "additionalProperties": false,
1492           "required": [
1493             "units"
1494           ]
1495         },
1496         "AddRelation": {
1497           "type": "object",
1498           "properties": {
1499             "endpoints": {
1500               "type": "array",
1501               "items": {
1502                 "type": "string"
1503               }
1504             }
1505           },
1506           "additionalProperties": false,
1507           "required": [
1508             "endpoints"
1509           ]
1510         },
1511         "AddRelationResults": {
1512           "type": "object",
1513           "properties": {
1514             "endpoints": {
1515               "type": "object",
1516               "patternProperties": {
1517                 ".*": {
1518                   "$ref": "#/definitions/CharmRelation"
1519                 }
1520               }
1521             }
1522           },
1523           "additionalProperties": false,
1524           "required": [
1525             "endpoints"
1526           ]
1527         },
1528         "ApplicationCharmRelations": {
1529           "type": "object",
1530           "properties": {
1531             "application": {
1532               "type": "string"
1533             }
1534           },
1535           "additionalProperties": false,
1536           "required": [
1537             "application"
1538           ]
1539         },
1540         "ApplicationCharmRelationsResults": {
1541           "type": "object",
1542           "properties": {
1543             "charm-relations": {
1544               "type": "array",
1545               "items": {
1546                 "type": "string"
1547               }
1548             }
1549           },
1550           "additionalProperties": false,
1551           "required": [
1552             "charm-relations"
1553           ]
1554         },
1555         "ApplicationDeploy": {
1556           "type": "object",
1557           "properties": {
1558             "application": {
1559               "type": "string"
1560             },
1561             "channel": {
1562               "type": "string"
1563             },
1564             "charm-url": {
1565               "type": "string"
1566             },
1567             "config": {
1568               "type": "object",
1569               "patternProperties": {
1570                 ".*": {
1571                   "type": "string"
1572                 }
1573               }
1574             },
1575             "config-yaml": {
1576               "type": "string"
1577             },
1578             "constraints": {
1579               "$ref": "#/definitions/Value"
1580             },
1581             "endpoint-bindings": {
1582               "type": "object",
1583               "patternProperties": {
1584                 ".*": {
1585                   "type": "string"
1586                 }
1587               }
1588             },
1589             "num-units": {
1590               "type": "integer"
1591             },
1592             "placement": {
1593               "type": "array",
1594               "items": {
1595                 "$ref": "#/definitions/Placement"
1596               }
1597             },
1598             "resources": {
1599               "type": "object",
1600               "patternProperties": {
1601                 ".*": {
1602                   "type": "string"
1603                 }
1604               }
1605             },
1606             "series": {
1607               "type": "string"
1608             },
1609             "storage": {
1610               "type": "object",
1611               "patternProperties": {
1612                 ".*": {
1613                   "$ref": "#/definitions/Constraints"
1614                 }
1615               }
1616             }
1617           },
1618           "additionalProperties": false,
1619           "required": [
1620             "application",
1621             "series",
1622             "charm-url",
1623             "channel",
1624             "num-units",
1625             "config-yaml",
1626             "constraints"
1627           ]
1628         },
1629         "ApplicationDestroy": {
1630           "type": "object",
1631           "properties": {
1632             "application": {
1633               "type": "string"
1634             }
1635           },
1636           "additionalProperties": false,
1637           "required": [
1638             "application"
1639           ]
1640         },
1641         "ApplicationExpose": {
1642           "type": "object",
1643           "properties": {
1644             "application": {
1645               "type": "string"
1646             }
1647           },
1648           "additionalProperties": false,
1649           "required": [
1650             "application"
1651           ]
1652         },
1653         "ApplicationGet": {
1654           "type": "object",
1655           "properties": {
1656             "application": {
1657               "type": "string"
1658             }
1659           },
1660           "additionalProperties": false,
1661           "required": [
1662             "application"
1663           ]
1664         },
1665         "ApplicationGetResults": {
1666           "type": "object",
1667           "properties": {
1668             "application": {
1669               "type": "string"
1670             },
1671             "charm": {
1672               "type": "string"
1673             },
1674             "config": {
1675               "type": "object",
1676               "patternProperties": {
1677                 ".*": {
1678                   "type": "object",
1679                   "additionalProperties": true
1680                 }
1681               }
1682             },
1683             "constraints": {
1684               "$ref": "#/definitions/Value"
1685             },
1686             "series": {
1687               "type": "string"
1688             }
1689           },
1690           "additionalProperties": false,
1691           "required": [
1692             "application",
1693             "charm",
1694             "config",
1695             "constraints",
1696             "series"
1697           ]
1698         },
1699         "ApplicationMetricCredential": {
1700           "type": "object",
1701           "properties": {
1702             "application": {
1703               "type": "string"
1704             },
1705             "metrics-credentials": {
1706               "type": "array",
1707               "items": {
1708                 "type": "integer"
1709               }
1710             }
1711           },
1712           "additionalProperties": false,
1713           "required": [
1714             "application",
1715             "metrics-credentials"
1716           ]
1717         },
1718         "ApplicationMetricCredentials": {
1719           "type": "object",
1720           "properties": {
1721             "creds": {
1722               "type": "array",
1723               "items": {
1724                 "$ref": "#/definitions/ApplicationMetricCredential"
1725               }
1726             }
1727           },
1728           "additionalProperties": false,
1729           "required": [
1730             "creds"
1731           ]
1732         },
1733         "ApplicationSet": {
1734           "type": "object",
1735           "properties": {
1736             "application": {
1737               "type": "string"
1738             },
1739             "options": {
1740               "type": "object",
1741               "patternProperties": {
1742                 ".*": {
1743                   "type": "string"
1744                 }
1745               }
1746             }
1747           },
1748           "additionalProperties": false,
1749           "required": [
1750             "application",
1751             "options"
1752           ]
1753         },
1754         "ApplicationSetCharm": {
1755           "type": "object",
1756           "properties": {
1757             "application": {
1758               "type": "string"
1759             },
1760             "channel": {
1761               "type": "string"
1762             },
1763             "charm-url": {
1764               "type": "string"
1765             },
1766             "config-settings": {
1767               "type": "object",
1768               "patternProperties": {
1769                 ".*": {
1770                   "type": "string"
1771                 }
1772               }
1773             },
1774             "config-settings-yaml": {
1775               "type": "string"
1776             },
1777             "force-series": {
1778               "type": "boolean"
1779             },
1780             "force-units": {
1781               "type": "boolean"
1782             },
1783             "resource-ids": {
1784               "type": "object",
1785               "patternProperties": {
1786                 ".*": {
1787                   "type": "string"
1788                 }
1789               }
1790             },
1791             "storage-constraints": {
1792               "type": "object",
1793               "patternProperties": {
1794                 ".*": {
1795                   "$ref": "#/definitions/StorageConstraints"
1796                 }
1797               }
1798             }
1799           },
1800           "additionalProperties": false,
1801           "required": [
1802             "application",
1803             "charm-url",
1804             "channel",
1805             "force-units",
1806             "force-series"
1807           ]
1808         },
1809         "ApplicationUnexpose": {
1810           "type": "object",
1811           "properties": {
1812             "application": {
1813               "type": "string"
1814             }
1815           },
1816           "additionalProperties": false,
1817           "required": [
1818             "application"
1819           ]
1820         },
1821         "ApplicationUnset": {
1822           "type": "object",
1823           "properties": {
1824             "application": {
1825               "type": "string"
1826             },
1827             "options": {
1828               "type": "array",
1829               "items": {
1830                 "type": "string"
1831               }
1832             }
1833           },
1834           "additionalProperties": false,
1835           "required": [
1836             "application",
1837             "options"
1838           ]
1839         },
1840         "ApplicationUpdate": {
1841           "type": "object",
1842           "properties": {
1843             "application": {
1844               "type": "string"
1845             },
1846             "charm-url": {
1847               "type": "string"
1848             },
1849             "constraints": {
1850               "$ref": "#/definitions/Value"
1851             },
1852             "force-charm-url": {
1853               "type": "boolean"
1854             },
1855             "force-series": {
1856               "type": "boolean"
1857             },
1858             "min-units": {
1859               "type": "integer"
1860             },
1861             "settings": {
1862               "type": "object",
1863               "patternProperties": {
1864                 ".*": {
1865                   "type": "string"
1866                 }
1867               }
1868             },
1869             "settings-yaml": {
1870               "type": "string"
1871             }
1872           },
1873           "additionalProperties": false,
1874           "required": [
1875             "application",
1876             "charm-url",
1877             "force-charm-url",
1878             "force-series",
1879             "settings-yaml"
1880           ]
1881         },
1882         "ApplicationsDeploy": {
1883           "type": "object",
1884           "properties": {
1885             "applications": {
1886               "type": "array",
1887               "items": {
1888                 "$ref": "#/definitions/ApplicationDeploy"
1889               }
1890             }
1891           },
1892           "additionalProperties": false,
1893           "required": [
1894             "applications"
1895           ]
1896         },
1897         "CharmRelation": {
1898           "type": "object",
1899           "properties": {
1900             "interface": {
1901               "type": "string"
1902             },
1903             "limit": {
1904               "type": "integer"
1905             },
1906             "name": {
1907               "type": "string"
1908             },
1909             "optional": {
1910               "type": "boolean"
1911             },
1912             "role": {
1913               "type": "string"
1914             },
1915             "scope": {
1916               "type": "string"
1917             }
1918           },
1919           "additionalProperties": false,
1920           "required": [
1921             "name",
1922             "role",
1923             "interface",
1924             "optional",
1925             "limit",
1926             "scope"
1927           ]
1928         },
1929         "Constraints": {
1930           "type": "object",
1931           "properties": {
1932             "Count": {
1933               "type": "integer"
1934             },
1935             "Pool": {
1936               "type": "string"
1937             },
1938             "Size": {
1939               "type": "integer"
1940             }
1941           },
1942           "additionalProperties": false,
1943           "required": [
1944             "Pool",
1945             "Size",
1946             "Count"
1947           ]
1948         },
1949         "DestroyApplicationUnits": {
1950           "type": "object",
1951           "properties": {
1952             "unit-names": {
1953               "type": "array",
1954               "items": {
1955                 "type": "string"
1956               }
1957             }
1958           },
1959           "additionalProperties": false,
1960           "required": [
1961             "unit-names"
1962           ]
1963         },
1964         "DestroyRelation": {
1965           "type": "object",
1966           "properties": {
1967             "endpoints": {
1968               "type": "array",
1969               "items": {
1970                 "type": "string"
1971               }
1972             }
1973           },
1974           "additionalProperties": false,
1975           "required": [
1976             "endpoints"
1977           ]
1978         },
1979         "Error": {
1980           "type": "object",
1981           "properties": {
1982             "code": {
1983               "type": "string"
1984             },
1985             "info": {
1986               "$ref": "#/definitions/ErrorInfo"
1987             },
1988             "message": {
1989               "type": "string"
1990             }
1991           },
1992           "additionalProperties": false,
1993           "required": [
1994             "message",
1995             "code"
1996           ]
1997         },
1998         "ErrorInfo": {
1999           "type": "object",
2000           "properties": {
2001             "macaroon": {
2002               "$ref": "#/definitions/Macaroon"
2003             },
2004             "macaroon-path": {
2005               "type": "string"
2006             }
2007           },
2008           "additionalProperties": false
2009         },
2010         "ErrorResult": {
2011           "type": "object",
2012           "properties": {
2013             "error": {
2014               "$ref": "#/definitions/Error"
2015             }
2016           },
2017           "additionalProperties": false
2018         },
2019         "ErrorResults": {
2020           "type": "object",
2021           "properties": {
2022             "results": {
2023               "type": "array",
2024               "items": {
2025                 "$ref": "#/definitions/ErrorResult"
2026               }
2027             }
2028           },
2029           "additionalProperties": false,
2030           "required": [
2031             "results"
2032           ]
2033         },
2034         "GetApplicationConstraints": {
2035           "type": "object",
2036           "properties": {
2037             "application": {
2038               "type": "string"
2039             }
2040           },
2041           "additionalProperties": false,
2042           "required": [
2043             "application"
2044           ]
2045         },
2046         "GetConstraintsResults": {
2047           "type": "object",
2048           "properties": {
2049             "constraints": {
2050               "$ref": "#/definitions/Value"
2051             }
2052           },
2053           "additionalProperties": false,
2054           "required": [
2055             "constraints"
2056           ]
2057         },
2058         "Macaroon": {
2059           "type": "object",
2060           "additionalProperties": false
2061         },
2062         "Placement": {
2063           "type": "object",
2064           "properties": {
2065             "directive": {
2066               "type": "string"
2067             },
2068             "scope": {
2069               "type": "string"
2070             }
2071           },
2072           "additionalProperties": false,
2073           "required": [
2074             "scope",
2075             "directive"
2076           ]
2077         },
2078         "SetConstraints": {
2079           "type": "object",
2080           "properties": {
2081             "application": {
2082               "type": "string"
2083             },
2084             "constraints": {
2085               "$ref": "#/definitions/Value"
2086             }
2087           },
2088           "additionalProperties": false,
2089           "required": [
2090             "application",
2091             "constraints"
2092           ]
2093         },
2094         "StorageConstraints": {
2095           "type": "object",
2096           "properties": {
2097             "count": {
2098               "type": "integer"
2099             },
2100             "pool": {
2101               "type": "string"
2102             },
2103             "size": {
2104               "type": "integer"
2105             }
2106           },
2107           "additionalProperties": false
2108         },
2109         "StringResult": {
2110           "type": "object",
2111           "properties": {
2112             "error": {
2113               "$ref": "#/definitions/Error"
2114             },
2115             "result": {
2116               "type": "string"
2117             }
2118           },
2119           "additionalProperties": false,
2120           "required": [
2121             "result"
2122           ]
2123         },
2124         "Value": {
2125           "type": "object",
2126           "properties": {
2127             "arch": {
2128               "type": "string"
2129             },
2130             "container": {
2131               "type": "string"
2132             },
2133             "cores": {
2134               "type": "integer"
2135             },
2136             "cpu-power": {
2137               "type": "integer"
2138             },
2139             "instance-type": {
2140               "type": "string"
2141             },
2142             "mem": {
2143               "type": "integer"
2144             },
2145             "root-disk": {
2146               "type": "integer"
2147             },
2148             "spaces": {
2149               "type": "array",
2150               "items": {
2151                 "type": "string"
2152               }
2153             },
2154             "tags": {
2155               "type": "array",
2156               "items": {
2157                 "type": "string"
2158               }
2159             },
2160             "virt-type": {
2161               "type": "string"
2162             }
2163           },
2164           "additionalProperties": false
2165         }
2166       }
2167     }
2168   },
2169   {
2170     "Name": "ApplicationRelationsWatcher",
2171     "Version": 1,
2172     "Schema": {
2173       "type": "object",
2174       "properties": {
2175         "Next": {
2176           "type": "object",
2177           "properties": {
2178             "Result": {
2179               "$ref": "#/definitions/ApplicationRelationsWatchResult"
2180             }
2181           }
2182         },
2183         "Stop": {
2184           "type": "object"
2185         }
2186       },
2187       "definitions": {
2188         "ApplicationRelationsChange": {
2189           "type": "object",
2190           "properties": {
2191             "changed": {
2192               "type": "array",
2193               "items": {
2194                 "$ref": "#/definitions/RelationChange"
2195               }
2196             },
2197             "removed": {
2198               "type": "array",
2199               "items": {
2200                 "type": "integer"
2201               }
2202             }
2203           },
2204           "additionalProperties": false
2205         },
2206         "ApplicationRelationsWatchResult": {
2207           "type": "object",
2208           "properties": {
2209             "ApplicationRelationsWatcherId": {
2210               "type": "string"
2211             },
2212             "changes": {
2213               "$ref": "#/definitions/ApplicationRelationsChange"
2214             },
2215             "error": {
2216               "$ref": "#/definitions/Error"
2217             }
2218           },
2219           "additionalProperties": false,
2220           "required": [
2221             "ApplicationRelationsWatcherId"
2222           ]
2223         },
2224         "Error": {
2225           "type": "object",
2226           "properties": {
2227             "code": {
2228               "type": "string"
2229             },
2230             "info": {
2231               "$ref": "#/definitions/ErrorInfo"
2232             },
2233             "message": {
2234               "type": "string"
2235             }
2236           },
2237           "additionalProperties": false,
2238           "required": [
2239             "message",
2240             "code"
2241           ]
2242         },
2243         "ErrorInfo": {
2244           "type": "object",
2245           "properties": {
2246             "macaroon": {
2247               "$ref": "#/definitions/Macaroon"
2248             },
2249             "macaroon-path": {
2250               "type": "string"
2251             }
2252           },
2253           "additionalProperties": false
2254         },
2255         "Macaroon": {
2256           "type": "object",
2257           "additionalProperties": false
2258         },
2259         "RelationChange": {
2260           "type": "object",
2261           "properties": {
2262             "changedunits": {
2263               "type": "object",
2264               "patternProperties": {
2265                 ".*": {
2266                   "$ref": "#/definitions/RelationUnitChange"
2267                 }
2268               }
2269             },
2270             "departedunits": {
2271               "type": "array",
2272               "items": {
2273                 "type": "string"
2274               }
2275             },
2276             "id": {
2277               "type": "integer"
2278             },
2279             "life": {
2280               "type": "string"
2281             }
2282           },
2283           "additionalProperties": false,
2284           "required": [
2285             "id",
2286             "life"
2287           ]
2288         },
2289         "RelationUnitChange": {
2290           "type": "object",
2291           "properties": {
2292             "settings": {
2293               "type": "object",
2294               "patternProperties": {
2295                 ".*": {
2296                   "type": "object",
2297                   "additionalProperties": true
2298                 }
2299               }
2300             }
2301           },
2302           "additionalProperties": false
2303         }
2304       }
2305     }
2306   },
2307   {
2308     "Name": "ApplicationScaler",
2309     "Version": 1,
2310     "Schema": {
2311       "type": "object",
2312       "properties": {
2313         "Rescale": {
2314           "type": "object",
2315           "properties": {
2316             "Params": {
2317               "$ref": "#/definitions/Entities"
2318             },
2319             "Result": {
2320               "$ref": "#/definitions/ErrorResults"
2321             }
2322           }
2323         },
2324         "Watch": {
2325           "type": "object",
2326           "properties": {
2327             "Result": {
2328               "$ref": "#/definitions/StringsWatchResult"
2329             }
2330           }
2331         }
2332       },
2333       "definitions": {
2334         "Entities": {
2335           "type": "object",
2336           "properties": {
2337             "entities": {
2338               "type": "array",
2339               "items": {
2340                 "$ref": "#/definitions/Entity"
2341               }
2342             }
2343           },
2344           "additionalProperties": false,
2345           "required": [
2346             "entities"
2347           ]
2348         },
2349         "Entity": {
2350           "type": "object",
2351           "properties": {
2352             "tag": {
2353               "type": "string"
2354             }
2355           },
2356           "additionalProperties": false,
2357           "required": [
2358             "tag"
2359           ]
2360         },
2361         "Error": {
2362           "type": "object",
2363           "properties": {
2364             "code": {
2365               "type": "string"
2366             },
2367             "info": {
2368               "$ref": "#/definitions/ErrorInfo"
2369             },
2370             "message": {
2371               "type": "string"
2372             }
2373           },
2374           "additionalProperties": false,
2375           "required": [
2376             "message",
2377             "code"
2378           ]
2379         },
2380         "ErrorInfo": {
2381           "type": "object",
2382           "properties": {
2383             "macaroon": {
2384               "$ref": "#/definitions/Macaroon"
2385             },
2386             "macaroon-path": {
2387               "type": "string"
2388             }
2389           },
2390           "additionalProperties": false
2391         },
2392         "ErrorResult": {
2393           "type": "object",
2394           "properties": {
2395             "error": {
2396               "$ref": "#/definitions/Error"
2397             }
2398           },
2399           "additionalProperties": false
2400         },
2401         "ErrorResults": {
2402           "type": "object",
2403           "properties": {
2404             "results": {
2405               "type": "array",
2406               "items": {
2407                 "$ref": "#/definitions/ErrorResult"
2408               }
2409             }
2410           },
2411           "additionalProperties": false,
2412           "required": [
2413             "results"
2414           ]
2415         },
2416         "Macaroon": {
2417           "type": "object",
2418           "additionalProperties": false
2419         },
2420         "StringsWatchResult": {
2421           "type": "object",
2422           "properties": {
2423             "changes": {
2424               "type": "array",
2425               "items": {
2426                 "type": "string"
2427               }
2428             },
2429             "error": {
2430               "$ref": "#/definitions/Error"
2431             },
2432             "watcher-id": {
2433               "type": "string"
2434             }
2435           },
2436           "additionalProperties": false,
2437           "required": [
2438             "watcher-id"
2439           ]
2440         }
2441       }
2442     }
2443   },
2444   {
2445     "Name": "Backups",
2446     "Version": 1,
2447     "Schema": {
2448       "type": "object",
2449       "properties": {
2450         "Create": {
2451           "type": "object",
2452           "properties": {
2453             "Params": {
2454               "$ref": "#/definitions/BackupsCreateArgs"
2455             },
2456             "Result": {
2457               "$ref": "#/definitions/BackupsMetadataResult"
2458             }
2459           }
2460         },
2461         "FinishRestore": {
2462           "type": "object"
2463         },
2464         "Info": {
2465           "type": "object",
2466           "properties": {
2467             "Params": {
2468               "$ref": "#/definitions/BackupsInfoArgs"
2469             },
2470             "Result": {
2471               "$ref": "#/definitions/BackupsMetadataResult"
2472             }
2473           }
2474         },
2475         "List": {
2476           "type": "object",
2477           "properties": {
2478             "Params": {
2479               "$ref": "#/definitions/BackupsListArgs"
2480             },
2481             "Result": {
2482               "$ref": "#/definitions/BackupsListResult"
2483             }
2484           }
2485         },
2486         "PrepareRestore": {
2487           "type": "object"
2488         },
2489         "Remove": {
2490           "type": "object",
2491           "properties": {
2492             "Params": {
2493               "$ref": "#/definitions/BackupsRemoveArgs"
2494             }
2495           }
2496         },
2497         "Restore": {
2498           "type": "object",
2499           "properties": {
2500             "Params": {
2501               "$ref": "#/definitions/RestoreArgs"
2502             }
2503           }
2504         }
2505       },
2506       "definitions": {
2507         "BackupsCreateArgs": {
2508           "type": "object",
2509           "properties": {
2510             "notes": {
2511               "type": "string"
2512             }
2513           },
2514           "additionalProperties": false,
2515           "required": [
2516             "notes"
2517           ]
2518         },
2519         "BackupsInfoArgs": {
2520           "type": "object",
2521           "properties": {
2522             "id": {
2523               "type": "string"
2524             }
2525           },
2526           "additionalProperties": false,
2527           "required": [
2528             "id"
2529           ]
2530         },
2531         "BackupsListArgs": {
2532           "type": "object",
2533           "additionalProperties": false
2534         },
2535         "BackupsListResult": {
2536           "type": "object",
2537           "properties": {
2538             "list": {
2539               "type": "array",
2540               "items": {
2541                 "$ref": "#/definitions/BackupsMetadataResult"
2542               }
2543             }
2544           },
2545           "additionalProperties": false,
2546           "required": [
2547             "list"
2548           ]
2549         },
2550         "BackupsMetadataResult": {
2551           "type": "object",
2552           "properties": {
2553             "ca-cert": {
2554               "type": "string"
2555             },
2556             "ca-private-key": {
2557               "type": "string"
2558             },
2559             "checksum": {
2560               "type": "string"
2561             },
2562             "checksum-format": {
2563               "type": "string"
2564             },
2565             "finished": {
2566               "type": "string",
2567               "format": "date-time"
2568             },
2569             "hostname": {
2570               "type": "string"
2571             },
2572             "id": {
2573               "type": "string"
2574             },
2575             "machine": {
2576               "type": "string"
2577             },
2578             "model": {
2579               "type": "string"
2580             },
2581             "notes": {
2582               "type": "string"
2583             },
2584             "series": {
2585               "type": "string"
2586             },
2587             "size": {
2588               "type": "integer"
2589             },
2590             "started": {
2591               "type": "string",
2592               "format": "date-time"
2593             },
2594             "stored": {
2595               "type": "string",
2596               "format": "date-time"
2597             },
2598             "version": {
2599               "$ref": "#/definitions/Number"
2600             }
2601           },
2602           "additionalProperties": false,
2603           "required": [
2604             "id",
2605             "checksum",
2606             "checksum-format",
2607             "size",
2608             "stored",
2609             "started",
2610             "finished",
2611             "notes",
2612             "model",
2613             "machine",
2614             "hostname",
2615             "version",
2616             "series",
2617             "ca-cert",
2618             "ca-private-key"
2619           ]
2620         },
2621         "BackupsRemoveArgs": {
2622           "type": "object",
2623           "properties": {
2624             "id": {
2625               "type": "string"
2626             }
2627           },
2628           "additionalProperties": false,
2629           "required": [
2630             "id"
2631           ]
2632         },
2633         "Number": {
2634           "type": "object",
2635           "properties": {
2636             "Build": {
2637               "type": "integer"
2638             },
2639             "Major": {
2640               "type": "integer"
2641             },
2642             "Minor": {
2643               "type": "integer"
2644             },
2645             "Patch": {
2646               "type": "integer"
2647             },
2648             "Tag": {
2649               "type": "string"
2650             }
2651           },
2652           "additionalProperties": false,
2653           "required": [
2654             "Major",
2655             "Minor",
2656             "Tag",
2657             "Patch",
2658             "Build"
2659           ]
2660         },
2661         "RestoreArgs": {
2662           "type": "object",
2663           "properties": {
2664             "backup-id": {
2665               "type": "string"
2666             }
2667           },
2668           "additionalProperties": false,
2669           "required": [
2670             "backup-id"
2671           ]
2672         }
2673       }
2674     }
2675   },
2676   {
2677     "Name": "Block",
2678     "Version": 2,
2679     "Schema": {
2680       "type": "object",
2681       "properties": {
2682         "List": {
2683           "type": "object",
2684           "properties": {
2685             "Result": {
2686               "$ref": "#/definitions/BlockResults"
2687             }
2688           }
2689         },
2690         "SwitchBlockOff": {
2691           "type": "object",
2692           "properties": {
2693             "Params": {
2694               "$ref": "#/definitions/BlockSwitchParams"
2695             },
2696             "Result": {
2697               "$ref": "#/definitions/ErrorResult"
2698             }
2699           }
2700         },
2701         "SwitchBlockOn": {
2702           "type": "object",
2703           "properties": {
2704             "Params": {
2705               "$ref": "#/definitions/BlockSwitchParams"
2706             },
2707             "Result": {
2708               "$ref": "#/definitions/ErrorResult"
2709             }
2710           }
2711         }
2712       },
2713       "definitions": {
2714         "Block": {
2715           "type": "object",
2716           "properties": {
2717             "id": {
2718               "type": "string"
2719             },
2720             "message": {
2721               "type": "string"
2722             },
2723             "tag": {
2724               "type": "string"
2725             },
2726             "type": {
2727               "type": "string"
2728             }
2729           },
2730           "additionalProperties": false,
2731           "required": [
2732             "id",
2733             "tag",
2734             "type"
2735           ]
2736         },
2737         "BlockResult": {
2738           "type": "object",
2739           "properties": {
2740             "error": {
2741               "$ref": "#/definitions/Error"
2742             },
2743             "result": {
2744               "$ref": "#/definitions/Block"
2745             }
2746           },
2747           "additionalProperties": false,
2748           "required": [
2749             "result"
2750           ]
2751         },
2752         "BlockResults": {
2753           "type": "object",
2754           "properties": {
2755             "results": {
2756               "type": "array",
2757               "items": {
2758                 "$ref": "#/definitions/BlockResult"
2759               }
2760             }
2761           },
2762           "additionalProperties": false
2763         },
2764         "BlockSwitchParams": {
2765           "type": "object",
2766           "properties": {
2767             "message": {
2768               "type": "string"
2769             },
2770             "type": {
2771               "type": "string"
2772             }
2773           },
2774           "additionalProperties": false,
2775           "required": [
2776             "type"
2777           ]
2778         },
2779         "Error": {
2780           "type": "object",
2781           "properties": {
2782             "code": {
2783               "type": "string"
2784             },
2785             "info": {
2786               "$ref": "#/definitions/ErrorInfo"
2787             },
2788             "message": {
2789               "type": "string"
2790             }
2791           },
2792           "additionalProperties": false,
2793           "required": [
2794             "message",
2795             "code"
2796           ]
2797         },
2798         "ErrorInfo": {
2799           "type": "object",
2800           "properties": {
2801             "macaroon": {
2802               "$ref": "#/definitions/Macaroon"
2803             },
2804             "macaroon-path": {
2805               "type": "string"
2806             }
2807           },
2808           "additionalProperties": false
2809         },
2810         "ErrorResult": {
2811           "type": "object",
2812           "properties": {
2813             "error": {
2814               "$ref": "#/definitions/Error"
2815             }
2816           },
2817           "additionalProperties": false
2818         },
2819         "Macaroon": {
2820           "type": "object",
2821           "additionalProperties": false
2822         }
2823       }
2824     }
2825   },
2826   {
2827     "Name": "Bundle",
2828     "Version": 1,
2829     "Schema": {
2830       "type": "object",
2831       "properties": {
2832         "GetChanges": {
2833           "type": "object",
2834           "properties": {
2835             "Params": {
2836               "$ref": "#/definitions/BundleChangesParams"
2837             },
2838             "Result": {
2839               "$ref": "#/definitions/BundleChangesResults"
2840             }
2841           }
2842         }
2843       },
2844       "definitions": {
2845         "BundleChange": {
2846           "type": "object",
2847           "properties": {
2848             "args": {
2849               "type": "array",
2850               "items": {
2851                 "type": "object",
2852                 "additionalProperties": true
2853               }
2854             },
2855             "id": {
2856               "type": "string"
2857             },
2858             "method": {
2859               "type": "string"
2860             },
2861             "requires": {
2862               "type": "array",
2863               "items": {
2864                 "type": "string"
2865               }
2866             }
2867           },
2868           "additionalProperties": false,
2869           "required": [
2870             "id",
2871             "method",
2872             "args",
2873             "requires"
2874           ]
2875         },
2876         "BundleChangesParams": {
2877           "type": "object",
2878           "properties": {
2879             "yaml": {
2880               "type": "string"
2881             }
2882           },
2883           "additionalProperties": false,
2884           "required": [
2885             "yaml"
2886           ]
2887         },
2888         "BundleChangesResults": {
2889           "type": "object",
2890           "properties": {
2891             "changes": {
2892               "type": "array",
2893               "items": {
2894                 "$ref": "#/definitions/BundleChange"
2895               }
2896             },
2897             "errors": {
2898               "type": "array",
2899               "items": {
2900                 "type": "string"
2901               }
2902             }
2903           },
2904           "additionalProperties": false
2905         }
2906       }
2907     }
2908   },
2909   {
2910     "Name": "CharmRevisionUpdater",
2911     "Version": 2,
2912     "Schema": {
2913       "type": "object",
2914       "properties": {
2915         "UpdateLatestRevisions": {
2916           "type": "object",
2917           "properties": {
2918             "Result": {
2919               "$ref": "#/definitions/ErrorResult"
2920             }
2921           }
2922         }
2923       },
2924       "definitions": {
2925         "Error": {
2926           "type": "object",
2927           "properties": {
2928             "code": {
2929               "type": "string"
2930             },
2931             "info": {
2932               "$ref": "#/definitions/ErrorInfo"
2933             },
2934             "message": {
2935               "type": "string"
2936             }
2937           },
2938           "additionalProperties": false,
2939           "required": [
2940             "message",
2941             "code"
2942           ]
2943         },
2944         "ErrorInfo": {
2945           "type": "object",
2946           "properties": {
2947             "macaroon": {
2948               "$ref": "#/definitions/Macaroon"
2949             },
2950             "macaroon-path": {
2951               "type": "string"
2952             }
2953           },
2954           "additionalProperties": false
2955         },
2956         "ErrorResult": {
2957           "type": "object",
2958           "properties": {
2959             "error": {
2960               "$ref": "#/definitions/Error"
2961             }
2962           },
2963           "additionalProperties": false
2964         },
2965         "Macaroon": {
2966           "type": "object",
2967           "additionalProperties": false
2968         }
2969       }
2970     }
2971   },
2972   {
2973     "Name": "Charms",
2974     "Version": 2,
2975     "Schema": {
2976       "type": "object",
2977       "properties": {
2978         "CharmInfo": {
2979           "type": "object",
2980           "properties": {
2981             "Params": {
2982               "$ref": "#/definitions/CharmURL"
2983             },
2984             "Result": {
2985               "$ref": "#/definitions/CharmInfo"
2986             }
2987           }
2988         },
2989         "IsMetered": {
2990           "type": "object",
2991           "properties": {
2992             "Params": {
2993               "$ref": "#/definitions/CharmURL"
2994             },
2995             "Result": {
2996               "$ref": "#/definitions/IsMeteredResult"
2997             }
2998           }
2999         },
3000         "List": {
3001           "type": "object",
3002           "properties": {
3003             "Params": {
3004               "$ref": "#/definitions/CharmsList"
3005             },
3006             "Result": {
3007               "$ref": "#/definitions/CharmsListResult"
3008             }
3009           }
3010         }
3011       },
3012       "definitions": {
3013         "CharmActionSpec": {
3014           "type": "object",
3015           "properties": {
3016             "description": {
3017               "type": "string"
3018             },
3019             "params": {
3020               "type": "object",
3021               "patternProperties": {
3022                 ".*": {
3023                   "type": "object",
3024                   "additionalProperties": true
3025                 }
3026               }
3027             }
3028           },
3029           "additionalProperties": false,
3030           "required": [
3031             "description",
3032             "params"
3033           ]
3034         },
3035         "CharmActions": {
3036           "type": "object",
3037           "properties": {
3038             "specs": {
3039               "type": "object",
3040               "patternProperties": {
3041                 ".*": {
3042                   "$ref": "#/definitions/CharmActionSpec"
3043                 }
3044               }
3045             }
3046           },
3047           "additionalProperties": false
3048         },
3049         "CharmInfo": {
3050           "type": "object",
3051           "properties": {
3052             "actions": {
3053               "$ref": "#/definitions/CharmActions"
3054             },
3055             "config": {
3056               "type": "object",
3057               "patternProperties": {
3058                 ".*": {
3059                   "$ref": "#/definitions/CharmOption"
3060                 }
3061               }
3062             },
3063             "meta": {
3064               "$ref": "#/definitions/CharmMeta"
3065             },
3066             "metrics": {
3067               "$ref": "#/definitions/CharmMetrics"
3068             },
3069             "revision": {
3070               "type": "integer"
3071             },
3072             "url": {
3073               "type": "string"
3074             }
3075           },
3076           "additionalProperties": false,
3077           "required": [
3078             "revision",
3079             "url",
3080             "config"
3081           ]
3082         },
3083         "CharmMeta": {
3084           "type": "object",
3085           "properties": {
3086             "categories": {
3087               "type": "array",
3088               "items": {
3089                 "type": "string"
3090               }
3091             },
3092             "description": {
3093               "type": "string"
3094             },
3095             "extra-bindings": {
3096               "type": "object",
3097               "patternProperties": {
3098                 ".*": {
3099                   "type": "string"
3100                 }
3101               }
3102             },
3103             "min-juju-version": {
3104               "type": "string"
3105             },
3106             "name": {
3107               "type": "string"
3108             },
3109             "payload-classes": {
3110               "type": "object",
3111               "patternProperties": {
3112                 ".*": {
3113                   "$ref": "#/definitions/CharmPayloadClass"
3114                 }
3115               }
3116             },
3117             "peers": {
3118               "type": "object",
3119               "patternProperties": {
3120                 ".*": {
3121                   "$ref": "#/definitions/CharmRelation"
3122                 }
3123               }
3124             },
3125             "provides": {
3126               "type": "object",
3127               "patternProperties": {
3128                 ".*": {
3129                   "$ref": "#/definitions/CharmRelation"
3130                 }
3131               }
3132             },
3133             "requires": {
3134               "type": "object",
3135               "patternProperties": {
3136                 ".*": {
3137                   "$ref": "#/definitions/CharmRelation"
3138                 }
3139               }
3140             },
3141             "resources": {
3142               "type": "object",
3143               "patternProperties": {
3144                 ".*": {
3145                   "$ref": "#/definitions/CharmResourceMeta"
3146                 }
3147               }
3148             },
3149             "series": {
3150               "type": "array",
3151               "items": {
3152                 "type": "string"
3153               }
3154             },
3155             "storage": {
3156               "type": "object",
3157               "patternProperties": {
3158                 ".*": {
3159                   "$ref": "#/definitions/CharmStorage"
3160                 }
3161               }
3162             },
3163             "subordinate": {
3164               "type": "boolean"
3165             },
3166             "summary": {
3167               "type": "string"
3168             },
3169             "tags": {
3170               "type": "array",
3171               "items": {
3172                 "type": "string"
3173               }
3174             },
3175             "terms": {
3176               "type": "array",
3177               "items": {
3178                 "type": "string"
3179               }
3180             }
3181           },
3182           "additionalProperties": false,
3183           "required": [
3184             "name",
3185             "summary",
3186             "description",
3187             "subordinate"
3188           ]
3189         },
3190         "CharmMetric": {
3191           "type": "object",
3192           "properties": {
3193             "description": {
3194               "type": "string"
3195             },
3196             "type": {
3197               "type": "string"
3198             }
3199           },
3200           "additionalProperties": false,
3201           "required": [
3202             "type",
3203             "description"
3204           ]
3205         },
3206         "CharmMetrics": {
3207           "type": "object",
3208           "properties": {
3209             "metrics": {
3210               "type": "object",
3211               "patternProperties": {
3212                 ".*": {
3213                   "$ref": "#/definitions/CharmMetric"
3214                 }
3215               }
3216             },
3217             "plan": {
3218               "$ref": "#/definitions/CharmPlan"
3219             }
3220           },
3221           "additionalProperties": false,
3222           "required": [
3223             "metrics",
3224             "plan"
3225           ]
3226         },
3227         "CharmOption": {
3228           "type": "object",
3229           "properties": {
3230             "default": {
3231               "type": "object",
3232               "additionalProperties": true
3233             },
3234             "description": {
3235               "type": "string"
3236             },
3237             "type": {
3238               "type": "string"
3239             }
3240           },
3241           "additionalProperties": false,
3242           "required": [
3243             "type"
3244           ]
3245         },
3246         "CharmPayloadClass": {
3247           "type": "object",
3248           "properties": {
3249             "name": {
3250               "type": "string"
3251             },
3252             "type": {
3253               "type": "string"
3254             }
3255           },
3256           "additionalProperties": false,
3257           "required": [
3258             "name",
3259             "type"
3260           ]
3261         },
3262         "CharmPlan": {
3263           "type": "object",
3264           "properties": {
3265             "required": {
3266               "type": "boolean"
3267             }
3268           },
3269           "additionalProperties": false,
3270           "required": [
3271             "required"
3272           ]
3273         },
3274         "CharmRelation": {
3275           "type": "object",
3276           "properties": {
3277             "interface": {
3278               "type": "string"
3279             },
3280             "limit": {
3281               "type": "integer"
3282             },
3283             "name": {
3284               "type": "string"
3285             },
3286             "optional": {
3287               "type": "boolean"
3288             },
3289             "role": {
3290               "type": "string"
3291             },
3292             "scope": {
3293               "type": "string"
3294             }
3295           },
3296           "additionalProperties": false,
3297           "required": [
3298             "name",
3299             "role",
3300             "interface",
3301             "optional",
3302             "limit",
3303             "scope"
3304           ]
3305         },
3306         "CharmResourceMeta": {
3307           "type": "object",
3308           "properties": {
3309             "description": {
3310               "type": "string"
3311             },
3312             "name": {
3313               "type": "string"
3314             },
3315             "path": {
3316               "type": "string"
3317             },
3318             "type": {
3319               "type": "string"
3320             }
3321           },
3322           "additionalProperties": false,
3323           "required": [
3324             "name",
3325             "type",
3326             "path",
3327             "description"
3328           ]
3329         },
3330         "CharmStorage": {
3331           "type": "object",
3332           "properties": {
3333             "count-max": {
3334               "type": "integer"
3335             },
3336             "count-min": {
3337               "type": "integer"
3338             },
3339             "description": {
3340               "type": "string"
3341             },
3342             "location": {
3343               "type": "string"
3344             },
3345             "minimum-size": {
3346               "type": "integer"
3347             },
3348             "name": {
3349               "type": "string"
3350             },
3351             "properties": {
3352               "type": "array",
3353               "items": {
3354                 "type": "string"
3355               }
3356             },
3357             "read-only": {
3358               "type": "boolean"
3359             },
3360             "shared": {
3361               "type": "boolean"
3362             },
3363             "type": {
3364               "type": "string"
3365             }
3366           },
3367           "additionalProperties": false,
3368           "required": [
3369             "name",
3370             "description",
3371             "type",
3372             "shared",
3373             "read-only",
3374             "count-min",
3375             "count-max",
3376             "minimum-size"
3377           ]
3378         },
3379         "CharmURL": {
3380           "type": "object",
3381           "properties": {
3382             "url": {
3383               "type": "string"
3384             }
3385           },
3386           "additionalProperties": false,
3387           "required": [
3388             "url"
3389           ]
3390         },
3391         "CharmsList": {
3392           "type": "object",
3393           "properties": {
3394             "names": {
3395               "type": "array",
3396               "items": {
3397                 "type": "string"
3398               }
3399             }
3400           },
3401           "additionalProperties": false,
3402           "required": [
3403             "names"
3404           ]
3405         },
3406         "CharmsListResult": {
3407           "type": "object",
3408           "properties": {
3409             "charm-urls": {
3410               "type": "array",
3411               "items": {
3412                 "type": "string"
3413               }
3414             }
3415           },
3416           "additionalProperties": false,
3417           "required": [
3418             "charm-urls"
3419           ]
3420         },
3421         "IsMeteredResult": {
3422           "type": "object",
3423           "properties": {
3424             "metered": {
3425               "type": "boolean"
3426             }
3427           },
3428           "additionalProperties": false,
3429           "required": [
3430             "metered"
3431           ]
3432         }
3433       }
3434     }
3435   },
3436   {
3437     "Name": "Cleaner",
3438     "Version": 2,
3439     "Schema": {
3440       "type": "object",
3441       "properties": {
3442         "Cleanup": {
3443           "type": "object"
3444         },
3445         "WatchCleanups": {
3446           "type": "object",
3447           "properties": {
3448             "Result": {
3449               "$ref": "#/definitions/NotifyWatchResult"
3450             }
3451           }
3452         }
3453       },
3454       "definitions": {
3455         "Error": {
3456           "type": "object",
3457           "properties": {
3458             "code": {
3459               "type": "string"
3460             },
3461             "info": {
3462               "$ref": "#/definitions/ErrorInfo"
3463             },
3464             "message": {
3465               "type": "string"
3466             }
3467           },
3468           "additionalProperties": false,
3469           "required": [
3470             "message",
3471             "code"
3472           ]
3473         },
3474         "ErrorInfo": {
3475           "type": "object",
3476           "properties": {
3477             "macaroon": {
3478               "$ref": "#/definitions/Macaroon"
3479             },
3480             "macaroon-path": {
3481               "type": "string"
3482             }
3483           },
3484           "additionalProperties": false
3485         },
3486         "Macaroon": {
3487           "type": "object",
3488           "additionalProperties": false
3489         },
3490         "NotifyWatchResult": {
3491           "type": "object",
3492           "properties": {
3493             "NotifyWatcherId": {
3494               "type": "string"
3495             },
3496             "error": {
3497               "$ref": "#/definitions/Error"
3498             }
3499           },
3500           "additionalProperties": false,
3501           "required": [
3502             "NotifyWatcherId"
3503           ]
3504         }
3505       }
3506     }
3507   },
3508   {
3509     "Name": "Client",
3510     "Version": 1,
3511     "Schema": {
3512       "type": "object",
3513       "properties": {
3514         "APIHostPorts": {
3515           "type": "object",
3516           "properties": {
3517             "Result": {
3518               "$ref": "#/definitions/APIHostPortsResult"
3519             }
3520           }
3521         },
3522         "AbortCurrentUpgrade": {
3523           "type": "object"
3524         },
3525         "AddCharm": {
3526           "type": "object",
3527           "properties": {
3528             "Params": {
3529               "$ref": "#/definitions/AddCharm"
3530             }
3531           }
3532         },
3533         "AddCharmWithAuthorization": {
3534           "type": "object",
3535           "properties": {
3536             "Params": {
3537               "$ref": "#/definitions/AddCharmWithAuthorization"
3538             }
3539           }
3540         },
3541         "AddMachines": {
3542           "type": "object",
3543           "properties": {
3544             "Params": {
3545               "$ref": "#/definitions/AddMachines"
3546             },
3547             "Result": {
3548               "$ref": "#/definitions/AddMachinesResults"
3549             }
3550           }
3551         },
3552         "AddMachinesV2": {
3553           "type": "object",
3554           "properties": {
3555             "Params": {
3556               "$ref": "#/definitions/AddMachines"
3557             },
3558             "Result": {
3559               "$ref": "#/definitions/AddMachinesResults"
3560             }
3561           }
3562         },
3563         "AgentVersion": {
3564           "type": "object",
3565           "properties": {
3566             "Result": {
3567               "$ref": "#/definitions/AgentVersionResult"
3568             }
3569           }
3570         },
3571         "DestroyMachines": {
3572           "type": "object",
3573           "properties": {
3574             "Params": {
3575               "$ref": "#/definitions/DestroyMachines"
3576             }
3577           }
3578         },
3579         "FindTools": {
3580           "type": "object",
3581           "properties": {
3582             "Params": {
3583               "$ref": "#/definitions/FindToolsParams"
3584             },
3585             "Result": {
3586               "$ref": "#/definitions/FindToolsResult"
3587             }
3588           }
3589         },
3590         "FullStatus": {
3591           "type": "object",
3592           "properties": {
3593             "Params": {
3594               "$ref": "#/definitions/StatusParams"
3595             },
3596             "Result": {
3597               "$ref": "#/definitions/FullStatus"
3598             }
3599           }
3600         },
3601         "GetBundleChanges": {
3602           "type": "object",
3603           "properties": {
3604             "Params": {
3605               "$ref": "#/definitions/BundleChangesParams"
3606             },
3607             "Result": {
3608               "$ref": "#/definitions/BundleChangesResults"
3609             }
3610           }
3611         },
3612         "GetModelConstraints": {
3613           "type": "object",
3614           "properties": {
3615             "Result": {
3616               "$ref": "#/definitions/GetConstraintsResults"
3617             }
3618           }
3619         },
3620         "InjectMachines": {
3621           "type": "object",
3622           "properties": {
3623             "Params": {
3624               "$ref": "#/definitions/AddMachines"
3625             },
3626             "Result": {
3627               "$ref": "#/definitions/AddMachinesResults"
3628             }
3629           }
3630         },
3631         "ModelGet": {
3632           "type": "object",
3633           "properties": {
3634             "Result": {
3635               "$ref": "#/definitions/ModelConfigResults"
3636             }
3637           }
3638         },
3639         "ModelInfo": {
3640           "type": "object",
3641           "properties": {
3642             "Result": {
3643               "$ref": "#/definitions/ModelInfo"
3644             }
3645           }
3646         },
3647         "ModelSet": {
3648           "type": "object",
3649           "properties": {
3650             "Params": {
3651               "$ref": "#/definitions/ModelSet"
3652             }
3653           }
3654         },
3655         "ModelUnset": {
3656           "type": "object",
3657           "properties": {
3658             "Params": {
3659               "$ref": "#/definitions/ModelUnset"
3660             }
3661           }
3662         },
3663         "ModelUserInfo": {
3664           "type": "object",
3665           "properties": {
3666             "Result": {
3667               "$ref": "#/definitions/ModelUserInfoResults"
3668             }
3669           }
3670         },
3671         "PrivateAddress": {
3672           "type": "object",
3673           "properties": {
3674             "Params": {
3675               "$ref": "#/definitions/PrivateAddress"
3676             },
3677             "Result": {
3678               "$ref": "#/definitions/PrivateAddressResults"
3679             }
3680           }
3681         },
3682         "ProvisioningScript": {
3683           "type": "object",
3684           "properties": {
3685             "Params": {
3686               "$ref": "#/definitions/ProvisioningScriptParams"
3687             },
3688             "Result": {
3689               "$ref": "#/definitions/ProvisioningScriptResult"
3690             }
3691           }
3692         },
3693         "PublicAddress": {
3694           "type": "object",
3695           "properties": {
3696             "Params": {
3697               "$ref": "#/definitions/PublicAddress"
3698             },
3699             "Result": {
3700               "$ref": "#/definitions/PublicAddressResults"
3701             }
3702           }
3703         },
3704         "ResolveCharms": {
3705           "type": "object",
3706           "properties": {
3707             "Params": {
3708               "$ref": "#/definitions/ResolveCharms"
3709             },
3710             "Result": {
3711               "$ref": "#/definitions/ResolveCharmResults"
3712             }
3713           }
3714         },
3715         "Resolved": {
3716           "type": "object",
3717           "properties": {
3718             "Params": {
3719               "$ref": "#/definitions/Resolved"
3720             }
3721           }
3722         },
3723         "RetryProvisioning": {
3724           "type": "object",
3725           "properties": {
3726             "Params": {
3727               "$ref": "#/definitions/Entities"
3728             },
3729             "Result": {
3730               "$ref": "#/definitions/ErrorResults"
3731             }
3732           }
3733         },
3734         "SetModelAgentVersion": {
3735           "type": "object",
3736           "properties": {
3737             "Params": {
3738               "$ref": "#/definitions/SetModelAgentVersion"
3739             }
3740           }
3741         },
3742         "SetModelConstraints": {
3743           "type": "object",
3744           "properties": {
3745             "Params": {
3746               "$ref": "#/definitions/SetConstraints"
3747             }
3748           }
3749         },
3750         "StatusHistory": {
3751           "type": "object",
3752           "properties": {
3753             "Params": {
3754               "$ref": "#/definitions/StatusHistoryRequests"
3755             },
3756             "Result": {
3757               "$ref": "#/definitions/StatusHistoryResults"
3758             }
3759           }
3760         },
3761         "WatchAll": {
3762           "type": "object",
3763           "properties": {
3764             "Result": {
3765               "$ref": "#/definitions/AllWatcherId"
3766             }
3767           }
3768         }
3769       },
3770       "definitions": {
3771         "APIHostPortsResult": {
3772           "type": "object",
3773           "properties": {
3774             "servers": {
3775               "type": "array",
3776               "items": {
3777                 "type": "array",
3778                 "items": {
3779                   "$ref": "#/definitions/HostPort"
3780                 }
3781               }
3782             }
3783           },
3784           "additionalProperties": false,
3785           "required": [
3786             "servers"
3787           ]
3788         },
3789         "AddCharm": {
3790           "type": "object",
3791           "properties": {
3792             "channel": {
3793               "type": "string"
3794             },
3795             "url": {
3796               "type": "string"
3797             }
3798           },
3799           "additionalProperties": false,
3800           "required": [
3801             "url",
3802             "channel"
3803           ]
3804         },
3805         "AddCharmWithAuthorization": {
3806           "type": "object",
3807           "properties": {
3808             "channel": {
3809               "type": "string"
3810             },
3811             "macaroon": {
3812               "$ref": "#/definitions/Macaroon"
3813             },
3814             "url": {
3815               "type": "string"
3816             }
3817           },
3818           "additionalProperties": false,
3819           "required": [
3820             "url",
3821             "channel",
3822             "macaroon"
3823           ]
3824         },
3825         "AddMachineParams": {
3826           "type": "object",
3827           "properties": {
3828             "addresses": {
3829               "type": "array",
3830               "items": {
3831                 "$ref": "#/definitions/Address"
3832               }
3833             },
3834             "constraints": {
3835               "$ref": "#/definitions/Value"
3836             },
3837             "container-type": {
3838               "type": "string"
3839             },
3840             "disks": {
3841               "type": "array",
3842               "items": {
3843                 "$ref": "#/definitions/Constraints"
3844               }
3845             },
3846             "hardware-characteristics": {
3847               "$ref": "#/definitions/HardwareCharacteristics"
3848             },
3849             "instance-id": {
3850               "type": "string"
3851             },
3852             "jobs": {
3853               "type": "array",
3854               "items": {
3855                 "type": "string"
3856               }
3857             },
3858             "nonce": {
3859               "type": "string"
3860             },
3861             "parent-id": {
3862               "type": "string"
3863             },
3864             "placement": {
3865               "$ref": "#/definitions/Placement"
3866             },
3867             "series": {
3868               "type": "string"
3869             }
3870           },
3871           "additionalProperties": false,
3872           "required": [
3873             "series",
3874             "constraints",
3875             "jobs",
3876             "parent-id",
3877             "container-type",
3878             "instance-id",
3879             "nonce",
3880             "hardware-characteristics",
3881             "addresses"
3882           ]
3883         },
3884         "AddMachines": {
3885           "type": "object",
3886           "properties": {
3887             "params": {
3888               "type": "array",
3889               "items": {
3890                 "$ref": "#/definitions/AddMachineParams"
3891               }
3892             }
3893           },
3894           "additionalProperties": false,
3895           "required": [
3896             "params"
3897           ]
3898         },
3899         "AddMachinesResult": {
3900           "type": "object",
3901           "properties": {
3902             "error": {
3903               "$ref": "#/definitions/Error"
3904             },
3905             "machine": {
3906               "type": "string"
3907             }
3908           },
3909           "additionalProperties": false,
3910           "required": [
3911             "machine"
3912           ]
3913         },
3914         "AddMachinesResults": {
3915           "type": "object",
3916           "properties": {
3917             "machines": {
3918               "type": "array",
3919               "items": {
3920                 "$ref": "#/definitions/AddMachinesResult"
3921               }
3922             }
3923           },
3924           "additionalProperties": false,
3925           "required": [
3926             "machines"
3927           ]
3928         },
3929         "Address": {
3930           "type": "object",
3931           "properties": {
3932             "scope": {
3933               "type": "string"
3934             },
3935             "space-name": {
3936               "type": "string"
3937             },
3938             "type": {
3939               "type": "string"
3940             },
3941             "value": {
3942               "type": "string"
3943             }
3944           },
3945           "additionalProperties": false,
3946           "required": [
3947             "value",
3948             "type",
3949             "scope"
3950           ]
3951         },
3952         "AgentVersionResult": {
3953           "type": "object",
3954           "properties": {
3955             "version": {
3956               "$ref": "#/definitions/Number"
3957             }
3958           },
3959           "additionalProperties": false,
3960           "required": [
3961             "version"
3962           ]
3963         },
3964         "AllWatcherId": {
3965           "type": "object",
3966           "properties": {
3967             "watcher-id": {
3968               "type": "string"
3969             }
3970           },
3971           "additionalProperties": false,
3972           "required": [
3973             "watcher-id"
3974           ]
3975         },
3976         "ApplicationStatus": {
3977           "type": "object",
3978           "properties": {
3979             "can-upgrade-to": {
3980               "type": "string"
3981             },
3982             "charm": {
3983               "type": "string"
3984             },
3985             "err": {
3986               "type": "object",
3987               "additionalProperties": true
3988             },
3989             "exposed": {
3990               "type": "boolean"
3991             },
3992             "life": {
3993               "type": "string"
3994             },
3995             "meter-statuses": {
3996               "type": "object",
3997               "patternProperties": {
3998                 ".*": {
3999                   "$ref": "#/definitions/MeterStatus"
4000                 }
4001               }
4002             },
4003             "relations": {
4004               "type": "object",
4005               "patternProperties": {
4006                 ".*": {
4007                   "type": "array",
4008                   "items": {
4009                     "type": "string"
4010                   }
4011                 }
4012               }
4013             },
4014             "series": {
4015               "type": "string"
4016             },
4017             "status": {
4018               "$ref": "#/definitions/DetailedStatus"
4019             },
4020             "subordinate-to": {
4021               "type": "array",
4022               "items": {
4023                 "type": "string"
4024               }
4025             },
4026             "units": {
4027               "type": "object",
4028               "patternProperties": {
4029                 ".*": {
4030                   "$ref": "#/definitions/UnitStatus"
4031                 }
4032               }
4033             },
4034             "workload-version": {
4035               "type": "string"
4036             }
4037           },
4038           "additionalProperties": false,
4039           "required": [
4040             "charm",
4041             "series",
4042             "exposed",
4043             "life",
4044             "relations",
4045             "can-upgrade-to",
4046             "subordinate-to",
4047             "units",
4048             "meter-statuses",
4049             "status",
4050             "workload-version"
4051           ]
4052         },
4053         "Binary": {
4054           "type": "object",
4055           "properties": {
4056             "Arch": {
4057               "type": "string"
4058             },
4059             "Number": {
4060               "$ref": "#/definitions/Number"
4061             },
4062             "Series": {
4063               "type": "string"
4064             }
4065           },
4066           "additionalProperties": false,
4067           "required": [
4068             "Number",
4069             "Series",
4070             "Arch"
4071           ]
4072         },
4073         "BundleChange": {
4074           "type": "object",
4075           "properties": {
4076             "args": {
4077               "type": "array",
4078               "items": {
4079                 "type": "object",
4080                 "additionalProperties": true
4081               }
4082             },
4083             "id": {
4084               "type": "string"
4085             },
4086             "method": {
4087               "type": "string"
4088             },
4089             "requires": {
4090               "type": "array",
4091               "items": {
4092                 "type": "string"
4093               }
4094             }
4095           },
4096           "additionalProperties": false,
4097           "required": [
4098             "id",
4099             "method",
4100             "args",
4101             "requires"
4102           ]
4103         },
4104         "BundleChangesParams": {
4105           "type": "object",
4106           "properties": {
4107             "yaml": {
4108               "type": "string"
4109             }
4110           },
4111           "additionalProperties": false,
4112           "required": [
4113             "yaml"
4114           ]
4115         },
4116         "BundleChangesResults": {
4117           "type": "object",
4118           "properties": {
4119             "changes": {
4120               "type": "array",
4121               "items": {
4122                 "$ref": "#/definitions/BundleChange"
4123               }
4124             },
4125             "errors": {
4126               "type": "array",
4127               "items": {
4128                 "type": "string"
4129               }
4130             }
4131           },
4132           "additionalProperties": false
4133         },
4134         "ConfigValue": {
4135           "type": "object",
4136           "properties": {
4137             "source": {
4138               "type": "string"
4139             },
4140             "value": {
4141               "type": "object",
4142               "additionalProperties": true
4143             }
4144           },
4145           "additionalProperties": false,
4146           "required": [
4147             "value",
4148             "source"
4149           ]
4150         },
4151         "Constraints": {
4152           "type": "object",
4153           "properties": {
4154             "Count": {
4155               "type": "integer"
4156             },
4157             "Pool": {
4158               "type": "string"
4159             },
4160             "Size": {
4161               "type": "integer"
4162             }
4163           },
4164           "additionalProperties": false,
4165           "required": [
4166             "Pool",
4167             "Size",
4168             "Count"
4169           ]
4170         },
4171         "DestroyMachines": {
4172           "type": "object",
4173           "properties": {
4174             "force": {
4175               "type": "boolean"
4176             },
4177             "machine-names": {
4178               "type": "array",
4179               "items": {
4180                 "type": "string"
4181               }
4182             }
4183           },
4184           "additionalProperties": false,
4185           "required": [
4186             "machine-names",
4187             "force"
4188           ]
4189         },
4190         "DetailedStatus": {
4191           "type": "object",
4192           "properties": {
4193             "data": {
4194               "type": "object",
4195               "patternProperties": {
4196                 ".*": {
4197                   "type": "object",
4198                   "additionalProperties": true
4199                 }
4200               }
4201             },
4202             "err": {
4203               "type": "object",
4204               "additionalProperties": true
4205             },
4206             "info": {
4207               "type": "string"
4208             },
4209             "kind": {
4210               "type": "string"
4211             },
4212             "life": {
4213               "type": "string"
4214             },
4215             "since": {
4216               "type": "string",
4217               "format": "date-time"
4218             },
4219             "status": {
4220               "type": "string"
4221             },
4222             "version": {
4223               "type": "string"
4224             }
4225           },
4226           "additionalProperties": false,
4227           "required": [
4228             "status",
4229             "info",
4230             "data",
4231             "since",
4232             "kind",
4233             "version",
4234             "life"
4235           ]
4236         },
4237         "EndpointStatus": {
4238           "type": "object",
4239           "properties": {
4240             "application": {
4241               "type": "string"
4242             },
4243             "name": {
4244               "type": "string"
4245             },
4246             "role": {
4247               "type": "string"
4248             },
4249             "subordinate": {
4250               "type": "boolean"
4251             }
4252           },
4253           "additionalProperties": false,
4254           "required": [
4255             "application",
4256             "name",
4257             "role",
4258             "subordinate"
4259           ]
4260         },
4261         "Entities": {
4262           "type": "object",
4263           "properties": {
4264             "entities": {
4265               "type": "array",
4266               "items": {
4267                 "$ref": "#/definitions/Entity"
4268               }
4269             }
4270           },
4271           "additionalProperties": false,
4272           "required": [
4273             "entities"
4274           ]
4275         },
4276         "Entity": {
4277           "type": "object",
4278           "properties": {
4279             "tag": {
4280               "type": "string"
4281             }
4282           },
4283           "additionalProperties": false,
4284           "required": [
4285             "tag"
4286           ]
4287         },
4288         "EntityStatus": {
4289           "type": "object",
4290           "properties": {
4291             "data": {
4292               "type": "object",
4293               "patternProperties": {
4294                 ".*": {
4295                   "type": "object",
4296                   "additionalProperties": true
4297                 }
4298               }
4299             },
4300             "info": {
4301               "type": "string"
4302             },
4303             "since": {
4304               "type": "string",
4305               "format": "date-time"
4306             },
4307             "status": {
4308               "type": "string"
4309             }
4310           },
4311           "additionalProperties": false,
4312           "required": [
4313             "status",
4314             "info",
4315             "since"
4316           ]
4317         },
4318         "Error": {
4319           "type": "object",
4320           "properties": {
4321             "code": {
4322               "type": "string"
4323             },
4324             "info": {
4325               "$ref": "#/definitions/ErrorInfo"
4326             },
4327             "message": {
4328               "type": "string"
4329             }
4330           },
4331           "additionalProperties": false,
4332           "required": [
4333             "message",
4334             "code"
4335           ]
4336         },
4337         "ErrorInfo": {
4338           "type": "object",
4339           "properties": {
4340             "macaroon": {
4341               "$ref": "#/definitions/Macaroon"
4342             },
4343             "macaroon-path": {
4344               "type": "string"
4345             }
4346           },
4347           "additionalProperties": false
4348         },
4349         "ErrorResult": {
4350           "type": "object",
4351           "properties": {
4352             "error": {
4353               "$ref": "#/definitions/Error"
4354             }
4355           },
4356           "additionalProperties": false
4357         },
4358         "ErrorResults": {
4359           "type": "object",
4360           "properties": {
4361             "results": {
4362               "type": "array",
4363               "items": {
4364                 "$ref": "#/definitions/ErrorResult"
4365               }
4366             }
4367           },
4368           "additionalProperties": false,
4369           "required": [
4370             "results"
4371           ]
4372         },
4373         "FindToolsParams": {
4374           "type": "object",
4375           "properties": {
4376             "arch": {
4377               "type": "string"
4378             },
4379             "major": {
4380               "type": "integer"
4381             },
4382             "minor": {
4383               "type": "integer"
4384             },
4385             "number": {
4386               "$ref": "#/definitions/Number"
4387             },
4388             "series": {
4389               "type": "string"
4390             }
4391           },
4392           "additionalProperties": false,
4393           "required": [
4394             "number",
4395             "major",
4396             "minor",
4397             "arch",
4398             "series"
4399           ]
4400         },
4401         "FindToolsResult": {
4402           "type": "object",
4403           "properties": {
4404             "error": {
4405               "$ref": "#/definitions/Error"
4406             },
4407             "list": {
4408               "type": "array",
4409               "items": {
4410                 "$ref": "#/definitions/Tools"
4411               }
4412             }
4413           },
4414           "additionalProperties": false,
4415           "required": [
4416             "list"
4417           ]
4418         },
4419         "FullStatus": {
4420           "type": "object",
4421           "properties": {
4422             "applications": {
4423               "type": "object",
4424               "patternProperties": {
4425                 ".*": {
4426                   "$ref": "#/definitions/ApplicationStatus"
4427                 }
4428               }
4429             },
4430             "machines": {
4431               "type": "object",
4432               "patternProperties": {
4433                 ".*": {
4434                   "$ref": "#/definitions/MachineStatus"
4435                 }
4436               }
4437             },
4438             "model": {
4439               "$ref": "#/definitions/ModelStatusInfo"
4440             },
4441             "relations": {
4442               "type": "array",
4443               "items": {
4444                 "$ref": "#/definitions/RelationStatus"
4445               }
4446             },
4447             "remote-applications": {
4448               "type": "object",
4449               "patternProperties": {
4450                 ".*": {
4451                   "$ref": "#/definitions/RemoteApplicationStatus"
4452                 }
4453               }
4454             }
4455           },
4456           "additionalProperties": false,
4457           "required": [
4458             "model",
4459             "machines",
4460             "applications",
4461             "remote-applications",
4462             "relations"
4463           ]
4464         },
4465         "GetConstraintsResults": {
4466           "type": "object",
4467           "properties": {
4468             "constraints": {
4469               "$ref": "#/definitions/Value"
4470             }
4471           },
4472           "additionalProperties": false,
4473           "required": [
4474             "constraints"
4475           ]
4476         },
4477         "HardwareCharacteristics": {
4478           "type": "object",
4479           "properties": {
4480             "arch": {
4481               "type": "string"
4482             },
4483             "availability-zone": {
4484               "type": "string"
4485             },
4486             "cpu-cores": {
4487               "type": "integer"
4488             },
4489             "cpu-power": {
4490               "type": "integer"
4491             },
4492             "mem": {
4493               "type": "integer"
4494             },
4495             "root-disk": {
4496               "type": "integer"
4497             },
4498             "tags": {
4499               "type": "array",
4500               "items": {
4501                 "type": "string"
4502               }
4503             }
4504           },
4505           "additionalProperties": false
4506         },
4507         "History": {
4508           "type": "object",
4509           "properties": {
4510             "error": {
4511               "$ref": "#/definitions/Error"
4512             },
4513             "statuses": {
4514               "type": "array",
4515               "items": {
4516                 "$ref": "#/definitions/DetailedStatus"
4517               }
4518             }
4519           },
4520           "additionalProperties": false,
4521           "required": [
4522             "statuses"
4523           ]
4524         },
4525         "HostPort": {
4526           "type": "object",
4527           "properties": {
4528             "Address": {
4529               "$ref": "#/definitions/Address"
4530             },
4531             "port": {
4532               "type": "integer"
4533             }
4534           },
4535           "additionalProperties": false,
4536           "required": [
4537             "Address",
4538             "port"
4539           ]
4540         },
4541         "Macaroon": {
4542           "type": "object",
4543           "additionalProperties": false
4544         },
4545         "MachineHardware": {
4546           "type": "object",
4547           "properties": {
4548             "arch": {
4549               "type": "string"
4550             },
4551             "availability-zone": {
4552               "type": "string"
4553             },
4554             "cores": {
4555               "type": "integer"
4556             },
4557             "cpu-power": {
4558               "type": "integer"
4559             },
4560             "mem": {
4561               "type": "integer"
4562             },
4563             "root-disk": {
4564               "type": "integer"
4565             },
4566             "tags": {
4567               "type": "array",
4568               "items": {
4569                 "type": "string"
4570               }
4571             }
4572           },
4573           "additionalProperties": false
4574         },
4575         "MachineStatus": {
4576           "type": "object",
4577           "properties": {
4578             "agent-status": {
4579               "$ref": "#/definitions/DetailedStatus"
4580             },
4581             "containers": {
4582               "type": "object",
4583               "patternProperties": {
4584                 ".*": {
4585                   "$ref": "#/definitions/MachineStatus"
4586                 }
4587               }
4588             },
4589             "dns-name": {
4590               "type": "string"
4591             },
4592             "hardware": {
4593               "type": "string"
4594             },
4595             "has-vote": {
4596               "type": "boolean"
4597             },
4598             "id": {
4599               "type": "string"
4600             },
4601             "instance-id": {
4602               "type": "string"
4603             },
4604             "instance-status": {
4605               "$ref": "#/definitions/DetailedStatus"
4606             },
4607             "ip-addresses": {
4608               "type": "array",
4609               "items": {
4610                 "type": "string"
4611               }
4612             },
4613             "jobs": {
4614               "type": "array",
4615               "items": {
4616                 "type": "string"
4617               }
4618             },
4619             "series": {
4620               "type": "string"
4621             },
4622             "wants-vote": {
4623               "type": "boolean"
4624             }
4625           },
4626           "additionalProperties": false,
4627           "required": [
4628             "agent-status",
4629             "instance-status",
4630             "dns-name",
4631             "ip-addresses",
4632             "instance-id",
4633             "series",
4634             "id",
4635             "containers",
4636             "hardware",
4637             "jobs",
4638             "has-vote",
4639             "wants-vote"
4640           ]
4641         },
4642         "MeterStatus": {
4643           "type": "object",
4644           "properties": {
4645             "color": {
4646               "type": "string"
4647             },
4648             "message": {
4649               "type": "string"
4650             }
4651           },
4652           "additionalProperties": false,
4653           "required": [
4654             "color",
4655             "message"
4656           ]
4657         },
4658         "ModelConfigResults": {
4659           "type": "object",
4660           "properties": {
4661             "config": {
4662               "type": "object",
4663               "patternProperties": {
4664                 ".*": {
4665                   "$ref": "#/definitions/ConfigValue"
4666                 }
4667               }
4668             }
4669           },
4670           "additionalProperties": false,
4671           "required": [
4672             "config"
4673           ]
4674         },
4675         "ModelInfo": {
4676           "type": "object",
4677           "properties": {
4678             "cloud-credential-tag": {
4679               "type": "string"
4680             },
4681             "cloud-region": {
4682               "type": "string"
4683             },
4684             "cloud-tag": {
4685               "type": "string"
4686             },
4687             "controller-uuid": {
4688               "type": "string"
4689             },
4690             "default-series": {
4691               "type": "string"
4692             },
4693             "life": {
4694               "type": "string"
4695             },
4696             "machines": {
4697               "type": "array",
4698               "items": {
4699                 "$ref": "#/definitions/ModelMachineInfo"
4700               }
4701             },
4702             "name": {
4703               "type": "string"
4704             },
4705             "owner-tag": {
4706               "type": "string"
4707             },
4708             "provider-type": {
4709               "type": "string"
4710             },
4711             "status": {
4712               "$ref": "#/definitions/EntityStatus"
4713             },
4714             "users": {
4715               "type": "array",
4716               "items": {
4717                 "$ref": "#/definitions/ModelUserInfo"
4718               }
4719             },
4720             "uuid": {
4721               "type": "string"
4722             }
4723           },
4724           "additionalProperties": false,
4725           "required": [
4726             "name",
4727             "uuid",
4728             "controller-uuid",
4729             "provider-type",
4730             "default-series",
4731             "cloud-tag",
4732             "owner-tag",
4733             "life",
4734             "status",
4735             "users",
4736             "machines"
4737           ]
4738         },
4739         "ModelMachineInfo": {
4740           "type": "object",
4741           "properties": {
4742             "hardware": {
4743               "$ref": "#/definitions/MachineHardware"
4744             },
4745             "has-vote": {
4746               "type": "boolean"
4747             },
4748             "id": {
4749               "type": "string"
4750             },
4751             "instance-id": {
4752               "type": "string"
4753             },
4754             "status": {
4755               "type": "string"
4756             },
4757             "wants-vote": {
4758               "type": "boolean"
4759             }
4760           },
4761           "additionalProperties": false,
4762           "required": [
4763             "id"
4764           ]
4765         },
4766         "ModelSet": {
4767           "type": "object",
4768           "properties": {
4769             "config": {
4770               "type": "object",
4771               "patternProperties": {
4772                 ".*": {
4773                   "type": "object",
4774                   "additionalProperties": true
4775                 }
4776               }
4777             }
4778           },
4779           "additionalProperties": false,
4780           "required": [
4781             "config"
4782           ]
4783         },
4784         "ModelStatusInfo": {
4785           "type": "object",
4786           "properties": {
4787             "available-version": {
4788               "type": "string"
4789             },
4790             "cloud-tag": {
4791               "type": "string"
4792             },
4793             "migration": {
4794               "type": "string"
4795             },
4796             "name": {
4797               "type": "string"
4798             },
4799             "region": {
4800               "type": "string"
4801             },
4802             "version": {
4803               "type": "string"
4804             }
4805           },
4806           "additionalProperties": false,
4807           "required": [
4808             "name",
4809             "cloud-tag",
4810             "version",
4811             "available-version"
4812           ]
4813         },
4814         "ModelUnset": {
4815           "type": "object",
4816           "properties": {
4817             "keys": {
4818               "type": "array",
4819               "items": {
4820                 "type": "string"
4821               }
4822             }
4823           },
4824           "additionalProperties": false,
4825           "required": [
4826             "keys"
4827           ]
4828         },
4829         "ModelUserInfo": {
4830           "type": "object",
4831           "properties": {
4832             "access": {
4833               "type": "string"
4834             },
4835             "display-name": {
4836               "type": "string"
4837             },
4838             "last-connection": {
4839               "type": "string",
4840               "format": "date-time"
4841             },
4842             "user": {
4843               "type": "string"
4844             }
4845           },
4846           "additionalProperties": false,
4847           "required": [
4848             "user",
4849             "display-name",
4850             "last-connection",
4851             "access"
4852           ]
4853         },
4854         "ModelUserInfoResult": {
4855           "type": "object",
4856           "properties": {
4857             "error": {
4858               "$ref": "#/definitions/Error"
4859             },
4860             "result": {
4861               "$ref": "#/definitions/ModelUserInfo"
4862             }
4863           },
4864           "additionalProperties": false
4865         },
4866         "ModelUserInfoResults": {
4867           "type": "object",
4868           "properties": {
4869             "results": {
4870               "type": "array",
4871               "items": {
4872                 "$ref": "#/definitions/ModelUserInfoResult"
4873               }
4874             }
4875           },
4876           "additionalProperties": false,
4877           "required": [
4878             "results"
4879           ]
4880         },
4881         "Number": {
4882           "type": "object",
4883           "properties": {
4884             "Build": {
4885               "type": "integer"
4886             },
4887             "Major": {
4888               "type": "integer"
4889             },
4890             "Minor": {
4891               "type": "integer"
4892             },
4893             "Patch": {
4894               "type": "integer"
4895             },
4896             "Tag": {
4897               "type": "string"
4898             }
4899           },
4900           "additionalProperties": false,
4901           "required": [
4902             "Major",
4903             "Minor",
4904             "Tag",
4905             "Patch",
4906             "Build"
4907           ]
4908         },
4909         "Placement": {
4910           "type": "object",
4911           "properties": {
4912             "directive": {
4913               "type": "string"
4914             },
4915             "scope": {
4916               "type": "string"
4917             }
4918           },
4919           "additionalProperties": false,
4920           "required": [
4921             "scope",
4922             "directive"
4923           ]
4924         },
4925         "PrivateAddress": {
4926           "type": "object",
4927           "properties": {
4928             "target": {
4929               "type": "string"
4930             }
4931           },
4932           "additionalProperties": false,
4933           "required": [
4934             "target"
4935           ]
4936         },
4937         "PrivateAddressResults": {
4938           "type": "object",
4939           "properties": {
4940             "private-address": {
4941               "type": "string"
4942             }
4943           },
4944           "additionalProperties": false,
4945           "required": [
4946             "private-address"
4947           ]
4948         },
4949         "ProvisioningScriptParams": {
4950           "type": "object",
4951           "properties": {
4952             "data-dir": {
4953               "type": "string"
4954             },
4955             "disable-package-commands": {
4956               "type": "boolean"
4957             },
4958             "machine-id": {
4959               "type": "string"
4960             },
4961             "nonce": {
4962               "type": "string"
4963             }
4964           },
4965           "additionalProperties": false,
4966           "required": [
4967             "machine-id",
4968             "nonce",
4969             "data-dir",
4970             "disable-package-commands"
4971           ]
4972         },
4973         "ProvisioningScriptResult": {
4974           "type": "object",
4975           "properties": {
4976             "script": {
4977               "type": "string"
4978             }
4979           },
4980           "additionalProperties": false,
4981           "required": [
4982             "script"
4983           ]
4984         },
4985         "PublicAddress": {
4986           "type": "object",
4987           "properties": {
4988             "target": {
4989               "type": "string"
4990             }
4991           },
4992           "additionalProperties": false,
4993           "required": [
4994             "target"
4995           ]
4996         },
4997         "PublicAddressResults": {
4998           "type": "object",
4999           "properties": {
5000             "public-address": {
5001               "type": "string"
5002             }
5003           },
5004           "additionalProperties": false,
5005           "required": [
5006             "public-address"
5007           ]
5008         },
5009         "RelationStatus": {
5010           "type": "object",
5011           "properties": {
5012             "endpoints": {
5013               "type": "array",
5014               "items": {
5015                 "$ref": "#/definitions/EndpointStatus"
5016               }
5017             },
5018             "id": {
5019               "type": "integer"
5020             },
5021             "interface": {
5022               "type": "string"
5023             },
5024             "key": {
5025               "type": "string"
5026             },
5027             "scope": {
5028               "type": "string"
5029             }
5030           },
5031           "additionalProperties": false,
5032           "required": [
5033             "id",
5034             "key",
5035             "interface",
5036             "scope",
5037             "endpoints"
5038           ]
5039         },
5040         "RemoteApplicationStatus": {
5041           "type": "object",
5042           "properties": {
5043             "application-name": {
5044               "type": "string"
5045             },
5046             "application-url": {
5047               "type": "string"
5048             },
5049             "endpoints": {
5050               "type": "array",
5051               "items": {
5052                 "$ref": "#/definitions/RemoteEndpoint"
5053               }
5054             },
5055             "err": {
5056               "type": "object",
5057               "additionalProperties": true
5058             },
5059             "life": {
5060               "type": "string"
5061             },
5062             "relations": {
5063               "type": "object",
5064               "patternProperties": {
5065                 ".*": {
5066                   "type": "array",
5067                   "items": {
5068                     "type": "string"
5069                   }
5070                 }
5071               }
5072             },
5073             "status": {
5074               "$ref": "#/definitions/DetailedStatus"
5075             }
5076           },
5077           "additionalProperties": false,
5078           "required": [
5079             "application-url",
5080             "application-name",
5081             "endpoints",
5082             "life",
5083             "relations",
5084             "status"
5085           ]
5086         },
5087         "RemoteEndpoint": {
5088           "type": "object",
5089           "properties": {
5090             "interface": {
5091               "type": "string"
5092             },
5093             "limit": {
5094               "type": "integer"
5095             },
5096             "name": {
5097               "type": "string"
5098             },
5099             "role": {
5100               "type": "string"
5101             },
5102             "scope": {
5103               "type": "string"
5104             }
5105           },
5106           "additionalProperties": false,
5107           "required": [
5108             "name",
5109             "role",
5110             "interface",
5111             "limit",
5112             "scope"
5113           ]
5114         },
5115         "ResolveCharmResult": {
5116           "type": "object",
5117           "properties": {
5118             "error": {
5119               "type": "string"
5120             },
5121             "url": {
5122               "type": "string"
5123             }
5124           },
5125           "additionalProperties": false
5126         },
5127         "ResolveCharmResults": {
5128           "type": "object",
5129           "properties": {
5130             "urls": {
5131               "type": "array",
5132               "items": {
5133                 "$ref": "#/definitions/ResolveCharmResult"
5134               }
5135             }
5136           },
5137           "additionalProperties": false,
5138           "required": [
5139             "urls"
5140           ]
5141         },
5142         "ResolveCharms": {
5143           "type": "object",
5144           "properties": {
5145             "references": {
5146               "type": "array",
5147               "items": {
5148                 "type": "string"
5149               }
5150             }
5151           },
5152           "additionalProperties": false,
5153           "required": [
5154             "references"
5155           ]
5156         },
5157         "Resolved": {
5158           "type": "object",
5159           "properties": {
5160             "retry": {
5161               "type": "boolean"
5162             },
5163             "unit-name": {
5164               "type": "string"
5165             }
5166           },
5167           "additionalProperties": false,
5168           "required": [
5169             "unit-name",
5170             "retry"
5171           ]
5172         },
5173         "SetConstraints": {
5174           "type": "object",
5175           "properties": {
5176             "application": {
5177               "type": "string"
5178             },
5179             "constraints": {
5180               "$ref": "#/definitions/Value"
5181             }
5182           },
5183           "additionalProperties": false,
5184           "required": [
5185             "application",
5186             "constraints"
5187           ]
5188         },
5189         "SetModelAgentVersion": {
5190           "type": "object",
5191           "properties": {
5192             "version": {
5193               "$ref": "#/definitions/Number"
5194             }
5195           },
5196           "additionalProperties": false,
5197           "required": [
5198             "version"
5199           ]
5200         },
5201         "StatusHistoryFilter": {
5202           "type": "object",
5203           "properties": {
5204             "date": {
5205               "type": "string",
5206               "format": "date-time"
5207             },
5208             "delta": {
5209               "type": "integer"
5210             },
5211             "size": {
5212               "type": "integer"
5213             }
5214           },
5215           "additionalProperties": false,
5216           "required": [
5217             "size",
5218             "date",
5219             "delta"
5220           ]
5221         },
5222         "StatusHistoryRequest": {
5223           "type": "object",
5224           "properties": {
5225             "filter": {
5226               "$ref": "#/definitions/StatusHistoryFilter"
5227             },
5228             "historyKind": {
5229               "type": "string"
5230             },
5231             "size": {
5232               "type": "integer"
5233             },
5234             "tag": {
5235               "type": "string"
5236             }
5237           },
5238           "additionalProperties": false,
5239           "required": [
5240             "historyKind",
5241             "size",
5242             "filter",
5243             "tag"
5244           ]
5245         },
5246         "StatusHistoryRequests": {
5247           "type": "object",
5248           "properties": {
5249             "requests": {
5250               "type": "array",
5251               "items": {
5252                 "$ref": "#/definitions/StatusHistoryRequest"
5253               }
5254             }
5255           },
5256           "additionalProperties": false,
5257           "required": [
5258             "requests"
5259           ]
5260         },
5261         "StatusHistoryResult": {
5262           "type": "object",
5263           "properties": {
5264             "error": {
5265               "$ref": "#/definitions/Error"
5266             },
5267             "history": {
5268               "$ref": "#/definitions/History"
5269             }
5270           },
5271           "additionalProperties": false,
5272           "required": [
5273             "history"
5274           ]
5275         },
5276         "StatusHistoryResults": {
5277           "type": "object",
5278           "properties": {
5279             "results": {
5280               "type": "array",
5281               "items": {
5282                 "$ref": "#/definitions/StatusHistoryResult"
5283               }
5284             }
5285           },
5286           "additionalProperties": false,
5287           "required": [
5288             "results"
5289           ]
5290         },
5291         "StatusParams": {
5292           "type": "object",
5293           "properties": {
5294             "patterns": {
5295               "type": "array",
5296               "items": {
5297                 "type": "string"
5298               }
5299             }
5300           },
5301           "additionalProperties": false,
5302           "required": [
5303             "patterns"
5304           ]
5305         },
5306         "Tools": {
5307           "type": "object",
5308           "properties": {
5309             "sha256": {
5310               "type": "string"
5311             },
5312             "size": {
5313               "type": "integer"
5314             },
5315             "url": {
5316               "type": "string"
5317             },
5318             "version": {
5319               "$ref": "#/definitions/Binary"
5320             }
5321           },
5322           "additionalProperties": false,
5323           "required": [
5324             "version",
5325             "url",
5326             "size"
5327           ]
5328         },
5329         "UnitStatus": {
5330           "type": "object",
5331           "properties": {
5332             "agent-status": {
5333               "$ref": "#/definitions/DetailedStatus"
5334             },
5335             "charm": {
5336               "type": "string"
5337             },
5338             "leader": {
5339               "type": "boolean"
5340             },
5341             "machine": {
5342               "type": "string"
5343             },
5344             "opened-ports": {
5345               "type": "array",
5346               "items": {
5347                 "type": "string"
5348               }
5349             },
5350             "public-address": {
5351               "type": "string"
5352             },
5353             "subordinates": {
5354               "type": "object",
5355               "patternProperties": {
5356                 ".*": {
5357                   "$ref": "#/definitions/UnitStatus"
5358                 }
5359               }
5360             },
5361             "workload-status": {
5362               "$ref": "#/definitions/DetailedStatus"
5363             },
5364             "workload-version": {
5365               "type": "string"
5366             }
5367           },
5368           "additionalProperties": false,
5369           "required": [
5370             "agent-status",
5371             "workload-status",
5372             "workload-version",
5373             "machine",
5374             "opened-ports",
5375             "public-address",
5376             "charm",
5377             "subordinates"
5378           ]
5379         },
5380         "Value": {
5381           "type": "object",
5382           "properties": {
5383             "arch": {
5384               "type": "string"
5385             },
5386             "container": {
5387               "type": "string"
5388             },
5389             "cores": {
5390               "type": "integer"
5391             },
5392             "cpu-power": {
5393               "type": "integer"
5394             },
5395             "instance-type": {
5396               "type": "string"
5397             },
5398             "mem": {
5399               "type": "integer"
5400             },
5401             "root-disk": {
5402               "type": "integer"
5403             },
5404             "spaces": {
5405               "type": "array",
5406               "items": {
5407                 "type": "string"
5408               }
5409             },
5410             "tags": {
5411               "type": "array",
5412               "items": {
5413                 "type": "string"
5414               }
5415             },
5416             "virt-type": {
5417               "type": "string"
5418             }
5419           },
5420           "additionalProperties": false
5421         }
5422       }
5423     }
5424   },
5425   {
5426     "Name": "Cloud",
5427     "Version": 1,
5428     "Schema": {
5429       "type": "object",
5430       "properties": {
5431         "Cloud": {
5432           "type": "object",
5433           "properties": {
5434             "Params": {
5435               "$ref": "#/definitions/Entities"
5436             },
5437             "Result": {
5438               "$ref": "#/definitions/CloudResults"
5439             }
5440           }
5441         },
5442         "Clouds": {
5443           "type": "object",
5444           "properties": {
5445             "Result": {
5446               "$ref": "#/definitions/CloudsResult"
5447             }
5448           }
5449         },
5450         "Credential": {
5451           "type": "object",
5452           "properties": {
5453             "Params": {
5454               "$ref": "#/definitions/Entities"
5455             },
5456             "Result": {
5457               "$ref": "#/definitions/CloudCredentialResults"
5458             }
5459           }
5460         },
5461         "DefaultCloud": {
5462           "type": "object",
5463           "properties": {
5464             "Result": {
5465               "$ref": "#/definitions/StringResult"
5466             }
5467           }
5468         },
5469         "RevokeCredentials": {
5470           "type": "object",
5471           "properties": {
5472             "Params": {
5473               "$ref": "#/definitions/Entities"
5474             },
5475             "Result": {
5476               "$ref": "#/definitions/ErrorResults"
5477             }
5478           }
5479         },
5480         "UpdateCredentials": {
5481           "type": "object",
5482           "properties": {
5483             "Params": {
5484               "$ref": "#/definitions/UpdateCloudCredentials"
5485             },
5486             "Result": {
5487               "$ref": "#/definitions/ErrorResults"
5488             }
5489           }
5490         },
5491         "UserCredentials": {
5492           "type": "object",
5493           "properties": {
5494             "Params": {
5495               "$ref": "#/definitions/UserClouds"
5496             },
5497             "Result": {
5498               "$ref": "#/definitions/StringsResults"
5499             }
5500           }
5501         }
5502       },
5503       "definitions": {
5504         "Cloud": {
5505           "type": "object",
5506           "properties": {
5507             "auth-types": {
5508               "type": "array",
5509               "items": {
5510                 "type": "string"
5511               }
5512             },
5513             "endpoint": {
5514               "type": "string"
5515             },
5516             "identity-endpoint": {
5517               "type": "string"
5518             },
5519             "regions": {
5520               "type": "array",
5521               "items": {
5522                 "$ref": "#/definitions/CloudRegion"
5523               }
5524             },
5525             "storage-endpoint": {
5526               "type": "string"
5527             },
5528             "type": {
5529               "type": "string"
5530             }
5531           },
5532           "additionalProperties": false,
5533           "required": [
5534             "type"
5535           ]
5536         },
5537         "CloudCredential": {
5538           "type": "object",
5539           "properties": {
5540             "attrs": {
5541               "type": "object",
5542               "patternProperties": {
5543                 ".*": {
5544                   "type": "string"
5545                 }
5546               }
5547             },
5548             "auth-type": {
5549               "type": "string"
5550             },
5551             "redacted": {
5552               "type": "array",
5553               "items": {
5554                 "type": "string"
5555               }
5556             }
5557           },
5558           "additionalProperties": false,
5559           "required": [
5560             "auth-type"
5561           ]
5562         },
5563         "CloudCredentialResult": {
5564           "type": "object",
5565           "properties": {
5566             "error": {
5567               "$ref": "#/definitions/Error"
5568             },
5569             "result": {
5570               "$ref": "#/definitions/CloudCredential"
5571             }
5572           },
5573           "additionalProperties": false
5574         },
5575         "CloudCredentialResults": {
5576           "type": "object",
5577           "properties": {
5578             "results": {
5579               "type": "array",
5580               "items": {
5581                 "$ref": "#/definitions/CloudCredentialResult"
5582               }
5583             }
5584           },
5585           "additionalProperties": false
5586         },
5587         "CloudRegion": {
5588           "type": "object",
5589           "properties": {
5590             "endpoint": {
5591               "type": "string"
5592             },
5593             "identity-endpoint": {
5594               "type": "string"
5595             },
5596             "name": {
5597               "type": "string"
5598             },
5599             "storage-endpoint": {
5600               "type": "string"
5601             }
5602           },
5603           "additionalProperties": false,
5604           "required": [
5605             "name"
5606           ]
5607         },
5608         "CloudResult": {
5609           "type": "object",
5610           "properties": {
5611             "cloud": {
5612               "$ref": "#/definitions/Cloud"
5613             },
5614             "error": {
5615               "$ref": "#/definitions/Error"
5616             }
5617           },
5618           "additionalProperties": false
5619         },
5620         "CloudResults": {
5621           "type": "object",
5622           "properties": {
5623             "results": {
5624               "type": "array",
5625               "items": {
5626                 "$ref": "#/definitions/CloudResult"
5627               }
5628             }
5629           },
5630           "additionalProperties": false
5631         },
5632         "CloudsResult": {
5633           "type": "object",
5634           "properties": {
5635             "clouds": {
5636               "type": "object",
5637               "patternProperties": {
5638                 ".*": {
5639                   "$ref": "#/definitions/Cloud"
5640                 }
5641               }
5642             }
5643           },
5644           "additionalProperties": false
5645         },
5646         "Entities": {
5647           "type": "object",
5648           "properties": {
5649             "entities": {
5650               "type": "array",
5651               "items": {
5652                 "$ref": "#/definitions/Entity"
5653               }
5654             }
5655           },
5656           "additionalProperties": false,
5657           "required": [
5658             "entities"
5659           ]
5660         },
5661         "Entity": {
5662           "type": "object",
5663           "properties": {
5664             "tag": {
5665               "type": "string"
5666             }
5667           },
5668           "additionalProperties": false,
5669           "required": [
5670             "tag"
5671           ]
5672         },
5673         "Error": {
5674           "type": "object",
5675           "properties": {
5676             "code": {
5677               "type": "string"
5678             },
5679             "info": {
5680               "$ref": "#/definitions/ErrorInfo"
5681             },
5682             "message": {
5683               "type": "string"
5684             }
5685           },
5686           "additionalProperties": false,
5687           "required": [
5688             "message",
5689             "code"
5690           ]
5691         },
5692         "ErrorInfo": {
5693           "type": "object",
5694           "properties": {
5695             "macaroon": {
5696               "$ref": "#/definitions/Macaroon"
5697             },
5698             "macaroon-path": {
5699               "type": "string"
5700             }
5701           },
5702           "additionalProperties": false
5703         },
5704         "ErrorResult": {
5705           "type": "object",
5706           "properties": {
5707             "error": {
5708               "$ref": "#/definitions/Error"
5709             }
5710           },
5711           "additionalProperties": false
5712         },
5713         "ErrorResults": {
5714           "type": "object",
5715           "properties": {
5716             "results": {
5717               "type": "array",
5718               "items": {
5719                 "$ref": "#/definitions/ErrorResult"
5720               }
5721             }
5722           },
5723           "additionalProperties": false,
5724           "required": [
5725             "results"
5726           ]
5727         },
5728         "Macaroon": {
5729           "type": "object",
5730           "additionalProperties": false
5731         },
5732         "StringResult": {
5733           "type": "object",
5734           "properties": {
5735             "error": {
5736               "$ref": "#/definitions/Error"
5737             },
5738             "result": {
5739               "type": "string"
5740             }
5741           },
5742           "additionalProperties": false,
5743           "required": [
5744             "result"
5745           ]
5746         },
5747         "StringsResult": {
5748           "type": "object",
5749           "properties": {
5750             "error": {
5751               "$ref": "#/definitions/Error"
5752             },
5753             "result": {
5754               "type": "array",
5755               "items": {
5756                 "type": "string"
5757               }
5758             }
5759           },
5760           "additionalProperties": false
5761         },
5762         "StringsResults": {
5763           "type": "object",
5764           "properties": {
5765             "results": {
5766               "type": "array",
5767               "items": {
5768                 "$ref": "#/definitions/StringsResult"
5769               }
5770             }
5771           },
5772           "additionalProperties": false,
5773           "required": [
5774             "results"
5775           ]
5776         },
5777         "UpdateCloudCredential": {
5778           "type": "object",
5779           "properties": {
5780             "credential": {
5781               "$ref": "#/definitions/CloudCredential"
5782             },
5783             "tag": {
5784               "type": "string"
5785             }
5786           },
5787           "additionalProperties": false,
5788           "required": [
5789             "tag",
5790             "credential"
5791           ]
5792         },
5793         "UpdateCloudCredentials": {
5794           "type": "object",
5795           "properties": {
5796             "credentials": {
5797               "type": "array",
5798               "items": {
5799                 "$ref": "#/definitions/UpdateCloudCredential"
5800               }
5801             }
5802           },
5803           "additionalProperties": false
5804         },
5805         "UserCloud": {
5806           "type": "object",
5807           "properties": {
5808             "cloud-tag": {
5809               "type": "string"
5810             },
5811             "user-tag": {
5812               "type": "string"
5813             }
5814           },
5815           "additionalProperties": false,
5816           "required": [
5817             "user-tag",
5818             "cloud-tag"
5819           ]
5820         },
5821         "UserClouds": {
5822           "type": "object",
5823           "properties": {
5824             "user-clouds": {
5825               "type": "array",
5826               "items": {
5827                 "$ref": "#/definitions/UserCloud"
5828               }
5829             }
5830           },
5831           "additionalProperties": false
5832         }
5833       }
5834     }
5835   },
5836   {
5837     "Name": "Controller",
5838     "Version": 3,
5839     "Schema": {
5840       "type": "object",
5841       "properties": {
5842         "AllModels": {
5843           "type": "object",
5844           "properties": {
5845             "Result": {
5846               "$ref": "#/definitions/UserModelList"
5847             }
5848           }
5849         },
5850         "CloudSpec": {
5851           "type": "object",
5852           "properties": {
5853             "Params": {
5854               "$ref": "#/definitions/Entities"
5855             },
5856             "Result": {
5857               "$ref": "#/definitions/CloudSpecResults"
5858             }
5859           }
5860         },
5861         "ControllerConfig": {
5862           "type": "object",
5863           "properties": {
5864             "Result": {
5865               "$ref": "#/definitions/ControllerConfigResult"
5866             }
5867           }
5868         },
5869         "DestroyController": {
5870           "type": "object",
5871           "properties": {
5872             "Params": {
5873               "$ref": "#/definitions/DestroyControllerArgs"
5874             }
5875           }
5876         },
5877         "GetCloudSpec": {
5878           "type": "object",
5879           "properties": {
5880             "Params": {
5881               "$ref": "#/definitions/ModelTag"
5882             },
5883             "Result": {
5884               "$ref": "#/definitions/CloudSpecResult"
5885             }
5886           }
5887         },
5888         "GetControllerAccess": {
5889           "type": "object",
5890           "properties": {
5891             "Params": {
5892               "$ref": "#/definitions/Entities"
5893             },
5894             "Result": {
5895               "$ref": "#/definitions/UserAccessResults"
5896             }
5897           }
5898         },
5899         "HostedModelConfigs": {
5900           "type": "object",
5901           "properties": {
5902             "Result": {
5903               "$ref": "#/definitions/HostedModelConfigsResults"
5904             }
5905           }
5906         },
5907         "InitiateMigration": {
5908           "type": "object",
5909           "properties": {
5910             "Params": {
5911               "$ref": "#/definitions/InitiateMigrationArgs"
5912             },
5913             "Result": {
5914               "$ref": "#/definitions/InitiateMigrationResults"
5915             }
5916           }
5917         },
5918         "ListBlockedModels": {
5919           "type": "object",
5920           "properties": {
5921             "Result": {
5922               "$ref": "#/definitions/ModelBlockInfoList"
5923             }
5924           }
5925         },
5926         "ModelConfig": {
5927           "type": "object",
5928           "properties": {
5929             "Result": {
5930               "$ref": "#/definitions/ModelConfigResults"
5931             }
5932           }
5933         },
5934         "ModelStatus": {
5935           "type": "object",
5936           "properties": {
5937             "Params": {
5938               "$ref": "#/definitions/Entities"
5939             },
5940             "Result": {
5941               "$ref": "#/definitions/ModelStatusResults"
5942             }
5943           }
5944         },
5945         "ModifyControllerAccess": {
5946           "type": "object",
5947           "properties": {
5948             "Params": {
5949               "$ref": "#/definitions/ModifyControllerAccessRequest"
5950             },
5951             "Result": {
5952               "$ref": "#/definitions/ErrorResults"
5953             }
5954           }
5955         },
5956         "RemoveBlocks": {
5957           "type": "object",
5958           "properties": {
5959             "Params": {
5960               "$ref": "#/definitions/RemoveBlocksArgs"
5961             }
5962           }
5963         },
5964         "WatchAllModels": {
5965           "type": "object",
5966           "properties": {
5967             "Result": {
5968               "$ref": "#/definitions/AllWatcherId"
5969             }
5970           }
5971         }
5972       },
5973       "definitions": {
5974         "AllWatcherId": {
5975           "type": "object",
5976           "properties": {
5977             "watcher-id": {
5978               "type": "string"
5979             }
5980           },
5981           "additionalProperties": false,
5982           "required": [
5983             "watcher-id"
5984           ]
5985         },
5986         "CloudCredential": {
5987           "type": "object",
5988           "properties": {
5989             "attrs": {
5990               "type": "object",
5991               "patternProperties": {
5992                 ".*": {
5993                   "type": "string"
5994                 }
5995               }
5996             },
5997             "auth-type": {
5998               "type": "string"
5999             },
6000             "redacted": {
6001               "type": "array",
6002               "items": {
6003                 "type": "string"
6004               }
6005             }
6006           },
6007           "additionalProperties": false,
6008           "required": [
6009             "auth-type"
6010           ]
6011         },
6012         "CloudSpec": {
6013           "type": "object",
6014           "properties": {
6015             "credential": {
6016               "$ref": "#/definitions/CloudCredential"
6017             },
6018             "endpoint": {
6019               "type": "string"
6020             },
6021             "identity-endpoint": {
6022               "type": "string"
6023             },
6024             "name": {
6025               "type": "string"
6026             },
6027             "region": {
6028               "type": "string"
6029             },
6030             "storage-endpoint": {
6031               "type": "string"
6032             },
6033             "type": {
6034               "type": "string"
6035             }
6036           },
6037           "additionalProperties": false,
6038           "required": [
6039             "type",
6040             "name"
6041           ]
6042         },
6043         "CloudSpecResult": {
6044           "type": "object",
6045           "properties": {
6046             "error": {
6047               "$ref": "#/definitions/Error"
6048             },
6049             "result": {
6050               "$ref": "#/definitions/CloudSpec"
6051             }
6052           },
6053           "additionalProperties": false
6054         },
6055         "CloudSpecResults": {
6056           "type": "object",
6057           "properties": {
6058             "results": {
6059               "type": "array",
6060               "items": {
6061                 "$ref": "#/definitions/CloudSpecResult"
6062               }
6063             }
6064           },
6065           "additionalProperties": false
6066         },
6067         "ConfigValue": {
6068           "type": "object",
6069           "properties": {
6070             "source": {
6071               "type": "string"
6072             },
6073             "value": {
6074               "type": "object",
6075               "additionalProperties": true
6076             }
6077           },
6078           "additionalProperties": false,
6079           "required": [
6080             "value",
6081             "source"
6082           ]
6083         },
6084         "ControllerConfigResult": {
6085           "type": "object",
6086           "properties": {
6087             "config": {
6088               "type": "object",
6089               "patternProperties": {
6090                 ".*": {
6091                   "type": "object",
6092                   "additionalProperties": true
6093                 }
6094               }
6095             }
6096           },
6097           "additionalProperties": false,
6098           "required": [
6099             "config"
6100           ]
6101         },
6102         "DestroyControllerArgs": {
6103           "type": "object",
6104           "properties": {
6105             "destroy-models": {
6106               "type": "boolean"
6107             }
6108           },
6109           "additionalProperties": false,
6110           "required": [
6111             "destroy-models"
6112           ]
6113         },
6114         "Entities": {
6115           "type": "object",
6116           "properties": {
6117             "entities": {
6118               "type": "array",
6119               "items": {
6120                 "$ref": "#/definitions/Entity"
6121               }
6122             }
6123           },
6124           "additionalProperties": false,
6125           "required": [
6126             "entities"
6127           ]
6128         },
6129         "Entity": {
6130           "type": "object",
6131           "properties": {
6132             "tag": {
6133               "type": "string"
6134             }
6135           },
6136           "additionalProperties": false,
6137           "required": [
6138             "tag"
6139           ]
6140         },
6141         "Error": {
6142           "type": "object",
6143           "properties": {
6144             "code": {
6145               "type": "string"
6146             },
6147             "info": {
6148               "$ref": "#/definitions/ErrorInfo"
6149             },
6150             "message": {
6151               "type": "string"
6152             }
6153           },
6154           "additionalProperties": false,
6155           "required": [
6156             "message",
6157             "code"
6158           ]
6159         },
6160         "ErrorInfo": {
6161           "type": "object",
6162           "properties": {
6163             "macaroon": {
6164               "$ref": "#/definitions/Macaroon"
6165             },
6166             "macaroon-path": {
6167               "type": "string"
6168             }
6169           },
6170           "additionalProperties": false
6171         },
6172         "ErrorResult": {
6173           "type": "object",
6174           "properties": {
6175             "error": {
6176               "$ref": "#/definitions/Error"
6177             }
6178           },
6179           "additionalProperties": false
6180         },
6181         "ErrorResults": {
6182           "type": "object",
6183           "properties": {
6184             "results": {
6185               "type": "array",
6186               "items": {
6187                 "$ref": "#/definitions/ErrorResult"
6188               }
6189             }
6190           },
6191           "additionalProperties": false,
6192           "required": [
6193             "results"
6194           ]
6195         },
6196         "HostedModelConfig": {
6197           "type": "object",
6198           "properties": {
6199             "cloud-spec": {
6200               "$ref": "#/definitions/CloudSpec"
6201             },
6202             "config": {
6203               "type": "object",
6204               "patternProperties": {
6205                 ".*": {
6206                   "type": "object",
6207                   "additionalProperties": true
6208                 }
6209               }
6210             },
6211             "error": {
6212               "$ref": "#/definitions/Error"
6213             },
6214             "name": {
6215               "type": "string"
6216             },
6217             "owner": {
6218               "type": "string"
6219             }
6220           },
6221           "additionalProperties": false,
6222           "required": [
6223             "name",
6224             "owner"
6225           ]
6226         },
6227         "HostedModelConfigsResults": {
6228           "type": "object",
6229           "properties": {
6230             "models": {
6231               "type": "array",
6232               "items": {
6233                 "$ref": "#/definitions/HostedModelConfig"
6234               }
6235             }
6236           },
6237           "additionalProperties": false,
6238           "required": [
6239             "models"
6240           ]
6241         },
6242         "InitiateMigrationArgs": {
6243           "type": "object",
6244           "properties": {
6245             "specs": {
6246               "type": "array",
6247               "items": {
6248                 "$ref": "#/definitions/MigrationSpec"
6249               }
6250             }
6251           },
6252           "additionalProperties": false,
6253           "required": [
6254             "specs"
6255           ]
6256         },
6257         "InitiateMigrationResult": {
6258           "type": "object",
6259           "properties": {
6260             "error": {
6261               "$ref": "#/definitions/Error"
6262             },
6263             "migration-id": {
6264               "type": "string"
6265             },
6266             "model-tag": {
6267               "type": "string"
6268             }
6269           },
6270           "additionalProperties": false,
6271           "required": [
6272             "model-tag",
6273             "migration-id"
6274           ]
6275         },
6276         "InitiateMigrationResults": {
6277           "type": "object",
6278           "properties": {
6279             "results": {
6280               "type": "array",
6281               "items": {
6282                 "$ref": "#/definitions/InitiateMigrationResult"
6283               }
6284             }
6285           },
6286           "additionalProperties": false,
6287           "required": [
6288             "results"
6289           ]
6290         },
6291         "Macaroon": {
6292           "type": "object",
6293           "additionalProperties": false
6294         },
6295         "MachineHardware": {
6296           "type": "object",
6297           "properties": {
6298             "arch": {
6299               "type": "string"
6300             },
6301             "availability-zone": {
6302               "type": "string"
6303             },
6304             "cores": {
6305               "type": "integer"
6306             },
6307             "cpu-power": {
6308               "type": "integer"
6309             },
6310             "mem": {
6311               "type": "integer"
6312             },
6313             "root-disk": {
6314               "type": "integer"
6315             },
6316             "tags": {
6317               "type": "array",
6318               "items": {
6319                 "type": "string"
6320               }
6321             }
6322           },
6323           "additionalProperties": false
6324         },
6325         "MigrationSpec": {
6326           "type": "object",
6327           "properties": {
6328             "external-control": {
6329               "type": "boolean"
6330             },
6331             "model-tag": {
6332               "type": "string"
6333             },
6334             "skip-initial-prechecks": {
6335               "type": "boolean"
6336             },
6337             "target-info": {
6338               "$ref": "#/definitions/MigrationTargetInfo"
6339             }
6340           },
6341           "additionalProperties": false,
6342           "required": [
6343             "model-tag",
6344             "target-info",
6345             "external-control",
6346             "skip-initial-prechecks"
6347           ]
6348         },
6349         "MigrationTargetInfo": {
6350           "type": "object",
6351           "properties": {
6352             "addrs": {
6353               "type": "array",
6354               "items": {
6355                 "type": "string"
6356               }
6357             },
6358             "auth-tag": {
6359               "type": "string"
6360             },
6361             "ca-cert": {
6362               "type": "string"
6363             },
6364             "controller-tag": {
6365               "type": "string"
6366             },
6367             "macaroons": {
6368               "type": "string"
6369             },
6370             "password": {
6371               "type": "string"
6372             }
6373           },
6374           "additionalProperties": false,
6375           "required": [
6376             "controller-tag",
6377             "addrs",
6378             "ca-cert",
6379             "auth-tag"
6380           ]
6381         },
6382         "Model": {
6383           "type": "object",
6384           "properties": {
6385             "name": {
6386               "type": "string"
6387             },
6388             "owner-tag": {
6389               "type": "string"
6390             },
6391             "uuid": {
6392               "type": "string"
6393             }
6394           },
6395           "additionalProperties": false,
6396           "required": [
6397             "name",
6398             "uuid",
6399             "owner-tag"
6400           ]
6401         },
6402         "ModelBlockInfo": {
6403           "type": "object",
6404           "properties": {
6405             "blocks": {
6406               "type": "array",
6407               "items": {
6408                 "type": "string"
6409               }
6410             },
6411             "model-uuid": {
6412               "type": "string"
6413             },
6414             "name": {
6415               "type": "string"
6416             },
6417             "owner-tag": {
6418               "type": "string"
6419             }
6420           },
6421           "additionalProperties": false,
6422           "required": [
6423             "name",
6424             "model-uuid",
6425             "owner-tag",
6426             "blocks"
6427           ]
6428         },
6429         "ModelBlockInfoList": {
6430           "type": "object",
6431           "properties": {
6432             "models": {
6433               "type": "array",
6434               "items": {
6435                 "$ref": "#/definitions/ModelBlockInfo"
6436               }
6437             }
6438           },
6439           "additionalProperties": false
6440         },
6441         "ModelConfigResults": {
6442           "type": "object",
6443           "properties": {
6444             "config": {
6445               "type": "object",
6446               "patternProperties": {
6447                 ".*": {
6448                   "$ref": "#/definitions/ConfigValue"
6449                 }
6450               }
6451             }
6452           },
6453           "additionalProperties": false,
6454           "required": [
6455             "config"
6456           ]
6457         },
6458         "ModelMachineInfo": {
6459           "type": "object",
6460           "properties": {
6461             "hardware": {
6462               "$ref": "#/definitions/MachineHardware"
6463             },
6464             "has-vote": {
6465               "type": "boolean"
6466             },
6467             "id": {
6468               "type": "string"
6469             },
6470             "instance-id": {
6471               "type": "string"
6472             },
6473             "status": {
6474               "type": "string"
6475             },
6476             "wants-vote": {
6477               "type": "boolean"
6478             }
6479           },
6480           "additionalProperties": false,
6481           "required": [
6482             "id"
6483           ]
6484         },
6485         "ModelStatus": {
6486           "type": "object",
6487           "properties": {
6488             "application-count": {
6489               "type": "integer"
6490             },
6491             "hosted-machine-count": {
6492               "type": "integer"
6493             },
6494             "life": {
6495               "type": "string"
6496             },
6497             "machines": {
6498               "type": "array",
6499               "items": {
6500                 "$ref": "#/definitions/ModelMachineInfo"
6501               }
6502             },
6503             "model-tag": {
6504               "type": "string"
6505             },
6506             "owner-tag": {
6507               "type": "string"
6508             }
6509           },
6510           "additionalProperties": false,
6511           "required": [
6512             "model-tag",
6513             "life",
6514             "hosted-machine-count",
6515             "application-count",
6516             "owner-tag"
6517           ]
6518         },
6519         "ModelStatusResults": {
6520           "type": "object",
6521           "properties": {
6522             "models": {
6523               "type": "array",
6524               "items": {
6525                 "$ref": "#/definitions/ModelStatus"
6526               }
6527             }
6528           },
6529           "additionalProperties": false,
6530           "required": [
6531             "models"
6532           ]
6533         },
6534         "ModelTag": {
6535           "type": "object",
6536           "additionalProperties": false
6537         },
6538         "ModifyControllerAccess": {
6539           "type": "object",
6540           "properties": {
6541             "access": {
6542               "type": "string"
6543             },
6544             "action": {
6545               "type": "string"
6546             },
6547             "user-tag": {
6548               "type": "string"
6549             }
6550           },
6551           "additionalProperties": false,
6552           "required": [
6553             "user-tag",
6554             "action",
6555             "access"
6556           ]
6557         },
6558         "ModifyControllerAccessRequest": {
6559           "type": "object",
6560           "properties": {
6561             "changes": {
6562               "type": "array",
6563               "items": {
6564                 "$ref": "#/definitions/ModifyControllerAccess"
6565               }
6566             }
6567           },
6568           "additionalProperties": false,
6569           "required": [
6570             "changes"
6571           ]
6572         },
6573         "RemoveBlocksArgs": {
6574           "type": "object",
6575           "properties": {
6576             "all": {
6577               "type": "boolean"
6578             }
6579           },
6580           "additionalProperties": false,
6581           "required": [
6582             "all"
6583           ]
6584         },
6585         "UserAccess": {
6586           "type": "object",
6587           "properties": {
6588             "access": {
6589               "type": "string"
6590             },
6591             "user-tag": {
6592               "type": "string"
6593             }
6594           },
6595           "additionalProperties": false,
6596           "required": [
6597             "user-tag",
6598             "access"
6599           ]
6600         },
6601         "UserAccessResult": {
6602           "type": "object",
6603           "properties": {
6604             "error": {
6605               "$ref": "#/definitions/Error"
6606             },
6607             "result": {
6608               "$ref": "#/definitions/UserAccess"
6609             }
6610           },
6611           "additionalProperties": false
6612         },
6613         "UserAccessResults": {
6614           "type": "object",
6615           "properties": {
6616             "results": {
6617               "type": "array",
6618               "items": {
6619                 "$ref": "#/definitions/UserAccessResult"
6620               }
6621             }
6622           },
6623           "additionalProperties": false
6624         },
6625         "UserModel": {
6626           "type": "object",
6627           "properties": {
6628             "last-connection": {
6629               "type": "string",
6630               "format": "date-time"
6631             },
6632             "model": {
6633               "$ref": "#/definitions/Model"
6634             }
6635           },
6636           "additionalProperties": false,
6637           "required": [
6638             "model",
6639             "last-connection"
6640           ]
6641         },
6642         "UserModelList": {
6643           "type": "object",
6644           "properties": {
6645             "user-models": {
6646               "type": "array",
6647               "items": {
6648                 "$ref": "#/definitions/UserModel"
6649               }
6650             }
6651           },
6652           "additionalProperties": false,
6653           "required": [
6654             "user-models"
6655           ]
6656         }
6657       }
6658     }
6659   },
6660   {
6661     "Name": "Deployer",
6662     "Version": 1,
6663     "Schema": {
6664       "type": "object",
6665       "properties": {
6666         "APIAddresses": {
6667           "type": "object",
6668           "properties": {
6669             "Result": {
6670               "$ref": "#/definitions/StringsResult"
6671             }
6672           }
6673         },
6674         "APIHostPorts": {
6675           "type": "object",
6676           "properties": {
6677             "Result": {
6678               "$ref": "#/definitions/APIHostPortsResult"
6679             }
6680           }
6681         },
6682         "CACert": {
6683           "type": "object",
6684           "properties": {
6685             "Result": {
6686               "$ref": "#/definitions/BytesResult"
6687             }
6688           }
6689         },
6690         "ConnectionInfo": {
6691           "type": "object",
6692           "properties": {
6693             "Result": {
6694               "$ref": "#/definitions/DeployerConnectionValues"
6695             }
6696           }
6697         },
6698         "Life": {
6699           "type": "object",
6700           "properties": {
6701             "Params": {
6702               "$ref": "#/definitions/Entities"
6703             },
6704             "Result": {
6705               "$ref": "#/definitions/LifeResults"
6706             }
6707           }
6708         },
6709         "ModelUUID": {
6710           "type": "object",
6711           "properties": {
6712             "Result": {
6713               "$ref": "#/definitions/StringResult"
6714             }
6715           }
6716         },
6717         "Remove": {
6718           "type": "object",
6719           "properties": {
6720             "Params": {
6721               "$ref": "#/definitions/Entities"
6722             },
6723             "Result": {
6724               "$ref": "#/definitions/ErrorResults"
6725             }
6726           }
6727         },
6728         "SetPasswords": {
6729           "type": "object",
6730           "properties": {
6731             "Params": {
6732               "$ref": "#/definitions/EntityPasswords"
6733             },
6734             "Result": {
6735               "$ref": "#/definitions/ErrorResults"
6736             }
6737           }
6738         },
6739         "SetStatus": {
6740           "type": "object",
6741           "properties": {
6742             "Params": {
6743               "$ref": "#/definitions/SetStatus"
6744             },
6745             "Result": {
6746               "$ref": "#/definitions/ErrorResults"
6747             }
6748           }
6749         },
6750         "StateAddresses": {
6751           "type": "object",
6752           "properties": {
6753             "Result": {
6754               "$ref": "#/definitions/StringsResult"
6755             }
6756           }
6757         },
6758         "UpdateStatus": {
6759           "type": "object",
6760           "properties": {
6761             "Params": {
6762               "$ref": "#/definitions/SetStatus"
6763             },
6764             "Result": {
6765               "$ref": "#/definitions/ErrorResults"
6766             }
6767           }
6768         },
6769         "WatchAPIHostPorts": {
6770           "type": "object",
6771           "properties": {
6772             "Result": {
6773               "$ref": "#/definitions/NotifyWatchResult"
6774             }
6775           }
6776         },
6777         "WatchUnits": {
6778           "type": "object",
6779           "properties": {
6780             "Params": {
6781               "$ref": "#/definitions/Entities"
6782             },
6783             "Result": {
6784               "$ref": "#/definitions/StringsWatchResults"
6785             }
6786           }
6787         }
6788       },
6789       "definitions": {
6790         "APIHostPortsResult": {
6791           "type": "object",
6792           "properties": {
6793             "servers": {
6794               "type": "array",
6795               "items": {
6796                 "type": "array",
6797                 "items": {
6798                   "$ref": "#/definitions/HostPort"
6799                 }
6800               }
6801             }
6802           },
6803           "additionalProperties": false,
6804           "required": [
6805             "servers"
6806           ]
6807         },
6808         "Address": {
6809           "type": "object",
6810           "properties": {
6811             "scope": {
6812               "type": "string"
6813             },
6814             "space-name": {
6815               "type": "string"
6816             },
6817             "type": {
6818               "type": "string"
6819             },
6820             "value": {
6821               "type": "string"
6822             }
6823           },
6824           "additionalProperties": false,
6825           "required": [
6826             "value",
6827             "type",
6828             "scope"
6829           ]
6830         },
6831         "BytesResult": {
6832           "type": "object",
6833           "properties": {
6834             "result": {
6835               "type": "array",
6836               "items": {
6837                 "type": "integer"
6838               }
6839             }
6840           },
6841           "additionalProperties": false,
6842           "required": [
6843             "result"
6844           ]
6845         },
6846         "DeployerConnectionValues": {
6847           "type": "object",
6848           "properties": {
6849             "api-addresses": {
6850               "type": "array",
6851               "items": {
6852                 "type": "string"
6853               }
6854             },
6855             "state-addresses": {
6856               "type": "array",
6857               "items": {
6858                 "type": "string"
6859               }
6860             }
6861           },
6862           "additionalProperties": false,
6863           "required": [
6864             "state-addresses",
6865             "api-addresses"
6866           ]
6867         },
6868         "Entities": {
6869           "type": "object",
6870           "properties": {
6871             "entities": {
6872               "type": "array",
6873               "items": {
6874                 "$ref": "#/definitions/Entity"
6875               }
6876             }
6877           },
6878           "additionalProperties": false,
6879           "required": [
6880             "entities"
6881           ]
6882         },
6883         "Entity": {
6884           "type": "object",
6885           "properties": {
6886             "tag": {
6887               "type": "string"
6888             }
6889           },
6890           "additionalProperties": false,
6891           "required": [
6892             "tag"
6893           ]
6894         },
6895         "EntityPassword": {
6896           "type": "object",
6897           "properties": {
6898             "password": {
6899               "type": "string"
6900             },
6901             "tag": {
6902               "type": "string"
6903             }
6904           },
6905           "additionalProperties": false,
6906           "required": [
6907             "tag",
6908             "password"
6909           ]
6910         },
6911         "EntityPasswords": {
6912           "type": "object",
6913           "properties": {
6914             "changes": {
6915               "type": "array",
6916               "items": {
6917                 "$ref": "#/definitions/EntityPassword"
6918               }
6919             }
6920           },
6921           "additionalProperties": false,
6922           "required": [
6923             "changes"
6924           ]
6925         },
6926         "EntityStatusArgs": {
6927           "type": "object",
6928           "properties": {
6929             "data": {
6930               "type": "object",
6931               "patternProperties": {
6932                 ".*": {
6933                   "type": "object",
6934                   "additionalProperties": true
6935                 }
6936               }
6937             },
6938             "info": {
6939               "type": "string"
6940             },
6941             "status": {
6942               "type": "string"
6943             },
6944             "tag": {
6945               "type": "string"
6946             }
6947           },
6948           "additionalProperties": false,
6949           "required": [
6950             "tag",
6951             "status",
6952             "info",
6953             "data"
6954           ]
6955         },
6956         "Error": {
6957           "type": "object",
6958           "properties": {
6959             "code": {
6960               "type": "string"
6961             },
6962             "info": {
6963               "$ref": "#/definitions/ErrorInfo"
6964             },
6965             "message": {
6966               "type": "string"
6967             }
6968           },
6969           "additionalProperties": false,
6970           "required": [
6971             "message",
6972             "code"
6973           ]
6974         },
6975         "ErrorInfo": {
6976           "type": "object",
6977           "properties": {
6978             "macaroon": {
6979               "$ref": "#/definitions/Macaroon"
6980             },
6981             "macaroon-path": {
6982               "type": "string"
6983             }
6984           },
6985           "additionalProperties": false
6986         },
6987         "ErrorResult": {
6988           "type": "object",
6989           "properties": {
6990             "error": {
6991               "$ref": "#/definitions/Error"
6992             }
6993           },
6994           "additionalProperties": false
6995         },
6996         "ErrorResults": {
6997           "type": "object",
6998           "properties": {
6999             "results": {
7000               "type": "array",
7001               "items": {
7002                 "$ref": "#/definitions/ErrorResult"
7003               }
7004             }
7005           },
7006           "additionalProperties": false,
7007           "required": [
7008             "results"
7009           ]
7010         },
7011         "HostPort": {
7012           "type": "object",
7013           "properties": {
7014             "Address": {
7015               "$ref": "#/definitions/Address"
7016             },
7017             "port": {
7018               "type": "integer"
7019             }
7020           },
7021           "additionalProperties": false,
7022           "required": [
7023             "Address",
7024             "port"
7025           ]
7026         },
7027         "LifeResult": {
7028           "type": "object",
7029           "properties": {
7030             "error": {
7031               "$ref": "#/definitions/Error"
7032             },
7033             "life": {
7034               "type": "string"
7035             }
7036           },
7037           "additionalProperties": false,
7038           "required": [
7039             "life"
7040           ]
7041         },
7042         "LifeResults": {
7043           "type": "object",
7044           "properties": {
7045             "results": {
7046               "type": "array",
7047               "items": {
7048                 "$ref": "#/definitions/LifeResult"
7049               }
7050             }
7051           },
7052           "additionalProperties": false,
7053           "required": [
7054             "results"
7055           ]
7056         },
7057         "Macaroon": {
7058           "type": "object",
7059           "additionalProperties": false
7060         },
7061         "NotifyWatchResult": {
7062           "type": "object",
7063           "properties": {
7064             "NotifyWatcherId": {
7065               "type": "string"
7066             },
7067             "error": {
7068               "$ref": "#/definitions/Error"
7069             }
7070           },
7071           "additionalProperties": false,
7072           "required": [
7073             "NotifyWatcherId"
7074           ]
7075         },
7076         "SetStatus": {
7077           "type": "object",
7078           "properties": {
7079             "entities": {
7080               "type": "array",
7081               "items": {
7082                 "$ref": "#/definitions/EntityStatusArgs"
7083               }
7084             }
7085           },
7086           "additionalProperties": false,
7087           "required": [
7088             "entities"
7089           ]
7090         },
7091         "StringResult": {
7092           "type": "object",
7093           "properties": {
7094             "error": {
7095               "$ref": "#/definitions/Error"
7096             },
7097             "result": {
7098               "type": "string"
7099             }
7100           },
7101           "additionalProperties": false,
7102           "required": [
7103             "result"
7104           ]
7105         },
7106         "StringsResult": {
7107           "type": "object",
7108           "properties": {
7109             "error": {
7110               "$ref": "#/definitions/Error"
7111             },
7112             "result": {
7113               "type": "array",
7114               "items": {
7115                 "type": "string"
7116               }
7117             }
7118           },
7119           "additionalProperties": false
7120         },
7121         "StringsWatchResult": {
7122           "type": "object",
7123           "properties": {
7124             "changes": {
7125               "type": "array",
7126               "items": {
7127                 "type": "string"
7128               }
7129             },
7130             "error": {
7131               "$ref": "#/definitions/Error"
7132             },
7133             "watcher-id": {
7134               "type": "string"
7135             }
7136           },
7137           "additionalProperties": false,
7138           "required": [
7139             "watcher-id"
7140           ]
7141         },
7142         "StringsWatchResults": {
7143           "type": "object",
7144           "properties": {
7145             "results": {
7146               "type": "array",
7147               "items": {
7148                 "$ref": "#/definitions/StringsWatchResult"
7149               }
7150             }
7151           },
7152           "additionalProperties": false,
7153           "required": [
7154             "results"
7155           ]
7156         }
7157       }
7158     }
7159   },
7160   {
7161     "Name": "DiscoverSpaces",
7162     "Version": 2,
7163     "Schema": {
7164       "type": "object",
7165       "properties": {
7166         "AddSubnets": {
7167           "type": "object",
7168           "properties": {
7169             "Params": {
7170               "$ref": "#/definitions/AddSubnetsParams"
7171             },
7172             "Result": {
7173               "$ref": "#/definitions/ErrorResults"
7174             }
7175           }
7176         },
7177         "CreateSpaces": {
7178           "type": "object",
7179           "properties": {
7180             "Params": {
7181               "$ref": "#/definitions/CreateSpacesParams"
7182             },
7183             "Result": {
7184               "$ref": "#/definitions/ErrorResults"
7185             }
7186           }
7187         },
7188         "ListSpaces": {
7189           "type": "object",
7190           "properties": {
7191             "Result": {
7192               "$ref": "#/definitions/DiscoverSpacesResults"
7193             }
7194           }
7195         },
7196         "ListSubnets": {
7197           "type": "object",
7198           "properties": {
7199             "Params": {
7200               "$ref": "#/definitions/SubnetsFilters"
7201             },
7202             "Result": {
7203               "$ref": "#/definitions/ListSubnetsResults"
7204             }
7205           }
7206         },
7207         "ModelConfig": {
7208           "type": "object",
7209           "properties": {
7210             "Result": {
7211               "$ref": "#/definitions/ModelConfigResult"
7212             }
7213           }
7214         }
7215       },
7216       "definitions": {
7217         "AddSubnetParams": {
7218           "type": "object",
7219           "properties": {
7220             "space-tag": {
7221               "type": "string"
7222             },
7223             "subnet-provider-id": {
7224               "type": "string"
7225             },
7226             "subnet-tag": {
7227               "type": "string"
7228             },
7229             "zones": {
7230               "type": "array",
7231               "items": {
7232                 "type": "string"
7233               }
7234             }
7235           },
7236           "additionalProperties": false,
7237           "required": [
7238             "space-tag"
7239           ]
7240         },
7241         "AddSubnetsParams": {
7242           "type": "object",
7243           "properties": {
7244             "subnets": {
7245               "type": "array",
7246               "items": {
7247                 "$ref": "#/definitions/AddSubnetParams"
7248               }
7249             }
7250           },
7251           "additionalProperties": false,
7252           "required": [
7253             "subnets"
7254           ]
7255         },
7256         "CreateSpaceParams": {
7257           "type": "object",
7258           "properties": {
7259             "provider-id": {
7260               "type": "string"
7261             },
7262             "public": {
7263               "type": "boolean"
7264             },
7265             "space-tag": {
7266               "type": "string"
7267             },
7268             "subnet-tags": {
7269               "type": "array",
7270               "items": {
7271                 "type": "string"
7272               }
7273             }
7274           },
7275           "additionalProperties": false,
7276           "required": [
7277             "subnet-tags",
7278             "space-tag",
7279             "public"
7280           ]
7281         },
7282         "CreateSpacesParams": {
7283           "type": "object",
7284           "properties": {
7285             "spaces": {
7286               "type": "array",
7287               "items": {
7288                 "$ref": "#/definitions/CreateSpaceParams"
7289               }
7290             }
7291           },
7292           "additionalProperties": false,
7293           "required": [
7294             "spaces"
7295           ]
7296         },
7297         "DiscoverSpacesResults": {
7298           "type": "object",
7299           "properties": {
7300             "results": {
7301               "type": "array",
7302               "items": {
7303                 "$ref": "#/definitions/ProviderSpace"
7304               }
7305             }
7306           },
7307           "additionalProperties": false,
7308           "required": [
7309             "results"
7310           ]
7311         },
7312         "Error": {
7313           "type": "object",
7314           "properties": {
7315             "code": {
7316               "type": "string"
7317             },
7318             "info": {
7319               "$ref": "#/definitions/ErrorInfo"
7320             },
7321             "message": {
7322               "type": "string"
7323             }
7324           },
7325           "additionalProperties": false,
7326           "required": [
7327             "message",
7328             "code"
7329           ]
7330         },
7331         "ErrorInfo": {
7332           "type": "object",
7333           "properties": {
7334             "macaroon": {
7335               "$ref": "#/definitions/Macaroon"
7336             },
7337             "macaroon-path": {
7338               "type": "string"
7339             }
7340           },
7341           "additionalProperties": false
7342         },
7343         "ErrorResult": {
7344           "type": "object",
7345           "properties": {
7346             "error": {
7347               "$ref": "#/definitions/Error"
7348             }
7349           },
7350           "additionalProperties": false
7351         },
7352         "ErrorResults": {
7353           "type": "object",
7354           "properties": {
7355             "results": {
7356               "type": "array",
7357               "items": {
7358                 "$ref": "#/definitions/ErrorResult"
7359               }
7360             }
7361           },
7362           "additionalProperties": false,
7363           "required": [
7364             "results"
7365           ]
7366         },
7367         "ListSubnetsResults": {
7368           "type": "object",
7369           "properties": {
7370             "results": {
7371               "type": "array",
7372               "items": {
7373                 "$ref": "#/definitions/Subnet"
7374               }
7375             }
7376           },
7377           "additionalProperties": false,
7378           "required": [
7379             "results"
7380           ]
7381         },
7382         "Macaroon": {
7383           "type": "object",
7384           "additionalProperties": false
7385         },
7386         "ModelConfigResult": {
7387           "type": "object",
7388           "properties": {
7389             "config": {
7390               "type": "object",
7391               "patternProperties": {
7392                 ".*": {
7393                   "type": "object",
7394                   "additionalProperties": true
7395                 }
7396               }
7397             }
7398           },
7399           "additionalProperties": false,
7400           "required": [
7401             "config"
7402           ]
7403         },
7404         "ProviderSpace": {
7405           "type": "object",
7406           "properties": {
7407             "error": {
7408               "$ref": "#/definitions/Error"
7409             },
7410             "name": {
7411               "type": "string"
7412             },
7413             "provider-id": {
7414               "type": "string"
7415             },
7416             "subnets": {
7417               "type": "array",
7418               "items": {
7419                 "$ref": "#/definitions/Subnet"
7420               }
7421             }
7422           },
7423           "additionalProperties": false,
7424           "required": [
7425             "name",
7426             "provider-id",
7427             "subnets"
7428           ]
7429         },
7430         "Subnet": {
7431           "type": "object",
7432           "properties": {
7433             "cidr": {
7434               "type": "string"
7435             },
7436             "life": {
7437               "type": "string"
7438             },
7439             "provider-id": {
7440               "type": "string"
7441             },
7442             "space-tag": {
7443               "type": "string"
7444             },
7445             "status": {
7446               "type": "string"
7447             },
7448             "vlan-tag": {
7449               "type": "integer"
7450             },
7451             "zones": {
7452               "type": "array",
7453               "items": {
7454                 "type": "string"
7455               }
7456             }
7457           },
7458           "additionalProperties": false,
7459           "required": [
7460             "cidr",
7461             "vlan-tag",
7462             "life",
7463             "space-tag",
7464             "zones"
7465           ]
7466         },
7467         "SubnetsFilters": {
7468           "type": "object",
7469           "properties": {
7470             "space-tag": {
7471               "type": "string"
7472             },
7473             "zone": {
7474               "type": "string"
7475             }
7476           },
7477           "additionalProperties": false
7478         }
7479       }
7480     }
7481   },
7482   {
7483     "Name": "DiskManager",
7484     "Version": 2,
7485     "Schema": {
7486       "type": "object",
7487       "properties": {
7488         "SetMachineBlockDevices": {
7489           "type": "object",
7490           "properties": {
7491             "Params": {
7492               "$ref": "#/definitions/SetMachineBlockDevices"
7493             },
7494             "Result": {
7495               "$ref": "#/definitions/ErrorResults"
7496             }
7497           }
7498         }
7499       },
7500       "definitions": {
7501         "BlockDevice": {
7502           "type": "object",
7503           "properties": {
7504             "BusAddress": {
7505               "type": "string"
7506             },
7507             "DeviceLinks": {
7508               "type": "array",
7509               "items": {
7510                 "type": "string"
7511               }
7512             },
7513             "DeviceName": {
7514               "type": "string"
7515             },
7516             "FilesystemType": {
7517               "type": "string"
7518             },
7519             "HardwareId": {
7520               "type": "string"
7521             },
7522             "InUse": {
7523               "type": "boolean"
7524             },
7525             "Label": {
7526               "type": "string"
7527             },
7528             "MountPoint": {
7529               "type": "string"
7530             },
7531             "Size": {
7532               "type": "integer"
7533             },
7534             "UUID": {
7535               "type": "string"
7536             }
7537           },
7538           "additionalProperties": false,
7539           "required": [
7540             "DeviceName",
7541             "DeviceLinks",
7542             "Label",
7543             "UUID",
7544             "HardwareId",
7545             "BusAddress",
7546             "Size",
7547             "FilesystemType",
7548             "InUse",
7549             "MountPoint"
7550           ]
7551         },
7552         "Error": {
7553           "type": "object",
7554           "properties": {
7555             "code": {
7556               "type": "string"
7557             },
7558             "info": {
7559               "$ref": "#/definitions/ErrorInfo"
7560             },
7561             "message": {
7562               "type": "string"
7563             }
7564           },
7565           "additionalProperties": false,
7566           "required": [
7567             "message",
7568             "code"
7569           ]
7570         },
7571         "ErrorInfo": {
7572           "type": "object",
7573           "properties": {
7574             "macaroon": {
7575               "$ref": "#/definitions/Macaroon"
7576             },
7577             "macaroon-path": {
7578               "type": "string"
7579             }
7580           },
7581           "additionalProperties": false
7582         },
7583         "ErrorResult": {
7584           "type": "object",
7585           "properties": {
7586             "error": {
7587               "$ref": "#/definitions/Error"
7588             }
7589           },
7590           "additionalProperties": false
7591         },
7592         "ErrorResults": {
7593           "type": "object",
7594           "properties": {
7595             "results": {
7596               "type": "array",
7597               "items": {
7598                 "$ref": "#/definitions/ErrorResult"
7599               }
7600             }
7601           },
7602           "additionalProperties": false,
7603           "required": [
7604             "results"
7605           ]
7606         },
7607         "Macaroon": {
7608           "type": "object",
7609           "additionalProperties": false
7610         },
7611         "MachineBlockDevices": {
7612           "type": "object",
7613           "properties": {
7614             "block-devices": {
7615               "type": "array",
7616               "items": {
7617                 "$ref": "#/definitions/BlockDevice"
7618               }
7619             },
7620             "machine": {
7621               "type": "string"
7622             }
7623           },
7624           "additionalProperties": false,
7625           "required": [
7626             "machine"
7627           ]
7628         },
7629         "SetMachineBlockDevices": {
7630           "type": "object",
7631           "properties": {
7632             "machine-block-devices": {
7633               "type": "array",
7634               "items": {
7635                 "$ref": "#/definitions/MachineBlockDevices"
7636               }
7637             }
7638           },
7639           "additionalProperties": false,
7640           "required": [
7641             "machine-block-devices"
7642           ]
7643         }
7644       }
7645     }
7646   },
7647   {
7648     "Name": "EntityWatcher",
7649     "Version": 2,
7650     "Schema": {
7651       "type": "object",
7652       "properties": {
7653         "Next": {
7654           "type": "object",
7655           "properties": {
7656             "Result": {
7657               "$ref": "#/definitions/EntitiesWatchResult"
7658             }
7659           }
7660         },
7661         "Stop": {
7662           "type": "object"
7663         }
7664       },
7665       "definitions": {
7666         "EntitiesWatchResult": {
7667           "type": "object",
7668           "properties": {
7669             "changes": {
7670               "type": "array",
7671               "items": {
7672                 "type": "string"
7673               }
7674             },
7675             "error": {
7676               "$ref": "#/definitions/Error"
7677             },
7678             "watcher-id": {
7679               "type": "string"
7680             }
7681           },
7682           "additionalProperties": false,
7683           "required": [
7684             "watcher-id"
7685           ]
7686         },
7687         "Error": {
7688           "type": "object",
7689           "properties": {
7690             "code": {
7691               "type": "string"
7692             },
7693             "info": {
7694               "$ref": "#/definitions/ErrorInfo"
7695             },
7696             "message": {
7697               "type": "string"
7698             }
7699           },
7700           "additionalProperties": false,
7701           "required": [
7702             "message",
7703             "code"
7704           ]
7705         },
7706         "ErrorInfo": {
7707           "type": "object",
7708           "properties": {
7709             "macaroon": {
7710               "$ref": "#/definitions/Macaroon"
7711             },
7712             "macaroon-path": {
7713               "type": "string"
7714             }
7715           },
7716           "additionalProperties": false
7717         },
7718         "Macaroon": {
7719           "type": "object",
7720           "additionalProperties": false
7721         }
7722       }
7723     }
7724   },
7725   {
7726     "Name": "FilesystemAttachmentsWatcher",
7727     "Version": 2,
7728     "Schema": {
7729       "type": "object",
7730       "properties": {
7731         "Next": {
7732           "type": "object",
7733           "properties": {
7734             "Result": {
7735               "$ref": "#/definitions/MachineStorageIdsWatchResult"
7736             }
7737           }
7738         },
7739         "Stop": {
7740           "type": "object"
7741         }
7742       },
7743       "definitions": {
7744         "Error": {
7745           "type": "object",
7746           "properties": {
7747             "code": {
7748               "type": "string"
7749             },
7750             "info": {
7751               "$ref": "#/definitions/ErrorInfo"
7752             },
7753             "message": {
7754               "type": "string"
7755             }
7756           },
7757           "additionalProperties": false,
7758           "required": [
7759             "message",
7760             "code"
7761           ]
7762         },
7763         "ErrorInfo": {
7764           "type": "object",
7765           "properties": {
7766             "macaroon": {
7767               "$ref": "#/definitions/Macaroon"
7768             },
7769             "macaroon-path": {
7770               "type": "string"
7771             }
7772           },
7773           "additionalProperties": false
7774         },
7775         "Macaroon": {
7776           "type": "object",
7777           "additionalProperties": false
7778         },
7779         "MachineStorageId": {
7780           "type": "object",
7781           "properties": {
7782             "attachment-tag": {
7783               "type": "string"
7784             },
7785             "machine-tag": {
7786               "type": "string"
7787             }
7788           },
7789           "additionalProperties": false,
7790           "required": [
7791             "machine-tag",
7792             "attachment-tag"
7793           ]
7794         },
7795         "MachineStorageIdsWatchResult": {
7796           "type": "object",
7797           "properties": {
7798             "changes": {
7799               "type": "array",
7800               "items": {
7801                 "$ref": "#/definitions/MachineStorageId"
7802               }
7803             },
7804             "error": {
7805               "$ref": "#/definitions/Error"
7806             },
7807             "watcher-id": {
7808               "type": "string"
7809             }
7810           },
7811           "additionalProperties": false,
7812           "required": [
7813             "watcher-id",
7814             "changes"
7815           ]
7816         }
7817       }
7818     }
7819   },
7820   {
7821     "Name": "Firewaller",
7822     "Version": 3,
7823     "Schema": {
7824       "type": "object",
7825       "properties": {
7826         "CloudSpec": {
7827           "type": "object",
7828           "properties": {
7829             "Params": {
7830               "$ref": "#/definitions/Entities"
7831             },
7832             "Result": {
7833               "$ref": "#/definitions/CloudSpecResults"
7834             }
7835           }
7836         },
7837         "GetAssignedMachine": {
7838           "type": "object",
7839           "properties": {
7840             "Params": {
7841               "$ref": "#/definitions/Entities"
7842             },
7843             "Result": {
7844               "$ref": "#/definitions/StringResults"
7845             }
7846           }
7847         },
7848         "GetCloudSpec": {
7849           "type": "object",
7850           "properties": {
7851             "Params": {
7852               "$ref": "#/definitions/ModelTag"
7853             },
7854             "Result": {
7855               "$ref": "#/definitions/CloudSpecResult"
7856             }
7857           }
7858         },
7859         "GetExposed": {
7860           "type": "object",
7861           "properties": {
7862             "Params": {
7863               "$ref": "#/definitions/Entities"
7864             },
7865             "Result": {
7866               "$ref": "#/definitions/BoolResults"
7867             }
7868           }
7869         },
7870         "GetMachineActiveSubnets": {
7871           "type": "object",
7872           "properties": {
7873             "Params": {
7874               "$ref": "#/definitions/Entities"
7875             },
7876             "Result": {
7877               "$ref": "#/definitions/StringsResults"
7878             }
7879           }
7880         },
7881         "GetMachinePorts": {
7882           "type": "object",
7883           "properties": {
7884             "Params": {
7885               "$ref": "#/definitions/MachinePortsParams"
7886             },
7887             "Result": {
7888               "$ref": "#/definitions/MachinePortsResults"
7889             }
7890           }
7891         },
7892         "InstanceId": {
7893           "type": "object",
7894           "properties": {
7895             "Params": {
7896               "$ref": "#/definitions/Entities"
7897             },
7898             "Result": {
7899               "$ref": "#/definitions/StringResults"
7900             }
7901           }
7902         },
7903         "Life": {
7904           "type": "object",
7905           "properties": {
7906             "Params": {
7907               "$ref": "#/definitions/Entities"
7908             },
7909             "Result": {
7910               "$ref": "#/definitions/LifeResults"
7911             }
7912           }
7913         },
7914         "ModelConfig": {
7915           "type": "object",
7916           "properties": {
7917             "Result": {
7918               "$ref": "#/definitions/ModelConfigResult"
7919             }
7920           }
7921         },
7922         "Watch": {
7923           "type": "object",
7924           "properties": {
7925             "Params": {
7926               "$ref": "#/definitions/Entities"
7927             },
7928             "Result": {
7929               "$ref": "#/definitions/NotifyWatchResults"
7930             }
7931           }
7932         },
7933         "WatchForModelConfigChanges": {
7934           "type": "object",
7935           "properties": {
7936             "Result": {
7937               "$ref": "#/definitions/NotifyWatchResult"
7938             }
7939           }
7940         },
7941         "WatchModelMachines": {
7942           "type": "object",
7943           "properties": {
7944             "Result": {
7945               "$ref": "#/definitions/StringsWatchResult"
7946             }
7947           }
7948         },
7949         "WatchOpenedPorts": {
7950           "type": "object",
7951           "properties": {
7952             "Params": {
7953               "$ref": "#/definitions/Entities"
7954             },
7955             "Result": {
7956               "$ref": "#/definitions/StringsWatchResults"
7957             }
7958           }
7959         },
7960         "WatchUnits": {
7961           "type": "object",
7962           "properties": {
7963             "Params": {
7964               "$ref": "#/definitions/Entities"
7965             },
7966             "Result": {
7967               "$ref": "#/definitions/StringsWatchResults"
7968             }
7969           }
7970         }
7971       },
7972       "definitions": {
7973         "BoolResult": {
7974           "type": "object",
7975           "properties": {
7976             "error": {
7977               "$ref": "#/definitions/Error"
7978             },
7979             "result": {
7980               "type": "boolean"
7981             }
7982           },
7983           "additionalProperties": false,
7984           "required": [
7985             "result"
7986           ]
7987         },
7988         "BoolResults": {
7989           "type": "object",
7990           "properties": {
7991             "results": {
7992               "type": "array",
7993               "items": {
7994                 "$ref": "#/definitions/BoolResult"
7995               }
7996             }
7997           },
7998           "additionalProperties": false,
7999           "required": [
8000             "results"
8001           ]
8002         },
8003         "CloudCredential": {
8004           "type": "object",
8005           "properties": {
8006             "attrs": {
8007               "type": "object",
8008               "patternProperties": {
8009                 ".*": {
8010                   "type": "string"
8011                 }
8012               }
8013             },
8014             "auth-type": {
8015               "type": "string"
8016             },
8017             "redacted": {
8018               "type": "array",
8019               "items": {
8020                 "type": "string"
8021               }
8022             }
8023           },
8024           "additionalProperties": false,
8025           "required": [
8026             "auth-type"
8027           ]
8028         },
8029         "CloudSpec": {
8030           "type": "object",
8031           "properties": {
8032             "credential": {
8033               "$ref": "#/definitions/CloudCredential"
8034             },
8035             "endpoint": {
8036               "type": "string"
8037             },
8038             "identity-endpoint": {
8039               "type": "string"
8040             },
8041             "name": {
8042               "type": "string"
8043             },
8044             "region": {
8045               "type": "string"
8046             },
8047             "storage-endpoint": {
8048               "type": "string"
8049             },
8050             "type": {
8051               "type": "string"
8052             }
8053           },
8054           "additionalProperties": false,
8055           "required": [
8056             "type",
8057             "name"
8058           ]
8059         },
8060         "CloudSpecResult": {
8061           "type": "object",
8062           "properties": {
8063             "error": {
8064               "$ref": "#/definitions/Error"
8065             },
8066             "result": {
8067               "$ref": "#/definitions/CloudSpec"
8068             }
8069           },
8070           "additionalProperties": false
8071         },
8072         "CloudSpecResults": {
8073           "type": "object",
8074           "properties": {
8075             "results": {
8076               "type": "array",
8077               "items": {
8078                 "$ref": "#/definitions/CloudSpecResult"
8079               }
8080             }
8081           },
8082           "additionalProperties": false
8083         },
8084         "Entities": {
8085           "type": "object",
8086           "properties": {
8087             "entities": {
8088               "type": "array",
8089               "items": {
8090                 "$ref": "#/definitions/Entity"
8091               }
8092             }
8093           },
8094           "additionalProperties": false,
8095           "required": [
8096             "entities"
8097           ]
8098         },
8099         "Entity": {
8100           "type": "object",
8101           "properties": {
8102             "tag": {
8103               "type": "string"
8104             }
8105           },
8106           "additionalProperties": false,
8107           "required": [
8108             "tag"
8109           ]
8110         },
8111         "Error": {
8112           "type": "object",
8113           "properties": {
8114             "code": {
8115               "type": "string"
8116             },
8117             "info": {
8118               "$ref": "#/definitions/ErrorInfo"
8119             },
8120             "message": {
8121               "type": "string"
8122             }
8123           },
8124           "additionalProperties": false,
8125           "required": [
8126             "message",
8127             "code"
8128           ]
8129         },
8130         "ErrorInfo": {
8131           "type": "object",
8132           "properties": {
8133             "macaroon": {
8134               "$ref": "#/definitions/Macaroon"
8135             },
8136             "macaroon-path": {
8137               "type": "string"
8138             }
8139           },
8140           "additionalProperties": false
8141         },
8142         "LifeResult": {
8143           "type": "object",
8144           "properties": {
8145             "error": {
8146               "$ref": "#/definitions/Error"
8147             },
8148             "life": {
8149               "type": "string"
8150             }
8151           },
8152           "additionalProperties": false,
8153           "required": [
8154             "life"
8155           ]
8156         },
8157         "LifeResults": {
8158           "type": "object",
8159           "properties": {
8160             "results": {
8161               "type": "array",
8162               "items": {
8163                 "$ref": "#/definitions/LifeResult"
8164               }
8165             }
8166           },
8167           "additionalProperties": false,
8168           "required": [
8169             "results"
8170           ]
8171         },
8172         "Macaroon": {
8173           "type": "object",
8174           "additionalProperties": false
8175         },
8176         "MachinePortRange": {
8177           "type": "object",
8178           "properties": {
8179             "port-range": {
8180               "$ref": "#/definitions/PortRange"
8181             },
8182             "relation-tag": {
8183               "type": "string"
8184             },
8185             "unit-tag": {
8186               "type": "string"
8187             }
8188           },
8189           "additionalProperties": false,
8190           "required": [
8191             "unit-tag",
8192             "relation-tag",
8193             "port-range"
8194           ]
8195         },
8196         "MachinePorts": {
8197           "type": "object",
8198           "properties": {
8199             "machine-tag": {
8200               "type": "string"
8201             },
8202             "subnet-tag": {
8203               "type": "string"
8204             }
8205           },
8206           "additionalProperties": false,
8207           "required": [
8208             "machine-tag",
8209             "subnet-tag"
8210           ]
8211         },
8212         "MachinePortsParams": {
8213           "type": "object",
8214           "properties": {
8215             "params": {
8216               "type": "array",
8217               "items": {
8218                 "$ref": "#/definitions/MachinePorts"
8219               }
8220             }
8221           },
8222           "additionalProperties": false,
8223           "required": [
8224             "params"
8225           ]
8226         },
8227         "MachinePortsResult": {
8228           "type": "object",
8229           "properties": {
8230             "error": {
8231               "$ref": "#/definitions/Error"
8232             },
8233             "ports": {
8234               "type": "array",
8235               "items": {
8236                 "$ref": "#/definitions/MachinePortRange"
8237               }
8238             }
8239           },
8240           "additionalProperties": false,
8241           "required": [
8242             "ports"
8243           ]
8244         },
8245         "MachinePortsResults": {
8246           "type": "object",
8247           "properties": {
8248             "results": {
8249               "type": "array",
8250               "items": {
8251                 "$ref": "#/definitions/MachinePortsResult"
8252               }
8253             }
8254           },
8255           "additionalProperties": false,
8256           "required": [
8257             "results"
8258           ]
8259         },
8260         "ModelConfigResult": {
8261           "type": "object",
8262           "properties": {
8263             "config": {
8264               "type": "object",
8265               "patternProperties": {
8266                 ".*": {
8267                   "type": "object",
8268                   "additionalProperties": true
8269                 }
8270               }
8271             }
8272           },
8273           "additionalProperties": false,
8274           "required": [
8275             "config"
8276           ]
8277         },
8278         "ModelTag": {
8279           "type": "object",
8280           "additionalProperties": false
8281         },
8282         "NotifyWatchResult": {
8283           "type": "object",
8284           "properties": {
8285             "NotifyWatcherId": {
8286               "type": "string"
8287             },
8288             "error": {
8289               "$ref": "#/definitions/Error"
8290             }
8291           },
8292           "additionalProperties": false,
8293           "required": [
8294             "NotifyWatcherId"
8295           ]
8296         },
8297         "NotifyWatchResults": {
8298           "type": "object",
8299           "properties": {
8300             "results": {
8301               "type": "array",
8302               "items": {
8303                 "$ref": "#/definitions/NotifyWatchResult"
8304               }
8305             }
8306           },
8307           "additionalProperties": false,
8308           "required": [
8309             "results"
8310           ]
8311         },
8312         "PortRange": {
8313           "type": "object",
8314           "properties": {
8315             "from-port": {
8316               "type": "integer"
8317             },
8318             "protocol": {
8319               "type": "string"
8320             },
8321             "to-port": {
8322               "type": "integer"
8323             }
8324           },
8325           "additionalProperties": false,
8326           "required": [
8327             "from-port",
8328             "to-port",
8329             "protocol"
8330           ]
8331         },
8332         "StringResult": {
8333           "type": "object",
8334           "properties": {
8335             "error": {
8336               "$ref": "#/definitions/Error"
8337             },
8338             "result": {
8339               "type": "string"
8340             }
8341           },
8342           "additionalProperties": false,
8343           "required": [
8344             "result"
8345           ]
8346         },
8347         "StringResults": {
8348           "type": "object",
8349           "properties": {
8350             "results": {
8351               "type": "array",
8352               "items": {
8353                 "$ref": "#/definitions/StringResult"
8354               }
8355             }
8356           },
8357           "additionalProperties": false,
8358           "required": [
8359             "results"
8360           ]
8361         },
8362         "StringsResult": {
8363           "type": "object",
8364           "properties": {
8365             "error": {
8366               "$ref": "#/definitions/Error"
8367             },
8368             "result": {
8369               "type": "array",
8370               "items": {
8371                 "type": "string"
8372               }
8373             }
8374           },
8375           "additionalProperties": false
8376         },
8377         "StringsResults": {
8378           "type": "object",
8379           "properties": {
8380             "results": {
8381               "type": "array",
8382               "items": {
8383                 "$ref": "#/definitions/StringsResult"
8384               }
8385             }
8386           },
8387           "additionalProperties": false,
8388           "required": [
8389             "results"
8390           ]
8391         },
8392         "StringsWatchResult": {
8393           "type": "object",
8394           "properties": {
8395             "changes": {
8396               "type": "array",
8397               "items": {
8398                 "type": "string"
8399               }
8400             },
8401             "error": {
8402               "$ref": "#/definitions/Error"
8403             },
8404             "watcher-id": {
8405               "type": "string"
8406             }
8407           },
8408           "additionalProperties": false,
8409           "required": [
8410             "watcher-id"
8411           ]
8412         },
8413         "StringsWatchResults": {
8414           "type": "object",
8415           "properties": {
8416             "results": {
8417               "type": "array",
8418               "items": {
8419                 "$ref": "#/definitions/StringsWatchResult"
8420               }
8421             }
8422           },
8423           "additionalProperties": false,
8424           "required": [
8425             "results"
8426           ]
8427         }
8428       }
8429     }
8430   },
8431   {
8432     "Name": "HighAvailability",
8433     "Version": 2,
8434     "Schema": {
8435       "type": "object",
8436       "properties": {
8437         "EnableHA": {
8438           "type": "object",
8439           "properties": {
8440             "Params": {
8441               "$ref": "#/definitions/ControllersSpecs"
8442             },
8443             "Result": {
8444               "$ref": "#/definitions/ControllersChangeResults"
8445             }
8446           }
8447         },
8448         "ResumeHAReplicationAfterUpgrade": {
8449           "type": "object",
8450           "properties": {
8451             "Params": {
8452               "$ref": "#/definitions/ResumeReplicationParams"
8453             }
8454           }
8455         },
8456         "StopHAReplicationForUpgrade": {
8457           "type": "object",
8458           "properties": {
8459             "Params": {
8460               "$ref": "#/definitions/UpgradeMongoParams"
8461             },
8462             "Result": {
8463               "$ref": "#/definitions/MongoUpgradeResults"
8464             }
8465           }
8466         }
8467       },
8468       "definitions": {
8469         "Address": {
8470           "type": "object",
8471           "properties": {
8472             "Scope": {
8473               "type": "string"
8474             },
8475             "SpaceName": {
8476               "type": "string"
8477             },
8478             "SpaceProviderId": {
8479               "type": "string"
8480             },
8481             "Type": {
8482               "type": "string"
8483             },
8484             "Value": {
8485               "type": "string"
8486             }
8487           },
8488           "additionalProperties": false,
8489           "required": [
8490             "Value",
8491             "Type",
8492             "Scope",
8493             "SpaceName",
8494             "SpaceProviderId"
8495           ]
8496         },
8497         "ControllersChangeResult": {
8498           "type": "object",
8499           "properties": {
8500             "error": {
8501               "$ref": "#/definitions/Error"
8502             },
8503             "result": {
8504               "$ref": "#/definitions/ControllersChanges"
8505             }
8506           },
8507           "additionalProperties": false,
8508           "required": [
8509             "result"
8510           ]
8511         },
8512         "ControllersChangeResults": {
8513           "type": "object",
8514           "properties": {
8515             "results": {
8516               "type": "array",
8517               "items": {
8518                 "$ref": "#/definitions/ControllersChangeResult"
8519               }
8520             }
8521           },
8522           "additionalProperties": false,
8523           "required": [
8524             "results"
8525           ]
8526         },
8527         "ControllersChanges": {
8528           "type": "object",
8529           "properties": {
8530             "added": {
8531               "type": "array",
8532               "items": {
8533                 "type": "string"
8534               }
8535             },
8536             "converted": {
8537               "type": "array",
8538               "items": {
8539                 "type": "string"
8540               }
8541             },
8542             "demoted": {
8543               "type": "array",
8544               "items": {
8545                 "type": "string"
8546               }
8547             },
8548             "maintained": {
8549               "type": "array",
8550               "items": {
8551                 "type": "string"
8552               }
8553             },
8554             "promoted": {
8555               "type": "array",
8556               "items": {
8557                 "type": "string"
8558               }
8559             },
8560             "removed": {
8561               "type": "array",
8562               "items": {
8563                 "type": "string"
8564               }
8565             }
8566           },
8567           "additionalProperties": false
8568         },
8569         "ControllersSpec": {
8570           "type": "object",
8571           "properties": {
8572             "constraints": {
8573               "$ref": "#/definitions/Value"
8574             },
8575             "num-controllers": {
8576               "type": "integer"
8577             },
8578             "placement": {
8579               "type": "array",
8580               "items": {
8581                 "type": "string"
8582               }
8583             },
8584             "series": {
8585               "type": "string"
8586             }
8587           },
8588           "additionalProperties": false,
8589           "required": [
8590             "num-controllers"
8591           ]
8592         },
8593         "ControllersSpecs": {
8594           "type": "object",
8595           "properties": {
8596             "specs": {
8597               "type": "array",
8598               "items": {
8599                 "$ref": "#/definitions/ControllersSpec"
8600               }
8601             }
8602           },
8603           "additionalProperties": false,
8604           "required": [
8605             "specs"
8606           ]
8607         },
8608         "Error": {
8609           "type": "object",
8610           "properties": {
8611             "code": {
8612               "type": "string"
8613             },
8614             "info": {
8615               "$ref": "#/definitions/ErrorInfo"
8616             },
8617             "message": {
8618               "type": "string"
8619             }
8620           },
8621           "additionalProperties": false,
8622           "required": [
8623             "message",
8624             "code"
8625           ]
8626         },
8627         "ErrorInfo": {
8628           "type": "object",
8629           "properties": {
8630             "macaroon": {
8631               "$ref": "#/definitions/Macaroon"
8632             },
8633             "macaroon-path": {
8634               "type": "string"
8635             }
8636           },
8637           "additionalProperties": false
8638         },
8639         "HAMember": {
8640           "type": "object",
8641           "properties": {
8642             "public-address": {
8643               "$ref": "#/definitions/Address"
8644             },
8645             "series": {
8646               "type": "string"
8647             },
8648             "tag": {
8649               "type": "string"
8650             }
8651           },
8652           "additionalProperties": false,
8653           "required": [
8654             "tag",
8655             "public-address",
8656             "series"
8657           ]
8658         },
8659         "Macaroon": {
8660           "type": "object",
8661           "additionalProperties": false
8662         },
8663         "Member": {
8664           "type": "object",
8665           "properties": {
8666             "Address": {
8667               "type": "string"
8668             },
8669             "Arbiter": {
8670               "type": "boolean"
8671             },
8672             "BuildIndexes": {
8673               "type": "boolean"
8674             },
8675             "Hidden": {
8676               "type": "boolean"
8677             },
8678             "Id": {
8679               "type": "integer"
8680             },
8681             "Priority": {
8682               "type": "number"
8683             },
8684             "SlaveDelay": {
8685               "type": "integer"
8686             },
8687             "Tags": {
8688               "type": "object",
8689               "patternProperties": {
8690                 ".*": {
8691                   "type": "string"
8692                 }
8693               }
8694             },
8695             "Votes": {
8696               "type": "integer"
8697             }
8698           },
8699           "additionalProperties": false,
8700           "required": [
8701             "Id",
8702             "Address",
8703             "Arbiter",
8704             "BuildIndexes",
8705             "Hidden",
8706             "Priority",
8707             "Tags",
8708             "SlaveDelay",
8709             "Votes"
8710           ]
8711         },
8712         "MongoUpgradeResults": {
8713           "type": "object",
8714           "properties": {
8715             "ha-members": {
8716               "type": "array",
8717               "items": {
8718                 "$ref": "#/definitions/HAMember"
8719               }
8720             },
8721             "master": {
8722               "$ref": "#/definitions/HAMember"
8723             },
8724             "rs-members": {
8725               "type": "array",
8726               "items": {
8727                 "$ref": "#/definitions/Member"
8728               }
8729             }
8730           },
8731           "additionalProperties": false,
8732           "required": [
8733             "rs-members",
8734             "master",
8735             "ha-members"
8736           ]
8737         },
8738         "MongoVersion": {
8739           "type": "object",
8740           "properties": {
8741             "engine": {
8742               "type": "string"
8743             },
8744             "major": {
8745               "type": "integer"
8746             },
8747             "minor": {
8748               "type": "integer"
8749             },
8750             "patch": {
8751               "type": "string"
8752             }
8753           },
8754           "additionalProperties": false,
8755           "required": [
8756             "major",
8757             "minor",
8758             "patch",
8759             "engine"
8760           ]
8761         },
8762         "ResumeReplicationParams": {
8763           "type": "object",
8764           "properties": {
8765             "members": {
8766               "type": "array",
8767               "items": {
8768                 "$ref": "#/definitions/Member"
8769               }
8770             }
8771           },
8772           "additionalProperties": false,
8773           "required": [
8774             "members"
8775           ]
8776         },
8777         "UpgradeMongoParams": {
8778           "type": "object",
8779           "properties": {
8780             "target": {
8781               "$ref": "#/definitions/MongoVersion"
8782             }
8783           },
8784           "additionalProperties": false,
8785           "required": [
8786             "target"
8787           ]
8788         },
8789         "Value": {
8790           "type": "object",
8791           "properties": {
8792             "arch": {
8793               "type": "string"
8794             },
8795             "container": {
8796               "type": "string"
8797             },
8798             "cores": {
8799               "type": "integer"
8800             },
8801             "cpu-power": {
8802               "type": "integer"
8803             },
8804             "instance-type": {
8805               "type": "string"
8806             },
8807             "mem": {
8808               "type": "integer"
8809             },
8810             "root-disk": {
8811               "type": "integer"
8812             },
8813             "spaces": {
8814               "type": "array",
8815               "items": {
8816                 "type": "string"
8817               }
8818             },
8819             "tags": {
8820               "type": "array",
8821               "items": {
8822                 "type": "string"
8823               }
8824             },
8825             "virt-type": {
8826               "type": "string"
8827             }
8828           },
8829           "additionalProperties": false
8830         }
8831       }
8832     }
8833   },
8834   {
8835     "Name": "HostKeyReporter",
8836     "Version": 1,
8837     "Schema": {
8838       "type": "object",
8839       "properties": {
8840         "ReportKeys": {
8841           "type": "object",
8842           "properties": {
8843             "Params": {
8844               "$ref": "#/definitions/SSHHostKeySet"
8845             },
8846             "Result": {
8847               "$ref": "#/definitions/ErrorResults"
8848             }
8849           }
8850         }
8851       },
8852       "definitions": {
8853         "Error": {
8854           "type": "object",
8855           "properties": {
8856             "code": {
8857               "type": "string"
8858             },
8859             "info": {
8860               "$ref": "#/definitions/ErrorInfo"
8861             },
8862             "message": {
8863               "type": "string"
8864             }
8865           },
8866           "additionalProperties": false,
8867           "required": [
8868             "message",
8869             "code"
8870           ]
8871         },
8872         "ErrorInfo": {
8873           "type": "object",
8874           "properties": {
8875             "macaroon": {
8876               "$ref": "#/definitions/Macaroon"
8877             },
8878             "macaroon-path": {
8879               "type": "string"
8880             }
8881           },
8882           "additionalProperties": false
8883         },
8884         "ErrorResult": {
8885           "type": "object",
8886           "properties": {
8887             "error": {
8888               "$ref": "#/definitions/Error"
8889             }
8890           },
8891           "additionalProperties": false
8892         },
8893         "ErrorResults": {
8894           "type": "object",
8895           "properties": {
8896             "results": {
8897               "type": "array",
8898               "items": {
8899                 "$ref": "#/definitions/ErrorResult"
8900               }
8901             }
8902           },
8903           "additionalProperties": false,
8904           "required": [
8905             "results"
8906           ]
8907         },
8908         "Macaroon": {
8909           "type": "object",
8910           "additionalProperties": false
8911         },
8912         "SSHHostKeySet": {
8913           "type": "object",
8914           "properties": {
8915             "entity-keys": {
8916               "type": "array",
8917               "items": {
8918                 "$ref": "#/definitions/SSHHostKeys"
8919               }
8920             }
8921           },
8922           "additionalProperties": false,
8923           "required": [
8924             "entity-keys"
8925           ]
8926         },
8927         "SSHHostKeys": {
8928           "type": "object",
8929           "properties": {
8930             "public-keys": {
8931               "type": "array",
8932               "items": {
8933                 "type": "string"
8934               }
8935             },
8936             "tag": {
8937               "type": "string"
8938             }
8939           },
8940           "additionalProperties": false,
8941           "required": [
8942             "tag",
8943             "public-keys"
8944           ]
8945         }
8946       }
8947     }
8948   },
8949   {
8950     "Name": "ImageManager",
8951     "Version": 2,
8952     "Schema": {
8953       "type": "object",
8954       "properties": {
8955         "DeleteImages": {
8956           "type": "object",
8957           "properties": {
8958             "Params": {
8959               "$ref": "#/definitions/ImageFilterParams"
8960             },
8961             "Result": {
8962               "$ref": "#/definitions/ErrorResults"
8963             }
8964           }
8965         },
8966         "ListImages": {
8967           "type": "object",
8968           "properties": {
8969             "Params": {
8970               "$ref": "#/definitions/ImageFilterParams"
8971             },
8972             "Result": {
8973               "$ref": "#/definitions/ListImageResult"
8974             }
8975           }
8976         }
8977       },
8978       "definitions": {
8979         "Error": {
8980           "type": "object",
8981           "properties": {
8982             "code": {
8983               "type": "string"
8984             },
8985             "info": {
8986               "$ref": "#/definitions/ErrorInfo"
8987             },
8988             "message": {
8989               "type": "string"
8990             }
8991           },
8992           "additionalProperties": false,
8993           "required": [
8994             "message",
8995             "code"
8996           ]
8997         },
8998         "ErrorInfo": {
8999           "type": "object",
9000           "properties": {
9001             "macaroon": {
9002               "$ref": "#/definitions/Macaroon"
9003             },
9004             "macaroon-path": {
9005               "type": "string"
9006             }
9007           },
9008           "additionalProperties": false
9009         },
9010         "ErrorResult": {
9011           "type": "object",
9012           "properties": {
9013             "error": {
9014               "$ref": "#/definitions/Error"
9015             }
9016           },
9017           "additionalProperties": false
9018         },
9019         "ErrorResults": {
9020           "type": "object",
9021           "properties": {
9022             "results": {
9023               "type": "array",
9024               "items": {
9025                 "$ref": "#/definitions/ErrorResult"
9026               }
9027             }
9028           },
9029           "additionalProperties": false,
9030           "required": [
9031             "results"
9032           ]
9033         },
9034         "ImageFilterParams": {
9035           "type": "object",
9036           "properties": {
9037             "images": {
9038               "type": "array",
9039               "items": {
9040                 "$ref": "#/definitions/ImageSpec"
9041               }
9042             }
9043           },
9044           "additionalProperties": false,
9045           "required": [
9046             "images"
9047           ]
9048         },
9049         "ImageMetadata": {
9050           "type": "object",
9051           "properties": {
9052             "arch": {
9053               "type": "string"
9054             },
9055             "created": {
9056               "type": "string",
9057               "format": "date-time"
9058             },
9059             "kind": {
9060               "type": "string"
9061             },
9062             "series": {
9063               "type": "string"
9064             },
9065             "url": {
9066               "type": "string"
9067             }
9068           },
9069           "additionalProperties": false,
9070           "required": [
9071             "kind",
9072             "arch",
9073             "series",
9074             "url",
9075             "created"
9076           ]
9077         },
9078         "ImageSpec": {
9079           "type": "object",
9080           "properties": {
9081             "arch": {
9082               "type": "string"
9083             },
9084             "kind": {
9085               "type": "string"
9086             },
9087             "series": {
9088               "type": "string"
9089             }
9090           },
9091           "additionalProperties": false,
9092           "required": [
9093             "kind",
9094             "arch",
9095             "series"
9096           ]
9097         },
9098         "ListImageResult": {
9099           "type": "object",
9100           "properties": {
9101             "result": {
9102               "type": "array",
9103               "items": {
9104                 "$ref": "#/definitions/ImageMetadata"
9105               }
9106             }
9107           },
9108           "additionalProperties": false,
9109           "required": [
9110             "result"
9111           ]
9112         },
9113         "Macaroon": {
9114           "type": "object",
9115           "additionalProperties": false
9116         }
9117       }
9118     }
9119   },
9120   {
9121     "Name": "ImageMetadata",
9122     "Version": 2,
9123     "Schema": {
9124       "type": "object",
9125       "properties": {
9126         "Delete": {
9127           "type": "object",
9128           "properties": {
9129             "Params": {
9130               "$ref": "#/definitions/MetadataImageIds"
9131             },
9132             "Result": {
9133               "$ref": "#/definitions/ErrorResults"
9134             }
9135           }
9136         },
9137         "List": {
9138           "type": "object",
9139           "properties": {
9140             "Params": {
9141               "$ref": "#/definitions/ImageMetadataFilter"
9142             },
9143             "Result": {
9144               "$ref": "#/definitions/ListCloudImageMetadataResult"
9145             }
9146           }
9147         },
9148         "Save": {
9149           "type": "object",
9150           "properties": {
9151             "Params": {
9152               "$ref": "#/definitions/MetadataSaveParams"
9153             },
9154             "Result": {
9155               "$ref": "#/definitions/ErrorResults"
9156             }
9157           }
9158         },
9159         "UpdateFromPublishedImages": {
9160           "type": "object"
9161         }
9162       },
9163       "definitions": {
9164         "CloudImageMetadata": {
9165           "type": "object",
9166           "properties": {
9167             "arch": {
9168               "type": "string"
9169             },
9170             "image-id": {
9171               "type": "string"
9172             },
9173             "priority": {
9174               "type": "integer"
9175             },
9176             "region": {
9177               "type": "string"
9178             },
9179             "root-storage-size": {
9180               "type": "integer"
9181             },
9182             "root-storage-type": {
9183               "type": "string"
9184             },
9185             "series": {
9186               "type": "string"
9187             },
9188             "source": {
9189               "type": "string"
9190             },
9191             "stream": {
9192               "type": "string"
9193             },
9194             "version": {
9195               "type": "string"
9196             },
9197             "virt-type": {
9198               "type": "string"
9199             }
9200           },
9201           "additionalProperties": false,
9202           "required": [
9203             "image-id",
9204             "region",
9205             "version",
9206             "series",
9207             "arch",
9208             "source",
9209             "priority"
9210           ]
9211         },
9212         "CloudImageMetadataList": {
9213           "type": "object",
9214           "properties": {
9215             "metadata": {
9216               "type": "array",
9217               "items": {
9218                 "$ref": "#/definitions/CloudImageMetadata"
9219               }
9220             }
9221           },
9222           "additionalProperties": false
9223         },
9224         "Error": {
9225           "type": "object",
9226           "properties": {
9227             "code": {
9228               "type": "string"
9229             },
9230             "info": {
9231               "$ref": "#/definitions/ErrorInfo"
9232             },
9233             "message": {
9234               "type": "string"
9235             }
9236           },
9237           "additionalProperties": false,
9238           "required": [
9239             "message",
9240             "code"
9241           ]
9242         },
9243         "ErrorInfo": {
9244           "type": "object",
9245           "properties": {
9246             "macaroon": {
9247               "$ref": "#/definitions/Macaroon"
9248             },
9249             "macaroon-path": {
9250               "type": "string"
9251             }
9252           },
9253           "additionalProperties": false
9254         },
9255         "ErrorResult": {
9256           "type": "object",
9257           "properties": {
9258             "error": {
9259               "$ref": "#/definitions/Error"
9260             }
9261           },
9262           "additionalProperties": false
9263         },
9264         "ErrorResults": {
9265           "type": "object",
9266           "properties": {
9267             "results": {
9268               "type": "array",
9269               "items": {
9270                 "$ref": "#/definitions/ErrorResult"
9271               }
9272             }
9273           },
9274           "additionalProperties": false,
9275           "required": [
9276             "results"
9277           ]
9278         },
9279         "ImageMetadataFilter": {
9280           "type": "object",
9281           "properties": {
9282             "arches": {
9283               "type": "array",
9284               "items": {
9285                 "type": "string"
9286               }
9287             },
9288             "region": {
9289               "type": "string"
9290             },
9291             "root-storage-type": {
9292               "type": "string"
9293             },
9294             "series": {
9295               "type": "array",
9296               "items": {
9297                 "type": "string"
9298               }
9299             },
9300             "stream": {
9301               "type": "string"
9302             },
9303             "virt-type": {
9304               "type": "string"
9305             }
9306           },
9307           "additionalProperties": false
9308         },
9309         "ListCloudImageMetadataResult": {
9310           "type": "object",
9311           "properties": {
9312             "result": {
9313               "type": "array",
9314               "items": {
9315                 "$ref": "#/definitions/CloudImageMetadata"
9316               }
9317             }
9318           },
9319           "additionalProperties": false,
9320           "required": [
9321             "result"
9322           ]
9323         },
9324         "Macaroon": {
9325           "type": "object",
9326           "additionalProperties": false
9327         },
9328         "MetadataImageIds": {
9329           "type": "object",
9330           "properties": {
9331             "image-ids": {
9332               "type": "array",
9333               "items": {
9334                 "type": "string"
9335               }
9336             }
9337           },
9338           "additionalProperties": false,
9339           "required": [
9340             "image-ids"
9341           ]
9342         },
9343         "MetadataSaveParams": {
9344           "type": "object",
9345           "properties": {
9346             "metadata": {
9347               "type": "array",
9348               "items": {
9349                 "$ref": "#/definitions/CloudImageMetadataList"
9350               }
9351             }
9352           },
9353           "additionalProperties": false
9354         }
9355       }
9356     }
9357   },
9358   {
9359     "Name": "InstancePoller",
9360     "Version": 3,
9361     "Schema": {
9362       "type": "object",
9363       "properties": {
9364         "AreManuallyProvisioned": {
9365           "type": "object",
9366           "properties": {
9367             "Params": {
9368               "$ref": "#/definitions/Entities"
9369             },
9370             "Result": {
9371               "$ref": "#/definitions/BoolResults"
9372             }
9373           }
9374         },
9375         "InstanceId": {
9376           "type": "object",
9377           "properties": {
9378             "Params": {
9379               "$ref": "#/definitions/Entities"
9380             },
9381             "Result": {
9382               "$ref": "#/definitions/StringResults"
9383             }
9384           }
9385         },
9386         "InstanceStatus": {
9387           "type": "object",
9388           "properties": {
9389             "Params": {
9390               "$ref": "#/definitions/Entities"
9391             },
9392             "Result": {
9393               "$ref": "#/definitions/StatusResults"
9394             }
9395           }
9396         },
9397         "Life": {
9398           "type": "object",
9399           "properties": {
9400             "Params": {
9401               "$ref": "#/definitions/Entities"
9402             },
9403             "Result": {
9404               "$ref": "#/definitions/LifeResults"
9405             }
9406           }
9407         },
9408         "ModelConfig": {
9409           "type": "object",
9410           "properties": {
9411             "Result": {
9412               "$ref": "#/definitions/ModelConfigResult"
9413             }
9414           }
9415         },
9416         "ProviderAddresses": {
9417           "type": "object",
9418           "properties": {
9419             "Params": {
9420               "$ref": "#/definitions/Entities"
9421             },
9422             "Result": {
9423               "$ref": "#/definitions/MachineAddressesResults"
9424             }
9425           }
9426         },
9427         "SetInstanceStatus": {
9428           "type": "object",
9429           "properties": {
9430             "Params": {
9431               "$ref": "#/definitions/SetStatus"
9432             },
9433             "Result": {
9434               "$ref": "#/definitions/ErrorResults"
9435             }
9436           }
9437         },
9438         "SetProviderAddresses": {
9439           "type": "object",
9440           "properties": {
9441             "Params": {
9442               "$ref": "#/definitions/SetMachinesAddresses"
9443             },
9444             "Result": {
9445               "$ref": "#/definitions/ErrorResults"
9446             }
9447           }
9448         },
9449         "Status": {
9450           "type": "object",
9451           "properties": {
9452             "Params": {
9453               "$ref": "#/definitions/Entities"
9454             },
9455             "Result": {
9456               "$ref": "#/definitions/StatusResults"
9457             }
9458           }
9459         },
9460         "WatchForModelConfigChanges": {
9461           "type": "object",
9462           "properties": {
9463             "Result": {
9464               "$ref": "#/definitions/NotifyWatchResult"
9465             }
9466           }
9467         },
9468         "WatchModelMachines": {
9469           "type": "object",
9470           "properties": {
9471             "Result": {
9472               "$ref": "#/definitions/StringsWatchResult"
9473             }
9474           }
9475         }
9476       },
9477       "definitions": {
9478         "Address": {
9479           "type": "object",
9480           "properties": {
9481             "scope": {
9482               "type": "string"
9483             },
9484             "space-name": {
9485               "type": "string"
9486             },
9487             "type": {
9488               "type": "string"
9489             },
9490             "value": {
9491               "type": "string"
9492             }
9493           },
9494           "additionalProperties": false,
9495           "required": [
9496             "value",
9497             "type",
9498             "scope"
9499           ]
9500         },
9501         "BoolResult": {
9502           "type": "object",
9503           "properties": {
9504             "error": {
9505               "$ref": "#/definitions/Error"
9506             },
9507             "result": {
9508               "type": "boolean"
9509             }
9510           },
9511           "additionalProperties": false,
9512           "required": [
9513             "result"
9514           ]
9515         },
9516         "BoolResults": {
9517           "type": "object",
9518           "properties": {
9519             "results": {
9520               "type": "array",
9521               "items": {
9522                 "$ref": "#/definitions/BoolResult"
9523               }
9524             }
9525           },
9526           "additionalProperties": false,
9527           "required": [
9528             "results"
9529           ]
9530         },
9531         "Entities": {
9532           "type": "object",
9533           "properties": {
9534             "entities": {
9535               "type": "array",
9536               "items": {
9537                 "$ref": "#/definitions/Entity"
9538               }
9539             }
9540           },
9541           "additionalProperties": false,
9542           "required": [
9543             "entities"
9544           ]
9545         },
9546         "Entity": {
9547           "type": "object",
9548           "properties": {
9549             "tag": {
9550               "type": "string"
9551             }
9552           },
9553           "additionalProperties": false,
9554           "required": [
9555             "tag"
9556           ]
9557         },
9558         "EntityStatusArgs": {
9559           "type": "object",
9560           "properties": {
9561             "data": {
9562               "type": "object",
9563               "patternProperties": {
9564                 ".*": {
9565                   "type": "object",
9566                   "additionalProperties": true
9567                 }
9568               }
9569             },
9570             "info": {
9571               "type": "string"
9572             },
9573             "status": {
9574               "type": "string"
9575             },
9576             "tag": {
9577               "type": "string"
9578             }
9579           },
9580           "additionalProperties": false,
9581           "required": [
9582             "tag",
9583             "status",
9584             "info",
9585             "data"
9586           ]
9587         },
9588         "Error": {
9589           "type": "object",
9590           "properties": {
9591             "code": {
9592               "type": "string"
9593             },
9594             "info": {
9595               "$ref": "#/definitions/ErrorInfo"
9596             },
9597             "message": {
9598               "type": "string"
9599             }
9600           },
9601           "additionalProperties": false,
9602           "required": [
9603             "message",
9604             "code"
9605           ]
9606         },
9607         "ErrorInfo": {
9608           "type": "object",
9609           "properties": {
9610             "macaroon": {
9611               "$ref": "#/definitions/Macaroon"
9612             },
9613             "macaroon-path": {
9614               "type": "string"
9615             }
9616           },
9617           "additionalProperties": false
9618         },
9619         "ErrorResult": {
9620           "type": "object",
9621           "properties": {
9622             "error": {
9623               "$ref": "#/definitions/Error"
9624             }
9625           },
9626           "additionalProperties": false
9627         },
9628         "ErrorResults": {
9629           "type": "object",
9630           "properties": {
9631             "results": {
9632               "type": "array",
9633               "items": {
9634                 "$ref": "#/definitions/ErrorResult"
9635               }
9636             }
9637           },
9638           "additionalProperties": false,
9639           "required": [
9640             "results"
9641           ]
9642         },
9643         "LifeResult": {
9644           "type": "object",
9645           "properties": {
9646             "error": {
9647               "$ref": "#/definitions/Error"
9648             },
9649             "life": {
9650               "type": "string"
9651             }
9652           },
9653           "additionalProperties": false,
9654           "required": [
9655             "life"
9656           ]
9657         },
9658         "LifeResults": {
9659           "type": "object",
9660           "properties": {
9661             "results": {
9662               "type": "array",
9663               "items": {
9664                 "$ref": "#/definitions/LifeResult"
9665               }
9666             }
9667           },
9668           "additionalProperties": false,
9669           "required": [
9670             "results"
9671           ]
9672         },
9673         "Macaroon": {
9674           "type": "object",
9675           "additionalProperties": false
9676         },
9677         "MachineAddresses": {
9678           "type": "object",
9679           "properties": {
9680             "addresses": {
9681               "type": "array",
9682               "items": {
9683                 "$ref": "#/definitions/Address"
9684               }
9685             },
9686             "tag": {
9687               "type": "string"
9688             }
9689           },
9690           "additionalProperties": false,
9691           "required": [
9692             "tag",
9693             "addresses"
9694           ]
9695         },
9696         "MachineAddressesResult": {
9697           "type": "object",
9698           "properties": {
9699             "addresses": {
9700               "type": "array",
9701               "items": {
9702                 "$ref": "#/definitions/Address"
9703               }
9704             },
9705             "error": {
9706               "$ref": "#/definitions/Error"
9707             }
9708           },
9709           "additionalProperties": false,
9710           "required": [
9711             "addresses"
9712           ]
9713         },
9714         "MachineAddressesResults": {
9715           "type": "object",
9716           "properties": {
9717             "results": {
9718               "type": "array",
9719               "items": {
9720                 "$ref": "#/definitions/MachineAddressesResult"
9721               }
9722             }
9723           },
9724           "additionalProperties": false,
9725           "required": [
9726             "results"
9727           ]
9728         },
9729         "ModelConfigResult": {
9730           "type": "object",
9731           "properties": {
9732             "config": {
9733               "type": "object",
9734               "patternProperties": {
9735                 ".*": {
9736                   "type": "object",
9737                   "additionalProperties": true
9738                 }
9739               }
9740             }
9741           },
9742           "additionalProperties": false,
9743           "required": [
9744             "config"
9745           ]
9746         },
9747         "NotifyWatchResult": {
9748           "type": "object",
9749           "properties": {
9750             "NotifyWatcherId": {
9751               "type": "string"
9752             },
9753             "error": {
9754               "$ref": "#/definitions/Error"
9755             }
9756           },
9757           "additionalProperties": false,
9758           "required": [
9759             "NotifyWatcherId"
9760           ]
9761         },
9762         "SetMachinesAddresses": {
9763           "type": "object",
9764           "properties": {
9765             "machine-addresses": {
9766               "type": "array",
9767               "items": {
9768                 "$ref": "#/definitions/MachineAddresses"
9769               }
9770             }
9771           },
9772           "additionalProperties": false,
9773           "required": [
9774             "machine-addresses"
9775           ]
9776         },
9777         "SetStatus": {
9778           "type": "object",
9779           "properties": {
9780             "entities": {
9781               "type": "array",
9782               "items": {
9783                 "$ref": "#/definitions/EntityStatusArgs"
9784               }
9785             }
9786           },
9787           "additionalProperties": false,
9788           "required": [
9789             "entities"
9790           ]
9791         },
9792         "StatusResult": {
9793           "type": "object",
9794           "properties": {
9795             "data": {
9796               "type": "object",
9797               "patternProperties": {
9798                 ".*": {
9799                   "type": "object",
9800                   "additionalProperties": true
9801                 }
9802               }
9803             },
9804             "error": {
9805               "$ref": "#/definitions/Error"
9806             },
9807             "id": {
9808               "type": "string"
9809             },
9810             "info": {
9811               "type": "string"
9812             },
9813             "life": {
9814               "type": "string"
9815             },
9816             "since": {
9817               "type": "string",
9818               "format": "date-time"
9819             },
9820             "status": {
9821               "type": "string"
9822             }
9823           },
9824           "additionalProperties": false,
9825           "required": [
9826             "id",
9827             "life",
9828             "status",
9829             "info",
9830             "data",
9831             "since"
9832           ]
9833         },
9834         "StatusResults": {
9835           "type": "object",
9836           "properties": {
9837             "results": {
9838               "type": "array",
9839               "items": {
9840                 "$ref": "#/definitions/StatusResult"
9841               }
9842             }
9843           },
9844           "additionalProperties": false,
9845           "required": [
9846             "results"
9847           ]
9848         },
9849         "StringResult": {
9850           "type": "object",
9851           "properties": {
9852             "error": {
9853               "$ref": "#/definitions/Error"
9854             },
9855             "result": {
9856               "type": "string"
9857             }
9858           },
9859           "additionalProperties": false,
9860           "required": [
9861             "result"
9862           ]
9863         },
9864         "StringResults": {
9865           "type": "object",
9866           "properties": {
9867             "results": {
9868               "type": "array",
9869               "items": {
9870                 "$ref": "#/definitions/StringResult"
9871               }
9872             }
9873           },
9874           "additionalProperties": false,
9875           "required": [
9876             "results"
9877           ]
9878         },
9879         "StringsWatchResult": {
9880           "type": "object",
9881           "properties": {
9882             "changes": {
9883               "type": "array",
9884               "items": {
9885                 "type": "string"
9886               }
9887             },
9888             "error": {
9889               "$ref": "#/definitions/Error"
9890             },
9891             "watcher-id": {
9892               "type": "string"
9893             }
9894           },
9895           "additionalProperties": false,
9896           "required": [
9897             "watcher-id"
9898           ]
9899         }
9900       }
9901     }
9902   },
9903   {
9904     "Name": "KeyManager",
9905     "Version": 1,
9906     "Schema": {
9907       "type": "object",
9908       "properties": {
9909         "AddKeys": {
9910           "type": "object",
9911           "properties": {
9912             "Params": {
9913               "$ref": "#/definitions/ModifyUserSSHKeys"
9914             },
9915             "Result": {
9916               "$ref": "#/definitions/ErrorResults"
9917             }
9918           }
9919         },
9920         "DeleteKeys": {
9921           "type": "object",
9922           "properties": {
9923             "Params": {
9924               "$ref": "#/definitions/ModifyUserSSHKeys"
9925             },
9926             "Result": {
9927               "$ref": "#/definitions/ErrorResults"
9928             }
9929           }
9930         },
9931         "ImportKeys": {
9932           "type": "object",
9933           "properties": {
9934             "Params": {
9935               "$ref": "#/definitions/ModifyUserSSHKeys"
9936             },
9937             "Result": {
9938               "$ref": "#/definitions/ErrorResults"
9939             }
9940           }
9941         },
9942         "ListKeys": {
9943           "type": "object",
9944           "properties": {
9945             "Params": {
9946               "$ref": "#/definitions/ListSSHKeys"
9947             },
9948             "Result": {
9949               "$ref": "#/definitions/StringsResults"
9950             }
9951           }
9952         }
9953       },
9954       "definitions": {
9955         "Entities": {
9956           "type": "object",
9957           "properties": {
9958             "entities": {
9959               "type": "array",
9960               "items": {
9961                 "$ref": "#/definitions/Entity"
9962               }
9963             }
9964           },
9965           "additionalProperties": false,
9966           "required": [
9967             "entities"
9968           ]
9969         },
9970         "Entity": {
9971           "type": "object",
9972           "properties": {
9973             "tag": {
9974               "type": "string"
9975             }
9976           },
9977           "additionalProperties": false,
9978           "required": [
9979             "tag"
9980           ]
9981         },
9982         "Error": {
9983           "type": "object",
9984           "properties": {
9985             "code": {
9986               "type": "string"
9987             },
9988             "info": {
9989               "$ref": "#/definitions/ErrorInfo"
9990             },
9991             "message": {
9992               "type": "string"
9993             }
9994           },
9995           "additionalProperties": false,
9996           "required": [
9997             "message",
9998             "code"
9999           ]
10000         },
10001         "ErrorInfo": {
10002           "type": "object",
10003           "properties": {
10004             "macaroon": {
10005               "$ref": "#/definitions/Macaroon"
10006             },
10007             "macaroon-path": {
10008               "type": "string"
10009             }
10010           },
10011           "additionalProperties": false
10012         },
10013         "ErrorResult": {
10014           "type": "object",
10015           "properties": {
10016             "error": {
10017               "$ref": "#/definitions/Error"
10018             }
10019           },
10020           "additionalProperties": false
10021         },
10022         "ErrorResults": {
10023           "type": "object",
10024           "properties": {
10025             "results": {
10026               "type": "array",
10027               "items": {
10028                 "$ref": "#/definitions/ErrorResult"
10029               }
10030             }
10031           },
10032           "additionalProperties": false,
10033           "required": [
10034             "results"
10035           ]
10036         },
10037         "ListSSHKeys": {
10038           "type": "object",
10039           "properties": {
10040             "entities": {
10041               "$ref": "#/definitions/Entities"
10042             },
10043             "mode": {
10044               "type": "boolean"
10045             }
10046           },
10047           "additionalProperties": false,
10048           "required": [
10049             "entities",
10050             "mode"
10051           ]
10052         },
10053         "Macaroon": {
10054           "type": "object",
10055           "additionalProperties": false
10056         },
10057         "ModifyUserSSHKeys": {
10058           "type": "object",
10059           "properties": {
10060             "ssh-keys": {
10061               "type": "array",
10062               "items": {
10063                 "type": "string"
10064               }
10065             },
10066             "user": {
10067               "type": "string"
10068             }
10069           },
10070           "additionalProperties": false,
10071           "required": [
10072             "user",
10073             "ssh-keys"
10074           ]
10075         },
10076         "StringsResult": {
10077           "type": "object",
10078           "properties": {
10079             "error": {
10080               "$ref": "#/definitions/Error"
10081             },
10082             "result": {
10083               "type": "array",
10084               "items": {
10085                 "type": "string"
10086               }
10087             }
10088           },
10089           "additionalProperties": false
10090         },
10091         "StringsResults": {
10092           "type": "object",
10093           "properties": {
10094             "results": {
10095               "type": "array",
10096               "items": {
10097                 "$ref": "#/definitions/StringsResult"
10098               }
10099             }
10100           },
10101           "additionalProperties": false,
10102           "required": [
10103             "results"
10104           ]
10105         }
10106       }
10107     }
10108   },
10109   {
10110     "Name": "KeyUpdater",
10111     "Version": 1,
10112     "Schema": {
10113       "type": "object",
10114       "properties": {
10115         "AuthorisedKeys": {
10116           "type": "object",
10117           "properties": {
10118             "Params": {
10119               "$ref": "#/definitions/Entities"
10120             },
10121             "Result": {
10122               "$ref": "#/definitions/StringsResults"
10123             }
10124           }
10125         },
10126         "WatchAuthorisedKeys": {
10127           "type": "object",
10128           "properties": {
10129             "Params": {
10130               "$ref": "#/definitions/Entities"
10131             },
10132             "Result": {
10133               "$ref": "#/definitions/NotifyWatchResults"
10134             }
10135           }
10136         }
10137       },
10138       "definitions": {
10139         "Entities": {
10140           "type": "object",
10141           "properties": {
10142             "entities": {
10143               "type": "array",
10144               "items": {
10145                 "$ref": "#/definitions/Entity"
10146               }
10147             }
10148           },
10149           "additionalProperties": false,
10150           "required": [
10151             "entities"
10152           ]
10153         },
10154         "Entity": {
10155           "type": "object",
10156           "properties": {
10157             "tag": {
10158               "type": "string"
10159             }
10160           },
10161           "additionalProperties": false,
10162           "required": [
10163             "tag"
10164           ]
10165         },
10166         "Error": {
10167           "type": "object",
10168           "properties": {
10169             "code": {
10170               "type": "string"
10171             },
10172             "info": {
10173               "$ref": "#/definitions/ErrorInfo"
10174             },
10175             "message": {
10176               "type": "string"
10177             }
10178           },
10179           "additionalProperties": false,
10180           "required": [
10181             "message",
10182             "code"
10183           ]
10184         },
10185         "ErrorInfo": {
10186           "type": "object",
10187           "properties": {
10188             "macaroon": {
10189               "$ref": "#/definitions/Macaroon"
10190             },
10191             "macaroon-path": {
10192               "type": "string"
10193             }
10194           },
10195           "additionalProperties": false
10196         },
10197         "Macaroon": {
10198           "type": "object",
10199           "additionalProperties": false
10200         },
10201         "NotifyWatchResult": {
10202           "type": "object",
10203           "properties": {
10204             "NotifyWatcherId": {
10205               "type": "string"
10206             },
10207             "error": {
10208               "$ref": "#/definitions/Error"
10209             }
10210           },
10211           "additionalProperties": false,
10212           "required": [
10213             "NotifyWatcherId"
10214           ]
10215         },
10216         "NotifyWatchResults": {
10217           "type": "object",
10218           "properties": {
10219             "results": {
10220               "type": "array",
10221               "items": {
10222                 "$ref": "#/definitions/NotifyWatchResult"
10223               }
10224             }
10225           },
10226           "additionalProperties": false,
10227           "required": [
10228             "results"
10229           ]
10230         },
10231         "StringsResult": {
10232           "type": "object",
10233           "properties": {
10234             "error": {
10235               "$ref": "#/definitions/Error"
10236             },
10237             "result": {
10238               "type": "array",
10239               "items": {
10240                 "type": "string"
10241               }
10242             }
10243           },
10244           "additionalProperties": false
10245         },
10246         "StringsResults": {
10247           "type": "object",
10248           "properties": {
10249             "results": {
10250               "type": "array",
10251               "items": {
10252                 "$ref": "#/definitions/StringsResult"
10253               }
10254             }
10255           },
10256           "additionalProperties": false,
10257           "required": [
10258             "results"
10259           ]
10260         }
10261       }
10262     }
10263   },
10264   {
10265     "Name": "LeadershipService",
10266     "Version": 2,
10267     "Schema": {
10268       "type": "object",
10269       "properties": {
10270         "BlockUntilLeadershipReleased": {
10271           "type": "object",
10272           "properties": {
10273             "Params": {
10274               "$ref": "#/definitions/ApplicationTag"
10275             },
10276             "Result": {
10277               "$ref": "#/definitions/ErrorResult"
10278             }
10279           }
10280         },
10281         "ClaimLeadership": {
10282           "type": "object",
10283           "properties": {
10284             "Params": {
10285               "$ref": "#/definitions/ClaimLeadershipBulkParams"
10286             },
10287             "Result": {
10288               "$ref": "#/definitions/ClaimLeadershipBulkResults"
10289             }
10290           }
10291         }
10292       },
10293       "definitions": {
10294         "ApplicationTag": {
10295           "type": "object",
10296           "properties": {
10297             "Name": {
10298               "type": "string"
10299             }
10300           },
10301           "additionalProperties": false,
10302           "required": [
10303             "Name"
10304           ]
10305         },
10306         "ClaimLeadershipBulkParams": {
10307           "type": "object",
10308           "properties": {
10309             "params": {
10310               "type": "array",
10311               "items": {
10312                 "$ref": "#/definitions/ClaimLeadershipParams"
10313               }
10314             }
10315           },
10316           "additionalProperties": false,
10317           "required": [
10318             "params"
10319           ]
10320         },
10321         "ClaimLeadershipBulkResults": {
10322           "type": "object",
10323           "properties": {
10324             "results": {
10325               "type": "array",
10326               "items": {
10327                 "$ref": "#/definitions/ErrorResult"
10328               }
10329             }
10330           },
10331           "additionalProperties": false,
10332           "required": [
10333             "results"
10334           ]
10335         },
10336         "ClaimLeadershipParams": {
10337           "type": "object",
10338           "properties": {
10339             "application-tag": {
10340               "type": "string"
10341             },
10342             "duration": {
10343               "type": "number"
10344             },
10345             "unit-tag": {
10346               "type": "string"
10347             }
10348           },
10349           "additionalProperties": false,
10350           "required": [
10351             "application-tag",
10352             "unit-tag",
10353             "duration"
10354           ]
10355         },
10356         "Error": {
10357           "type": "object",
10358           "properties": {
10359             "code": {
10360               "type": "string"
10361             },
10362             "info": {
10363               "$ref": "#/definitions/ErrorInfo"
10364             },
10365             "message": {
10366               "type": "string"
10367             }
10368           },
10369           "additionalProperties": false,
10370           "required": [
10371             "message",
10372             "code"
10373           ]
10374         },
10375         "ErrorInfo": {
10376           "type": "object",
10377           "properties": {
10378             "macaroon": {
10379               "$ref": "#/definitions/Macaroon"
10380             },
10381             "macaroon-path": {
10382               "type": "string"
10383             }
10384           },
10385           "additionalProperties": false
10386         },
10387         "ErrorResult": {
10388           "type": "object",
10389           "properties": {
10390             "error": {
10391               "$ref": "#/definitions/Error"
10392             }
10393           },
10394           "additionalProperties": false
10395         },
10396         "Macaroon": {
10397           "type": "object",
10398           "additionalProperties": false
10399         }
10400       }
10401     }
10402   },
10403   {
10404     "Name": "LifeFlag",
10405     "Version": 1,
10406     "Schema": {
10407       "type": "object",
10408       "properties": {
10409         "Life": {
10410           "type": "object",
10411           "properties": {
10412             "Params": {
10413               "$ref": "#/definitions/Entities"
10414             },
10415             "Result": {
10416               "$ref": "#/definitions/LifeResults"
10417             }
10418           }
10419         },
10420         "Watch": {
10421           "type": "object",
10422           "properties": {
10423             "Params": {
10424               "$ref": "#/definitions/Entities"
10425             },
10426             "Result": {
10427               "$ref": "#/definitions/NotifyWatchResults"
10428             }
10429           }
10430         }
10431       },
10432       "definitions": {
10433         "Entities": {
10434           "type": "object",
10435           "properties": {
10436             "entities": {
10437               "type": "array",
10438               "items": {
10439                 "$ref": "#/definitions/Entity"
10440               }
10441             }
10442           },
10443           "additionalProperties": false,
10444           "required": [
10445             "entities"
10446           ]
10447         },
10448         "Entity": {
10449           "type": "object",
10450           "properties": {
10451             "tag": {
10452               "type": "string"
10453             }
10454           },
10455           "additionalProperties": false,
10456           "required": [
10457             "tag"
10458           ]
10459         },
10460         "Error": {
10461           "type": "object",
10462           "properties": {
10463             "code": {
10464               "type": "string"
10465             },
10466             "info": {
10467               "$ref": "#/definitions/ErrorInfo"
10468             },
10469             "message": {
10470               "type": "string"
10471             }
10472           },
10473           "additionalProperties": false,
10474           "required": [
10475             "message",
10476             "code"
10477           ]
10478         },
10479         "ErrorInfo": {
10480           "type": "object",
10481           "properties": {
10482             "macaroon": {
10483               "$ref": "#/definitions/Macaroon"
10484             },
10485             "macaroon-path": {
10486               "type": "string"
10487             }
10488           },
10489           "additionalProperties": false
10490         },
10491         "LifeResult": {
10492           "type": "object",
10493           "properties": {
10494             "error": {
10495               "$ref": "#/definitions/Error"
10496             },
10497             "life": {
10498               "type": "string"
10499             }
10500           },
10501           "additionalProperties": false,
10502           "required": [
10503             "life"
10504           ]
10505         },
10506         "LifeResults": {
10507           "type": "object",
10508           "properties": {
10509             "results": {
10510               "type": "array",
10511               "items": {
10512                 "$ref": "#/definitions/LifeResult"
10513               }
10514             }
10515           },
10516           "additionalProperties": false,
10517           "required": [
10518             "results"
10519           ]
10520         },
10521         "Macaroon": {
10522           "type": "object",
10523           "additionalProperties": false
10524         },
10525         "NotifyWatchResult": {
10526           "type": "object",
10527           "properties": {
10528             "NotifyWatcherId": {
10529               "type": "string"
10530             },
10531             "error": {
10532               "$ref": "#/definitions/Error"
10533             }
10534           },
10535           "additionalProperties": false,
10536           "required": [
10537             "NotifyWatcherId"
10538           ]
10539         },
10540         "NotifyWatchResults": {
10541           "type": "object",
10542           "properties": {
10543             "results": {
10544               "type": "array",
10545               "items": {
10546                 "$ref": "#/definitions/NotifyWatchResult"
10547               }
10548             }
10549           },
10550           "additionalProperties": false,
10551           "required": [
10552             "results"
10553           ]
10554         }
10555       }
10556     }
10557   },
10558   {
10559     "Name": "LogForwarding",
10560     "Version": 1,
10561     "Schema": {
10562       "type": "object",
10563       "properties": {
10564         "GetLastSent": {
10565           "type": "object",
10566           "properties": {
10567             "Params": {
10568               "$ref": "#/definitions/LogForwardingGetLastSentParams"
10569             },
10570             "Result": {
10571               "$ref": "#/definitions/LogForwardingGetLastSentResults"
10572             }
10573           }
10574         },
10575         "SetLastSent": {
10576           "type": "object",
10577           "properties": {
10578             "Params": {
10579               "$ref": "#/definitions/LogForwardingSetLastSentParams"
10580             },
10581             "Result": {
10582               "$ref": "#/definitions/ErrorResults"
10583             }
10584           }
10585         }
10586       },
10587       "definitions": {
10588         "Error": {
10589           "type": "object",
10590           "properties": {
10591             "code": {
10592               "type": "string"
10593             },
10594             "info": {
10595               "$ref": "#/definitions/ErrorInfo"
10596             },
10597             "message": {
10598               "type": "string"
10599             }
10600           },
10601           "additionalProperties": false,
10602           "required": [
10603             "message",
10604             "code"
10605           ]
10606         },
10607         "ErrorInfo": {
10608           "type": "object",
10609           "properties": {
10610             "macaroon": {
10611               "$ref": "#/definitions/Macaroon"
10612             },
10613             "macaroon-path": {
10614               "type": "string"
10615             }
10616           },
10617           "additionalProperties": false
10618         },
10619         "ErrorResult": {
10620           "type": "object",
10621           "properties": {
10622             "error": {
10623               "$ref": "#/definitions/Error"
10624             }
10625           },
10626           "additionalProperties": false
10627         },
10628         "ErrorResults": {
10629           "type": "object",
10630           "properties": {
10631             "results": {
10632               "type": "array",
10633               "items": {
10634                 "$ref": "#/definitions/ErrorResult"
10635               }
10636             }
10637           },
10638           "additionalProperties": false,
10639           "required": [
10640             "results"
10641           ]
10642         },
10643         "LogForwardingGetLastSentParams": {
10644           "type": "object",
10645           "properties": {
10646             "ids": {
10647               "type": "array",
10648               "items": {
10649                 "$ref": "#/definitions/LogForwardingID"
10650               }
10651             }
10652           },
10653           "additionalProperties": false,
10654           "required": [
10655             "ids"
10656           ]
10657         },
10658         "LogForwardingGetLastSentResult": {
10659           "type": "object",
10660           "properties": {
10661             "err": {
10662               "$ref": "#/definitions/Error"
10663             },
10664             "record-id": {
10665               "type": "integer"
10666             },
10667             "record-timestamp": {
10668               "type": "integer"
10669             }
10670           },
10671           "additionalProperties": false,
10672           "required": [
10673             "record-id",
10674             "record-timestamp",
10675             "err"
10676           ]
10677         },
10678         "LogForwardingGetLastSentResults": {
10679           "type": "object",
10680           "properties": {
10681             "results": {
10682               "type": "array",
10683               "items": {
10684                 "$ref": "#/definitions/LogForwardingGetLastSentResult"
10685               }
10686             }
10687           },
10688           "additionalProperties": false,
10689           "required": [
10690             "results"
10691           ]
10692         },
10693         "LogForwardingID": {
10694           "type": "object",
10695           "properties": {
10696             "model": {
10697               "type": "string"
10698             },
10699             "sink": {
10700               "type": "string"
10701             }
10702           },
10703           "additionalProperties": false,
10704           "required": [
10705             "model",
10706             "sink"
10707           ]
10708         },
10709         "LogForwardingSetLastSentParam": {
10710           "type": "object",
10711           "properties": {
10712             "LogForwardingID": {
10713               "$ref": "#/definitions/LogForwardingID"
10714             },
10715             "record-id": {
10716               "type": "integer"
10717             },
10718             "record-timestamp": {
10719               "type": "integer"
10720             }
10721           },
10722           "additionalProperties": false,
10723           "required": [
10724             "LogForwardingID",
10725             "record-id",
10726             "record-timestamp"
10727           ]
10728         },
10729         "LogForwardingSetLastSentParams": {
10730           "type": "object",
10731           "properties": {
10732             "params": {
10733               "type": "array",
10734               "items": {
10735                 "$ref": "#/definitions/LogForwardingSetLastSentParam"
10736               }
10737             }
10738           },
10739           "additionalProperties": false,
10740           "required": [
10741             "params"
10742           ]
10743         },
10744         "Macaroon": {
10745           "type": "object",
10746           "additionalProperties": false
10747         }
10748       }
10749     }
10750   },
10751   {
10752     "Name": "Logger",
10753     "Version": 1,
10754     "Schema": {
10755       "type": "object",
10756       "properties": {
10757         "LoggingConfig": {
10758           "type": "object",
10759           "properties": {
10760             "Params": {
10761               "$ref": "#/definitions/Entities"
10762             },
10763             "Result": {
10764               "$ref": "#/definitions/StringResults"
10765             }
10766           }
10767         },
10768         "WatchLoggingConfig": {
10769           "type": "object",
10770           "properties": {
10771             "Params": {
10772               "$ref": "#/definitions/Entities"
10773             },
10774             "Result": {
10775               "$ref": "#/definitions/NotifyWatchResults"
10776             }
10777           }
10778         }
10779       },
10780       "definitions": {
10781         "Entities": {
10782           "type": "object",
10783           "properties": {
10784             "entities": {
10785               "type": "array",
10786               "items": {
10787                 "$ref": "#/definitions/Entity"
10788               }
10789             }
10790           },
10791           "additionalProperties": false,
10792           "required": [
10793             "entities"
10794           ]
10795         },
10796         "Entity": {
10797           "type": "object",
10798           "properties": {
10799             "tag": {
10800               "type": "string"
10801             }
10802           },
10803           "additionalProperties": false,
10804           "required": [
10805             "tag"
10806           ]
10807         },
10808         "Error": {
10809           "type": "object",
10810           "properties": {
10811             "code": {
10812               "type": "string"
10813             },
10814             "info": {
10815               "$ref": "#/definitions/ErrorInfo"
10816             },
10817             "message": {
10818               "type": "string"
10819             }
10820           },
10821           "additionalProperties": false,
10822           "required": [
10823             "message",
10824             "code"
10825           ]
10826         },
10827         "ErrorInfo": {
10828           "type": "object",
10829           "properties": {
10830             "macaroon": {
10831               "$ref": "#/definitions/Macaroon"
10832             },
10833             "macaroon-path": {
10834               "type": "string"
10835             }
10836           },
10837           "additionalProperties": false
10838         },
10839         "Macaroon": {
10840           "type": "object",
10841           "additionalProperties": false
10842         },
10843         "NotifyWatchResult": {
10844           "type": "object",
10845           "properties": {
10846             "NotifyWatcherId": {
10847               "type": "string"
10848             },
10849             "error": {
10850               "$ref": "#/definitions/Error"
10851             }
10852           },
10853           "additionalProperties": false,
10854           "required": [
10855             "NotifyWatcherId"
10856           ]
10857         },
10858         "NotifyWatchResults": {
10859           "type": "object",
10860           "properties": {
10861             "results": {
10862               "type": "array",
10863               "items": {
10864                 "$ref": "#/definitions/NotifyWatchResult"
10865               }
10866             }
10867           },
10868           "additionalProperties": false,
10869           "required": [
10870             "results"
10871           ]
10872         },
10873         "StringResult": {
10874           "type": "object",
10875           "properties": {
10876             "error": {
10877               "$ref": "#/definitions/Error"
10878             },
10879             "result": {
10880               "type": "string"
10881             }
10882           },
10883           "additionalProperties": false,
10884           "required": [
10885             "result"
10886           ]
10887         },
10888         "StringResults": {
10889           "type": "object",
10890           "properties": {
10891             "results": {
10892               "type": "array",
10893               "items": {
10894                 "$ref": "#/definitions/StringResult"
10895               }
10896             }
10897           },
10898           "additionalProperties": false,
10899           "required": [
10900             "results"
10901           ]
10902         }
10903       }
10904     }
10905   },
10906   {
10907     "Name": "MachineActions",
10908     "Version": 1,
10909     "Schema": {
10910       "type": "object",
10911       "properties": {
10912         "Actions": {
10913           "type": "object",
10914           "properties": {
10915             "Params": {
10916               "$ref": "#/definitions/Entities"
10917             },
10918             "Result": {
10919               "$ref": "#/definitions/ActionResults"
10920             }
10921           }
10922         },
10923         "BeginActions": {
10924           "type": "object",
10925           "properties": {
10926             "Params": {
10927               "$ref": "#/definitions/Entities"
10928             },
10929             "Result": {
10930               "$ref": "#/definitions/ErrorResults"
10931             }
10932           }
10933         },
10934         "FinishActions": {
10935           "type": "object",
10936           "properties": {
10937             "Params": {
10938               "$ref": "#/definitions/ActionExecutionResults"
10939             },
10940             "Result": {
10941               "$ref": "#/definitions/ErrorResults"
10942             }
10943           }
10944         },
10945         "RunningActions": {
10946           "type": "object",
10947           "properties": {
10948             "Params": {
10949               "$ref": "#/definitions/Entities"
10950             },
10951             "Result": {
10952               "$ref": "#/definitions/ActionsByReceivers"
10953             }
10954           }
10955         },
10956         "WatchActionNotifications": {
10957           "type": "object",
10958           "properties": {
10959             "Params": {
10960               "$ref": "#/definitions/Entities"
10961             },
10962             "Result": {
10963               "$ref": "#/definitions/StringsWatchResults"
10964             }
10965           }
10966         }
10967       },
10968       "definitions": {
10969         "Action": {
10970           "type": "object",
10971           "properties": {
10972             "name": {
10973               "type": "string"
10974             },
10975             "parameters": {
10976               "type": "object",
10977               "patternProperties": {
10978                 ".*": {
10979                   "type": "object",
10980                   "additionalProperties": true
10981                 }
10982               }
10983             },
10984             "receiver": {
10985               "type": "string"
10986             },
10987             "tag": {
10988               "type": "string"
10989             }
10990           },
10991           "additionalProperties": false,
10992           "required": [
10993             "tag",
10994             "receiver",
10995             "name"
10996           ]
10997         },
10998         "ActionExecutionResult": {
10999           "type": "object",
11000           "properties": {
11001             "action-tag": {
11002               "type": "string"
11003             },
11004             "message": {
11005               "type": "string"
11006             },
11007             "results": {
11008               "type": "object",
11009               "patternProperties": {
11010                 ".*": {
11011                   "type": "object",
11012                   "additionalProperties": true
11013                 }
11014               }
11015             },
11016             "status": {
11017               "type": "string"
11018             }
11019           },
11020           "additionalProperties": false,
11021           "required": [
11022             "action-tag",
11023             "status"
11024           ]
11025         },
11026         "ActionExecutionResults": {
11027           "type": "object",
11028           "properties": {
11029             "results": {
11030               "type": "array",
11031               "items": {
11032                 "$ref": "#/definitions/ActionExecutionResult"
11033               }
11034             }
11035           },
11036           "additionalProperties": false
11037         },
11038         "ActionResult": {
11039           "type": "object",
11040           "properties": {
11041             "action": {
11042               "$ref": "#/definitions/Action"
11043             },
11044             "completed": {
11045               "type": "string",
11046               "format": "date-time"
11047             },
11048             "enqueued": {
11049               "type": "string",
11050               "format": "date-time"
11051             },
11052             "error": {
11053               "$ref": "#/definitions/Error"
11054             },
11055             "message": {
11056               "type": "string"
11057             },
11058             "output": {
11059               "type": "object",
11060               "patternProperties": {
11061                 ".*": {
11062                   "type": "object",
11063                   "additionalProperties": true
11064                 }
11065               }
11066             },
11067             "started": {
11068               "type": "string",
11069               "format": "date-time"
11070             },
11071             "status": {
11072               "type": "string"
11073             }
11074           },
11075           "additionalProperties": false
11076         },
11077         "ActionResults": {
11078           "type": "object",
11079           "properties": {
11080             "results": {
11081               "type": "array",
11082               "items": {
11083                 "$ref": "#/definitions/ActionResult"
11084               }
11085             }
11086           },
11087           "additionalProperties": false
11088         },
11089         "ActionsByReceiver": {
11090           "type": "object",
11091           "properties": {
11092             "actions": {
11093               "type": "array",
11094               "items": {
11095                 "$ref": "#/definitions/ActionResult"
11096               }
11097             },
11098             "error": {
11099               "$ref": "#/definitions/Error"
11100             },
11101             "receiver": {
11102               "type": "string"
11103             }
11104           },
11105           "additionalProperties": false
11106         },
11107         "ActionsByReceivers": {
11108           "type": "object",
11109           "properties": {
11110             "actions": {
11111               "type": "array",
11112               "items": {
11113                 "$ref": "#/definitions/ActionsByReceiver"
11114               }
11115             }
11116           },
11117           "additionalProperties": false
11118         },
11119         "Entities": {
11120           "type": "object",
11121           "properties": {
11122             "entities": {
11123               "type": "array",
11124               "items": {
11125                 "$ref": "#/definitions/Entity"
11126               }
11127             }
11128           },
11129           "additionalProperties": false,
11130           "required": [
11131             "entities"
11132           ]
11133         },
11134         "Entity": {
11135           "type": "object",
11136           "properties": {
11137             "tag": {
11138               "type": "string"
11139             }
11140           },
11141           "additionalProperties": false,
11142           "required": [
11143             "tag"
11144           ]
11145         },
11146         "Error": {
11147           "type": "object",
11148           "properties": {
11149             "code": {
11150               "type": "string"
11151             },
11152             "info": {
11153               "$ref": "#/definitions/ErrorInfo"
11154             },
11155             "message": {
11156               "type": "string"
11157             }
11158           },
11159           "additionalProperties": false,
11160           "required": [
11161             "message",
11162             "code"
11163           ]
11164         },
11165         "ErrorInfo": {
11166           "type": "object",
11167           "properties": {
11168             "macaroon": {
11169               "$ref": "#/definitions/Macaroon"
11170             },
11171             "macaroon-path": {
11172               "type": "string"
11173             }
11174           },
11175           "additionalProperties": false
11176         },
11177         "ErrorResult": {
11178           "type": "object",
11179           "properties": {
11180             "error": {
11181               "$ref": "#/definitions/Error"
11182             }
11183           },
11184           "additionalProperties": false
11185         },
11186         "ErrorResults": {
11187           "type": "object",
11188           "properties": {
11189             "results": {
11190               "type": "array",
11191               "items": {
11192                 "$ref": "#/definitions/ErrorResult"
11193               }
11194             }
11195           },
11196           "additionalProperties": false,
11197           "required": [
11198             "results"
11199           ]
11200         },
11201         "Macaroon": {
11202           "type": "object",
11203           "additionalProperties": false
11204         },
11205         "StringsWatchResult": {
11206           "type": "object",
11207           "properties": {
11208             "changes": {
11209               "type": "array",
11210               "items": {
11211                 "type": "string"
11212               }
11213             },
11214             "error": {
11215               "$ref": "#/definitions/Error"
11216             },
11217             "watcher-id": {
11218               "type": "string"
11219             }
11220           },
11221           "additionalProperties": false,
11222           "required": [
11223             "watcher-id"
11224           ]
11225         },
11226         "StringsWatchResults": {
11227           "type": "object",
11228           "properties": {
11229             "results": {
11230               "type": "array",
11231               "items": {
11232                 "$ref": "#/definitions/StringsWatchResult"
11233               }
11234             }
11235           },
11236           "additionalProperties": false,
11237           "required": [
11238             "results"
11239           ]
11240         }
11241       }
11242     }
11243   },
11244   {
11245     "Name": "MachineManager",
11246     "Version": 2,
11247     "Schema": {
11248       "type": "object",
11249       "properties": {
11250         "AddMachines": {
11251           "type": "object",
11252           "properties": {
11253             "Params": {
11254               "$ref": "#/definitions/AddMachines"
11255             },
11256             "Result": {
11257               "$ref": "#/definitions/AddMachinesResults"
11258             }
11259           }
11260         }
11261       },
11262       "definitions": {
11263         "AddMachineParams": {
11264           "type": "object",
11265           "properties": {
11266             "addresses": {
11267               "type": "array",
11268               "items": {
11269                 "$ref": "#/definitions/Address"
11270               }
11271             },
11272             "constraints": {
11273               "$ref": "#/definitions/Value"
11274             },
11275             "container-type": {
11276               "type": "string"
11277             },
11278             "disks": {
11279               "type": "array",
11280               "items": {
11281                 "$ref": "#/definitions/Constraints"
11282               }
11283             },
11284             "hardware-characteristics": {
11285               "$ref": "#/definitions/HardwareCharacteristics"
11286             },
11287             "instance-id": {
11288               "type": "string"
11289             },
11290             "jobs": {
11291               "type": "array",
11292               "items": {
11293                 "type": "string"
11294               }
11295             },
11296             "nonce": {
11297               "type": "string"
11298             },
11299             "parent-id": {
11300               "type": "string"
11301             },
11302             "placement": {
11303               "$ref": "#/definitions/Placement"
11304             },
11305             "series": {
11306               "type": "string"
11307             }
11308           },
11309           "additionalProperties": false,
11310           "required": [
11311             "series",
11312             "constraints",
11313             "jobs",
11314             "parent-id",
11315             "container-type",
11316             "instance-id",
11317             "nonce",
11318             "hardware-characteristics",
11319             "addresses"
11320           ]
11321         },
11322         "AddMachines": {
11323           "type": "object",
11324           "properties": {
11325             "params": {
11326               "type": "array",
11327               "items": {
11328                 "$ref": "#/definitions/AddMachineParams"
11329               }
11330             }
11331           },
11332           "additionalProperties": false,
11333           "required": [
11334             "params"
11335           ]
11336         },
11337         "AddMachinesResult": {
11338           "type": "object",
11339           "properties": {
11340             "error": {
11341               "$ref": "#/definitions/Error"
11342             },
11343             "machine": {
11344               "type": "string"
11345             }
11346           },
11347           "additionalProperties": false,
11348           "required": [
11349             "machine"
11350           ]
11351         },
11352         "AddMachinesResults": {
11353           "type": "object",
11354           "properties": {
11355             "machines": {
11356               "type": "array",
11357               "items": {
11358                 "$ref": "#/definitions/AddMachinesResult"
11359               }
11360             }
11361           },
11362           "additionalProperties": false,
11363           "required": [
11364             "machines"
11365           ]
11366         },
11367         "Address": {
11368           "type": "object",
11369           "properties": {
11370             "scope": {
11371               "type": "string"
11372             },
11373             "space-name": {
11374               "type": "string"
11375             },
11376             "type": {
11377               "type": "string"
11378             },
11379             "value": {
11380               "type": "string"
11381             }
11382           },
11383           "additionalProperties": false,
11384           "required": [
11385             "value",
11386             "type",
11387             "scope"
11388           ]
11389         },
11390         "Constraints": {
11391           "type": "object",
11392           "properties": {
11393             "Count": {
11394               "type": "integer"
11395             },
11396             "Pool": {
11397               "type": "string"
11398             },
11399             "Size": {
11400               "type": "integer"
11401             }
11402           },
11403           "additionalProperties": false,
11404           "required": [
11405             "Pool",
11406             "Size",
11407             "Count"
11408           ]
11409         },
11410         "Error": {
11411           "type": "object",
11412           "properties": {
11413             "code": {
11414               "type": "string"
11415             },
11416             "info": {
11417               "$ref": "#/definitions/ErrorInfo"
11418             },
11419             "message": {
11420               "type": "string"
11421             }
11422           },
11423           "additionalProperties": false,
11424           "required": [
11425             "message",
11426             "code"
11427           ]
11428         },
11429         "ErrorInfo": {
11430           "type": "object",
11431           "properties": {
11432             "macaroon": {
11433               "$ref": "#/definitions/Macaroon"
11434             },
11435             "macaroon-path": {
11436               "type": "string"
11437             }
11438           },
11439           "additionalProperties": false
11440         },
11441         "HardwareCharacteristics": {
11442           "type": "object",
11443           "properties": {
11444             "arch": {
11445               "type": "string"
11446             },
11447             "availability-zone": {
11448               "type": "string"
11449             },
11450             "cpu-cores": {
11451               "type": "integer"
11452             },
11453             "cpu-power": {
11454               "type": "integer"
11455             },
11456             "mem": {
11457               "type": "integer"
11458             },
11459             "root-disk": {
11460               "type": "integer"
11461             },
11462             "tags": {
11463               "type": "array",
11464               "items": {
11465                 "type": "string"
11466               }
11467             }
11468           },
11469           "additionalProperties": false
11470         },
11471         "Macaroon": {
11472           "type": "object",
11473           "additionalProperties": false
11474         },
11475         "Placement": {
11476           "type": "object",
11477           "properties": {
11478             "directive": {
11479               "type": "string"
11480             },
11481             "scope": {
11482               "type": "string"
11483             }
11484           },
11485           "additionalProperties": false,
11486           "required": [
11487             "scope",
11488             "directive"
11489           ]
11490         },
11491         "Value": {
11492           "type": "object",
11493           "properties": {
11494             "arch": {
11495               "type": "string"
11496             },
11497             "container": {
11498               "type": "string"
11499             },
11500             "cores": {
11501               "type": "integer"
11502             },
11503             "cpu-power": {
11504               "type": "integer"
11505             },
11506             "instance-type": {
11507               "type": "string"
11508             },
11509             "mem": {
11510               "type": "integer"
11511             },
11512             "root-disk": {
11513               "type": "integer"
11514             },
11515             "spaces": {
11516               "type": "array",
11517               "items": {
11518                 "type": "string"
11519               }
11520             },
11521             "tags": {
11522               "type": "array",
11523               "items": {
11524                 "type": "string"
11525               }
11526             },
11527             "virt-type": {
11528               "type": "string"
11529             }
11530           },
11531           "additionalProperties": false
11532         }
11533       }
11534     }
11535   },
11536   {
11537     "Name": "MachineUndertaker",
11538     "Version": 1,
11539     "Schema": {
11540       "type": "object",
11541       "properties": {
11542         "AllMachineRemovals": {
11543           "type": "object",
11544           "properties": {
11545             "Params": {
11546               "$ref": "#/definitions/Entities"
11547             },
11548             "Result": {
11549               "$ref": "#/definitions/EntitiesResults"
11550             }
11551           }
11552         },
11553         "CompleteMachineRemovals": {
11554           "type": "object",
11555           "properties": {
11556             "Params": {
11557               "$ref": "#/definitions/Entities"
11558             }
11559           }
11560         },
11561         "GetMachineProviderInterfaceInfo": {
11562           "type": "object",
11563           "properties": {
11564             "Params": {
11565               "$ref": "#/definitions/Entities"
11566             },
11567             "Result": {
11568               "$ref": "#/definitions/ProviderInterfaceInfoResults"
11569             }
11570           }
11571         },
11572         "WatchMachineRemovals": {
11573           "type": "object",
11574           "properties": {
11575             "Params": {
11576               "$ref": "#/definitions/Entities"
11577             },
11578             "Result": {
11579               "$ref": "#/definitions/NotifyWatchResults"
11580             }
11581           }
11582         }
11583       },
11584       "definitions": {
11585         "Entities": {
11586           "type": "object",
11587           "properties": {
11588             "entities": {
11589               "type": "array",
11590               "items": {
11591                 "$ref": "#/definitions/Entity"
11592               }
11593             }
11594           },
11595           "additionalProperties": false,
11596           "required": [
11597             "entities"
11598           ]
11599         },
11600         "EntitiesResult": {
11601           "type": "object",
11602           "properties": {
11603             "entities": {
11604               "type": "array",
11605               "items": {
11606                 "$ref": "#/definitions/Entity"
11607               }
11608             },
11609             "error": {
11610               "$ref": "#/definitions/Error"
11611             }
11612           },
11613           "additionalProperties": false,
11614           "required": [
11615             "entities"
11616           ]
11617         },
11618         "EntitiesResults": {
11619           "type": "object",
11620           "properties": {
11621             "results": {
11622               "type": "array",
11623               "items": {
11624                 "$ref": "#/definitions/EntitiesResult"
11625               }
11626             }
11627           },
11628           "additionalProperties": false,
11629           "required": [
11630             "results"
11631           ]
11632         },
11633         "Entity": {
11634           "type": "object",
11635           "properties": {
11636             "tag": {
11637               "type": "string"
11638             }
11639           },
11640           "additionalProperties": false,
11641           "required": [
11642             "tag"
11643           ]
11644         },
11645         "Error": {
11646           "type": "object",
11647           "properties": {
11648             "code": {
11649               "type": "string"
11650             },
11651             "info": {
11652               "$ref": "#/definitions/ErrorInfo"
11653             },
11654             "message": {
11655               "type": "string"
11656             }
11657           },
11658           "additionalProperties": false,
11659           "required": [
11660             "message",
11661             "code"
11662           ]
11663         },
11664         "ErrorInfo": {
11665           "type": "object",
11666           "properties": {
11667             "macaroon": {
11668               "$ref": "#/definitions/Macaroon"
11669             },
11670             "macaroon-path": {
11671               "type": "string"
11672             }
11673           },
11674           "additionalProperties": false
11675         },
11676         "Macaroon": {
11677           "type": "object",
11678           "additionalProperties": false
11679         },
11680         "NotifyWatchResult": {
11681           "type": "object",
11682           "properties": {
11683             "NotifyWatcherId": {
11684               "type": "string"
11685             },
11686             "error": {
11687               "$ref": "#/definitions/Error"
11688             }
11689           },
11690           "additionalProperties": false,
11691           "required": [
11692             "NotifyWatcherId"
11693           ]
11694         },
11695         "NotifyWatchResults": {
11696           "type": "object",
11697           "properties": {
11698             "results": {
11699               "type": "array",
11700               "items": {
11701                 "$ref": "#/definitions/NotifyWatchResult"
11702               }
11703             }
11704           },
11705           "additionalProperties": false,
11706           "required": [
11707             "results"
11708           ]
11709         },
11710         "ProviderInterfaceInfo": {
11711           "type": "object",
11712           "properties": {
11713             "interface-name": {
11714               "type": "string"
11715             },
11716             "mac-address": {
11717               "type": "string"
11718             },
11719             "provider-id": {
11720               "type": "string"
11721             }
11722           },
11723           "additionalProperties": false,
11724           "required": [
11725             "interface-name",
11726             "mac-address",
11727             "provider-id"
11728           ]
11729         },
11730         "ProviderInterfaceInfoResult": {
11731           "type": "object",
11732           "properties": {
11733             "error": {
11734               "$ref": "#/definitions/Error"
11735             },
11736             "interfaces": {
11737               "type": "array",
11738               "items": {
11739                 "$ref": "#/definitions/ProviderInterfaceInfo"
11740               }
11741             },
11742             "machine-tag": {
11743               "type": "string"
11744             }
11745           },
11746           "additionalProperties": false,
11747           "required": [
11748             "machine-tag",
11749             "interfaces"
11750           ]
11751         },
11752         "ProviderInterfaceInfoResults": {
11753           "type": "object",
11754           "properties": {
11755             "results": {
11756               "type": "array",
11757               "items": {
11758                 "$ref": "#/definitions/ProviderInterfaceInfoResult"
11759               }
11760             }
11761           },
11762           "additionalProperties": false,
11763           "required": [
11764             "results"
11765           ]
11766         }
11767       }
11768     }
11769   },
11770   {
11771     "Name": "Machiner",
11772     "Version": 1,
11773     "Schema": {
11774       "type": "object",
11775       "properties": {
11776         "APIAddresses": {
11777           "type": "object",
11778           "properties": {
11779             "Result": {
11780               "$ref": "#/definitions/StringsResult"
11781             }
11782           }
11783         },
11784         "APIHostPorts": {
11785           "type": "object",
11786           "properties": {
11787             "Result": {
11788               "$ref": "#/definitions/APIHostPortsResult"
11789             }
11790           }
11791         },
11792         "CACert": {
11793           "type": "object",
11794           "properties": {
11795             "Result": {
11796               "$ref": "#/definitions/BytesResult"
11797             }
11798           }
11799         },
11800         "EnsureDead": {
11801           "type": "object",
11802           "properties": {
11803             "Params": {
11804               "$ref": "#/definitions/Entities"
11805             },
11806             "Result": {
11807               "$ref": "#/definitions/ErrorResults"
11808             }
11809           }
11810         },
11811         "Jobs": {
11812           "type": "object",
11813           "properties": {
11814             "Params": {
11815               "$ref": "#/definitions/Entities"
11816             },
11817             "Result": {
11818               "$ref": "#/definitions/JobsResults"
11819             }
11820           }
11821         },
11822         "Life": {
11823           "type": "object",
11824           "properties": {
11825             "Params": {
11826               "$ref": "#/definitions/Entities"
11827             },
11828             "Result": {
11829               "$ref": "#/definitions/LifeResults"
11830             }
11831           }
11832         },
11833         "ModelUUID": {
11834           "type": "object",
11835           "properties": {
11836             "Result": {
11837               "$ref": "#/definitions/StringResult"
11838             }
11839           }
11840         },
11841         "SetMachineAddresses": {
11842           "type": "object",
11843           "properties": {
11844             "Params": {
11845               "$ref": "#/definitions/SetMachinesAddresses"
11846             },
11847             "Result": {
11848               "$ref": "#/definitions/ErrorResults"
11849             }
11850           }
11851         },
11852         "SetObservedNetworkConfig": {
11853           "type": "object",
11854           "properties": {
11855             "Params": {
11856               "$ref": "#/definitions/SetMachineNetworkConfig"
11857             }
11858           }
11859         },
11860         "SetProviderNetworkConfig": {
11861           "type": "object",
11862           "properties": {
11863             "Params": {
11864               "$ref": "#/definitions/Entities"
11865             },
11866             "Result": {
11867               "$ref": "#/definitions/ErrorResults"
11868             }
11869           }
11870         },
11871         "SetStatus": {
11872           "type": "object",
11873           "properties": {
11874             "Params": {
11875               "$ref": "#/definitions/SetStatus"
11876             },
11877             "Result": {
11878               "$ref": "#/definitions/ErrorResults"
11879             }
11880           }
11881         },
11882         "UpdateStatus": {
11883           "type": "object",
11884           "properties": {
11885             "Params": {
11886               "$ref": "#/definitions/SetStatus"
11887             },
11888             "Result": {
11889               "$ref": "#/definitions/ErrorResults"
11890             }
11891           }
11892         },
11893         "Watch": {
11894           "type": "object",
11895           "properties": {
11896             "Params": {
11897               "$ref": "#/definitions/Entities"
11898             },
11899             "Result": {
11900               "$ref": "#/definitions/NotifyWatchResults"
11901             }
11902           }
11903         },
11904         "WatchAPIHostPorts": {
11905           "type": "object",
11906           "properties": {
11907             "Result": {
11908               "$ref": "#/definitions/NotifyWatchResult"
11909             }
11910           }
11911         }
11912       },
11913       "definitions": {
11914         "APIHostPortsResult": {
11915           "type": "object",
11916           "properties": {
11917             "servers": {
11918               "type": "array",
11919               "items": {
11920                 "type": "array",
11921                 "items": {
11922                   "$ref": "#/definitions/HostPort"
11923                 }
11924               }
11925             }
11926           },
11927           "additionalProperties": false,
11928           "required": [
11929             "servers"
11930           ]
11931         },
11932         "Address": {
11933           "type": "object",
11934           "properties": {
11935             "scope": {
11936               "type": "string"
11937             },
11938             "space-name": {
11939               "type": "string"
11940             },
11941             "type": {
11942               "type": "string"
11943             },
11944             "value": {
11945               "type": "string"
11946             }
11947           },
11948           "additionalProperties": false,
11949           "required": [
11950             "value",
11951             "type",
11952             "scope"
11953           ]
11954         },
11955         "BytesResult": {
11956           "type": "object",
11957           "properties": {
11958             "result": {
11959               "type": "array",
11960               "items": {
11961                 "type": "integer"
11962               }
11963             }
11964           },
11965           "additionalProperties": false,
11966           "required": [
11967             "result"
11968           ]
11969         },
11970         "Entities": {
11971           "type": "object",
11972           "properties": {
11973             "entities": {
11974               "type": "array",
11975               "items": {
11976                 "$ref": "#/definitions/Entity"
11977               }
11978             }
11979           },
11980           "additionalProperties": false,
11981           "required": [
11982             "entities"
11983           ]
11984         },
11985         "Entity": {
11986           "type": "object",
11987           "properties": {
11988             "tag": {
11989               "type": "string"
11990             }
11991           },
11992           "additionalProperties": false,
11993           "required": [
11994             "tag"
11995           ]
11996         },
11997         "EntityStatusArgs": {
11998           "type": "object",
11999           "properties": {
12000             "data": {
12001               "type": "object",
12002               "patternProperties": {
12003                 ".*": {
12004                   "type": "object",
12005                   "additionalProperties": true
12006                 }
12007               }
12008             },
12009             "info": {
12010               "type": "string"
12011             },
12012             "status": {
12013               "type": "string"
12014             },
12015             "tag": {
12016               "type": "string"
12017             }
12018           },
12019           "additionalProperties": false,
12020           "required": [
12021             "tag",
12022             "status",
12023             "info",
12024             "data"
12025           ]
12026         },
12027         "Error": {
12028           "type": "object",
12029           "properties": {
12030             "code": {
12031               "type": "string"
12032             },
12033             "info": {
12034               "$ref": "#/definitions/ErrorInfo"
12035             },
12036             "message": {
12037               "type": "string"
12038             }
12039           },
12040           "additionalProperties": false,
12041           "required": [
12042             "message",
12043             "code"
12044           ]
12045         },
12046         "ErrorInfo": {
12047           "type": "object",
12048           "properties": {
12049             "macaroon": {
12050               "$ref": "#/definitions/Macaroon"
12051             },
12052             "macaroon-path": {
12053               "type": "string"
12054             }
12055           },
12056           "additionalProperties": false
12057         },
12058         "ErrorResult": {
12059           "type": "object",
12060           "properties": {
12061             "error": {
12062               "$ref": "#/definitions/Error"
12063             }
12064           },
12065           "additionalProperties": false
12066         },
12067         "ErrorResults": {
12068           "type": "object",
12069           "properties": {
12070             "results": {
12071               "type": "array",
12072               "items": {
12073                 "$ref": "#/definitions/ErrorResult"
12074               }
12075             }
12076           },
12077           "additionalProperties": false,
12078           "required": [
12079             "results"
12080           ]
12081         },
12082         "HostPort": {
12083           "type": "object",
12084           "properties": {
12085             "Address": {
12086               "$ref": "#/definitions/Address"
12087             },
12088             "port": {
12089               "type": "integer"
12090             }
12091           },
12092           "additionalProperties": false,
12093           "required": [
12094             "Address",
12095             "port"
12096           ]
12097         },
12098         "JobsResult": {
12099           "type": "object",
12100           "properties": {
12101             "error": {
12102               "$ref": "#/definitions/Error"
12103             },
12104             "jobs": {
12105               "type": "array",
12106               "items": {
12107                 "type": "string"
12108               }
12109             }
12110           },
12111           "additionalProperties": false,
12112           "required": [
12113             "jobs"
12114           ]
12115         },
12116         "JobsResults": {
12117           "type": "object",
12118           "properties": {
12119             "results": {
12120               "type": "array",
12121               "items": {
12122                 "$ref": "#/definitions/JobsResult"
12123               }
12124             }
12125           },
12126           "additionalProperties": false,
12127           "required": [
12128             "results"
12129           ]
12130         },
12131         "LifeResult": {
12132           "type": "object",
12133           "properties": {
12134             "error": {
12135               "$ref": "#/definitions/Error"
12136             },
12137             "life": {
12138               "type": "string"
12139             }
12140           },
12141           "additionalProperties": false,
12142           "required": [
12143             "life"
12144           ]
12145         },
12146         "LifeResults": {
12147           "type": "object",
12148           "properties": {
12149             "results": {
12150               "type": "array",
12151               "items": {
12152                 "$ref": "#/definitions/LifeResult"
12153               }
12154             }
12155           },
12156           "additionalProperties": false,
12157           "required": [
12158             "results"
12159           ]
12160         },
12161         "Macaroon": {
12162           "type": "object",
12163           "additionalProperties": false
12164         },
12165         "MachineAddresses": {
12166           "type": "object",
12167           "properties": {
12168             "addresses": {
12169               "type": "array",
12170               "items": {
12171                 "$ref": "#/definitions/Address"
12172               }
12173             },
12174             "tag": {
12175               "type": "string"
12176             }
12177           },
12178           "additionalProperties": false,
12179           "required": [
12180             "tag",
12181             "addresses"
12182           ]
12183         },
12184         "NetworkConfig": {
12185           "type": "object",
12186           "properties": {
12187             "address": {
12188               "type": "string"
12189             },
12190             "cidr": {
12191               "type": "string"
12192             },
12193             "config-type": {
12194               "type": "string"
12195             },
12196             "device-index": {
12197               "type": "integer"
12198             },
12199             "disabled": {
12200               "type": "boolean"
12201             },
12202             "dns-search-domains": {
12203               "type": "array",
12204               "items": {
12205                 "type": "string"
12206               }
12207             },
12208             "dns-servers": {
12209               "type": "array",
12210               "items": {
12211                 "type": "string"
12212               }
12213             },
12214             "gateway-address": {
12215               "type": "string"
12216             },
12217             "interface-name": {
12218               "type": "string"
12219             },
12220             "interface-type": {
12221               "type": "string"
12222             },
12223             "mac-address": {
12224               "type": "string"
12225             },
12226             "mtu": {
12227               "type": "integer"
12228             },
12229             "no-auto-start": {
12230               "type": "boolean"
12231             },
12232             "parent-interface-name": {
12233               "type": "string"
12234             },
12235             "provider-address-id": {
12236               "type": "string"
12237             },
12238             "provider-id": {
12239               "type": "string"
12240             },
12241             "provider-space-id": {
12242               "type": "string"
12243             },
12244             "provider-subnet-id": {
12245               "type": "string"
12246             },
12247             "provider-vlan-id": {
12248               "type": "string"
12249             },
12250             "vlan-tag": {
12251               "type": "integer"
12252             }
12253           },
12254           "additionalProperties": false,
12255           "required": [
12256             "device-index",
12257             "mac-address",
12258             "cidr",
12259             "mtu",
12260             "provider-id",
12261             "provider-subnet-id",
12262             "provider-space-id",
12263             "provider-address-id",
12264             "provider-vlan-id",
12265             "vlan-tag",
12266             "interface-name",
12267             "parent-interface-name",
12268             "interface-type",
12269             "disabled"
12270           ]
12271         },
12272         "NotifyWatchResult": {
12273           "type": "object",
12274           "properties": {
12275             "NotifyWatcherId": {
12276               "type": "string"
12277             },
12278             "error": {
12279               "$ref": "#/definitions/Error"
12280             }
12281           },
12282           "additionalProperties": false,
12283           "required": [
12284             "NotifyWatcherId"
12285           ]
12286         },
12287         "NotifyWatchResults": {
12288           "type": "object",
12289           "properties": {
12290             "results": {
12291               "type": "array",
12292               "items": {
12293                 "$ref": "#/definitions/NotifyWatchResult"
12294               }
12295             }
12296           },
12297           "additionalProperties": false,
12298           "required": [
12299             "results"
12300           ]
12301         },
12302         "SetMachineNetworkConfig": {
12303           "type": "object",
12304           "properties": {
12305             "config": {
12306               "type": "array",
12307               "items": {
12308                 "$ref": "#/definitions/NetworkConfig"
12309               }
12310             },
12311             "tag": {
12312               "type": "string"
12313             }
12314           },
12315           "additionalProperties": false,
12316           "required": [
12317             "tag",
12318             "config"
12319           ]
12320         },
12321         "SetMachinesAddresses": {
12322           "type": "object",
12323           "properties": {
12324             "machine-addresses": {
12325               "type": "array",
12326               "items": {
12327                 "$ref": "#/definitions/MachineAddresses"
12328               }
12329             }
12330           },
12331           "additionalProperties": false,
12332           "required": [
12333             "machine-addresses"
12334           ]
12335         },
12336         "SetStatus": {
12337           "type": "object",
12338           "properties": {
12339             "entities": {
12340               "type": "array",
12341               "items": {
12342                 "$ref": "#/definitions/EntityStatusArgs"
12343               }
12344             }
12345           },
12346           "additionalProperties": false,
12347           "required": [
12348             "entities"
12349           ]
12350         },
12351         "StringResult": {
12352           "type": "object",
12353           "properties": {
12354             "error": {
12355               "$ref": "#/definitions/Error"
12356             },
12357             "result": {
12358               "type": "string"
12359             }
12360           },
12361           "additionalProperties": false,
12362           "required": [
12363             "result"
12364           ]
12365         },
12366         "StringsResult": {
12367           "type": "object",
12368           "properties": {
12369             "error": {
12370               "$ref": "#/definitions/Error"
12371             },
12372             "result": {
12373               "type": "array",
12374               "items": {
12375                 "type": "string"
12376               }
12377             }
12378           },
12379           "additionalProperties": false
12380         }
12381       }
12382     }
12383   },
12384   {
12385     "Name": "MeterStatus",
12386     "Version": 1,
12387     "Schema": {
12388       "type": "object",
12389       "properties": {
12390         "GetMeterStatus": {
12391           "type": "object",
12392           "properties": {
12393             "Params": {
12394               "$ref": "#/definitions/Entities"
12395             },
12396             "Result": {
12397               "$ref": "#/definitions/MeterStatusResults"
12398             }
12399           }
12400         },
12401         "WatchMeterStatus": {
12402           "type": "object",
12403           "properties": {
12404             "Params": {
12405               "$ref": "#/definitions/Entities"
12406             },
12407             "Result": {
12408               "$ref": "#/definitions/NotifyWatchResults"
12409             }
12410           }
12411         }
12412       },
12413       "definitions": {
12414         "Entities": {
12415           "type": "object",
12416           "properties": {
12417             "entities": {
12418               "type": "array",
12419               "items": {
12420                 "$ref": "#/definitions/Entity"
12421               }
12422             }
12423           },
12424           "additionalProperties": false,
12425           "required": [
12426             "entities"
12427           ]
12428         },
12429         "Entity": {
12430           "type": "object",
12431           "properties": {
12432             "tag": {
12433               "type": "string"
12434             }
12435           },
12436           "additionalProperties": false,
12437           "required": [
12438             "tag"
12439           ]
12440         },
12441         "Error": {
12442           "type": "object",
12443           "properties": {
12444             "code": {
12445               "type": "string"
12446             },
12447             "info": {
12448               "$ref": "#/definitions/ErrorInfo"
12449             },
12450             "message": {
12451               "type": "string"
12452             }
12453           },
12454           "additionalProperties": false,
12455           "required": [
12456             "message",
12457             "code"
12458           ]
12459         },
12460         "ErrorInfo": {
12461           "type": "object",
12462           "properties": {
12463             "macaroon": {
12464               "$ref": "#/definitions/Macaroon"
12465             },
12466             "macaroon-path": {
12467               "type": "string"
12468             }
12469           },
12470           "additionalProperties": false
12471         },
12472         "Macaroon": {
12473           "type": "object",
12474           "additionalProperties": false
12475         },
12476         "MeterStatusResult": {
12477           "type": "object",
12478           "properties": {
12479             "code": {
12480               "type": "string"
12481             },
12482             "error": {
12483               "$ref": "#/definitions/Error"
12484             },
12485             "info": {
12486               "type": "string"
12487             }
12488           },
12489           "additionalProperties": false,
12490           "required": [
12491             "code",
12492             "info"
12493           ]
12494         },
12495         "MeterStatusResults": {
12496           "type": "object",
12497           "properties": {
12498             "results": {
12499               "type": "array",
12500               "items": {
12501                 "$ref": "#/definitions/MeterStatusResult"
12502               }
12503             }
12504           },
12505           "additionalProperties": false,
12506           "required": [
12507             "results"
12508           ]
12509         },
12510         "NotifyWatchResult": {
12511           "type": "object",
12512           "properties": {
12513             "NotifyWatcherId": {
12514               "type": "string"
12515             },
12516             "error": {
12517               "$ref": "#/definitions/Error"
12518             }
12519           },
12520           "additionalProperties": false,
12521           "required": [
12522             "NotifyWatcherId"
12523           ]
12524         },
12525         "NotifyWatchResults": {
12526           "type": "object",
12527           "properties": {
12528             "results": {
12529               "type": "array",
12530               "items": {
12531                 "$ref": "#/definitions/NotifyWatchResult"
12532               }
12533             }
12534           },
12535           "additionalProperties": false,
12536           "required": [
12537             "results"
12538           ]
12539         }
12540       }
12541     }
12542   },
12543   {
12544     "Name": "MetricsAdder",
12545     "Version": 2,
12546     "Schema": {
12547       "type": "object",
12548       "properties": {
12549         "AddMetricBatches": {
12550           "type": "object",
12551           "properties": {
12552             "Params": {
12553               "$ref": "#/definitions/MetricBatchParams"
12554             },
12555             "Result": {
12556               "$ref": "#/definitions/ErrorResults"
12557             }
12558           }
12559         }
12560       },
12561       "definitions": {
12562         "Error": {
12563           "type": "object",
12564           "properties": {
12565             "code": {
12566               "type": "string"
12567             },
12568             "info": {
12569               "$ref": "#/definitions/ErrorInfo"
12570             },
12571             "message": {
12572               "type": "string"
12573             }
12574           },
12575           "additionalProperties": false,
12576           "required": [
12577             "message",
12578             "code"
12579           ]
12580         },
12581         "ErrorInfo": {
12582           "type": "object",
12583           "properties": {
12584             "macaroon": {
12585               "$ref": "#/definitions/Macaroon"
12586             },
12587             "macaroon-path": {
12588               "type": "string"
12589             }
12590           },
12591           "additionalProperties": false
12592         },
12593         "ErrorResult": {
12594           "type": "object",
12595           "properties": {
12596             "error": {
12597               "$ref": "#/definitions/Error"
12598             }
12599           },
12600           "additionalProperties": false
12601         },
12602         "ErrorResults": {
12603           "type": "object",
12604           "properties": {
12605             "results": {
12606               "type": "array",
12607               "items": {
12608                 "$ref": "#/definitions/ErrorResult"
12609               }
12610             }
12611           },
12612           "additionalProperties": false,
12613           "required": [
12614             "results"
12615           ]
12616         },
12617         "Macaroon": {
12618           "type": "object",
12619           "additionalProperties": false
12620         },
12621         "Metric": {
12622           "type": "object",
12623           "properties": {
12624             "key": {
12625               "type": "string"
12626             },
12627             "time": {
12628               "type": "string",
12629               "format": "date-time"
12630             },
12631             "value": {
12632               "type": "string"
12633             }
12634           },
12635           "additionalProperties": false,
12636           "required": [
12637             "key",
12638             "value",
12639             "time"
12640           ]
12641         },
12642         "MetricBatch": {
12643           "type": "object",
12644           "properties": {
12645             "charm-url": {
12646               "type": "string"
12647             },
12648             "created": {
12649               "type": "string",
12650               "format": "date-time"
12651             },
12652             "metrics": {
12653               "type": "array",
12654               "items": {
12655                 "$ref": "#/definitions/Metric"
12656               }
12657             },
12658             "uuid": {
12659               "type": "string"
12660             }
12661           },
12662           "additionalProperties": false,
12663           "required": [
12664             "uuid",
12665             "charm-url",
12666             "created",
12667             "metrics"
12668           ]
12669         },
12670         "MetricBatchParam": {
12671           "type": "object",
12672           "properties": {
12673             "batch": {
12674               "$ref": "#/definitions/MetricBatch"
12675             },
12676             "tag": {
12677               "type": "string"
12678             }
12679           },
12680           "additionalProperties": false,
12681           "required": [
12682             "tag",
12683             "batch"
12684           ]
12685         },
12686         "MetricBatchParams": {
12687           "type": "object",
12688           "properties": {
12689             "batches": {
12690               "type": "array",
12691               "items": {
12692                 "$ref": "#/definitions/MetricBatchParam"
12693               }
12694             }
12695           },
12696           "additionalProperties": false,
12697           "required": [
12698             "batches"
12699           ]
12700         }
12701       }
12702     }
12703   },
12704   {
12705     "Name": "MetricsDebug",
12706     "Version": 2,
12707     "Schema": {
12708       "type": "object",
12709       "properties": {
12710         "GetMetrics": {
12711           "type": "object",
12712           "properties": {
12713             "Params": {
12714               "$ref": "#/definitions/Entities"
12715             },
12716             "Result": {
12717               "$ref": "#/definitions/MetricResults"
12718             }
12719           }
12720         },
12721         "SetMeterStatus": {
12722           "type": "object",
12723           "properties": {
12724             "Params": {
12725               "$ref": "#/definitions/MeterStatusParams"
12726             },
12727             "Result": {
12728               "$ref": "#/definitions/ErrorResults"
12729             }
12730           }
12731         }
12732       },
12733       "definitions": {
12734         "Entities": {
12735           "type": "object",
12736           "properties": {
12737             "entities": {
12738               "type": "array",
12739               "items": {
12740                 "$ref": "#/definitions/Entity"
12741               }
12742             }
12743           },
12744           "additionalProperties": false,
12745           "required": [
12746             "entities"
12747           ]
12748         },
12749         "Entity": {
12750           "type": "object",
12751           "properties": {
12752             "tag": {
12753               "type": "string"
12754             }
12755           },
12756           "additionalProperties": false,
12757           "required": [
12758             "tag"
12759           ]
12760         },
12761         "EntityMetrics": {
12762           "type": "object",
12763           "properties": {
12764             "error": {
12765               "$ref": "#/definitions/Error"
12766             },
12767             "metrics": {
12768               "type": "array",
12769               "items": {
12770                 "$ref": "#/definitions/MetricResult"
12771               }
12772             }
12773           },
12774           "additionalProperties": false
12775         },
12776         "Error": {
12777           "type": "object",
12778           "properties": {
12779             "code": {
12780               "type": "string"
12781             },
12782             "info": {
12783               "$ref": "#/definitions/ErrorInfo"
12784             },
12785             "message": {
12786               "type": "string"
12787             }
12788           },
12789           "additionalProperties": false,
12790           "required": [
12791             "message",
12792             "code"
12793           ]
12794         },
12795         "ErrorInfo": {
12796           "type": "object",
12797           "properties": {
12798             "macaroon": {
12799               "$ref": "#/definitions/Macaroon"
12800             },
12801             "macaroon-path": {
12802               "type": "string"
12803             }
12804           },
12805           "additionalProperties": false
12806         },
12807         "ErrorResult": {
12808           "type": "object",
12809           "properties": {
12810             "error": {
12811               "$ref": "#/definitions/Error"
12812             }
12813           },
12814           "additionalProperties": false
12815         },
12816         "ErrorResults": {
12817           "type": "object",
12818           "properties": {
12819             "results": {
12820               "type": "array",
12821               "items": {
12822                 "$ref": "#/definitions/ErrorResult"
12823               }
12824             }
12825           },
12826           "additionalProperties": false,
12827           "required": [
12828             "results"
12829           ]
12830         },
12831         "Macaroon": {
12832           "type": "object",
12833           "additionalProperties": false
12834         },
12835         "MeterStatusParam": {
12836           "type": "object",
12837           "properties": {
12838             "code": {
12839               "type": "string"
12840             },
12841             "info": {
12842               "type": "string"
12843             },
12844             "tag": {
12845               "type": "string"
12846             }
12847           },
12848           "additionalProperties": false,
12849           "required": [
12850             "tag",
12851             "code",
12852             "info"
12853           ]
12854         },
12855         "MeterStatusParams": {
12856           "type": "object",
12857           "properties": {
12858             "statues": {
12859               "type": "array",
12860               "items": {
12861                 "$ref": "#/definitions/MeterStatusParam"
12862               }
12863             }
12864           },
12865           "additionalProperties": false,
12866           "required": [
12867             "statues"
12868           ]
12869         },
12870         "MetricResult": {
12871           "type": "object",
12872           "properties": {
12873             "key": {
12874               "type": "string"
12875             },
12876             "time": {
12877               "type": "string",
12878               "format": "date-time"
12879             },
12880             "unit": {
12881               "type": "string"
12882             },
12883             "value": {
12884               "type": "string"
12885             }
12886           },
12887           "additionalProperties": false,
12888           "required": [
12889             "time",
12890             "key",
12891             "value",
12892             "unit"
12893           ]
12894         },
12895         "MetricResults": {
12896           "type": "object",
12897           "properties": {
12898             "results": {
12899               "type": "array",
12900               "items": {
12901                 "$ref": "#/definitions/EntityMetrics"
12902               }
12903             }
12904           },
12905           "additionalProperties": false,
12906           "required": [
12907             "results"
12908           ]
12909         }
12910       }
12911     }
12912   },
12913   {
12914     "Name": "MetricsManager",
12915     "Version": 1,
12916     "Schema": {
12917       "type": "object",
12918       "properties": {
12919         "CleanupOldMetrics": {
12920           "type": "object",
12921           "properties": {
12922             "Params": {
12923               "$ref": "#/definitions/Entities"
12924             },
12925             "Result": {
12926               "$ref": "#/definitions/ErrorResults"
12927             }
12928           }
12929         },
12930         "SendMetrics": {
12931           "type": "object",
12932           "properties": {
12933             "Params": {
12934               "$ref": "#/definitions/Entities"
12935             },
12936             "Result": {
12937               "$ref": "#/definitions/ErrorResults"
12938             }
12939           }
12940         }
12941       },
12942       "definitions": {
12943         "Entities": {
12944           "type": "object",
12945           "properties": {
12946             "entities": {
12947               "type": "array",
12948               "items": {
12949                 "$ref": "#/definitions/Entity"
12950               }
12951             }
12952           },
12953           "additionalProperties": false,
12954           "required": [
12955             "entities"
12956           ]
12957         },
12958         "Entity": {
12959           "type": "object",
12960           "properties": {
12961             "tag": {
12962               "type": "string"
12963             }
12964           },
12965           "additionalProperties": false,
12966           "required": [
12967             "tag"
12968           ]
12969         },
12970         "Error": {
12971           "type": "object",
12972           "properties": {
12973             "code": {
12974               "type": "string"
12975             },
12976             "info": {
12977               "$ref": "#/definitions/ErrorInfo"
12978             },
12979             "message": {
12980               "type": "string"
12981             }
12982           },
12983           "additionalProperties": false,
12984           "required": [
12985             "message",
12986             "code"
12987           ]
12988         },
12989         "ErrorInfo": {
12990           "type": "object",
12991           "properties": {
12992             "macaroon": {
12993               "$ref": "#/definitions/Macaroon"
12994             },
12995             "macaroon-path": {
12996               "type": "string"
12997             }
12998           },
12999           "additionalProperties": false
13000         },
13001         "ErrorResult": {
13002           "type": "object",
13003           "properties": {
13004             "error": {
13005               "$ref": "#/definitions/Error"
13006             }
13007           },
13008           "additionalProperties": false
13009         },
13010         "ErrorResults": {
13011           "type": "object",
13012           "properties": {
13013             "results": {
13014               "type": "array",
13015               "items": {
13016                 "$ref": "#/definitions/ErrorResult"
13017               }
13018             }
13019           },
13020           "additionalProperties": false,
13021           "required": [
13022             "results"
13023           ]
13024         },
13025         "Macaroon": {
13026           "type": "object",
13027           "additionalProperties": false
13028         }
13029       }
13030     }
13031   },
13032   {
13033     "Name": "MigrationFlag",
13034     "Version": 1,
13035     "Schema": {
13036       "type": "object",
13037       "properties": {
13038         "Phase": {
13039           "type": "object",
13040           "properties": {
13041             "Params": {
13042               "$ref": "#/definitions/Entities"
13043             },
13044             "Result": {
13045               "$ref": "#/definitions/PhaseResults"
13046             }
13047           }
13048         },
13049         "Watch": {
13050           "type": "object",
13051           "properties": {
13052             "Params": {
13053               "$ref": "#/definitions/Entities"
13054             },
13055             "Result": {
13056               "$ref": "#/definitions/NotifyWatchResults"
13057             }
13058           }
13059         }
13060       },
13061       "definitions": {
13062         "Entities": {
13063           "type": "object",
13064           "properties": {
13065             "entities": {
13066               "type": "array",
13067               "items": {
13068                 "$ref": "#/definitions/Entity"
13069               }
13070             }
13071           },
13072           "additionalProperties": false,
13073           "required": [
13074             "entities"
13075           ]
13076         },
13077         "Entity": {
13078           "type": "object",
13079           "properties": {
13080             "tag": {
13081               "type": "string"
13082             }
13083           },
13084           "additionalProperties": false,
13085           "required": [
13086             "tag"
13087           ]
13088         },
13089         "Error": {
13090           "type": "object",
13091           "properties": {
13092             "code": {
13093               "type": "string"
13094             },
13095             "info": {
13096               "$ref": "#/definitions/ErrorInfo"
13097             },
13098             "message": {
13099               "type": "string"
13100             }
13101           },
13102           "additionalProperties": false,
13103           "required": [
13104             "message",
13105             "code"
13106           ]
13107         },
13108         "ErrorInfo": {
13109           "type": "object",
13110           "properties": {
13111             "macaroon": {
13112               "$ref": "#/definitions/Macaroon"
13113             },
13114             "macaroon-path": {
13115               "type": "string"
13116             }
13117           },
13118           "additionalProperties": false
13119         },
13120         "Macaroon": {
13121           "type": "object",
13122           "additionalProperties": false
13123         },
13124         "NotifyWatchResult": {
13125           "type": "object",
13126           "properties": {
13127             "NotifyWatcherId": {
13128               "type": "string"
13129             },
13130             "error": {
13131               "$ref": "#/definitions/Error"
13132             }
13133           },
13134           "additionalProperties": false,
13135           "required": [
13136             "NotifyWatcherId"
13137           ]
13138         },
13139         "NotifyWatchResults": {
13140           "type": "object",
13141           "properties": {
13142             "results": {
13143               "type": "array",
13144               "items": {
13145                 "$ref": "#/definitions/NotifyWatchResult"
13146               }
13147             }
13148           },
13149           "additionalProperties": false,
13150           "required": [
13151             "results"
13152           ]
13153         },
13154         "PhaseResult": {
13155           "type": "object",
13156           "properties": {
13157             "error": {
13158               "$ref": "#/definitions/Error"
13159             },
13160             "phase": {
13161               "type": "string"
13162             }
13163           },
13164           "additionalProperties": false
13165         },
13166         "PhaseResults": {
13167           "type": "object",
13168           "properties": {
13169             "results": {
13170               "type": "array",
13171               "items": {
13172                 "$ref": "#/definitions/PhaseResult"
13173               }
13174             }
13175           },
13176           "additionalProperties": false,
13177           "required": [
13178             "results"
13179           ]
13180         }
13181       }
13182     }
13183   },
13184   {
13185     "Name": "MigrationMaster",
13186     "Version": 1,
13187     "Schema": {
13188       "type": "object",
13189       "properties": {
13190         "Export": {
13191           "type": "object",
13192           "properties": {
13193             "Result": {
13194               "$ref": "#/definitions/SerializedModel"
13195             }
13196           }
13197         },
13198         "MigrationStatus": {
13199           "type": "object",
13200           "properties": {
13201             "Result": {
13202               "$ref": "#/definitions/MasterMigrationStatus"
13203             }
13204           }
13205         },
13206         "MinionReports": {
13207           "type": "object",
13208           "properties": {
13209             "Result": {
13210               "$ref": "#/definitions/MinionReports"
13211             }
13212           }
13213         },
13214         "ModelInfo": {
13215           "type": "object",
13216           "properties": {
13217             "Result": {
13218               "$ref": "#/definitions/MigrationModelInfo"
13219             }
13220           }
13221         },
13222         "Prechecks": {
13223           "type": "object"
13224         },
13225         "Reap": {
13226           "type": "object"
13227         },
13228         "SetPhase": {
13229           "type": "object",
13230           "properties": {
13231             "Params": {
13232               "$ref": "#/definitions/SetMigrationPhaseArgs"
13233             }
13234           }
13235         },
13236         "SetStatusMessage": {
13237           "type": "object",
13238           "properties": {
13239             "Params": {
13240               "$ref": "#/definitions/SetMigrationStatusMessageArgs"
13241             }
13242           }
13243         },
13244         "Watch": {
13245           "type": "object",
13246           "properties": {
13247             "Result": {
13248               "$ref": "#/definitions/NotifyWatchResult"
13249             }
13250           }
13251         },
13252         "WatchMinionReports": {
13253           "type": "object",
13254           "properties": {
13255             "Result": {
13256               "$ref": "#/definitions/NotifyWatchResult"
13257             }
13258           }
13259         }
13260       },
13261       "definitions": {
13262         "Error": {
13263           "type": "object",
13264           "properties": {
13265             "code": {
13266               "type": "string"
13267             },
13268             "info": {
13269               "$ref": "#/definitions/ErrorInfo"
13270             },
13271             "message": {
13272               "type": "string"
13273             }
13274           },
13275           "additionalProperties": false,
13276           "required": [
13277             "message",
13278             "code"
13279           ]
13280         },
13281         "ErrorInfo": {
13282           "type": "object",
13283           "properties": {
13284             "macaroon": {
13285               "$ref": "#/definitions/Macaroon"
13286             },
13287             "macaroon-path": {
13288               "type": "string"
13289             }
13290           },
13291           "additionalProperties": false
13292         },
13293         "Macaroon": {
13294           "type": "object",
13295           "additionalProperties": false
13296         },
13297         "MasterMigrationStatus": {
13298           "type": "object",
13299           "properties": {
13300             "migration-id": {
13301               "type": "string"
13302             },
13303             "phase": {
13304               "type": "string"
13305             },
13306             "phase-changed-time": {
13307               "type": "string",
13308               "format": "date-time"
13309             },
13310             "spec": {
13311               "$ref": "#/definitions/MigrationSpec"
13312             }
13313           },
13314           "additionalProperties": false,
13315           "required": [
13316             "spec",
13317             "migration-id",
13318             "phase",
13319             "phase-changed-time"
13320           ]
13321         },
13322         "MigrationModelInfo": {
13323           "type": "object",
13324           "properties": {
13325             "agent-version": {
13326               "$ref": "#/definitions/Number"
13327             },
13328             "name": {
13329               "type": "string"
13330             },
13331             "owner-tag": {
13332               "type": "string"
13333             },
13334             "uuid": {
13335               "type": "string"
13336             }
13337           },
13338           "additionalProperties": false,
13339           "required": [
13340             "uuid",
13341             "name",
13342             "owner-tag",
13343             "agent-version"
13344           ]
13345         },
13346         "MigrationSpec": {
13347           "type": "object",
13348           "properties": {
13349             "external-control": {
13350               "type": "boolean"
13351             },
13352             "model-tag": {
13353               "type": "string"
13354             },
13355             "skip-initial-prechecks": {
13356               "type": "boolean"
13357             },
13358             "target-info": {
13359               "$ref": "#/definitions/MigrationTargetInfo"
13360             }
13361           },
13362           "additionalProperties": false,
13363           "required": [
13364             "model-tag",
13365             "target-info",
13366             "external-control",
13367             "skip-initial-prechecks"
13368           ]
13369         },
13370         "MigrationTargetInfo": {
13371           "type": "object",
13372           "properties": {
13373             "addrs": {
13374               "type": "array",
13375               "items": {
13376                 "type": "string"
13377               }
13378             },
13379             "auth-tag": {
13380               "type": "string"
13381             },
13382             "ca-cert": {
13383               "type": "string"
13384             },
13385             "controller-tag": {
13386               "type": "string"
13387             },
13388             "macaroons": {
13389               "type": "string"
13390             },
13391             "password": {
13392               "type": "string"
13393             }
13394           },
13395           "additionalProperties": false,
13396           "required": [
13397             "controller-tag",
13398             "addrs",
13399             "ca-cert",
13400             "auth-tag"
13401           ]
13402         },
13403         "MinionReports": {
13404           "type": "object",
13405           "properties": {
13406             "failed": {
13407               "type": "array",
13408               "items": {
13409                 "type": "string"
13410               }
13411             },
13412             "migration-id": {
13413               "type": "string"
13414             },
13415             "phase": {
13416               "type": "string"
13417             },
13418             "success-count": {
13419               "type": "integer"
13420             },
13421             "unknown-count": {
13422               "type": "integer"
13423             },
13424             "unknown-sample": {
13425               "type": "array",
13426               "items": {
13427                 "type": "string"
13428               }
13429             }
13430           },
13431           "additionalProperties": false,
13432           "required": [
13433             "migration-id",
13434             "phase",
13435             "success-count",
13436             "unknown-count",
13437             "unknown-sample",
13438             "failed"
13439           ]
13440         },
13441         "NotifyWatchResult": {
13442           "type": "object",
13443           "properties": {
13444             "NotifyWatcherId": {
13445               "type": "string"
13446             },
13447             "error": {
13448               "$ref": "#/definitions/Error"
13449             }
13450           },
13451           "additionalProperties": false,
13452           "required": [
13453             "NotifyWatcherId"
13454           ]
13455         },
13456         "Number": {
13457           "type": "object",
13458           "properties": {
13459             "Build": {
13460               "type": "integer"
13461             },
13462             "Major": {
13463               "type": "integer"
13464             },
13465             "Minor": {
13466               "type": "integer"
13467             },
13468             "Patch": {
13469               "type": "integer"
13470             },
13471             "Tag": {
13472               "type": "string"
13473             }
13474           },
13475           "additionalProperties": false,
13476           "required": [
13477             "Major",
13478             "Minor",
13479             "Tag",
13480             "Patch",
13481             "Build"
13482           ]
13483         },
13484         "SerializedModel": {
13485           "type": "object",
13486           "properties": {
13487             "bytes": {
13488               "type": "array",
13489               "items": {
13490                 "type": "integer"
13491               }
13492             },
13493             "charms": {
13494               "type": "array",
13495               "items": {
13496                 "type": "string"
13497               }
13498             },
13499             "tools": {
13500               "type": "array",
13501               "items": {
13502                 "$ref": "#/definitions/SerializedModelTools"
13503               }
13504             }
13505           },
13506           "additionalProperties": false,
13507           "required": [
13508             "bytes",
13509             "charms",
13510             "tools"
13511           ]
13512         },
13513         "SerializedModelTools": {
13514           "type": "object",
13515           "properties": {
13516             "uri": {
13517               "type": "string"
13518             },
13519             "version": {
13520               "type": "string"
13521             }
13522           },
13523           "additionalProperties": false,
13524           "required": [
13525             "version",
13526             "uri"
13527           ]
13528         },
13529         "SetMigrationPhaseArgs": {
13530           "type": "object",
13531           "properties": {
13532             "phase": {
13533               "type": "string"
13534             }
13535           },
13536           "additionalProperties": false,
13537           "required": [
13538             "phase"
13539           ]
13540         },
13541         "SetMigrationStatusMessageArgs": {
13542           "type": "object",
13543           "properties": {
13544             "message": {
13545               "type": "string"
13546             }
13547           },
13548           "additionalProperties": false,
13549           "required": [
13550             "message"
13551           ]
13552         }
13553       }
13554     }
13555   },
13556   {
13557     "Name": "MigrationMinion",
13558     "Version": 1,
13559     "Schema": {
13560       "type": "object",
13561       "properties": {
13562         "Report": {
13563           "type": "object",
13564           "properties": {
13565             "Params": {
13566               "$ref": "#/definitions/MinionReport"
13567             }
13568           }
13569         },
13570         "Watch": {
13571           "type": "object",
13572           "properties": {
13573             "Result": {
13574               "$ref": "#/definitions/NotifyWatchResult"
13575             }
13576           }
13577         }
13578       },
13579       "definitions": {
13580         "Error": {
13581           "type": "object",
13582           "properties": {
13583             "code": {
13584               "type": "string"
13585             },
13586             "info": {
13587               "$ref": "#/definitions/ErrorInfo"
13588             },
13589             "message": {
13590               "type": "string"
13591             }
13592           },
13593           "additionalProperties": false,
13594           "required": [
13595             "message",
13596             "code"
13597           ]
13598         },
13599         "ErrorInfo": {
13600           "type": "object",
13601           "properties": {
13602             "macaroon": {
13603               "$ref": "#/definitions/Macaroon"
13604             },
13605             "macaroon-path": {
13606               "type": "string"
13607             }
13608           },
13609           "additionalProperties": false
13610         },
13611         "Macaroon": {
13612           "type": "object",
13613           "additionalProperties": false
13614         },
13615         "MinionReport": {
13616           "type": "object",
13617           "properties": {
13618             "migration-id": {
13619               "type": "string"
13620             },
13621             "phase": {
13622               "type": "string"
13623             },
13624             "success": {
13625               "type": "boolean"
13626             }
13627           },
13628           "additionalProperties": false,
13629           "required": [
13630             "migration-id",
13631             "phase",
13632             "success"
13633           ]
13634         },
13635         "NotifyWatchResult": {
13636           "type": "object",
13637           "properties": {
13638             "NotifyWatcherId": {
13639               "type": "string"
13640             },
13641             "error": {
13642               "$ref": "#/definitions/Error"
13643             }
13644           },
13645           "additionalProperties": false,
13646           "required": [
13647             "NotifyWatcherId"
13648           ]
13649         }
13650       }
13651     }
13652   },
13653   {
13654     "Name": "MigrationStatusWatcher",
13655     "Version": 1,
13656     "Schema": {
13657       "type": "object",
13658       "properties": {
13659         "Next": {
13660           "type": "object",
13661           "properties": {
13662             "Result": {
13663               "$ref": "#/definitions/MigrationStatus"
13664             }
13665           }
13666         },
13667         "Stop": {
13668           "type": "object"
13669         }
13670       },
13671       "definitions": {
13672         "MigrationStatus": {
13673           "type": "object",
13674           "properties": {
13675             "attempt": {
13676               "type": "integer"
13677             },
13678             "external-control": {
13679               "type": "boolean"
13680             },
13681             "migration-id": {
13682               "type": "string"
13683             },
13684             "phase": {
13685               "type": "string"
13686             },
13687             "source-api-addrs": {
13688               "type": "array",
13689               "items": {
13690                 "type": "string"
13691               }
13692             },
13693             "source-ca-cert": {
13694               "type": "string"
13695             },
13696             "target-api-addrs": {
13697               "type": "array",
13698               "items": {
13699                 "type": "string"
13700               }
13701             },
13702             "target-ca-cert": {
13703               "type": "string"
13704             }
13705           },
13706           "additionalProperties": false,
13707           "required": [
13708             "migration-id",
13709             "attempt",
13710             "phase",
13711             "external-control",
13712             "source-api-addrs",
13713             "source-ca-cert",
13714             "target-api-addrs",
13715             "target-ca-cert"
13716           ]
13717         }
13718       }
13719     }
13720   },
13721   {
13722     "Name": "MigrationTarget",
13723     "Version": 1,
13724     "Schema": {
13725       "type": "object",
13726       "properties": {
13727         "Abort": {
13728           "type": "object",
13729           "properties": {
13730             "Params": {
13731               "$ref": "#/definitions/ModelArgs"
13732             }
13733           }
13734         },
13735         "Activate": {
13736           "type": "object",
13737           "properties": {
13738             "Params": {
13739               "$ref": "#/definitions/ModelArgs"
13740             }
13741           }
13742         },
13743         "Import": {
13744           "type": "object",
13745           "properties": {
13746             "Params": {
13747               "$ref": "#/definitions/SerializedModel"
13748             }
13749           }
13750         },
13751         "Prechecks": {
13752           "type": "object",
13753           "properties": {
13754             "Params": {
13755               "$ref": "#/definitions/MigrationModelInfo"
13756             }
13757           }
13758         }
13759       },
13760       "definitions": {
13761         "MigrationModelInfo": {
13762           "type": "object",
13763           "properties": {
13764             "agent-version": {
13765               "$ref": "#/definitions/Number"
13766             },
13767             "name": {
13768               "type": "string"
13769             },
13770             "owner-tag": {
13771               "type": "string"
13772             },
13773             "uuid": {
13774               "type": "string"
13775             }
13776           },
13777           "additionalProperties": false,
13778           "required": [
13779             "uuid",
13780             "name",
13781             "owner-tag",
13782             "agent-version"
13783           ]
13784         },
13785         "ModelArgs": {
13786           "type": "object",
13787           "properties": {
13788             "model-tag": {
13789               "type": "string"
13790             }
13791           },
13792           "additionalProperties": false,
13793           "required": [
13794             "model-tag"
13795           ]
13796         },
13797         "Number": {
13798           "type": "object",
13799           "properties": {
13800             "Build": {
13801               "type": "integer"
13802             },
13803             "Major": {
13804               "type": "integer"
13805             },
13806             "Minor": {
13807               "type": "integer"
13808             },
13809             "Patch": {
13810               "type": "integer"
13811             },
13812             "Tag": {
13813               "type": "string"
13814             }
13815           },
13816           "additionalProperties": false,
13817           "required": [
13818             "Major",
13819             "Minor",
13820             "Tag",
13821             "Patch",
13822             "Build"
13823           ]
13824         },
13825         "SerializedModel": {
13826           "type": "object",
13827           "properties": {
13828             "bytes": {
13829               "type": "array",
13830               "items": {
13831                 "type": "integer"
13832               }
13833             },
13834             "charms": {
13835               "type": "array",
13836               "items": {
13837                 "type": "string"
13838               }
13839             },
13840             "tools": {
13841               "type": "array",
13842               "items": {
13843                 "$ref": "#/definitions/SerializedModelTools"
13844               }
13845             }
13846           },
13847           "additionalProperties": false,
13848           "required": [
13849             "bytes",
13850             "charms",
13851             "tools"
13852           ]
13853         },
13854         "SerializedModelTools": {
13855           "type": "object",
13856           "properties": {
13857             "uri": {
13858               "type": "string"
13859             },
13860             "version": {
13861               "type": "string"
13862             }
13863           },
13864           "additionalProperties": false,
13865           "required": [
13866             "version",
13867             "uri"
13868           ]
13869         }
13870       }
13871     }
13872   },
13873   {
13874     "Name": "ModelConfig",
13875     "Version": 1,
13876     "Schema": {
13877       "type": "object",
13878       "properties": {
13879         "ModelGet": {
13880           "type": "object",
13881           "properties": {
13882             "Result": {
13883               "$ref": "#/definitions/ModelConfigResults"
13884             }
13885           }
13886         },
13887         "ModelSet": {
13888           "type": "object",
13889           "properties": {
13890             "Params": {
13891               "$ref": "#/definitions/ModelSet"
13892             }
13893           }
13894         },
13895         "ModelUnset": {
13896           "type": "object",
13897           "properties": {
13898             "Params": {
13899               "$ref": "#/definitions/ModelUnset"
13900             }
13901           }
13902         }
13903       },
13904       "definitions": {
13905         "ConfigValue": {
13906           "type": "object",
13907           "properties": {
13908             "source": {
13909               "type": "string"
13910             },
13911             "value": {
13912               "type": "object",
13913               "additionalProperties": true
13914             }
13915           },
13916           "additionalProperties": false,
13917           "required": [
13918             "value",
13919             "source"
13920           ]
13921         },
13922         "ModelConfigResults": {
13923           "type": "object",
13924           "properties": {
13925             "config": {
13926               "type": "object",
13927               "patternProperties": {
13928                 ".*": {
13929                   "$ref": "#/definitions/ConfigValue"
13930                 }
13931               }
13932             }
13933           },
13934           "additionalProperties": false,
13935           "required": [
13936             "config"
13937           ]
13938         },
13939         "ModelSet": {
13940           "type": "object",
13941           "properties": {
13942             "config": {
13943               "type": "object",
13944               "patternProperties": {
13945                 ".*": {
13946                   "type": "object",
13947                   "additionalProperties": true
13948                 }
13949               }
13950             }
13951           },
13952           "additionalProperties": false,
13953           "required": [
13954             "config"
13955           ]
13956         },
13957         "ModelUnset": {
13958           "type": "object",
13959           "properties": {
13960             "keys": {
13961               "type": "array",
13962               "items": {
13963                 "type": "string"
13964               }
13965             }
13966           },
13967           "additionalProperties": false,
13968           "required": [
13969             "keys"
13970           ]
13971         }
13972       }
13973     }
13974   },
13975   {
13976     "Name": "ModelManager",
13977     "Version": 2,
13978     "Schema": {
13979       "type": "object",
13980       "properties": {
13981         "CreateModel": {
13982           "type": "object",
13983           "properties": {
13984             "Params": {
13985               "$ref": "#/definitions/ModelCreateArgs"
13986             },
13987             "Result": {
13988               "$ref": "#/definitions/ModelInfo"
13989             }
13990           }
13991         },
13992         "DestroyModels": {
13993           "type": "object",
13994           "properties": {
13995             "Params": {
13996               "$ref": "#/definitions/Entities"
13997             },
13998             "Result": {
13999               "$ref": "#/definitions/ErrorResults"
14000             }
14001           }
14002         },
14003         "DumpModels": {
14004           "type": "object",
14005           "properties": {
14006             "Params": {
14007               "$ref": "#/definitions/Entities"
14008             },
14009             "Result": {
14010               "$ref": "#/definitions/MapResults"
14011             }
14012           }
14013         },
14014         "DumpModelsDB": {
14015           "type": "object",
14016           "properties": {
14017             "Params": {
14018               "$ref": "#/definitions/Entities"
14019             },
14020             "Result": {
14021               "$ref": "#/definitions/MapResults"
14022             }
14023           }
14024         },
14025         "ListModels": {
14026           "type": "object",
14027           "properties": {
14028             "Params": {
14029               "$ref": "#/definitions/Entity"
14030             },
14031             "Result": {
14032               "$ref": "#/definitions/UserModelList"
14033             }
14034           }
14035         },
14036         "ModelDefaults": {
14037           "type": "object",
14038           "properties": {
14039             "Result": {
14040               "$ref": "#/definitions/ModelDefaultsResult"
14041             }
14042           }
14043         },
14044         "ModelInfo": {
14045           "type": "object",
14046           "properties": {
14047             "Params": {
14048               "$ref": "#/definitions/Entities"
14049             },
14050             "Result": {
14051               "$ref": "#/definitions/ModelInfoResults"
14052             }
14053           }
14054         },
14055         "ModelStatus": {
14056           "type": "object",
14057           "properties": {
14058             "Params": {
14059               "$ref": "#/definitions/Entities"
14060             },
14061             "Result": {
14062               "$ref": "#/definitions/ModelStatusResults"
14063             }
14064           }
14065         },
14066         "ModifyModelAccess": {
14067           "type": "object",
14068           "properties": {
14069             "Params": {
14070               "$ref": "#/definitions/ModifyModelAccessRequest"
14071             },
14072             "Result": {
14073               "$ref": "#/definitions/ErrorResults"
14074             }
14075           }
14076         },
14077         "SetModelDefaults": {
14078           "type": "object",
14079           "properties": {
14080             "Params": {
14081               "$ref": "#/definitions/SetModelDefaults"
14082             },
14083             "Result": {
14084               "$ref": "#/definitions/ErrorResults"
14085             }
14086           }
14087         },
14088         "UnsetModelDefaults": {
14089           "type": "object",
14090           "properties": {
14091             "Params": {
14092               "$ref": "#/definitions/UnsetModelDefaults"
14093             },
14094             "Result": {
14095               "$ref": "#/definitions/ErrorResults"
14096             }
14097           }
14098         }
14099       },
14100       "definitions": {
14101         "Entities": {
14102           "type": "object",
14103           "properties": {
14104             "entities": {
14105               "type": "array",
14106               "items": {
14107                 "$ref": "#/definitions/Entity"
14108               }
14109             }
14110           },
14111           "additionalProperties": false,
14112           "required": [
14113             "entities"
14114           ]
14115         },
14116         "Entity": {
14117           "type": "object",
14118           "properties": {
14119             "tag": {
14120               "type": "string"
14121             }
14122           },
14123           "additionalProperties": false,
14124           "required": [
14125             "tag"
14126           ]
14127         },
14128         "EntityStatus": {
14129           "type": "object",
14130           "properties": {
14131             "data": {
14132               "type": "object",
14133               "patternProperties": {
14134                 ".*": {
14135                   "type": "object",
14136                   "additionalProperties": true
14137                 }
14138               }
14139             },
14140             "info": {
14141               "type": "string"
14142             },
14143             "since": {
14144               "type": "string",
14145               "format": "date-time"
14146             },
14147             "status": {
14148               "type": "string"
14149             }
14150           },
14151           "additionalProperties": false,
14152           "required": [
14153             "status",
14154             "info",
14155             "since"
14156           ]
14157         },
14158         "Error": {
14159           "type": "object",
14160           "properties": {
14161             "code": {
14162               "type": "string"
14163             },
14164             "info": {
14165               "$ref": "#/definitions/ErrorInfo"
14166             },
14167             "message": {
14168               "type": "string"
14169             }
14170           },
14171           "additionalProperties": false,
14172           "required": [
14173             "message",
14174             "code"
14175           ]
14176         },
14177         "ErrorInfo": {
14178           "type": "object",
14179           "properties": {
14180             "macaroon": {
14181               "$ref": "#/definitions/Macaroon"
14182             },
14183             "macaroon-path": {
14184               "type": "string"
14185             }
14186           },
14187           "additionalProperties": false
14188         },
14189         "ErrorResult": {
14190           "type": "object",
14191           "properties": {
14192             "error": {
14193               "$ref": "#/definitions/Error"
14194             }
14195           },
14196           "additionalProperties": false
14197         },
14198         "ErrorResults": {
14199           "type": "object",
14200           "properties": {
14201             "results": {
14202               "type": "array",
14203               "items": {
14204                 "$ref": "#/definitions/ErrorResult"
14205               }
14206             }
14207           },
14208           "additionalProperties": false,
14209           "required": [
14210             "results"
14211           ]
14212         },
14213         "Macaroon": {
14214           "type": "object",
14215           "additionalProperties": false
14216         },
14217         "MachineHardware": {
14218           "type": "object",
14219           "properties": {
14220             "arch": {
14221               "type": "string"
14222             },
14223             "availability-zone": {
14224               "type": "string"
14225             },
14226             "cores": {
14227               "type": "integer"
14228             },
14229             "cpu-power": {
14230               "type": "integer"
14231             },
14232             "mem": {
14233               "type": "integer"
14234             },
14235             "root-disk": {
14236               "type": "integer"
14237             },
14238             "tags": {
14239               "type": "array",
14240               "items": {
14241                 "type": "string"
14242               }
14243             }
14244           },
14245           "additionalProperties": false
14246         },
14247         "MapResult": {
14248           "type": "object",
14249           "properties": {
14250             "error": {
14251               "$ref": "#/definitions/Error"
14252             },
14253             "result": {
14254               "type": "object",
14255               "patternProperties": {
14256                 ".*": {
14257                   "type": "object",
14258                   "additionalProperties": true
14259                 }
14260               }
14261             }
14262           },
14263           "additionalProperties": false,
14264           "required": [
14265             "result"
14266           ]
14267         },
14268         "MapResults": {
14269           "type": "object",
14270           "properties": {
14271             "results": {
14272               "type": "array",
14273               "items": {
14274                 "$ref": "#/definitions/MapResult"
14275               }
14276             }
14277           },
14278           "additionalProperties": false,
14279           "required": [
14280             "results"
14281           ]
14282         },
14283         "Model": {
14284           "type": "object",
14285           "properties": {
14286             "name": {
14287               "type": "string"
14288             },
14289             "owner-tag": {
14290               "type": "string"
14291             },
14292             "uuid": {
14293               "type": "string"
14294             }
14295           },
14296           "additionalProperties": false,
14297           "required": [
14298             "name",
14299             "uuid",
14300             "owner-tag"
14301           ]
14302         },
14303         "ModelCreateArgs": {
14304           "type": "object",
14305           "properties": {
14306             "cloud-tag": {
14307               "type": "string"
14308             },
14309             "config": {
14310               "type": "object",
14311               "patternProperties": {
14312                 ".*": {
14313                   "type": "object",
14314                   "additionalProperties": true
14315                 }
14316               }
14317             },
14318             "credential": {
14319               "type": "string"
14320             },
14321             "name": {
14322               "type": "string"
14323             },
14324             "owner-tag": {
14325               "type": "string"
14326             },
14327             "region": {
14328               "type": "string"
14329             }
14330           },
14331           "additionalProperties": false,
14332           "required": [
14333             "name",
14334             "owner-tag"
14335           ]
14336         },
14337         "ModelDefaultValues": {
14338           "type": "object",
14339           "properties": {
14340             "cloud-region": {
14341               "type": "string"
14342             },
14343             "cloud-tag": {
14344               "type": "string"
14345             },
14346             "config": {
14347               "type": "object",
14348               "patternProperties": {
14349                 ".*": {
14350                   "type": "object",
14351                   "additionalProperties": true
14352                 }
14353               }
14354             }
14355           },
14356           "additionalProperties": false,
14357           "required": [
14358             "config"
14359           ]
14360         },
14361         "ModelDefaults": {
14362           "type": "object",
14363           "properties": {
14364             "controller": {
14365               "type": "object",
14366               "additionalProperties": true
14367             },
14368             "default": {
14369               "type": "object",
14370               "additionalProperties": true
14371             },
14372             "regions": {
14373               "type": "array",
14374               "items": {
14375                 "$ref": "#/definitions/RegionDefaults"
14376               }
14377             }
14378           },
14379           "additionalProperties": false
14380         },
14381         "ModelDefaultsResult": {
14382           "type": "object",
14383           "properties": {
14384             "config": {
14385               "type": "object",
14386               "patternProperties": {
14387                 ".*": {
14388                   "$ref": "#/definitions/ModelDefaults"
14389                 }
14390               }
14391             }
14392           },
14393           "additionalProperties": false,
14394           "required": [
14395             "config"
14396           ]
14397         },
14398         "ModelInfo": {
14399           "type": "object",
14400           "properties": {
14401             "cloud-credential-tag": {
14402               "type": "string"
14403             },
14404             "cloud-region": {
14405               "type": "string"
14406             },
14407             "cloud-tag": {
14408               "type": "string"
14409             },
14410             "controller-uuid": {
14411               "type": "string"
14412             },
14413             "default-series": {
14414               "type": "string"
14415             },
14416             "life": {
14417               "type": "string"
14418             },
14419             "machines": {
14420               "type": "array",
14421               "items": {
14422                 "$ref": "#/definitions/ModelMachineInfo"
14423               }
14424             },
14425             "name": {
14426               "type": "string"
14427             },
14428             "owner-tag": {
14429               "type": "string"
14430             },
14431             "provider-type": {
14432               "type": "string"
14433             },
14434             "status": {
14435               "$ref": "#/definitions/EntityStatus"
14436             },
14437             "users": {
14438               "type": "array",
14439               "items": {
14440                 "$ref": "#/definitions/ModelUserInfo"
14441               }
14442             },
14443             "uuid": {
14444               "type": "string"
14445             }
14446           },
14447           "additionalProperties": false,
14448           "required": [
14449             "name",
14450             "uuid",
14451             "controller-uuid",
14452             "provider-type",
14453             "default-series",
14454             "cloud-tag",
14455             "owner-tag",
14456             "life",
14457             "status",
14458             "users",
14459             "machines"
14460           ]
14461         },
14462         "ModelInfoResult": {
14463           "type": "object",
14464           "properties": {
14465             "error": {
14466               "$ref": "#/definitions/Error"
14467             },
14468             "result": {
14469               "$ref": "#/definitions/ModelInfo"
14470             }
14471           },
14472           "additionalProperties": false
14473         },
14474         "ModelInfoResults": {
14475           "type": "object",
14476           "properties": {
14477             "results": {
14478               "type": "array",
14479               "items": {
14480                 "$ref": "#/definitions/ModelInfoResult"
14481               }
14482             }
14483           },
14484           "additionalProperties": false,
14485           "required": [
14486             "results"
14487           ]
14488         },
14489         "ModelMachineInfo": {
14490           "type": "object",
14491           "properties": {
14492             "hardware": {
14493               "$ref": "#/definitions/MachineHardware"
14494             },
14495             "has-vote": {
14496               "type": "boolean"
14497             },
14498             "id": {
14499               "type": "string"
14500             },
14501             "instance-id": {
14502               "type": "string"
14503             },
14504             "status": {
14505               "type": "string"
14506             },
14507             "wants-vote": {
14508               "type": "boolean"
14509             }
14510           },
14511           "additionalProperties": false,
14512           "required": [
14513             "id"
14514           ]
14515         },
14516         "ModelStatus": {
14517           "type": "object",
14518           "properties": {
14519             "application-count": {
14520               "type": "integer"
14521             },
14522             "hosted-machine-count": {
14523               "type": "integer"
14524             },
14525             "life": {
14526               "type": "string"
14527             },
14528             "machines": {
14529               "type": "array",
14530               "items": {
14531                 "$ref": "#/definitions/ModelMachineInfo"
14532               }
14533             },
14534             "model-tag": {
14535               "type": "string"
14536             },
14537             "owner-tag": {
14538               "type": "string"
14539             }
14540           },
14541           "additionalProperties": false,
14542           "required": [
14543             "model-tag",
14544             "life",
14545             "hosted-machine-count",
14546             "application-count",
14547             "owner-tag"
14548           ]
14549         },
14550         "ModelStatusResults": {
14551           "type": "object",
14552           "properties": {
14553             "models": {
14554               "type": "array",
14555               "items": {
14556                 "$ref": "#/definitions/ModelStatus"
14557               }
14558             }
14559           },
14560           "additionalProperties": false,
14561           "required": [
14562             "models"
14563           ]
14564         },
14565         "ModelUnsetKeys": {
14566           "type": "object",
14567           "properties": {
14568             "cloud-region": {
14569               "type": "string"
14570             },
14571             "cloud-tag": {
14572               "type": "string"
14573             },
14574             "keys": {
14575               "type": "array",
14576               "items": {
14577                 "type": "string"
14578               }
14579             }
14580           },
14581           "additionalProperties": false,
14582           "required": [
14583             "keys"
14584           ]
14585         },
14586         "ModelUserInfo": {
14587           "type": "object",
14588           "properties": {
14589             "access": {
14590               "type": "string"
14591             },
14592             "display-name": {
14593               "type": "string"
14594             },
14595             "last-connection": {
14596               "type": "string",
14597               "format": "date-time"
14598             },
14599             "user": {
14600               "type": "string"
14601             }
14602           },
14603           "additionalProperties": false,
14604           "required": [
14605             "user",
14606             "display-name",
14607             "last-connection",
14608             "access"
14609           ]
14610         },
14611         "ModifyModelAccess": {
14612           "type": "object",
14613           "properties": {
14614             "access": {
14615               "type": "string"
14616             },
14617             "action": {
14618               "type": "string"
14619             },
14620             "model-tag": {
14621               "type": "string"
14622             },
14623             "user-tag": {
14624               "type": "string"
14625             }
14626           },
14627           "additionalProperties": false,
14628           "required": [
14629             "user-tag",
14630             "action",
14631             "access",
14632             "model-tag"
14633           ]
14634         },
14635         "ModifyModelAccessRequest": {
14636           "type": "object",
14637           "properties": {
14638             "changes": {
14639               "type": "array",
14640               "items": {
14641                 "$ref": "#/definitions/ModifyModelAccess"
14642               }
14643             }
14644           },
14645           "additionalProperties": false,
14646           "required": [
14647             "changes"
14648           ]
14649         },
14650         "RegionDefaults": {
14651           "type": "object",
14652           "properties": {
14653             "region-name": {
14654               "type": "string"
14655             },
14656             "value": {
14657               "type": "object",
14658               "additionalProperties": true
14659             }
14660           },
14661           "additionalProperties": false,
14662           "required": [
14663             "region-name",
14664             "value"
14665           ]
14666         },
14667         "SetModelDefaults": {
14668           "type": "object",
14669           "properties": {
14670             "config": {
14671               "type": "array",
14672               "items": {
14673                 "$ref": "#/definitions/ModelDefaultValues"
14674               }
14675             }
14676           },
14677           "additionalProperties": false,
14678           "required": [
14679             "config"
14680           ]
14681         },
14682         "UnsetModelDefaults": {
14683           "type": "object",
14684           "properties": {
14685             "keys": {
14686               "type": "array",
14687               "items": {
14688                 "$ref": "#/definitions/ModelUnsetKeys"
14689               }
14690             }
14691           },
14692           "additionalProperties": false,
14693           "required": [
14694             "keys"
14695           ]
14696         },
14697         "UserModel": {
14698           "type": "object",
14699           "properties": {
14700             "last-connection": {
14701               "type": "string",
14702               "format": "date-time"
14703             },
14704             "model": {
14705               "$ref": "#/definitions/Model"
14706             }
14707           },
14708           "additionalProperties": false,
14709           "required": [
14710             "model",
14711             "last-connection"
14712           ]
14713         },
14714         "UserModelList": {
14715           "type": "object",
14716           "properties": {
14717             "user-models": {
14718               "type": "array",
14719               "items": {
14720                 "$ref": "#/definitions/UserModel"
14721               }
14722             }
14723           },
14724           "additionalProperties": false,
14725           "required": [
14726             "user-models"
14727           ]
14728         }
14729       }
14730     }
14731   },
14732   {
14733     "Name": "NotifyWatcher",
14734     "Version": 1,
14735     "Schema": {
14736       "type": "object",
14737       "properties": {
14738         "Next": {
14739           "type": "object"
14740         },
14741         "Stop": {
14742           "type": "object"
14743         }
14744       }
14745     }
14746   },
14747   {
14748     "Name": "Pinger",
14749     "Version": 1,
14750     "Schema": {
14751       "type": "object",
14752       "properties": {
14753         "Ping": {
14754           "type": "object"
14755         },
14756         "Stop": {
14757           "type": "object"
14758         }
14759       }
14760     }
14761   },
14762   {
14763     "Name": "Provisioner",
14764     "Version": 3,
14765     "Schema": {
14766       "type": "object",
14767       "properties": {
14768         "APIAddresses": {
14769           "type": "object",
14770           "properties": {
14771             "Result": {
14772               "$ref": "#/definitions/StringsResult"
14773             }
14774           }
14775         },
14776         "APIHostPorts": {
14777           "type": "object",
14778           "properties": {
14779             "Result": {
14780               "$ref": "#/definitions/APIHostPortsResult"
14781             }
14782           }
14783         },
14784         "CACert": {
14785           "type": "object",
14786           "properties": {
14787             "Result": {
14788               "$ref": "#/definitions/BytesResult"
14789             }
14790           }
14791         },
14792         "Constraints": {
14793           "type": "object",
14794           "properties": {
14795             "Params": {
14796               "$ref": "#/definitions/Entities"
14797             },
14798             "Result": {
14799               "$ref": "#/definitions/ConstraintsResults"
14800             }
14801           }
14802         },
14803         "ContainerConfig": {
14804           "type": "object",
14805           "properties": {
14806             "Result": {
14807               "$ref": "#/definitions/ContainerConfig"
14808             }
14809           }
14810         },
14811         "ContainerManagerConfig": {
14812           "type": "object",
14813           "properties": {
14814             "Params": {
14815               "$ref": "#/definitions/ContainerManagerConfigParams"
14816             },
14817             "Result": {
14818               "$ref": "#/definitions/ContainerManagerConfig"
14819             }
14820           }
14821         },
14822         "ControllerConfig": {
14823           "type": "object",
14824           "properties": {
14825             "Result": {
14826               "$ref": "#/definitions/ControllerConfigResult"
14827             }
14828           }
14829         },
14830         "DistributionGroup": {
14831           "type": "object",
14832           "properties": {
14833             "Params": {
14834               "$ref": "#/definitions/Entities"
14835             },
14836             "Result": {
14837               "$ref": "#/definitions/DistributionGroupResults"
14838             }
14839           }
14840         },
14841         "EnsureDead": {
14842           "type": "object",
14843           "properties": {
14844             "Params": {
14845               "$ref": "#/definitions/Entities"
14846             },
14847             "Result": {
14848               "$ref": "#/definitions/ErrorResults"
14849             }
14850           }
14851         },
14852         "FindTools": {
14853           "type": "object",
14854           "properties": {
14855             "Params": {
14856               "$ref": "#/definitions/FindToolsParams"
14857             },
14858             "Result": {
14859               "$ref": "#/definitions/FindToolsResult"
14860             }
14861           }
14862         },
14863         "GetContainerInterfaceInfo": {
14864           "type": "object",
14865           "properties": {
14866             "Params": {
14867               "$ref": "#/definitions/Entities"
14868             },
14869             "Result": {
14870               "$ref": "#/definitions/MachineNetworkConfigResults"
14871             }
14872           }
14873         },
14874         "InstanceId": {
14875           "type": "object",
14876           "properties": {
14877             "Params": {
14878               "$ref": "#/definitions/Entities"
14879             },
14880             "Result": {
14881               "$ref": "#/definitions/StringResults"
14882             }
14883           }
14884         },
14885         "InstanceStatus": {
14886           "type": "object",
14887           "properties": {
14888             "Params": {
14889               "$ref": "#/definitions/Entities"
14890             },
14891             "Result": {
14892               "$ref": "#/definitions/StatusResults"
14893             }
14894           }
14895         },
14896         "Life": {
14897           "type": "object",
14898           "properties": {
14899             "Params": {
14900               "$ref": "#/definitions/Entities"
14901             },
14902             "Result": {
14903               "$ref": "#/definitions/LifeResults"
14904             }
14905           }
14906         },
14907         "MachinesWithTransientErrors": {
14908           "type": "object",
14909           "properties": {
14910             "Result": {
14911               "$ref": "#/definitions/StatusResults"
14912             }
14913           }
14914         },
14915         "MarkMachinesForRemoval": {
14916           "type": "object",
14917           "properties": {
14918             "Params": {
14919               "$ref": "#/definitions/Entities"
14920             },
14921             "Result": {
14922               "$ref": "#/definitions/ErrorResults"
14923             }
14924           }
14925         },
14926         "ModelConfig": {
14927           "type": "object",
14928           "properties": {
14929             "Result": {
14930               "$ref": "#/definitions/ModelConfigResult"
14931             }
14932           }
14933         },
14934         "ModelUUID": {
14935           "type": "object",
14936           "properties": {
14937             "Result": {
14938               "$ref": "#/definitions/StringResult"
14939             }
14940           }
14941         },
14942         "PrepareContainerInterfaceInfo": {
14943           "type": "object",
14944           "properties": {
14945             "Params": {
14946               "$ref": "#/definitions/Entities"
14947             },
14948             "Result": {
14949               "$ref": "#/definitions/MachineNetworkConfigResults"
14950             }
14951           }
14952         },
14953         "ProvisioningInfo": {
14954           "type": "object",
14955           "properties": {
14956             "Params": {
14957               "$ref": "#/definitions/Entities"
14958             },
14959             "Result": {
14960               "$ref": "#/definitions/ProvisioningInfoResults"
14961             }
14962           }
14963         },
14964         "ReleaseContainerAddresses": {
14965           "type": "object",
14966           "properties": {
14967             "Params": {
14968               "$ref": "#/definitions/Entities"
14969             },
14970             "Result": {
14971               "$ref": "#/definitions/ErrorResults"
14972             }
14973           }
14974         },
14975         "Remove": {
14976           "type": "object",
14977           "properties": {
14978             "Params": {
14979               "$ref": "#/definitions/Entities"
14980             },
14981             "Result": {
14982               "$ref": "#/definitions/ErrorResults"
14983             }
14984           }
14985         },
14986         "Series": {
14987           "type": "object",
14988           "properties": {
14989             "Params": {
14990               "$ref": "#/definitions/Entities"
14991             },
14992             "Result": {
14993               "$ref": "#/definitions/StringResults"
14994             }
14995           }
14996         },
14997         "SetInstanceInfo": {
14998           "type": "object",
14999           "properties": {
15000             "Params": {
15001               "$ref": "#/definitions/InstancesInfo"
15002             },
15003             "Result": {
15004               "$ref": "#/definitions/ErrorResults"
15005             }
15006           }
15007         },
15008         "SetInstanceStatus": {
15009           "type": "object",
15010           "properties": {
15011             "Params": {
15012               "$ref": "#/definitions/SetStatus"
15013             },
15014             "Result": {
15015               "$ref": "#/definitions/ErrorResults"
15016             }
15017           }
15018         },
15019         "SetPasswords": {
15020           "type": "object",
15021           "properties": {
15022             "Params": {
15023               "$ref": "#/definitions/EntityPasswords"
15024             },
15025             "Result": {
15026               "$ref": "#/definitions/ErrorResults"
15027             }
15028           }
15029         },
15030         "SetStatus": {
15031           "type": "object",
15032           "properties": {
15033             "Params": {
15034               "$ref": "#/definitions/SetStatus"
15035             },
15036             "Result": {
15037               "$ref": "#/definitions/ErrorResults"
15038             }
15039           }
15040         },
15041         "SetSupportedContainers": {
15042           "type": "object",
15043           "properties": {
15044             "Params": {
15045               "$ref": "#/definitions/MachineContainersParams"
15046             },
15047             "Result": {
15048               "$ref": "#/definitions/ErrorResults"
15049             }
15050           }
15051         },
15052         "StateAddresses": {
15053           "type": "object",
15054           "properties": {
15055             "Result": {
15056               "$ref": "#/definitions/StringsResult"
15057             }
15058           }
15059         },
15060         "Status": {
15061           "type": "object",
15062           "properties": {
15063             "Params": {
15064               "$ref": "#/definitions/Entities"
15065             },
15066             "Result": {
15067               "$ref": "#/definitions/StatusResults"
15068             }
15069           }
15070         },
15071         "Tools": {
15072           "type": "object",
15073           "properties": {
15074             "Params": {
15075               "$ref": "#/definitions/Entities"
15076             },
15077             "Result": {
15078               "$ref": "#/definitions/ToolsResults"
15079             }
15080           }
15081         },
15082         "UpdateStatus": {
15083           "type": "object",
15084           "properties": {
15085             "Params": {
15086               "$ref": "#/definitions/SetStatus"
15087             },
15088             "Result": {
15089               "$ref": "#/definitions/ErrorResults"
15090             }
15091           }
15092         },
15093         "WatchAPIHostPorts": {
15094           "type": "object",
15095           "properties": {
15096             "Result": {
15097               "$ref": "#/definitions/NotifyWatchResult"
15098             }
15099           }
15100         },
15101         "WatchAllContainers": {
15102           "type": "object",
15103           "properties": {
15104             "Params": {
15105               "$ref": "#/definitions/WatchContainers"
15106             },
15107             "Result": {
15108               "$ref": "#/definitions/StringsWatchResults"
15109             }
15110           }
15111         },
15112         "WatchContainers": {
15113           "type": "object",
15114           "properties": {
15115             "Params": {
15116               "$ref": "#/definitions/WatchContainers"
15117             },
15118             "Result": {
15119               "$ref": "#/definitions/StringsWatchResults"
15120             }
15121           }
15122         },
15123         "WatchForModelConfigChanges": {
15124           "type": "object",
15125           "properties": {
15126             "Result": {
15127               "$ref": "#/definitions/NotifyWatchResult"
15128             }
15129           }
15130         },
15131         "WatchMachineErrorRetry": {
15132           "type": "object",
15133           "properties": {
15134             "Result": {
15135               "$ref": "#/definitions/NotifyWatchResult"
15136             }
15137           }
15138         },
15139         "WatchModelMachines": {
15140           "type": "object",
15141           "properties": {
15142             "Result": {
15143               "$ref": "#/definitions/StringsWatchResult"
15144             }
15145           }
15146         }
15147       },
15148       "definitions": {
15149         "APIHostPortsResult": {
15150           "type": "object",
15151           "properties": {
15152             "servers": {
15153               "type": "array",
15154               "items": {
15155                 "type": "array",
15156                 "items": {
15157                   "$ref": "#/definitions/HostPort"
15158                 }
15159               }
15160             }
15161           },
15162           "additionalProperties": false,
15163           "required": [
15164             "servers"
15165           ]
15166         },
15167         "Address": {
15168           "type": "object",
15169           "properties": {
15170             "scope": {
15171               "type": "string"
15172             },
15173             "space-name": {
15174               "type": "string"
15175             },
15176             "type": {
15177               "type": "string"
15178             },
15179             "value": {
15180               "type": "string"
15181             }
15182           },
15183           "additionalProperties": false,
15184           "required": [
15185             "value",
15186             "type",
15187             "scope"
15188           ]
15189         },
15190         "Binary": {
15191           "type": "object",
15192           "properties": {
15193             "Arch": {
15194               "type": "string"
15195             },
15196             "Number": {
15197               "$ref": "#/definitions/Number"
15198             },
15199             "Series": {
15200               "type": "string"
15201             }
15202           },
15203           "additionalProperties": false,
15204           "required": [
15205             "Number",
15206             "Series",
15207             "Arch"
15208           ]
15209         },
15210         "BytesResult": {
15211           "type": "object",
15212           "properties": {
15213             "result": {
15214               "type": "array",
15215               "items": {
15216                 "type": "integer"
15217               }
15218             }
15219           },
15220           "additionalProperties": false,
15221           "required": [
15222             "result"
15223           ]
15224         },
15225         "CloudImageMetadata": {
15226           "type": "object",
15227           "properties": {
15228             "arch": {
15229               "type": "string"
15230             },
15231             "image-id": {
15232               "type": "string"
15233             },
15234             "priority": {
15235               "type": "integer"
15236             },
15237             "region": {
15238               "type": "string"
15239             },
15240             "root-storage-size": {
15241               "type": "integer"
15242             },
15243             "root-storage-type": {
15244               "type": "string"
15245             },
15246             "series": {
15247               "type": "string"
15248             },
15249             "source": {
15250               "type": "string"
15251             },
15252             "stream": {
15253               "type": "string"
15254             },
15255             "version": {
15256               "type": "string"
15257             },
15258             "virt-type": {
15259               "type": "string"
15260             }
15261           },
15262           "additionalProperties": false,
15263           "required": [
15264             "image-id",
15265             "region",
15266             "version",
15267             "series",
15268             "arch",
15269             "source",
15270             "priority"
15271           ]
15272         },
15273         "ConstraintsResult": {
15274           "type": "object",
15275           "properties": {
15276             "constraints": {
15277               "$ref": "#/definitions/Value"
15278             },
15279             "error": {
15280               "$ref": "#/definitions/Error"
15281             }
15282           },
15283           "additionalProperties": false,
15284           "required": [
15285             "constraints"
15286           ]
15287         },
15288         "ConstraintsResults": {
15289           "type": "object",
15290           "properties": {
15291             "results": {
15292               "type": "array",
15293               "items": {
15294                 "$ref": "#/definitions/ConstraintsResult"
15295               }
15296             }
15297           },
15298           "additionalProperties": false,
15299           "required": [
15300             "results"
15301           ]
15302         },
15303         "ContainerConfig": {
15304           "type": "object",
15305           "properties": {
15306             "UpdateBehavior": {
15307               "$ref": "#/definitions/UpdateBehavior"
15308             },
15309             "apt-mirror": {
15310               "type": "string"
15311             },
15312             "apt-proxy": {
15313               "$ref": "#/definitions/Settings"
15314             },
15315             "authorized-keys": {
15316               "type": "string"
15317             },
15318             "provider-type": {
15319               "type": "string"
15320             },
15321             "proxy": {
15322               "$ref": "#/definitions/Settings"
15323             },
15324             "ssl-hostname-verification": {
15325               "type": "boolean"
15326             }
15327           },
15328           "additionalProperties": false,
15329           "required": [
15330             "provider-type",
15331             "authorized-keys",
15332             "ssl-hostname-verification",
15333             "proxy",
15334             "apt-proxy",
15335             "apt-mirror",
15336             "UpdateBehavior"
15337           ]
15338         },
15339         "ContainerManagerConfig": {
15340           "type": "object",
15341           "properties": {
15342             "config": {
15343               "type": "object",
15344               "patternProperties": {
15345                 ".*": {
15346                   "type": "string"
15347                 }
15348               }
15349             }
15350           },
15351           "additionalProperties": false,
15352           "required": [
15353             "config"
15354           ]
15355         },
15356         "ContainerManagerConfigParams": {
15357           "type": "object",
15358           "properties": {
15359             "type": {
15360               "type": "string"
15361             }
15362           },
15363           "additionalProperties": false,
15364           "required": [
15365             "type"
15366           ]
15367         },
15368         "ControllerConfigResult": {
15369           "type": "object",
15370           "properties": {
15371             "config": {
15372               "type": "object",
15373               "patternProperties": {
15374                 ".*": {
15375                   "type": "object",
15376                   "additionalProperties": true
15377                 }
15378               }
15379             }
15380           },
15381           "additionalProperties": false,
15382           "required": [
15383             "config"
15384           ]
15385         },
15386         "DistributionGroupResult": {
15387           "type": "object",
15388           "properties": {
15389             "error": {
15390               "$ref": "#/definitions/Error"
15391             },
15392             "result": {
15393               "type": "array",
15394               "items": {
15395                 "type": "string"
15396               }
15397             }
15398           },
15399           "additionalProperties": false,
15400           "required": [
15401             "result"
15402           ]
15403         },
15404         "DistributionGroupResults": {
15405           "type": "object",
15406           "properties": {
15407             "results": {
15408               "type": "array",
15409               "items": {
15410                 "$ref": "#/definitions/DistributionGroupResult"
15411               }
15412             }
15413           },
15414           "additionalProperties": false,
15415           "required": [
15416             "results"
15417           ]
15418         },
15419         "Entities": {
15420           "type": "object",
15421           "properties": {
15422             "entities": {
15423               "type": "array",
15424               "items": {
15425                 "$ref": "#/definitions/Entity"
15426               }
15427             }
15428           },
15429           "additionalProperties": false,
15430           "required": [
15431             "entities"
15432           ]
15433         },
15434         "Entity": {
15435           "type": "object",
15436           "properties": {
15437             "tag": {
15438               "type": "string"
15439             }
15440           },
15441           "additionalProperties": false,
15442           "required": [
15443             "tag"
15444           ]
15445         },
15446         "EntityPassword": {
15447           "type": "object",
15448           "properties": {
15449             "password": {
15450               "type": "string"
15451             },
15452             "tag": {
15453               "type": "string"
15454             }
15455           },
15456           "additionalProperties": false,
15457           "required": [
15458             "tag",
15459             "password"
15460           ]
15461         },
15462         "EntityPasswords": {
15463           "type": "object",
15464           "properties": {
15465             "changes": {
15466               "type": "array",
15467               "items": {
15468                 "$ref": "#/definitions/EntityPassword"
15469               }
15470             }
15471           },
15472           "additionalProperties": false,
15473           "required": [
15474             "changes"
15475           ]
15476         },
15477         "EntityStatusArgs": {
15478           "type": "object",
15479           "properties": {
15480             "data": {
15481               "type": "object",
15482               "patternProperties": {
15483                 ".*": {
15484                   "type": "object",
15485                   "additionalProperties": true
15486                 }
15487               }
15488             },
15489             "info": {
15490               "type": "string"
15491             },
15492             "status": {
15493               "type": "string"
15494             },
15495             "tag": {
15496               "type": "string"
15497             }
15498           },
15499           "additionalProperties": false,
15500           "required": [
15501             "tag",
15502             "status",
15503             "info",
15504             "data"
15505           ]
15506         },
15507         "Error": {
15508           "type": "object",
15509           "properties": {
15510             "code": {
15511               "type": "string"
15512             },
15513             "info": {
15514               "$ref": "#/definitions/ErrorInfo"
15515             },
15516             "message": {
15517               "type": "string"
15518             }
15519           },
15520           "additionalProperties": false,
15521           "required": [
15522             "message",
15523             "code"
15524           ]
15525         },
15526         "ErrorInfo": {
15527           "type": "object",
15528           "properties": {
15529             "macaroon": {
15530               "$ref": "#/definitions/Macaroon"
15531             },
15532             "macaroon-path": {
15533               "type": "string"
15534             }
15535           },
15536           "additionalProperties": false
15537         },
15538         "ErrorResult": {
15539           "type": "object",
15540           "properties": {
15541             "error": {
15542               "$ref": "#/definitions/Error"
15543             }
15544           },
15545           "additionalProperties": false
15546         },
15547         "ErrorResults": {
15548           "type": "object",
15549           "properties": {
15550             "results": {
15551               "type": "array",
15552               "items": {
15553                 "$ref": "#/definitions/ErrorResult"
15554               }
15555             }
15556           },
15557           "additionalProperties": false,
15558           "required": [
15559             "results"
15560           ]
15561         },
15562         "FindToolsParams": {
15563           "type": "object",
15564           "properties": {
15565             "arch": {
15566               "type": "string"
15567             },
15568             "major": {
15569               "type": "integer"
15570             },
15571             "minor": {
15572               "type": "integer"
15573             },
15574             "number": {
15575               "$ref": "#/definitions/Number"
15576             },
15577             "series": {
15578               "type": "string"
15579             }
15580           },
15581           "additionalProperties": false,
15582           "required": [
15583             "number",
15584             "major",
15585             "minor",
15586             "arch",
15587             "series"
15588           ]
15589         },
15590         "FindToolsResult": {
15591           "type": "object",
15592           "properties": {
15593             "error": {
15594               "$ref": "#/definitions/Error"
15595             },
15596             "list": {
15597               "type": "array",
15598               "items": {
15599                 "$ref": "#/definitions/Tools"
15600               }
15601             }
15602           },
15603           "additionalProperties": false,
15604           "required": [
15605             "list"
15606           ]
15607         },
15608         "HardwareCharacteristics": {
15609           "type": "object",
15610           "properties": {
15611             "arch": {
15612               "type": "string"
15613             },
15614             "availability-zone": {
15615               "type": "string"
15616             },
15617             "cpu-cores": {
15618               "type": "integer"
15619             },
15620             "cpu-power": {
15621               "type": "integer"
15622             },
15623             "mem": {
15624               "type": "integer"
15625             },
15626             "root-disk": {
15627               "type": "integer"
15628             },
15629             "tags": {
15630               "type": "array",
15631               "items": {
15632                 "type": "string"
15633               }
15634             }
15635           },
15636           "additionalProperties": false
15637         },
15638         "HostPort": {
15639           "type": "object",
15640           "properties": {
15641             "Address": {
15642               "$ref": "#/definitions/Address"
15643             },
15644             "port": {
15645               "type": "integer"
15646             }
15647           },
15648           "additionalProperties": false,
15649           "required": [
15650             "Address",
15651             "port"
15652           ]
15653         },
15654         "InstanceInfo": {
15655           "type": "object",
15656           "properties": {
15657             "characteristics": {
15658               "$ref": "#/definitions/HardwareCharacteristics"
15659             },
15660             "instance-id": {
15661               "type": "string"
15662             },
15663             "network-config": {
15664               "type": "array",
15665               "items": {
15666                 "$ref": "#/definitions/NetworkConfig"
15667               }
15668             },
15669             "nonce": {
15670               "type": "string"
15671             },
15672             "tag": {
15673               "type": "string"
15674             },
15675             "volume-attachments": {
15676               "type": "object",
15677               "patternProperties": {
15678                 ".*": {
15679                   "$ref": "#/definitions/VolumeAttachmentInfo"
15680                 }
15681               }
15682             },
15683             "volumes": {
15684               "type": "array",
15685               "items": {
15686                 "$ref": "#/definitions/Volume"
15687               }
15688             }
15689           },
15690           "additionalProperties": false,
15691           "required": [
15692             "tag",
15693             "instance-id",
15694             "nonce",
15695             "characteristics",
15696             "volumes",
15697             "volume-attachments",
15698             "network-config"
15699           ]
15700         },
15701         "InstancesInfo": {
15702           "type": "object",
15703           "properties": {
15704             "machines": {
15705               "type": "array",
15706               "items": {
15707                 "$ref": "#/definitions/InstanceInfo"
15708               }
15709             }
15710           },
15711           "additionalProperties": false,
15712           "required": [
15713             "machines"
15714           ]
15715         },
15716         "LifeResult": {
15717           "type": "object",
15718           "properties": {
15719             "error": {
15720               "$ref": "#/definitions/Error"
15721             },
15722             "life": {
15723               "type": "string"
15724             }
15725           },
15726           "additionalProperties": false,
15727           "required": [
15728             "life"
15729           ]
15730         },
15731         "LifeResults": {
15732           "type": "object",
15733           "properties": {
15734             "results": {
15735               "type": "array",
15736               "items": {
15737                 "$ref": "#/definitions/LifeResult"
15738               }
15739             }
15740           },
15741           "additionalProperties": false,
15742           "required": [
15743             "results"
15744           ]
15745         },
15746         "Macaroon": {
15747           "type": "object",
15748           "additionalProperties": false
15749         },
15750         "MachineContainers": {
15751           "type": "object",
15752           "properties": {
15753             "container-types": {
15754               "type": "array",
15755               "items": {
15756                 "type": "string"
15757               }
15758             },
15759             "machine-tag": {
15760               "type": "string"
15761             }
15762           },
15763           "additionalProperties": false,
15764           "required": [
15765             "machine-tag",
15766             "container-types"
15767           ]
15768         },
15769         "MachineContainersParams": {
15770           "type": "object",
15771           "properties": {
15772             "params": {
15773               "type": "array",
15774               "items": {
15775                 "$ref": "#/definitions/MachineContainers"
15776               }
15777             }
15778           },
15779           "additionalProperties": false,
15780           "required": [
15781             "params"
15782           ]
15783         },
15784         "MachineNetworkConfigResult": {
15785           "type": "object",
15786           "properties": {
15787             "error": {
15788               "$ref": "#/definitions/Error"
15789             },
15790             "info": {
15791               "type": "array",
15792               "items": {
15793                 "$ref": "#/definitions/NetworkConfig"
15794               }
15795             }
15796           },
15797           "additionalProperties": false,
15798           "required": [
15799             "info"
15800           ]
15801         },
15802         "MachineNetworkConfigResults": {
15803           "type": "object",
15804           "properties": {
15805             "results": {
15806               "type": "array",
15807               "items": {
15808                 "$ref": "#/definitions/MachineNetworkConfigResult"
15809               }
15810             }
15811           },
15812           "additionalProperties": false,
15813           "required": [
15814             "results"
15815           ]
15816         },
15817         "ModelConfigResult": {
15818           "type": "object",
15819           "properties": {
15820             "config": {
15821               "type": "object",
15822               "patternProperties": {
15823                 ".*": {
15824                   "type": "object",
15825                   "additionalProperties": true
15826                 }
15827               }
15828             }
15829           },
15830           "additionalProperties": false,
15831           "required": [
15832             "config"
15833           ]
15834         },
15835         "NetworkConfig": {
15836           "type": "object",
15837           "properties": {
15838             "address": {
15839               "type": "string"
15840             },
15841             "cidr": {
15842               "type": "string"
15843             },
15844             "config-type": {
15845               "type": "string"
15846             },
15847             "device-index": {
15848               "type": "integer"
15849             },
15850             "disabled": {
15851               "type": "boolean"
15852             },
15853             "dns-search-domains": {
15854               "type": "array",
15855               "items": {
15856                 "type": "string"
15857               }
15858             },
15859             "dns-servers": {
15860               "type": "array",
15861               "items": {
15862                 "type": "string"
15863               }
15864             },
15865             "gateway-address": {
15866               "type": "string"
15867             },
15868             "interface-name": {
15869               "type": "string"
15870             },
15871             "interface-type": {
15872               "type": "string"
15873             },
15874             "mac-address": {
15875               "type": "string"
15876             },
15877             "mtu": {
15878               "type": "integer"
15879             },
15880             "no-auto-start": {
15881               "type": "boolean"
15882             },
15883             "parent-interface-name": {
15884               "type": "string"
15885             },
15886             "provider-address-id": {
15887               "type": "string"
15888             },
15889             "provider-id": {
15890               "type": "string"
15891             },
15892             "provider-space-id": {
15893               "type": "string"
15894             },
15895             "provider-subnet-id": {
15896               "type": "string"
15897             },
15898             "provider-vlan-id": {
15899               "type": "string"
15900             },
15901             "vlan-tag": {
15902               "type": "integer"
15903             }
15904           },
15905           "additionalProperties": false,
15906           "required": [
15907             "device-index",
15908             "mac-address",
15909             "cidr",
15910             "mtu",
15911             "provider-id",
15912             "provider-subnet-id",
15913             "provider-space-id",
15914             "provider-address-id",
15915             "provider-vlan-id",
15916             "vlan-tag",
15917             "interface-name",
15918             "parent-interface-name",
15919             "interface-type",
15920             "disabled"
15921           ]
15922         },
15923         "NotifyWatchResult": {
15924           "type": "object",
15925           "properties": {
15926             "NotifyWatcherId": {
15927               "type": "string"
15928             },
15929             "error": {
15930               "$ref": "#/definitions/Error"
15931             }
15932           },
15933           "additionalProperties": false,
15934           "required": [
15935             "NotifyWatcherId"
15936           ]
15937         },
15938         "Number": {
15939           "type": "object",
15940           "properties": {
15941             "Build": {
15942               "type": "integer"
15943             },
15944             "Major": {
15945               "type": "integer"
15946             },
15947             "Minor": {
15948               "type": "integer"
15949             },
15950             "Patch": {
15951               "type": "integer"
15952             },
15953             "Tag": {
15954               "type": "string"
15955             }
15956           },
15957           "additionalProperties": false,
15958           "required": [
15959             "Major",
15960             "Minor",
15961             "Tag",
15962             "Patch",
15963             "Build"
15964           ]
15965         },
15966         "ProvisioningInfo": {
15967           "type": "object",
15968           "properties": {
15969             "constraints": {
15970               "$ref": "#/definitions/Value"
15971             },
15972             "controller-config": {
15973               "type": "object",
15974               "patternProperties": {
15975                 ".*": {
15976                   "type": "object",
15977                   "additionalProperties": true
15978                 }
15979               }
15980             },
15981             "endpoint-bindings": {
15982               "type": "object",
15983               "patternProperties": {
15984                 ".*": {
15985                   "type": "string"
15986                 }
15987               }
15988             },
15989             "image-metadata": {
15990               "type": "array",
15991               "items": {
15992                 "$ref": "#/definitions/CloudImageMetadata"
15993               }
15994             },
15995             "jobs": {
15996               "type": "array",
15997               "items": {
15998                 "type": "string"
15999               }
16000             },
16001             "placement": {
16002               "type": "string"
16003             },
16004             "series": {
16005               "type": "string"
16006             },
16007             "subnets-to-zones": {
16008               "type": "object",
16009               "patternProperties": {
16010                 ".*": {
16011                   "type": "array",
16012                   "items": {
16013                     "type": "string"
16014                   }
16015                 }
16016               }
16017             },
16018             "tags": {
16019               "type": "object",
16020               "patternProperties": {
16021                 ".*": {
16022                   "type": "string"
16023                 }
16024               }
16025             },
16026             "volumes": {
16027               "type": "array",
16028               "items": {
16029                 "$ref": "#/definitions/VolumeParams"
16030               }
16031             }
16032           },
16033           "additionalProperties": false,
16034           "required": [
16035             "constraints",
16036             "series",
16037             "placement",
16038             "jobs"
16039           ]
16040         },
16041         "ProvisioningInfoResult": {
16042           "type": "object",
16043           "properties": {
16044             "error": {
16045               "$ref": "#/definitions/Error"
16046             },
16047             "result": {
16048               "$ref": "#/definitions/ProvisioningInfo"
16049             }
16050           },
16051           "additionalProperties": false,
16052           "required": [
16053             "result"
16054           ]
16055         },
16056         "ProvisioningInfoResults": {
16057           "type": "object",
16058           "properties": {
16059             "results": {
16060               "type": "array",
16061               "items": {
16062                 "$ref": "#/definitions/ProvisioningInfoResult"
16063               }
16064             }
16065           },
16066           "additionalProperties": false,
16067           "required": [
16068             "results"
16069           ]
16070         },
16071         "SetStatus": {
16072           "type": "object",
16073           "properties": {
16074             "entities": {
16075               "type": "array",
16076               "items": {
16077                 "$ref": "#/definitions/EntityStatusArgs"
16078               }
16079             }
16080           },
16081           "additionalProperties": false,
16082           "required": [
16083             "entities"
16084           ]
16085         },
16086         "Settings": {
16087           "type": "object",
16088           "properties": {
16089             "Ftp": {
16090               "type": "string"
16091             },
16092             "Http": {
16093               "type": "string"
16094             },
16095             "Https": {
16096               "type": "string"
16097             },
16098             "NoProxy": {
16099               "type": "string"
16100             }
16101           },
16102           "additionalProperties": false,
16103           "required": [
16104             "Http",
16105             "Https",
16106             "Ftp",
16107             "NoProxy"
16108           ]
16109         },
16110         "StatusResult": {
16111           "type": "object",
16112           "properties": {
16113             "data": {
16114               "type": "object",
16115               "patternProperties": {
16116                 ".*": {
16117                   "type": "object",
16118                   "additionalProperties": true
16119                 }
16120               }
16121             },
16122             "error": {
16123               "$ref": "#/definitions/Error"
16124             },
16125             "id": {
16126               "type": "string"
16127             },
16128             "info": {
16129               "type": "string"
16130             },
16131             "life": {
16132               "type": "string"
16133             },
16134             "since": {
16135               "type": "string",
16136               "format": "date-time"
16137             },
16138             "status": {
16139               "type": "string"
16140             }
16141           },
16142           "additionalProperties": false,
16143           "required": [
16144             "id",
16145             "life",
16146             "status",
16147             "info",
16148             "data",
16149             "since"
16150           ]
16151         },
16152         "StatusResults": {
16153           "type": "object",
16154           "properties": {
16155             "results": {
16156               "type": "array",
16157               "items": {
16158                 "$ref": "#/definitions/StatusResult"
16159               }
16160             }
16161           },
16162           "additionalProperties": false,
16163           "required": [
16164             "results"
16165           ]
16166         },
16167         "StringResult": {
16168           "type": "object",
16169           "properties": {
16170             "error": {
16171               "$ref": "#/definitions/Error"
16172             },
16173             "result": {
16174               "type": "string"
16175             }
16176           },
16177           "additionalProperties": false,
16178           "required": [
16179             "result"
16180           ]
16181         },
16182         "StringResults": {
16183           "type": "object",
16184           "properties": {
16185             "results": {
16186               "type": "array",
16187               "items": {
16188                 "$ref": "#/definitions/StringResult"
16189               }
16190             }
16191           },
16192           "additionalProperties": false,
16193           "required": [
16194             "results"
16195           ]
16196         },
16197         "StringsResult": {
16198           "type": "object",
16199           "properties": {
16200             "error": {
16201               "$ref": "#/definitions/Error"
16202             },
16203             "result": {
16204               "type": "array",
16205               "items": {
16206                 "type": "string"
16207               }
16208             }
16209           },
16210           "additionalProperties": false
16211         },
16212         "StringsWatchResult": {
16213           "type": "object",
16214           "properties": {
16215             "changes": {
16216               "type": "array",
16217               "items": {
16218                 "type": "string"
16219               }
16220             },
16221             "error": {
16222               "$ref": "#/definitions/Error"
16223             },
16224             "watcher-id": {
16225               "type": "string"
16226             }
16227           },
16228           "additionalProperties": false,
16229           "required": [
16230             "watcher-id"
16231           ]
16232         },
16233         "StringsWatchResults": {
16234           "type": "object",
16235           "properties": {
16236             "results": {
16237               "type": "array",
16238               "items": {
16239                 "$ref": "#/definitions/StringsWatchResult"
16240               }
16241             }
16242           },
16243           "additionalProperties": false,
16244           "required": [
16245             "results"
16246           ]
16247         },
16248         "Tools": {
16249           "type": "object",
16250           "properties": {
16251             "sha256": {
16252               "type": "string"
16253             },
16254             "size": {
16255               "type": "integer"
16256             },
16257             "url": {
16258               "type": "string"
16259             },
16260             "version": {
16261               "$ref": "#/definitions/Binary"
16262             }
16263           },
16264           "additionalProperties": false,
16265           "required": [
16266             "version",
16267             "url",
16268             "size"
16269           ]
16270         },
16271         "ToolsResult": {
16272           "type": "object",
16273           "properties": {
16274             "disable-ssl-hostname-verification": {
16275               "type": "boolean"
16276             },
16277             "error": {
16278               "$ref": "#/definitions/Error"
16279             },
16280             "tools": {
16281               "type": "array",
16282               "items": {
16283                 "$ref": "#/definitions/Tools"
16284               }
16285             }
16286           },
16287           "additionalProperties": false,
16288           "required": [
16289             "tools",
16290             "disable-ssl-hostname-verification"
16291           ]
16292         },
16293         "ToolsResults": {
16294           "type": "object",
16295           "properties": {
16296             "results": {
16297               "type": "array",
16298               "items": {
16299                 "$ref": "#/definitions/ToolsResult"
16300               }
16301             }
16302           },
16303           "additionalProperties": false,
16304           "required": [
16305             "results"
16306           ]
16307         },
16308         "UpdateBehavior": {
16309           "type": "object",
16310           "properties": {
16311             "enable-os-refresh-update": {
16312               "type": "boolean"
16313             },
16314             "enable-os-upgrade": {
16315               "type": "boolean"
16316             }
16317           },
16318           "additionalProperties": false,
16319           "required": [
16320             "enable-os-refresh-update",
16321             "enable-os-upgrade"
16322           ]
16323         },
16324         "Value": {
16325           "type": "object",
16326           "properties": {
16327             "arch": {
16328               "type": "string"
16329             },
16330             "container": {
16331               "type": "string"
16332             },
16333             "cores": {
16334               "type": "integer"
16335             },
16336             "cpu-power": {
16337               "type": "integer"
16338             },
16339             "instance-type": {
16340               "type": "string"
16341             },
16342             "mem": {
16343               "type": "integer"
16344             },
16345             "root-disk": {
16346               "type": "integer"
16347             },
16348             "spaces": {
16349               "type": "array",
16350               "items": {
16351                 "type": "string"
16352               }
16353             },
16354             "tags": {
16355               "type": "array",
16356               "items": {
16357                 "type": "string"
16358               }
16359             },
16360             "virt-type": {
16361               "type": "string"
16362             }
16363           },
16364           "additionalProperties": false
16365         },
16366         "Volume": {
16367           "type": "object",
16368           "properties": {
16369             "info": {
16370               "$ref": "#/definitions/VolumeInfo"
16371             },
16372             "volume-tag": {
16373               "type": "string"
16374             }
16375           },
16376           "additionalProperties": false,
16377           "required": [
16378             "volume-tag",
16379             "info"
16380           ]
16381         },
16382         "VolumeAttachmentInfo": {
16383           "type": "object",
16384           "properties": {
16385             "bus-address": {
16386               "type": "string"
16387             },
16388             "device-link": {
16389               "type": "string"
16390             },
16391             "device-name": {
16392               "type": "string"
16393             },
16394             "read-only": {
16395               "type": "boolean"
16396             }
16397           },
16398           "additionalProperties": false
16399         },
16400         "VolumeAttachmentParams": {
16401           "type": "object",
16402           "properties": {
16403             "instance-id": {
16404               "type": "string"
16405             },
16406             "machine-tag": {
16407               "type": "string"
16408             },
16409             "provider": {
16410               "type": "string"
16411             },
16412             "read-only": {
16413               "type": "boolean"
16414             },
16415             "volume-id": {
16416               "type": "string"
16417             },
16418             "volume-tag": {
16419               "type": "string"
16420             }
16421           },
16422           "additionalProperties": false,
16423           "required": [
16424             "volume-tag",
16425             "machine-tag",
16426             "provider"
16427           ]
16428         },
16429         "VolumeInfo": {
16430           "type": "object",
16431           "properties": {
16432             "hardware-id": {
16433               "type": "string"
16434             },
16435             "persistent": {
16436               "type": "boolean"
16437             },
16438             "size": {
16439               "type": "integer"
16440             },
16441             "volume-id": {
16442               "type": "string"
16443             }
16444           },
16445           "additionalProperties": false,
16446           "required": [
16447             "volume-id",
16448             "size",
16449             "persistent"
16450           ]
16451         },
16452         "VolumeParams": {
16453           "type": "object",
16454           "properties": {
16455             "attachment": {
16456               "$ref": "#/definitions/VolumeAttachmentParams"
16457             },
16458             "attributes": {
16459               "type": "object",
16460               "patternProperties": {
16461                 ".*": {
16462                   "type": "object",
16463                   "additionalProperties": true
16464                 }
16465               }
16466             },
16467             "provider": {
16468               "type": "string"
16469             },
16470             "size": {
16471               "type": "integer"
16472             },
16473             "tags": {
16474               "type": "object",
16475               "patternProperties": {
16476                 ".*": {
16477                   "type": "string"
16478                 }
16479               }
16480             },
16481             "volume-tag": {
16482               "type": "string"
16483             }
16484           },
16485           "additionalProperties": false,
16486           "required": [
16487             "volume-tag",
16488             "size",
16489             "provider"
16490           ]
16491         },
16492         "WatchContainer": {
16493           "type": "object",
16494           "properties": {
16495             "container-type": {
16496               "type": "string"
16497             },
16498             "machine-tag": {
16499               "type": "string"
16500             }
16501           },
16502           "additionalProperties": false,
16503           "required": [
16504             "machine-tag",
16505             "container-type"
16506           ]
16507         },
16508         "WatchContainers": {
16509           "type": "object",
16510           "properties": {
16511             "params": {
16512               "type": "array",
16513               "items": {
16514                 "$ref": "#/definitions/WatchContainer"
16515               }
16516             }
16517           },
16518           "additionalProperties": false,
16519           "required": [
16520             "params"
16521           ]
16522         }
16523       }
16524     }
16525   },
16526   {
16527     "Name": "ProxyUpdater",
16528     "Version": 1,
16529     "Schema": {
16530       "type": "object",
16531       "properties": {
16532         "ProxyConfig": {
16533           "type": "object",
16534           "properties": {
16535             "Params": {
16536               "$ref": "#/definitions/Entities"
16537             },
16538             "Result": {
16539               "$ref": "#/definitions/ProxyConfigResults"
16540             }
16541           }
16542         },
16543         "WatchForProxyConfigAndAPIHostPortChanges": {
16544           "type": "object",
16545           "properties": {
16546             "Params": {
16547               "$ref": "#/definitions/Entities"
16548             },
16549             "Result": {
16550               "$ref": "#/definitions/NotifyWatchResults"
16551             }
16552           }
16553         }
16554       },
16555       "definitions": {
16556         "Entities": {
16557           "type": "object",
16558           "properties": {
16559             "entities": {
16560               "type": "array",
16561               "items": {
16562                 "$ref": "#/definitions/Entity"
16563               }
16564             }
16565           },
16566           "additionalProperties": false,
16567           "required": [
16568             "entities"
16569           ]
16570         },
16571         "Entity": {
16572           "type": "object",
16573           "properties": {
16574             "tag": {
16575               "type": "string"
16576             }
16577           },
16578           "additionalProperties": false,
16579           "required": [
16580             "tag"
16581           ]
16582         },
16583         "Error": {
16584           "type": "object",
16585           "properties": {
16586             "code": {
16587               "type": "string"
16588             },
16589             "info": {
16590               "$ref": "#/definitions/ErrorInfo"
16591             },
16592             "message": {
16593               "type": "string"
16594             }
16595           },
16596           "additionalProperties": false,
16597           "required": [
16598             "message",
16599             "code"
16600           ]
16601         },
16602         "ErrorInfo": {
16603           "type": "object",
16604           "properties": {
16605             "macaroon": {
16606               "$ref": "#/definitions/Macaroon"
16607             },
16608             "macaroon-path": {
16609               "type": "string"
16610             }
16611           },
16612           "additionalProperties": false
16613         },
16614         "Macaroon": {
16615           "type": "object",
16616           "additionalProperties": false
16617         },
16618         "NotifyWatchResult": {
16619           "type": "object",
16620           "properties": {
16621             "NotifyWatcherId": {
16622               "type": "string"
16623             },
16624             "error": {
16625               "$ref": "#/definitions/Error"
16626             }
16627           },
16628           "additionalProperties": false,
16629           "required": [
16630             "NotifyWatcherId"
16631           ]
16632         },
16633         "NotifyWatchResults": {
16634           "type": "object",
16635           "properties": {
16636             "results": {
16637               "type": "array",
16638               "items": {
16639                 "$ref": "#/definitions/NotifyWatchResult"
16640               }
16641             }
16642           },
16643           "additionalProperties": false,
16644           "required": [
16645             "results"
16646           ]
16647         },
16648         "ProxyConfig": {
16649           "type": "object",
16650           "properties": {
16651             "ftp": {
16652               "type": "string"
16653             },
16654             "http": {
16655               "type": "string"
16656             },
16657             "https": {
16658               "type": "string"
16659             },
16660             "no-proxy": {
16661               "type": "string"
16662             }
16663           },
16664           "additionalProperties": false,
16665           "required": [
16666             "http",
16667             "https",
16668             "ftp",
16669             "no-proxy"
16670           ]
16671         },
16672         "ProxyConfigResult": {
16673           "type": "object",
16674           "properties": {
16675             "apt-proxy-settings": {
16676               "$ref": "#/definitions/ProxyConfig"
16677             },
16678             "error": {
16679               "$ref": "#/definitions/Error"
16680             },
16681             "proxy-settings": {
16682               "$ref": "#/definitions/ProxyConfig"
16683             }
16684           },
16685           "additionalProperties": false,
16686           "required": [
16687             "proxy-settings",
16688             "apt-proxy-settings"
16689           ]
16690         },
16691         "ProxyConfigResults": {
16692           "type": "object",
16693           "properties": {
16694             "results": {
16695               "type": "array",
16696               "items": {
16697                 "$ref": "#/definitions/ProxyConfigResult"
16698               }
16699             }
16700           },
16701           "additionalProperties": false,
16702           "required": [
16703             "results"
16704           ]
16705         }
16706       }
16707     }
16708   },
16709   {
16710     "Name": "Reboot",
16711     "Version": 2,
16712     "Schema": {
16713       "type": "object",
16714       "properties": {
16715         "ClearReboot": {
16716           "type": "object",
16717           "properties": {
16718             "Params": {
16719               "$ref": "#/definitions/Entities"
16720             },
16721             "Result": {
16722               "$ref": "#/definitions/ErrorResults"
16723             }
16724           }
16725         },
16726         "GetRebootAction": {
16727           "type": "object",
16728           "properties": {
16729             "Params": {
16730               "$ref": "#/definitions/Entities"
16731             },
16732             "Result": {
16733               "$ref": "#/definitions/RebootActionResults"
16734             }
16735           }
16736         },
16737         "RequestReboot": {
16738           "type": "object",
16739           "properties": {
16740             "Params": {
16741               "$ref": "#/definitions/Entities"
16742             },
16743             "Result": {
16744               "$ref": "#/definitions/ErrorResults"
16745             }
16746           }
16747         },
16748         "WatchForRebootEvent": {
16749           "type": "object",
16750           "properties": {
16751             "Result": {
16752               "$ref": "#/definitions/NotifyWatchResult"
16753             }
16754           }
16755         }
16756       },
16757       "definitions": {
16758         "Entities": {
16759           "type": "object",
16760           "properties": {
16761             "entities": {
16762               "type": "array",
16763               "items": {
16764                 "$ref": "#/definitions/Entity"
16765               }
16766             }
16767           },
16768           "additionalProperties": false,
16769           "required": [
16770             "entities"
16771           ]
16772         },
16773         "Entity": {
16774           "type": "object",
16775           "properties": {
16776             "tag": {
16777               "type": "string"
16778             }
16779           },
16780           "additionalProperties": false,
16781           "required": [
16782             "tag"
16783           ]
16784         },
16785         "Error": {
16786           "type": "object",
16787           "properties": {
16788             "code": {
16789               "type": "string"
16790             },
16791             "info": {
16792               "$ref": "#/definitions/ErrorInfo"
16793             },
16794             "message": {
16795               "type": "string"
16796             }
16797           },
16798           "additionalProperties": false,
16799           "required": [
16800             "message",
16801             "code"
16802           ]
16803         },
16804         "ErrorInfo": {
16805           "type": "object",
16806           "properties": {
16807             "macaroon": {
16808               "$ref": "#/definitions/Macaroon"
16809             },
16810             "macaroon-path": {
16811               "type": "string"
16812             }
16813           },
16814           "additionalProperties": false
16815         },
16816         "ErrorResult": {
16817           "type": "object",
16818           "properties": {
16819             "error": {
16820               "$ref": "#/definitions/Error"
16821             }
16822           },
16823           "additionalProperties": false
16824         },
16825         "ErrorResults": {
16826           "type": "object",
16827           "properties": {
16828             "results": {
16829               "type": "array",
16830               "items": {
16831                 "$ref": "#/definitions/ErrorResult"
16832               }
16833             }
16834           },
16835           "additionalProperties": false,
16836           "required": [
16837             "results"
16838           ]
16839         },
16840         "Macaroon": {
16841           "type": "object",
16842           "additionalProperties": false
16843         },
16844         "NotifyWatchResult": {
16845           "type": "object",
16846           "properties": {
16847             "NotifyWatcherId": {
16848               "type": "string"
16849             },
16850             "error": {
16851               "$ref": "#/definitions/Error"
16852             }
16853           },
16854           "additionalProperties": false,
16855           "required": [
16856             "NotifyWatcherId"
16857           ]
16858         },
16859         "RebootActionResult": {
16860           "type": "object",
16861           "properties": {
16862             "error": {
16863               "$ref": "#/definitions/Error"
16864             },
16865             "result": {
16866               "type": "string"
16867             }
16868           },
16869           "additionalProperties": false
16870         },
16871         "RebootActionResults": {
16872           "type": "object",
16873           "properties": {
16874             "results": {
16875               "type": "array",
16876               "items": {
16877                 "$ref": "#/definitions/RebootActionResult"
16878               }
16879             }
16880           },
16881           "additionalProperties": false
16882         }
16883       }
16884     }
16885   },
16886   {
16887     "Name": "RelationUnitsWatcher",
16888     "Version": 1,
16889     "Schema": {
16890       "type": "object",
16891       "properties": {
16892         "Next": {
16893           "type": "object",
16894           "properties": {
16895             "Result": {
16896               "$ref": "#/definitions/RelationUnitsWatchResult"
16897             }
16898           }
16899         },
16900         "Stop": {
16901           "type": "object"
16902         }
16903       },
16904       "definitions": {
16905         "Error": {
16906           "type": "object",
16907           "properties": {
16908             "code": {
16909               "type": "string"
16910             },
16911             "info": {
16912               "$ref": "#/definitions/ErrorInfo"
16913             },
16914             "message": {
16915               "type": "string"
16916             }
16917           },
16918           "additionalProperties": false,
16919           "required": [
16920             "message",
16921             "code"
16922           ]
16923         },
16924         "ErrorInfo": {
16925           "type": "object",
16926           "properties": {
16927             "macaroon": {
16928               "$ref": "#/definitions/Macaroon"
16929             },
16930             "macaroon-path": {
16931               "type": "string"
16932             }
16933           },
16934           "additionalProperties": false
16935         },
16936         "Macaroon": {
16937           "type": "object",
16938           "additionalProperties": false
16939         },
16940         "RelationUnitsChange": {
16941           "type": "object",
16942           "properties": {
16943             "changed": {
16944               "type": "object",
16945               "patternProperties": {
16946                 ".*": {
16947                   "$ref": "#/definitions/UnitSettings"
16948                 }
16949               }
16950             },
16951             "departed": {
16952               "type": "array",
16953               "items": {
16954                 "type": "string"
16955               }
16956             }
16957           },
16958           "additionalProperties": false,
16959           "required": [
16960             "changed"
16961           ]
16962         },
16963         "RelationUnitsWatchResult": {
16964           "type": "object",
16965           "properties": {
16966             "changes": {
16967               "$ref": "#/definitions/RelationUnitsChange"
16968             },
16969             "error": {
16970               "$ref": "#/definitions/Error"
16971             },
16972             "watcher-id": {
16973               "type": "string"
16974             }
16975           },
16976           "additionalProperties": false,
16977           "required": [
16978             "watcher-id",
16979             "changes"
16980           ]
16981         },
16982         "UnitSettings": {
16983           "type": "object",
16984           "properties": {
16985             "version": {
16986               "type": "integer"
16987             }
16988           },
16989           "additionalProperties": false,
16990           "required": [
16991             "version"
16992           ]
16993         }
16994       }
16995     }
16996   },
16997   {
16998     "Name": "Resumer",
16999     "Version": 2,
17000     "Schema": {
17001       "type": "object",
17002       "properties": {
17003         "ResumeTransactions": {
17004           "type": "object"
17005         }
17006       }
17007     }
17008   },
17009   {
17010     "Name": "RetryStrategy",
17011     "Version": 1,
17012     "Schema": {
17013       "type": "object",
17014       "properties": {
17015         "RetryStrategy": {
17016           "type": "object",
17017           "properties": {
17018             "Params": {
17019               "$ref": "#/definitions/Entities"
17020             },
17021             "Result": {
17022               "$ref": "#/definitions/RetryStrategyResults"
17023             }
17024           }
17025         },
17026         "WatchRetryStrategy": {
17027           "type": "object",
17028           "properties": {
17029             "Params": {
17030               "$ref": "#/definitions/Entities"
17031             },
17032             "Result": {
17033               "$ref": "#/definitions/NotifyWatchResults"
17034             }
17035           }
17036         }
17037       },
17038       "definitions": {
17039         "Entities": {
17040           "type": "object",
17041           "properties": {
17042             "entities": {
17043               "type": "array",
17044               "items": {
17045                 "$ref": "#/definitions/Entity"
17046               }
17047             }
17048           },
17049           "additionalProperties": false,
17050           "required": [
17051             "entities"
17052           ]
17053         },
17054         "Entity": {
17055           "type": "object",
17056           "properties": {
17057             "tag": {
17058               "type": "string"
17059             }
17060           },
17061           "additionalProperties": false,
17062           "required": [
17063             "tag"
17064           ]
17065         },
17066         "Error": {
17067           "type": "object",
17068           "properties": {
17069             "code": {
17070               "type": "string"
17071             },
17072             "info": {
17073               "$ref": "#/definitions/ErrorInfo"
17074             },
17075             "message": {
17076               "type": "string"
17077             }
17078           },
17079           "additionalProperties": false,
17080           "required": [
17081             "message",
17082             "code"
17083           ]
17084         },
17085         "ErrorInfo": {
17086           "type": "object",
17087           "properties": {
17088             "macaroon": {
17089               "$ref": "#/definitions/Macaroon"
17090             },
17091             "macaroon-path": {
17092               "type": "string"
17093             }
17094           },
17095           "additionalProperties": false
17096         },
17097         "Macaroon": {
17098           "type": "object",
17099           "additionalProperties": false
17100         },
17101         "NotifyWatchResult": {
17102           "type": "object",
17103           "properties": {
17104             "NotifyWatcherId": {
17105               "type": "string"
17106             },
17107             "error": {
17108               "$ref": "#/definitions/Error"
17109             }
17110           },
17111           "additionalProperties": false,
17112           "required": [
17113             "NotifyWatcherId"
17114           ]
17115         },
17116         "NotifyWatchResults": {
17117           "type": "object",
17118           "properties": {
17119             "results": {
17120               "type": "array",
17121               "items": {
17122                 "$ref": "#/definitions/NotifyWatchResult"
17123               }
17124             }
17125           },
17126           "additionalProperties": false,
17127           "required": [
17128             "results"
17129           ]
17130         },
17131         "RetryStrategy": {
17132           "type": "object",
17133           "properties": {
17134             "jitter-retry-time": {
17135               "type": "boolean"
17136             },
17137             "max-retry-time": {
17138               "type": "integer"
17139             },
17140             "min-retry-time": {
17141               "type": "integer"
17142             },
17143             "retry-time-factor": {
17144               "type": "integer"
17145             },
17146             "should-retry": {
17147               "type": "boolean"
17148             }
17149           },
17150           "additionalProperties": false,
17151           "required": [
17152             "should-retry",
17153             "min-retry-time",
17154             "max-retry-time",
17155             "jitter-retry-time",
17156             "retry-time-factor"
17157           ]
17158         },
17159         "RetryStrategyResult": {
17160           "type": "object",
17161           "properties": {
17162             "error": {
17163               "$ref": "#/definitions/Error"
17164             },
17165             "result": {
17166               "$ref": "#/definitions/RetryStrategy"
17167             }
17168           },
17169           "additionalProperties": false
17170         },
17171         "RetryStrategyResults": {
17172           "type": "object",
17173           "properties": {
17174             "results": {
17175               "type": "array",
17176               "items": {
17177                 "$ref": "#/definitions/RetryStrategyResult"
17178               }
17179             }
17180           },
17181           "additionalProperties": false,
17182           "required": [
17183             "results"
17184           ]
17185         }
17186       }
17187     }
17188   },
17189   {
17190     "Name": "SSHClient",
17191     "Version": 2,
17192     "Schema": {
17193       "type": "object",
17194       "properties": {
17195         "AllAddresses": {
17196           "type": "object",
17197           "properties": {
17198             "Params": {
17199               "$ref": "#/definitions/Entities"
17200             },
17201             "Result": {
17202               "$ref": "#/definitions/SSHAddressesResults"
17203             }
17204           }
17205         },
17206         "PrivateAddress": {
17207           "type": "object",
17208           "properties": {
17209             "Params": {
17210               "$ref": "#/definitions/Entities"
17211             },
17212             "Result": {
17213               "$ref": "#/definitions/SSHAddressResults"
17214             }
17215           }
17216         },
17217         "Proxy": {
17218           "type": "object",
17219           "properties": {
17220             "Result": {
17221               "$ref": "#/definitions/SSHProxyResult"
17222             }
17223           }
17224         },
17225         "PublicAddress": {
17226           "type": "object",
17227           "properties": {
17228             "Params": {
17229               "$ref": "#/definitions/Entities"
17230             },
17231             "Result": {
17232               "$ref": "#/definitions/SSHAddressResults"
17233             }
17234           }
17235         },
17236         "PublicKeys": {
17237           "type": "object",
17238           "properties": {
17239             "Params": {
17240               "$ref": "#/definitions/Entities"
17241             },
17242             "Result": {
17243               "$ref": "#/definitions/SSHPublicKeysResults"
17244             }
17245           }
17246         }
17247       },
17248       "definitions": {
17249         "Entities": {
17250           "type": "object",
17251           "properties": {
17252             "entities": {
17253               "type": "array",
17254               "items": {
17255                 "$ref": "#/definitions/Entity"
17256               }
17257             }
17258           },
17259           "additionalProperties": false,
17260           "required": [
17261             "entities"
17262           ]
17263         },
17264         "Entity": {
17265           "type": "object",
17266           "properties": {
17267             "tag": {
17268               "type": "string"
17269             }
17270           },
17271           "additionalProperties": false,
17272           "required": [
17273             "tag"
17274           ]
17275         },
17276         "Error": {
17277           "type": "object",
17278           "properties": {
17279             "code": {
17280               "type": "string"
17281             },
17282             "info": {
17283               "$ref": "#/definitions/ErrorInfo"
17284             },
17285             "message": {
17286               "type": "string"
17287             }
17288           },
17289           "additionalProperties": false,
17290           "required": [
17291             "message",
17292             "code"
17293           ]
17294         },
17295         "ErrorInfo": {
17296           "type": "object",
17297           "properties": {
17298             "macaroon": {
17299               "$ref": "#/definitions/Macaroon"
17300             },
17301             "macaroon-path": {
17302               "type": "string"
17303             }
17304           },
17305           "additionalProperties": false
17306         },
17307         "Macaroon": {
17308           "type": "object",
17309           "additionalProperties": false
17310         },
17311         "SSHAddressResult": {
17312           "type": "object",
17313           "properties": {
17314             "address": {
17315               "type": "string"
17316             },
17317             "error": {
17318               "$ref": "#/definitions/Error"
17319             }
17320           },
17321           "additionalProperties": false
17322         },
17323         "SSHAddressResults": {
17324           "type": "object",
17325           "properties": {
17326             "results": {
17327               "type": "array",
17328               "items": {
17329                 "$ref": "#/definitions/SSHAddressResult"
17330               }
17331             }
17332           },
17333           "additionalProperties": false,
17334           "required": [
17335             "results"
17336           ]
17337         },
17338         "SSHAddressesResult": {
17339           "type": "object",
17340           "properties": {
17341             "addresses": {
17342               "type": "array",
17343               "items": {
17344                 "type": "string"
17345               }
17346             },
17347             "error": {
17348               "$ref": "#/definitions/Error"
17349             }
17350           },
17351           "additionalProperties": false,
17352           "required": [
17353             "addresses"
17354           ]
17355         },
17356         "SSHAddressesResults": {
17357           "type": "object",
17358           "properties": {
17359             "results": {
17360               "type": "array",
17361               "items": {
17362                 "$ref": "#/definitions/SSHAddressesResult"
17363               }
17364             }
17365           },
17366           "additionalProperties": false,
17367           "required": [
17368             "results"
17369           ]
17370         },
17371         "SSHProxyResult": {
17372           "type": "object",
17373           "properties": {
17374             "use-proxy": {
17375               "type": "boolean"
17376             }
17377           },
17378           "additionalProperties": false,
17379           "required": [
17380             "use-proxy"
17381           ]
17382         },
17383         "SSHPublicKeysResult": {
17384           "type": "object",
17385           "properties": {
17386             "error": {
17387               "$ref": "#/definitions/Error"
17388             },
17389             "public-keys": {
17390               "type": "array",
17391               "items": {
17392                 "type": "string"
17393               }
17394             }
17395           },
17396           "additionalProperties": false
17397         },
17398         "SSHPublicKeysResults": {
17399           "type": "object",
17400           "properties": {
17401             "results": {
17402               "type": "array",
17403               "items": {
17404                 "$ref": "#/definitions/SSHPublicKeysResult"
17405               }
17406             }
17407           },
17408           "additionalProperties": false,
17409           "required": [
17410             "results"
17411           ]
17412         }
17413       }
17414     }
17415   },
17416   {
17417     "Name": "Singular",
17418     "Version": 1,
17419     "Schema": {
17420       "type": "object",
17421       "properties": {
17422         "Claim": {
17423           "type": "object",
17424           "properties": {
17425             "Params": {
17426               "$ref": "#/definitions/SingularClaims"
17427             },
17428             "Result": {
17429               "$ref": "#/definitions/ErrorResults"
17430             }
17431           }
17432         },
17433         "Wait": {
17434           "type": "object",
17435           "properties": {
17436             "Params": {
17437               "$ref": "#/definitions/Entities"
17438             },
17439             "Result": {
17440               "$ref": "#/definitions/ErrorResults"
17441             }
17442           }
17443         }
17444       },
17445       "definitions": {
17446         "Entities": {
17447           "type": "object",
17448           "properties": {
17449             "entities": {
17450               "type": "array",
17451               "items": {
17452                 "$ref": "#/definitions/Entity"
17453               }
17454             }
17455           },
17456           "additionalProperties": false,
17457           "required": [
17458             "entities"
17459           ]
17460         },
17461         "Entity": {
17462           "type": "object",
17463           "properties": {
17464             "tag": {
17465               "type": "string"
17466             }
17467           },
17468           "additionalProperties": false,
17469           "required": [
17470             "tag"
17471           ]
17472         },
17473         "Error": {
17474           "type": "object",
17475           "properties": {
17476             "code": {
17477               "type": "string"
17478             },
17479             "info": {
17480               "$ref": "#/definitions/ErrorInfo"
17481             },
17482             "message": {
17483               "type": "string"
17484             }
17485           },
17486           "additionalProperties": false,
17487           "required": [
17488             "message",
17489             "code"
17490           ]
17491         },
17492         "ErrorInfo": {
17493           "type": "object",
17494           "properties": {
17495             "macaroon": {
17496               "$ref": "#/definitions/Macaroon"
17497             },
17498             "macaroon-path": {
17499               "type": "string"
17500             }
17501           },
17502           "additionalProperties": false
17503         },
17504         "ErrorResult": {
17505           "type": "object",
17506           "properties": {
17507             "error": {
17508               "$ref": "#/definitions/Error"
17509             }
17510           },
17511           "additionalProperties": false
17512         },
17513         "ErrorResults": {
17514           "type": "object",
17515           "properties": {
17516             "results": {
17517               "type": "array",
17518               "items": {
17519                 "$ref": "#/definitions/ErrorResult"
17520               }
17521             }
17522           },
17523           "additionalProperties": false,
17524           "required": [
17525             "results"
17526           ]
17527         },
17528         "Macaroon": {
17529           "type": "object",
17530           "additionalProperties": false
17531         },
17532         "SingularClaim": {
17533           "type": "object",
17534           "properties": {
17535             "controller-tag": {
17536               "type": "string"
17537             },
17538             "duration": {
17539               "type": "integer"
17540             },
17541             "model-tag": {
17542               "type": "string"
17543             }
17544           },
17545           "additionalProperties": false,
17546           "required": [
17547             "model-tag",
17548             "controller-tag",
17549             "duration"
17550           ]
17551         },
17552         "SingularClaims": {
17553           "type": "object",
17554           "properties": {
17555             "claims": {
17556               "type": "array",
17557               "items": {
17558                 "$ref": "#/definitions/SingularClaim"
17559               }
17560             }
17561           },
17562           "additionalProperties": false,
17563           "required": [
17564             "claims"
17565           ]
17566         }
17567       }
17568     }
17569   },
17570   {
17571     "Name": "Spaces",
17572     "Version": 2,
17573     "Schema": {
17574       "type": "object",
17575       "properties": {
17576         "CreateSpaces": {
17577           "type": "object",
17578           "properties": {
17579             "Params": {
17580               "$ref": "#/definitions/CreateSpacesParams"
17581             },
17582             "Result": {
17583               "$ref": "#/definitions/ErrorResults"
17584             }
17585           }
17586         },
17587         "ListSpaces": {
17588           "type": "object",
17589           "properties": {
17590             "Result": {
17591               "$ref": "#/definitions/ListSpacesResults"
17592             }
17593           }
17594         }
17595       },
17596       "definitions": {
17597         "CreateSpaceParams": {
17598           "type": "object",
17599           "properties": {
17600             "provider-id": {
17601               "type": "string"
17602             },
17603             "public": {
17604               "type": "boolean"
17605             },
17606             "space-tag": {
17607               "type": "string"
17608             },
17609             "subnet-tags": {
17610               "type": "array",
17611               "items": {
17612                 "type": "string"
17613               }
17614             }
17615           },
17616           "additionalProperties": false,
17617           "required": [
17618             "subnet-tags",
17619             "space-tag",
17620             "public"
17621           ]
17622         },
17623         "CreateSpacesParams": {
17624           "type": "object",
17625           "properties": {
17626             "spaces": {
17627               "type": "array",
17628               "items": {
17629                 "$ref": "#/definitions/CreateSpaceParams"
17630               }
17631             }
17632           },
17633           "additionalProperties": false,
17634           "required": [
17635             "spaces"
17636           ]
17637         },
17638         "Error": {
17639           "type": "object",
17640           "properties": {
17641             "code": {
17642               "type": "string"
17643             },
17644             "info": {
17645               "$ref": "#/definitions/ErrorInfo"
17646             },
17647             "message": {
17648               "type": "string"
17649             }
17650           },
17651           "additionalProperties": false,
17652           "required": [
17653             "message",
17654             "code"
17655           ]
17656         },
17657         "ErrorInfo": {
17658           "type": "object",
17659           "properties": {
17660             "macaroon": {
17661               "$ref": "#/definitions/Macaroon"
17662             },
17663             "macaroon-path": {
17664               "type": "string"
17665             }
17666           },
17667           "additionalProperties": false
17668         },
17669         "ErrorResult": {
17670           "type": "object",
17671           "properties": {
17672             "error": {
17673               "$ref": "#/definitions/Error"
17674             }
17675           },
17676           "additionalProperties": false
17677         },
17678         "ErrorResults": {
17679           "type": "object",
17680           "properties": {
17681             "results": {
17682               "type": "array",
17683               "items": {
17684                 "$ref": "#/definitions/ErrorResult"
17685               }
17686             }
17687           },
17688           "additionalProperties": false,
17689           "required": [
17690             "results"
17691           ]
17692         },
17693         "ListSpacesResults": {
17694           "type": "object",
17695           "properties": {
17696             "results": {
17697               "type": "array",
17698               "items": {
17699                 "$ref": "#/definitions/Space"
17700               }
17701             }
17702           },
17703           "additionalProperties": false,
17704           "required": [
17705             "results"
17706           ]
17707         },
17708         "Macaroon": {
17709           "type": "object",
17710           "additionalProperties": false
17711         },
17712         "Space": {
17713           "type": "object",
17714           "properties": {
17715             "error": {
17716               "$ref": "#/definitions/Error"
17717             },
17718             "name": {
17719               "type": "string"
17720             },
17721             "subnets": {
17722               "type": "array",
17723               "items": {
17724                 "$ref": "#/definitions/Subnet"
17725               }
17726             }
17727           },
17728           "additionalProperties": false,
17729           "required": [
17730             "name",
17731             "subnets"
17732           ]
17733         },
17734         "Subnet": {
17735           "type": "object",
17736           "properties": {
17737             "cidr": {
17738               "type": "string"
17739             },
17740             "life": {
17741               "type": "string"
17742             },
17743             "provider-id": {
17744               "type": "string"
17745             },
17746             "space-tag": {
17747               "type": "string"
17748             },
17749             "status": {
17750               "type": "string"
17751             },
17752             "vlan-tag": {
17753               "type": "integer"
17754             },
17755             "zones": {
17756               "type": "array",
17757               "items": {
17758                 "type": "string"
17759               }
17760             }
17761           },
17762           "additionalProperties": false,
17763           "required": [
17764             "cidr",
17765             "vlan-tag",
17766             "life",
17767             "space-tag",
17768             "zones"
17769           ]
17770         }
17771       }
17772     }
17773   },
17774   {
17775     "Name": "StatusHistory",
17776     "Version": 2,
17777     "Schema": {
17778       "type": "object",
17779       "properties": {
17780         "Prune": {
17781           "type": "object",
17782           "properties": {
17783             "Params": {
17784               "$ref": "#/definitions/StatusHistoryPruneArgs"
17785             }
17786           }
17787         }
17788       },
17789       "definitions": {
17790         "StatusHistoryPruneArgs": {
17791           "type": "object",
17792           "properties": {
17793             "max-history-mb": {
17794               "type": "integer"
17795             },
17796             "max-history-time": {
17797               "type": "integer"
17798             }
17799           },
17800           "additionalProperties": false,
17801           "required": [
17802             "max-history-time",
17803             "max-history-mb"
17804           ]
17805         }
17806       }
17807     }
17808   },
17809   {
17810     "Name": "Storage",
17811     "Version": 3,
17812     "Schema": {
17813       "type": "object",
17814       "properties": {
17815         "AddToUnit": {
17816           "type": "object",
17817           "properties": {
17818             "Params": {
17819               "$ref": "#/definitions/StoragesAddParams"
17820             },
17821             "Result": {
17822               "$ref": "#/definitions/ErrorResults"
17823             }
17824           }
17825         },
17826         "CreatePool": {
17827           "type": "object",
17828           "properties": {
17829             "Params": {
17830               "$ref": "#/definitions/StoragePool"
17831             }
17832           }
17833         },
17834         "ListFilesystems": {
17835           "type": "object",
17836           "properties": {
17837             "Params": {
17838               "$ref": "#/definitions/FilesystemFilters"
17839             },
17840             "Result": {
17841               "$ref": "#/definitions/FilesystemDetailsListResults"
17842             }
17843           }
17844         },
17845         "ListPools": {
17846           "type": "object",
17847           "properties": {
17848             "Params": {
17849               "$ref": "#/definitions/StoragePoolFilters"
17850             },
17851             "Result": {
17852               "$ref": "#/definitions/StoragePoolsResults"
17853             }
17854           }
17855         },
17856         "ListStorageDetails": {
17857           "type": "object",
17858           "properties": {
17859             "Params": {
17860               "$ref": "#/definitions/StorageFilters"
17861             },
17862             "Result": {
17863               "$ref": "#/definitions/StorageDetailsListResults"
17864             }
17865           }
17866         },
17867         "ListVolumes": {
17868           "type": "object",
17869           "properties": {
17870             "Params": {
17871               "$ref": "#/definitions/VolumeFilters"
17872             },
17873             "Result": {
17874               "$ref": "#/definitions/VolumeDetailsListResults"
17875             }
17876           }
17877         },
17878         "StorageDetails": {
17879           "type": "object",
17880           "properties": {
17881             "Params": {
17882               "$ref": "#/definitions/Entities"
17883             },
17884             "Result": {
17885               "$ref": "#/definitions/StorageDetailsResults"
17886             }
17887           }
17888         }
17889       },
17890       "definitions": {
17891         "Entities": {
17892           "type": "object",
17893           "properties": {
17894             "entities": {
17895               "type": "array",
17896               "items": {
17897                 "$ref": "#/definitions/Entity"
17898               }
17899             }
17900           },
17901           "additionalProperties": false,
17902           "required": [
17903             "entities"
17904           ]
17905         },
17906         "Entity": {
17907           "type": "object",
17908           "properties": {
17909             "tag": {
17910               "type": "string"
17911             }
17912           },
17913           "additionalProperties": false,
17914           "required": [
17915             "tag"
17916           ]
17917         },
17918         "EntityStatus": {
17919           "type": "object",
17920           "properties": {
17921             "data": {
17922               "type": "object",
17923               "patternProperties": {
17924                 ".*": {
17925                   "type": "object",
17926                   "additionalProperties": true
17927                 }
17928               }
17929             },
17930             "info": {
17931               "type": "string"
17932             },
17933             "since": {
17934               "type": "string",
17935               "format": "date-time"
17936             },
17937             "status": {
17938               "type": "string"
17939             }
17940           },
17941           "additionalProperties": false,
17942           "required": [
17943             "status",
17944             "info",
17945             "since"
17946           ]
17947         },
17948         "Error": {
17949           "type": "object",
17950           "properties": {
17951             "code": {
17952               "type": "string"
17953             },
17954             "info": {
17955               "$ref": "#/definitions/ErrorInfo"
17956             },
17957             "message": {
17958               "type": "string"
17959             }
17960           },
17961           "additionalProperties": false,
17962           "required": [
17963             "message",
17964             "code"
17965           ]
17966         },
17967         "ErrorInfo": {
17968           "type": "object",
17969           "properties": {
17970             "macaroon": {
17971               "$ref": "#/definitions/Macaroon"
17972             },
17973             "macaroon-path": {
17974               "type": "string"
17975             }
17976           },
17977           "additionalProperties": false
17978         },
17979         "ErrorResult": {
17980           "type": "object",
17981           "properties": {
17982             "error": {
17983               "$ref": "#/definitions/Error"
17984             }
17985           },
17986           "additionalProperties": false
17987         },
17988         "ErrorResults": {
17989           "type": "object",
17990           "properties": {
17991             "results": {
17992               "type": "array",
17993               "items": {
17994                 "$ref": "#/definitions/ErrorResult"
17995               }
17996             }
17997           },
17998           "additionalProperties": false,
17999           "required": [
18000             "results"
18001           ]
18002         },
18003         "FilesystemAttachmentInfo": {
18004           "type": "object",
18005           "properties": {
18006             "mount-point": {
18007               "type": "string"
18008             },
18009             "read-only": {
18010               "type": "boolean"
18011             }
18012           },
18013           "additionalProperties": false
18014         },
18015         "FilesystemDetails": {
18016           "type": "object",
18017           "properties": {
18018             "filesystem-tag": {
18019               "type": "string"
18020             },
18021             "info": {
18022               "$ref": "#/definitions/FilesystemInfo"
18023             },
18024             "machine-attachments": {
18025               "type": "object",
18026               "patternProperties": {
18027                 ".*": {
18028                   "$ref": "#/definitions/FilesystemAttachmentInfo"
18029                 }
18030               }
18031             },
18032             "status": {
18033               "$ref": "#/definitions/EntityStatus"
18034             },
18035             "storage": {
18036               "$ref": "#/definitions/StorageDetails"
18037             },
18038             "volume-tag": {
18039               "type": "string"
18040             }
18041           },
18042           "additionalProperties": false,
18043           "required": [
18044             "filesystem-tag",
18045             "info",
18046             "status"
18047           ]
18048         },
18049         "FilesystemDetailsListResult": {
18050           "type": "object",
18051           "properties": {
18052             "error": {
18053               "$ref": "#/definitions/Error"
18054             },
18055             "result": {
18056               "type": "array",
18057               "items": {
18058                 "$ref": "#/definitions/FilesystemDetails"
18059               }
18060             }
18061           },
18062           "additionalProperties": false
18063         },
18064         "FilesystemDetailsListResults": {
18065           "type": "object",
18066           "properties": {
18067             "results": {
18068               "type": "array",
18069               "items": {
18070                 "$ref": "#/definitions/FilesystemDetailsListResult"
18071               }
18072             }
18073           },
18074           "additionalProperties": false
18075         },
18076         "FilesystemFilter": {
18077           "type": "object",
18078           "properties": {
18079             "machines": {
18080               "type": "array",
18081               "items": {
18082                 "type": "string"
18083               }
18084             }
18085           },
18086           "additionalProperties": false
18087         },
18088         "FilesystemFilters": {
18089           "type": "object",
18090           "properties": {
18091             "filters": {
18092               "type": "array",
18093               "items": {
18094                 "$ref": "#/definitions/FilesystemFilter"
18095               }
18096             }
18097           },
18098           "additionalProperties": false
18099         },
18100         "FilesystemInfo": {
18101           "type": "object",
18102           "properties": {
18103             "filesystem-id": {
18104               "type": "string"
18105             },
18106             "size": {
18107               "type": "integer"
18108             }
18109           },
18110           "additionalProperties": false,
18111           "required": [
18112             "filesystem-id",
18113             "size"
18114           ]
18115         },
18116         "Macaroon": {
18117           "type": "object",
18118           "additionalProperties": false
18119         },
18120         "StorageAddParams": {
18121           "type": "object",
18122           "properties": {
18123             "name": {
18124               "type": "string"
18125             },
18126             "storage": {
18127               "$ref": "#/definitions/StorageConstraints"
18128             },
18129             "unit": {
18130               "type": "string"
18131             }
18132           },
18133           "additionalProperties": false,
18134           "required": [
18135             "unit",
18136             "name",
18137             "storage"
18138           ]
18139         },
18140         "StorageAttachmentDetails": {
18141           "type": "object",
18142           "properties": {
18143             "location": {
18144               "type": "string"
18145             },
18146             "machine-tag": {
18147               "type": "string"
18148             },
18149             "storage-tag": {
18150               "type": "string"
18151             },
18152             "unit-tag": {
18153               "type": "string"
18154             }
18155           },
18156           "additionalProperties": false,
18157           "required": [
18158             "storage-tag",
18159             "unit-tag",
18160             "machine-tag"
18161           ]
18162         },
18163         "StorageConstraints": {
18164           "type": "object",
18165           "properties": {
18166             "count": {
18167               "type": "integer"
18168             },
18169             "pool": {
18170               "type": "string"
18171             },
18172             "size": {
18173               "type": "integer"
18174             }
18175           },
18176           "additionalProperties": false
18177         },
18178         "StorageDetails": {
18179           "type": "object",
18180           "properties": {
18181             "attachments": {
18182               "type": "object",
18183               "patternProperties": {
18184                 ".*": {
18185                   "$ref": "#/definitions/StorageAttachmentDetails"
18186                 }
18187               }
18188             },
18189             "kind": {
18190               "type": "integer"
18191             },
18192             "owner-tag": {
18193               "type": "string"
18194             },
18195             "persistent": {
18196               "type": "boolean"
18197             },
18198             "status": {
18199               "$ref": "#/definitions/EntityStatus"
18200             },
18201             "storage-tag": {
18202               "type": "string"
18203             }
18204           },
18205           "additionalProperties": false,
18206           "required": [
18207             "storage-tag",
18208             "owner-tag",
18209             "kind",
18210             "status",
18211             "persistent"
18212           ]
18213         },
18214         "StorageDetailsListResult": {
18215           "type": "object",
18216           "properties": {
18217             "error": {
18218               "$ref": "#/definitions/Error"
18219             },
18220             "result": {
18221               "type": "array",
18222               "items": {
18223                 "$ref": "#/definitions/StorageDetails"
18224               }
18225             }
18226           },
18227           "additionalProperties": false
18228         },
18229         "StorageDetailsListResults": {
18230           "type": "object",
18231           "properties": {
18232             "results": {
18233               "type": "array",
18234               "items": {
18235                 "$ref": "#/definitions/StorageDetailsListResult"
18236               }
18237             }
18238           },
18239           "additionalProperties": false
18240         },
18241         "StorageDetailsResult": {
18242           "type": "object",
18243           "properties": {
18244             "error": {
18245               "$ref": "#/definitions/Error"
18246             },
18247             "result": {
18248               "$ref": "#/definitions/StorageDetails"
18249             }
18250           },
18251           "additionalProperties": false
18252         },
18253         "StorageDetailsResults": {
18254           "type": "object",
18255           "properties": {
18256             "results": {
18257               "type": "array",
18258               "items": {
18259                 "$ref": "#/definitions/StorageDetailsResult"
18260               }
18261             }
18262           },
18263           "additionalProperties": false
18264         },
18265         "StorageFilter": {
18266           "type": "object",
18267           "additionalProperties": false
18268         },
18269         "StorageFilters": {
18270           "type": "object",
18271           "properties": {
18272             "filters": {
18273               "type": "array",
18274               "items": {
18275                 "$ref": "#/definitions/StorageFilter"
18276               }
18277             }
18278           },
18279           "additionalProperties": false
18280         },
18281         "StoragePool": {
18282           "type": "object",
18283           "properties": {
18284             "attrs": {
18285               "type": "object",
18286               "patternProperties": {
18287                 ".*": {
18288                   "type": "object",
18289                   "additionalProperties": true
18290                 }
18291               }
18292             },
18293             "name": {
18294               "type": "string"
18295             },
18296             "provider": {
18297               "type": "string"
18298             }
18299           },
18300           "additionalProperties": false,
18301           "required": [
18302             "name",
18303             "provider",
18304             "attrs"
18305           ]
18306         },
18307         "StoragePoolFilter": {
18308           "type": "object",
18309           "properties": {
18310             "names": {
18311               "type": "array",
18312               "items": {
18313                 "type": "string"
18314               }
18315             },
18316             "providers": {
18317               "type": "array",
18318               "items": {
18319                 "type": "string"
18320               }
18321             }
18322           },
18323           "additionalProperties": false
18324         },
18325         "StoragePoolFilters": {
18326           "type": "object",
18327           "properties": {
18328             "filters": {
18329               "type": "array",
18330               "items": {
18331                 "$ref": "#/definitions/StoragePoolFilter"
18332               }
18333             }
18334           },
18335           "additionalProperties": false
18336         },
18337         "StoragePoolsResult": {
18338           "type": "object",
18339           "properties": {
18340             "error": {
18341               "$ref": "#/definitions/Error"
18342             },
18343             "storage-pools": {
18344               "type": "array",
18345               "items": {
18346                 "$ref": "#/definitions/StoragePool"
18347               }
18348             }
18349           },
18350           "additionalProperties": false
18351         },
18352         "StoragePoolsResults": {
18353           "type": "object",
18354           "properties": {
18355             "results": {
18356               "type": "array",
18357               "items": {
18358                 "$ref": "#/definitions/StoragePoolsResult"
18359               }
18360             }
18361           },
18362           "additionalProperties": false
18363         },
18364         "StoragesAddParams": {
18365           "type": "object",
18366           "properties": {
18367             "storages": {
18368               "type": "array",
18369               "items": {
18370                 "$ref": "#/definitions/StorageAddParams"
18371               }
18372             }
18373           },
18374           "additionalProperties": false,
18375           "required": [
18376             "storages"
18377           ]
18378         },
18379         "VolumeAttachmentInfo": {
18380           "type": "object",
18381           "properties": {
18382             "bus-address": {
18383               "type": "string"
18384             },
18385             "device-link": {
18386               "type": "string"
18387             },
18388             "device-name": {
18389               "type": "string"
18390             },
18391             "read-only": {
18392               "type": "boolean"
18393             }
18394           },
18395           "additionalProperties": false
18396         },
18397         "VolumeDetails": {
18398           "type": "object",
18399           "properties": {
18400             "info": {
18401               "$ref": "#/definitions/VolumeInfo"
18402             },
18403             "machine-attachments": {
18404               "type": "object",
18405               "patternProperties": {
18406                 ".*": {
18407                   "$ref": "#/definitions/VolumeAttachmentInfo"
18408                 }
18409               }
18410             },
18411             "status": {
18412               "$ref": "#/definitions/EntityStatus"
18413             },
18414             "storage": {
18415               "$ref": "#/definitions/StorageDetails"
18416             },
18417             "volume-tag": {
18418               "type": "string"
18419             }
18420           },
18421           "additionalProperties": false,
18422           "required": [
18423             "volume-tag",
18424             "info",
18425             "status"
18426           ]
18427         },
18428         "VolumeDetailsListResult": {
18429           "type": "object",
18430           "properties": {
18431             "error": {
18432               "$ref": "#/definitions/Error"
18433             },
18434             "result": {
18435               "type": "array",
18436               "items": {
18437                 "$ref": "#/definitions/VolumeDetails"
18438               }
18439             }
18440           },
18441           "additionalProperties": false
18442         },
18443         "VolumeDetailsListResults": {
18444           "type": "object",
18445           "properties": {
18446             "results": {
18447               "type": "array",
18448               "items": {
18449                 "$ref": "#/definitions/VolumeDetailsListResult"
18450               }
18451             }
18452           },
18453           "additionalProperties": false
18454         },
18455         "VolumeFilter": {
18456           "type": "object",
18457           "properties": {
18458             "machines": {
18459               "type": "array",
18460               "items": {
18461                 "type": "string"
18462               }
18463             }
18464           },
18465           "additionalProperties": false
18466         },
18467         "VolumeFilters": {
18468           "type": "object",
18469           "properties": {
18470             "filters": {
18471               "type": "array",
18472               "items": {
18473                 "$ref": "#/definitions/VolumeFilter"
18474               }
18475             }
18476           },
18477           "additionalProperties": false
18478         },
18479         "VolumeInfo": {
18480           "type": "object",
18481           "properties": {
18482             "hardware-id": {
18483               "type": "string"
18484             },
18485             "persistent": {
18486               "type": "boolean"
18487             },
18488             "size": {
18489               "type": "integer"
18490             },
18491             "volume-id": {
18492               "type": "string"
18493             }
18494           },
18495           "additionalProperties": false,
18496           "required": [
18497             "volume-id",
18498             "size",
18499             "persistent"
18500           ]
18501         }
18502       }
18503     }
18504   },
18505   {
18506     "Name": "StorageProvisioner",
18507     "Version": 3,
18508     "Schema": {
18509       "type": "object",
18510       "properties": {
18511         "AttachmentLife": {
18512           "type": "object",
18513           "properties": {
18514             "Params": {
18515               "$ref": "#/definitions/MachineStorageIds"
18516             },
18517             "Result": {
18518               "$ref": "#/definitions/LifeResults"
18519             }
18520           }
18521         },
18522         "EnsureDead": {
18523           "type": "object",
18524           "properties": {
18525             "Params": {
18526               "$ref": "#/definitions/Entities"
18527             },
18528             "Result": {
18529               "$ref": "#/definitions/ErrorResults"
18530             }
18531           }
18532         },
18533         "FilesystemAttachmentParams": {
18534           "type": "object",
18535           "properties": {
18536             "Params": {
18537               "$ref": "#/definitions/MachineStorageIds"
18538             },
18539             "Result": {
18540               "$ref": "#/definitions/FilesystemAttachmentParamsResults"
18541             }
18542           }
18543         },
18544         "FilesystemAttachments": {
18545           "type": "object",
18546           "properties": {
18547             "Params": {
18548               "$ref": "#/definitions/MachineStorageIds"
18549             },
18550             "Result": {
18551               "$ref": "#/definitions/FilesystemAttachmentResults"
18552             }
18553           }
18554         },
18555         "FilesystemParams": {
18556           "type": "object",
18557           "properties": {
18558             "Params": {
18559               "$ref": "#/definitions/Entities"
18560             },
18561             "Result": {
18562               "$ref": "#/definitions/FilesystemParamsResults"
18563             }
18564           }
18565         },
18566         "Filesystems": {
18567           "type": "object",
18568           "properties": {
18569             "Params": {
18570               "$ref": "#/definitions/Entities"
18571             },
18572             "Result": {
18573               "$ref": "#/definitions/FilesystemResults"
18574             }
18575           }
18576         },
18577         "InstanceId": {
18578           "type": "object",
18579           "properties": {
18580             "Params": {
18581               "$ref": "#/definitions/Entities"
18582             },
18583             "Result": {
18584               "$ref": "#/definitions/StringResults"
18585             }
18586           }
18587         },
18588         "Life": {
18589           "type": "object",
18590           "properties": {
18591             "Params": {
18592               "$ref": "#/definitions/Entities"
18593             },
18594             "Result": {
18595               "$ref": "#/definitions/LifeResults"
18596             }
18597           }
18598         },
18599         "Remove": {
18600           "type": "object",
18601           "properties": {
18602             "Params": {
18603               "$ref": "#/definitions/Entities"
18604             },
18605             "Result": {
18606               "$ref": "#/definitions/ErrorResults"
18607             }
18608           }
18609         },
18610         "RemoveAttachment": {
18611           "type": "object",
18612           "properties": {
18613             "Params": {
18614               "$ref": "#/definitions/MachineStorageIds"
18615             },
18616             "Result": {
18617               "$ref": "#/definitions/ErrorResults"
18618             }
18619           }
18620         },
18621         "SetFilesystemAttachmentInfo": {
18622           "type": "object",
18623           "properties": {
18624             "Params": {
18625               "$ref": "#/definitions/FilesystemAttachments"
18626             },
18627             "Result": {
18628               "$ref": "#/definitions/ErrorResults"
18629             }
18630           }
18631         },
18632         "SetFilesystemInfo": {
18633           "type": "object",
18634           "properties": {
18635             "Params": {
18636               "$ref": "#/definitions/Filesystems"
18637             },
18638             "Result": {
18639               "$ref": "#/definitions/ErrorResults"
18640             }
18641           }
18642         },
18643         "SetStatus": {
18644           "type": "object",
18645           "properties": {
18646             "Params": {
18647               "$ref": "#/definitions/SetStatus"
18648             },
18649             "Result": {
18650               "$ref": "#/definitions/ErrorResults"
18651             }
18652           }
18653         },
18654         "SetVolumeAttachmentInfo": {
18655           "type": "object",
18656           "properties": {
18657             "Params": {
18658               "$ref": "#/definitions/VolumeAttachments"
18659             },
18660             "Result": {
18661               "$ref": "#/definitions/ErrorResults"
18662             }
18663           }
18664         },
18665         "SetVolumeInfo": {
18666           "type": "object",
18667           "properties": {
18668             "Params": {
18669               "$ref": "#/definitions/Volumes"
18670             },
18671             "Result": {
18672               "$ref": "#/definitions/ErrorResults"
18673             }
18674           }
18675         },
18676         "UpdateStatus": {
18677           "type": "object",
18678           "properties": {
18679             "Params": {
18680               "$ref": "#/definitions/SetStatus"
18681             },
18682             "Result": {
18683               "$ref": "#/definitions/ErrorResults"
18684             }
18685           }
18686         },
18687         "VolumeAttachmentParams": {
18688           "type": "object",
18689           "properties": {
18690             "Params": {
18691               "$ref": "#/definitions/MachineStorageIds"
18692             },
18693             "Result": {
18694               "$ref": "#/definitions/VolumeAttachmentParamsResults"
18695             }
18696           }
18697         },
18698         "VolumeAttachments": {
18699           "type": "object",
18700           "properties": {
18701             "Params": {
18702               "$ref": "#/definitions/MachineStorageIds"
18703             },
18704             "Result": {
18705               "$ref": "#/definitions/VolumeAttachmentResults"
18706             }
18707           }
18708         },
18709         "VolumeBlockDevices": {
18710           "type": "object",
18711           "properties": {
18712             "Params": {
18713               "$ref": "#/definitions/MachineStorageIds"
18714             },
18715             "Result": {
18716               "$ref": "#/definitions/BlockDeviceResults"
18717             }
18718           }
18719         },
18720         "VolumeParams": {
18721           "type": "object",
18722           "properties": {
18723             "Params": {
18724               "$ref": "#/definitions/Entities"
18725             },
18726             "Result": {
18727               "$ref": "#/definitions/VolumeParamsResults"
18728             }
18729           }
18730         },
18731         "Volumes": {
18732           "type": "object",
18733           "properties": {
18734             "Params": {
18735               "$ref": "#/definitions/Entities"
18736             },
18737             "Result": {
18738               "$ref": "#/definitions/VolumeResults"
18739             }
18740           }
18741         },
18742         "WatchBlockDevices": {
18743           "type": "object",
18744           "properties": {
18745             "Params": {
18746               "$ref": "#/definitions/Entities"
18747             },
18748             "Result": {
18749               "$ref": "#/definitions/NotifyWatchResults"
18750             }
18751           }
18752         },
18753         "WatchFilesystemAttachments": {
18754           "type": "object",
18755           "properties": {
18756             "Params": {
18757               "$ref": "#/definitions/Entities"
18758             },
18759             "Result": {
18760               "$ref": "#/definitions/MachineStorageIdsWatchResults"
18761             }
18762           }
18763         },
18764         "WatchFilesystems": {
18765           "type": "object",
18766           "properties": {
18767             "Params": {
18768               "$ref": "#/definitions/Entities"
18769             },
18770             "Result": {
18771               "$ref": "#/definitions/StringsWatchResults"
18772             }
18773           }
18774         },
18775         "WatchMachines": {
18776           "type": "object",
18777           "properties": {
18778             "Params": {
18779               "$ref": "#/definitions/Entities"
18780             },
18781             "Result": {
18782               "$ref": "#/definitions/NotifyWatchResults"
18783             }
18784           }
18785         },
18786         "WatchVolumeAttachments": {
18787           "type": "object",
18788           "properties": {
18789             "Params": {
18790               "$ref": "#/definitions/Entities"
18791             },
18792             "Result": {
18793               "$ref": "#/definitions/MachineStorageIdsWatchResults"
18794             }
18795           }
18796         },
18797         "WatchVolumes": {
18798           "type": "object",
18799           "properties": {
18800             "Params": {
18801               "$ref": "#/definitions/Entities"
18802             },
18803             "Result": {
18804               "$ref": "#/definitions/StringsWatchResults"
18805             }
18806           }
18807         }
18808       },
18809       "definitions": {
18810         "BlockDevice": {
18811           "type": "object",
18812           "properties": {
18813             "BusAddress": {
18814               "type": "string"
18815             },
18816             "DeviceLinks": {
18817               "type": "array",
18818               "items": {
18819                 "type": "string"
18820               }
18821             },
18822             "DeviceName": {
18823               "type": "string"
18824             },
18825             "FilesystemType": {
18826               "type": "string"
18827             },
18828             "HardwareId": {
18829               "type": "string"
18830             },
18831             "InUse": {
18832               "type": "boolean"
18833             },
18834             "Label": {
18835               "type": "string"
18836             },
18837             "MountPoint": {
18838               "type": "string"
18839             },
18840             "Size": {
18841               "type": "integer"
18842             },
18843             "UUID": {
18844               "type": "string"
18845             }
18846           },
18847           "additionalProperties": false,
18848           "required": [
18849             "DeviceName",
18850             "DeviceLinks",
18851             "Label",
18852             "UUID",
18853             "HardwareId",
18854             "BusAddress",
18855             "Size",
18856             "FilesystemType",
18857             "InUse",
18858             "MountPoint"
18859           ]
18860         },
18861         "BlockDeviceResult": {
18862           "type": "object",
18863           "properties": {
18864             "error": {
18865               "$ref": "#/definitions/Error"
18866             },
18867             "result": {
18868               "$ref": "#/definitions/BlockDevice"
18869             }
18870           },
18871           "additionalProperties": false,
18872           "required": [
18873             "result"
18874           ]
18875         },
18876         "BlockDeviceResults": {
18877           "type": "object",
18878           "properties": {
18879             "results": {
18880               "type": "array",
18881               "items": {
18882                 "$ref": "#/definitions/BlockDeviceResult"
18883               }
18884             }
18885           },
18886           "additionalProperties": false
18887         },
18888         "Entities": {
18889           "type": "object",
18890           "properties": {
18891             "entities": {
18892               "type": "array",
18893               "items": {
18894                 "$ref": "#/definitions/Entity"
18895               }
18896             }
18897           },
18898           "additionalProperties": false,
18899           "required": [
18900             "entities"
18901           ]
18902         },
18903         "Entity": {
18904           "type": "object",
18905           "properties": {
18906             "tag": {
18907               "type": "string"
18908             }
18909           },
18910           "additionalProperties": false,
18911           "required": [
18912             "tag"
18913           ]
18914         },
18915         "EntityStatusArgs": {
18916           "type": "object",
18917           "properties": {
18918             "data": {
18919               "type": "object",
18920               "patternProperties": {
18921                 ".*": {
18922                   "type": "object",
18923                   "additionalProperties": true
18924                 }
18925               }
18926             },
18927             "info": {
18928               "type": "string"
18929             },
18930             "status": {
18931               "type": "string"
18932             },
18933             "tag": {
18934               "type": "string"
18935             }
18936           },
18937           "additionalProperties": false,
18938           "required": [
18939             "tag",
18940             "status",
18941             "info",
18942             "data"
18943           ]
18944         },
18945         "Error": {
18946           "type": "object",
18947           "properties": {
18948             "code": {
18949               "type": "string"
18950             },
18951             "info": {
18952               "$ref": "#/definitions/ErrorInfo"
18953             },
18954             "message": {
18955               "type": "string"
18956             }
18957           },
18958           "additionalProperties": false,
18959           "required": [
18960             "message",
18961             "code"
18962           ]
18963         },
18964         "ErrorInfo": {
18965           "type": "object",
18966           "properties": {
18967             "macaroon": {
18968               "$ref": "#/definitions/Macaroon"
18969             },
18970             "macaroon-path": {
18971               "type": "string"
18972             }
18973           },
18974           "additionalProperties": false
18975         },
18976         "ErrorResult": {
18977           "type": "object",
18978           "properties": {
18979             "error": {
18980               "$ref": "#/definitions/Error"
18981             }
18982           },
18983           "additionalProperties": false
18984         },
18985         "ErrorResults": {
18986           "type": "object",
18987           "properties": {
18988             "results": {
18989               "type": "array",
18990               "items": {
18991                 "$ref": "#/definitions/ErrorResult"
18992               }
18993             }
18994           },
18995           "additionalProperties": false,
18996           "required": [
18997             "results"
18998           ]
18999         },
19000         "Filesystem": {
19001           "type": "object",
19002           "properties": {
19003             "filesystem-tag": {
19004               "type": "string"
19005             },
19006             "info": {
19007               "$ref": "#/definitions/FilesystemInfo"
19008             },
19009             "volume-tag": {
19010               "type": "string"
19011             }
19012           },
19013           "additionalProperties": false,
19014           "required": [
19015             "filesystem-tag",
19016             "info"
19017           ]
19018         },
19019         "FilesystemAttachment": {
19020           "type": "object",
19021           "properties": {
19022             "filesystem-tag": {
19023               "type": "string"
19024             },
19025             "info": {
19026               "$ref": "#/definitions/FilesystemAttachmentInfo"
19027             },
19028             "machine-tag": {
19029               "type": "string"
19030             }
19031           },
19032           "additionalProperties": false,
19033           "required": [
19034             "filesystem-tag",
19035             "machine-tag",
19036             "info"
19037           ]
19038         },
19039         "FilesystemAttachmentInfo": {
19040           "type": "object",
19041           "properties": {
19042             "mount-point": {
19043               "type": "string"
19044             },
19045             "read-only": {
19046               "type": "boolean"
19047             }
19048           },
19049           "additionalProperties": false
19050         },
19051         "FilesystemAttachmentParams": {
19052           "type": "object",
19053           "properties": {
19054             "filesystem-id": {
19055               "type": "string"
19056             },
19057             "filesystem-tag": {
19058               "type": "string"
19059             },
19060             "instance-id": {
19061               "type": "string"
19062             },
19063             "machine-tag": {
19064               "type": "string"
19065             },
19066             "mount-point": {
19067               "type": "string"
19068             },
19069             "provider": {
19070               "type": "string"
19071             },
19072             "read-only": {
19073               "type": "boolean"
19074             }
19075           },
19076           "additionalProperties": false,
19077           "required": [
19078             "filesystem-tag",
19079             "machine-tag",
19080             "provider"
19081           ]
19082         },
19083         "FilesystemAttachmentParamsResult": {
19084           "type": "object",
19085           "properties": {
19086             "error": {
19087               "$ref": "#/definitions/Error"
19088             },
19089             "result": {
19090               "$ref": "#/definitions/FilesystemAttachmentParams"
19091             }
19092           },
19093           "additionalProperties": false,
19094           "required": [
19095             "result"
19096           ]
19097         },
19098         "FilesystemAttachmentParamsResults": {
19099           "type": "object",
19100           "properties": {
19101             "results": {
19102               "type": "array",
19103               "items": {
19104                 "$ref": "#/definitions/FilesystemAttachmentParamsResult"
19105               }
19106             }
19107           },
19108           "additionalProperties": false
19109         },
19110         "FilesystemAttachmentResult": {
19111           "type": "object",
19112           "properties": {
19113             "error": {
19114               "$ref": "#/definitions/Error"
19115             },
19116             "result": {
19117               "$ref": "#/definitions/FilesystemAttachment"
19118             }
19119           },
19120           "additionalProperties": false,
19121           "required": [
19122             "result"
19123           ]
19124         },
19125         "FilesystemAttachmentResults": {
19126           "type": "object",
19127           "properties": {
19128             "results": {
19129               "type": "array",
19130               "items": {
19131                 "$ref": "#/definitions/FilesystemAttachmentResult"
19132               }
19133             }
19134           },
19135           "additionalProperties": false
19136         },
19137         "FilesystemAttachments": {
19138           "type": "object",
19139           "properties": {
19140             "filesystem-attachments": {
19141               "type": "array",
19142               "items": {
19143                 "$ref": "#/definitions/FilesystemAttachment"
19144               }
19145             }
19146           },
19147           "additionalProperties": false,
19148           "required": [
19149             "filesystem-attachments"
19150           ]
19151         },
19152         "FilesystemInfo": {
19153           "type": "object",
19154           "properties": {
19155             "filesystem-id": {
19156               "type": "string"
19157             },
19158             "size": {
19159               "type": "integer"
19160             }
19161           },
19162           "additionalProperties": false,
19163           "required": [
19164             "filesystem-id",
19165             "size"
19166           ]
19167         },
19168         "FilesystemParams": {
19169           "type": "object",
19170           "properties": {
19171             "attachment": {
19172               "$ref": "#/definitions/FilesystemAttachmentParams"
19173             },
19174             "attributes": {
19175               "type": "object",
19176               "patternProperties": {
19177                 ".*": {
19178                   "type": "object",
19179                   "additionalProperties": true
19180                 }
19181               }
19182             },
19183             "filesystem-tag": {
19184               "type": "string"
19185             },
19186             "provider": {
19187               "type": "string"
19188             },
19189             "size": {
19190               "type": "integer"
19191             },
19192             "tags": {
19193               "type": "object",
19194               "patternProperties": {
19195                 ".*": {
19196                   "type": "string"
19197                 }
19198               }
19199             },
19200             "volume-tag": {
19201               "type": "string"
19202             }
19203           },
19204           "additionalProperties": false,
19205           "required": [
19206             "filesystem-tag",
19207             "size",
19208             "provider"
19209           ]
19210         },
19211         "FilesystemParamsResult": {
19212           "type": "object",
19213           "properties": {
19214             "error": {
19215               "$ref": "#/definitions/Error"
19216             },
19217             "result": {
19218               "$ref": "#/definitions/FilesystemParams"
19219             }
19220           },
19221           "additionalProperties": false,
19222           "required": [
19223             "result"
19224           ]
19225         },
19226         "FilesystemParamsResults": {
19227           "type": "object",
19228           "properties": {
19229             "results": {
19230               "type": "array",
19231               "items": {
19232                 "$ref": "#/definitions/FilesystemParamsResult"
19233               }
19234             }
19235           },
19236           "additionalProperties": false
19237         },
19238         "FilesystemResult": {
19239           "type": "object",
19240           "properties": {
19241             "error": {
19242               "$ref": "#/definitions/Error"
19243             },
19244             "result": {
19245               "$ref": "#/definitions/Filesystem"
19246             }
19247           },
19248           "additionalProperties": false,
19249           "required": [
19250             "result"
19251           ]
19252         },
19253         "FilesystemResults": {
19254           "type": "object",
19255           "properties": {
19256             "results": {
19257               "type": "array",
19258               "items": {
19259                 "$ref": "#/definitions/FilesystemResult"
19260               }
19261             }
19262           },
19263           "additionalProperties": false
19264         },
19265         "Filesystems": {
19266           "type": "object",
19267           "properties": {
19268             "filesystems": {
19269               "type": "array",
19270               "items": {
19271                 "$ref": "#/definitions/Filesystem"
19272               }
19273             }
19274           },
19275           "additionalProperties": false,
19276           "required": [
19277             "filesystems"
19278           ]
19279         },
19280         "LifeResult": {
19281           "type": "object",
19282           "properties": {
19283             "error": {
19284               "$ref": "#/definitions/Error"
19285             },
19286             "life": {
19287               "type": "string"
19288             }
19289           },
19290           "additionalProperties": false,
19291           "required": [
19292             "life"
19293           ]
19294         },
19295         "LifeResults": {
19296           "type": "object",
19297           "properties": {
19298             "results": {
19299               "type": "array",
19300               "items": {
19301                 "$ref": "#/definitions/LifeResult"
19302               }
19303             }
19304           },
19305           "additionalProperties": false,
19306           "required": [
19307             "results"
19308           ]
19309         },
19310         "Macaroon": {
19311           "type": "object",
19312           "additionalProperties": false
19313         },
19314         "MachineStorageId": {
19315           "type": "object",
19316           "properties": {
19317             "attachment-tag": {
19318               "type": "string"
19319             },
19320             "machine-tag": {
19321               "type": "string"
19322             }
19323           },
19324           "additionalProperties": false,
19325           "required": [
19326             "machine-tag",
19327             "attachment-tag"
19328           ]
19329         },
19330         "MachineStorageIds": {
19331           "type": "object",
19332           "properties": {
19333             "ids": {
19334               "type": "array",
19335               "items": {
19336                 "$ref": "#/definitions/MachineStorageId"
19337               }
19338             }
19339           },
19340           "additionalProperties": false,
19341           "required": [
19342             "ids"
19343           ]
19344         },
19345         "MachineStorageIdsWatchResult": {
19346           "type": "object",
19347           "properties": {
19348             "changes": {
19349               "type": "array",
19350               "items": {
19351                 "$ref": "#/definitions/MachineStorageId"
19352               }
19353             },
19354             "error": {
19355               "$ref": "#/definitions/Error"
19356             },
19357             "watcher-id": {
19358               "type": "string"
19359             }
19360           },
19361           "additionalProperties": false,
19362           "required": [
19363             "watcher-id",
19364             "changes"
19365           ]
19366         },
19367         "MachineStorageIdsWatchResults": {
19368           "type": "object",
19369           "properties": {
19370             "results": {
19371               "type": "array",
19372               "items": {
19373                 "$ref": "#/definitions/MachineStorageIdsWatchResult"
19374               }
19375             }
19376           },
19377           "additionalProperties": false,
19378           "required": [
19379             "results"
19380           ]
19381         },
19382         "NotifyWatchResult": {
19383           "type": "object",
19384           "properties": {
19385             "NotifyWatcherId": {
19386               "type": "string"
19387             },
19388             "error": {
19389               "$ref": "#/definitions/Error"
19390             }
19391           },
19392           "additionalProperties": false,
19393           "required": [
19394             "NotifyWatcherId"
19395           ]
19396         },
19397         "NotifyWatchResults": {
19398           "type": "object",
19399           "properties": {
19400             "results": {
19401               "type": "array",
19402               "items": {
19403                 "$ref": "#/definitions/NotifyWatchResult"
19404               }
19405             }
19406           },
19407           "additionalProperties": false,
19408           "required": [
19409             "results"
19410           ]
19411         },
19412         "SetStatus": {
19413           "type": "object",
19414           "properties": {
19415             "entities": {
19416               "type": "array",
19417               "items": {
19418                 "$ref": "#/definitions/EntityStatusArgs"
19419               }
19420             }
19421           },
19422           "additionalProperties": false,
19423           "required": [
19424             "entities"
19425           ]
19426         },
19427         "StringResult": {
19428           "type": "object",
19429           "properties": {
19430             "error": {
19431               "$ref": "#/definitions/Error"
19432             },
19433             "result": {
19434               "type": "string"
19435             }
19436           },
19437           "additionalProperties": false,
19438           "required": [
19439             "result"
19440           ]
19441         },
19442         "StringResults": {
19443           "type": "object",
19444           "properties": {
19445             "results": {
19446               "type": "array",
19447               "items": {
19448                 "$ref": "#/definitions/StringResult"
19449               }
19450             }
19451           },
19452           "additionalProperties": false,
19453           "required": [
19454             "results"
19455           ]
19456         },
19457         "StringsWatchResult": {
19458           "type": "object",
19459           "properties": {
19460             "changes": {
19461               "type": "array",
19462               "items": {
19463                 "type": "string"
19464               }
19465             },
19466             "error": {
19467               "$ref": "#/definitions/Error"
19468             },
19469             "watcher-id": {
19470               "type": "string"
19471             }
19472           },
19473           "additionalProperties": false,
19474           "required": [
19475             "watcher-id"
19476           ]
19477         },
19478         "StringsWatchResults": {
19479           "type": "object",
19480           "properties": {
19481             "results": {
19482               "type": "array",
19483               "items": {
19484                 "$ref": "#/definitions/StringsWatchResult"
19485               }
19486             }
19487           },
19488           "additionalProperties": false,
19489           "required": [
19490             "results"
19491           ]
19492         },
19493         "Volume": {
19494           "type": "object",
19495           "properties": {
19496             "info": {
19497               "$ref": "#/definitions/VolumeInfo"
19498             },
19499             "volume-tag": {
19500               "type": "string"
19501             }
19502           },
19503           "additionalProperties": false,
19504           "required": [
19505             "volume-tag",
19506             "info"
19507           ]
19508         },
19509         "VolumeAttachment": {
19510           "type": "object",
19511           "properties": {
19512             "info": {
19513               "$ref": "#/definitions/VolumeAttachmentInfo"
19514             },
19515             "machine-tag": {
19516               "type": "string"
19517             },
19518             "volume-tag": {
19519               "type": "string"
19520             }
19521           },
19522           "additionalProperties": false,
19523           "required": [
19524             "volume-tag",
19525             "machine-tag",
19526             "info"
19527           ]
19528         },
19529         "VolumeAttachmentInfo": {
19530           "type": "object",
19531           "properties": {
19532             "bus-address": {
19533               "type": "string"
19534             },
19535             "device-link": {
19536               "type": "string"
19537             },
19538             "device-name": {
19539               "type": "string"
19540             },
19541             "read-only": {
19542               "type": "boolean"
19543             }
19544           },
19545           "additionalProperties": false
19546         },
19547         "VolumeAttachmentParams": {
19548           "type": "object",
19549           "properties": {
19550             "instance-id": {
19551               "type": "string"
19552             },
19553             "machine-tag": {
19554               "type": "string"
19555             },
19556             "provider": {
19557               "type": "string"
19558             },
19559             "read-only": {
19560               "type": "boolean"
19561             },
19562             "volume-id": {
19563               "type": "string"
19564             },
19565             "volume-tag": {
19566               "type": "string"
19567             }
19568           },
19569           "additionalProperties": false,
19570           "required": [
19571             "volume-tag",
19572             "machine-tag",
19573             "provider"
19574           ]
19575         },
19576         "VolumeAttachmentParamsResult": {
19577           "type": "object",
19578           "properties": {
19579             "error": {
19580               "$ref": "#/definitions/Error"
19581             },
19582             "result": {
19583               "$ref": "#/definitions/VolumeAttachmentParams"
19584             }
19585           },
19586           "additionalProperties": false,
19587           "required": [
19588             "result"
19589           ]
19590         },
19591         "VolumeAttachmentParamsResults": {
19592           "type": "object",
19593           "properties": {
19594             "results": {
19595               "type": "array",
19596               "items": {
19597                 "$ref": "#/definitions/VolumeAttachmentParamsResult"
19598               }
19599             }
19600           },
19601           "additionalProperties": false
19602         },
19603         "VolumeAttachmentResult": {
19604           "type": "object",
19605           "properties": {
19606             "error": {
19607               "$ref": "#/definitions/Error"
19608             },
19609             "result": {
19610               "$ref": "#/definitions/VolumeAttachment"
19611             }
19612           },
19613           "additionalProperties": false,
19614           "required": [
19615             "result"
19616           ]
19617         },
19618         "VolumeAttachmentResults": {
19619           "type": "object",
19620           "properties": {
19621             "results": {
19622               "type": "array",
19623               "items": {
19624                 "$ref": "#/definitions/VolumeAttachmentResult"
19625               }
19626             }
19627           },
19628           "additionalProperties": false
19629         },
19630         "VolumeAttachments": {
19631           "type": "object",
19632           "properties": {
19633             "volume-attachments": {
19634               "type": "array",
19635               "items": {
19636                 "$ref": "#/definitions/VolumeAttachment"
19637               }
19638             }
19639           },
19640           "additionalProperties": false,
19641           "required": [
19642             "volume-attachments"
19643           ]
19644         },
19645         "VolumeInfo": {
19646           "type": "object",
19647           "properties": {
19648             "hardware-id": {
19649               "type": "string"
19650             },
19651             "persistent": {
19652               "type": "boolean"
19653             },
19654             "size": {
19655               "type": "integer"
19656             },
19657             "volume-id": {
19658               "type": "string"
19659             }
19660           },
19661           "additionalProperties": false,
19662           "required": [
19663             "volume-id",
19664             "size",
19665             "persistent"
19666           ]
19667         },
19668         "VolumeParams": {
19669           "type": "object",
19670           "properties": {
19671             "attachment": {
19672               "$ref": "#/definitions/VolumeAttachmentParams"
19673             },
19674             "attributes": {
19675               "type": "object",
19676               "patternProperties": {
19677                 ".*": {
19678                   "type": "object",
19679                   "additionalProperties": true
19680                 }
19681               }
19682             },
19683             "provider": {
19684               "type": "string"
19685             },
19686             "size": {
19687               "type": "integer"
19688             },
19689             "tags": {
19690               "type": "object",
19691               "patternProperties": {
19692                 ".*": {
19693                   "type": "string"
19694                 }
19695               }
19696             },
19697             "volume-tag": {
19698               "type": "string"
19699             }
19700           },
19701           "additionalProperties": false,
19702           "required": [
19703             "volume-tag",
19704             "size",
19705             "provider"
19706           ]
19707         },
19708         "VolumeParamsResult": {
19709           "type": "object",
19710           "properties": {
19711             "error": {
19712               "$ref": "#/definitions/Error"
19713             },
19714             "result": {
19715               "$ref": "#/definitions/VolumeParams"
19716             }
19717           },
19718           "additionalProperties": false,
19719           "required": [
19720             "result"
19721           ]
19722         },
19723         "VolumeParamsResults": {
19724           "type": "object",
19725           "properties": {
19726             "results": {
19727               "type": "array",
19728               "items": {
19729                 "$ref": "#/definitions/VolumeParamsResult"
19730               }
19731             }
19732           },
19733           "additionalProperties": false
19734         },
19735         "VolumeResult": {
19736           "type": "object",
19737           "properties": {
19738             "error": {
19739               "$ref": "#/definitions/Error"
19740             },
19741             "result": {
19742               "$ref": "#/definitions/Volume"
19743             }
19744           },
19745           "additionalProperties": false,
19746           "required": [
19747             "result"
19748           ]
19749         },
19750         "VolumeResults": {
19751           "type": "object",
19752           "properties": {
19753             "results": {
19754               "type": "array",
19755               "items": {
19756                 "$ref": "#/definitions/VolumeResult"
19757               }
19758             }
19759           },
19760           "additionalProperties": false
19761         },
19762         "Volumes": {
19763           "type": "object",
19764           "properties": {
19765             "volumes": {
19766               "type": "array",
19767               "items": {
19768                 "$ref": "#/definitions/Volume"
19769               }
19770             }
19771           },
19772           "additionalProperties": false,
19773           "required": [
19774             "volumes"
19775           ]
19776         }
19777       }
19778     }
19779   },
19780   {
19781     "Name": "StringsWatcher",
19782     "Version": 1,
19783     "Schema": {
19784       "type": "object",
19785       "properties": {
19786         "Next": {
19787           "type": "object",
19788           "properties": {
19789             "Result": {
19790               "$ref": "#/definitions/StringsWatchResult"
19791             }
19792           }
19793         },
19794         "Stop": {
19795           "type": "object"
19796         }
19797       },
19798       "definitions": {
19799         "Error": {
19800           "type": "object",
19801           "properties": {
19802             "code": {
19803               "type": "string"
19804             },
19805             "info": {
19806               "$ref": "#/definitions/ErrorInfo"
19807             },
19808             "message": {
19809               "type": "string"
19810             }
19811           },
19812           "additionalProperties": false,
19813           "required": [
19814             "message",
19815             "code"
19816           ]
19817         },
19818         "ErrorInfo": {
19819           "type": "object",
19820           "properties": {
19821             "macaroon": {
19822               "$ref": "#/definitions/Macaroon"
19823             },
19824             "macaroon-path": {
19825               "type": "string"
19826             }
19827           },
19828           "additionalProperties": false
19829         },
19830         "Macaroon": {
19831           "type": "object",
19832           "additionalProperties": false
19833         },
19834         "StringsWatchResult": {
19835           "type": "object",
19836           "properties": {
19837             "changes": {
19838               "type": "array",
19839               "items": {
19840                 "type": "string"
19841               }
19842             },
19843             "error": {
19844               "$ref": "#/definitions/Error"
19845             },
19846             "watcher-id": {
19847               "type": "string"
19848             }
19849           },
19850           "additionalProperties": false,
19851           "required": [
19852             "watcher-id"
19853           ]
19854         }
19855       }
19856     }
19857   },
19858   {
19859     "Name": "Subnets",
19860     "Version": 2,
19861     "Schema": {
19862       "type": "object",
19863       "properties": {
19864         "AddSubnets": {
19865           "type": "object",
19866           "properties": {
19867             "Params": {
19868               "$ref": "#/definitions/AddSubnetsParams"
19869             },
19870             "Result": {
19871               "$ref": "#/definitions/ErrorResults"
19872             }
19873           }
19874         },
19875         "AllSpaces": {
19876           "type": "object",
19877           "properties": {
19878             "Result": {
19879               "$ref": "#/definitions/SpaceResults"
19880             }
19881           }
19882         },
19883         "AllZones": {
19884           "type": "object",
19885           "properties": {
19886             "Result": {
19887               "$ref": "#/definitions/ZoneResults"
19888             }
19889           }
19890         },
19891         "ListSubnets": {
19892           "type": "object",
19893           "properties": {
19894             "Params": {
19895               "$ref": "#/definitions/SubnetsFilters"
19896             },
19897             "Result": {
19898               "$ref": "#/definitions/ListSubnetsResults"
19899             }
19900           }
19901         }
19902       },
19903       "definitions": {
19904         "AddSubnetParams": {
19905           "type": "object",
19906           "properties": {
19907             "space-tag": {
19908               "type": "string"
19909             },
19910             "subnet-provider-id": {
19911               "type": "string"
19912             },
19913             "subnet-tag": {
19914               "type": "string"
19915             },
19916             "zones": {
19917               "type": "array",
19918               "items": {
19919                 "type": "string"
19920               }
19921             }
19922           },
19923           "additionalProperties": false,
19924           "required": [
19925             "space-tag"
19926           ]
19927         },
19928         "AddSubnetsParams": {
19929           "type": "object",
19930           "properties": {
19931             "subnets": {
19932               "type": "array",
19933               "items": {
19934                 "$ref": "#/definitions/AddSubnetParams"
19935               }
19936             }
19937           },
19938           "additionalProperties": false,
19939           "required": [
19940             "subnets"
19941           ]
19942         },
19943         "Error": {
19944           "type": "object",
19945           "properties": {
19946             "code": {
19947               "type": "string"
19948             },
19949             "info": {
19950               "$ref": "#/definitions/ErrorInfo"
19951             },
19952             "message": {
19953               "type": "string"
19954             }
19955           },
19956           "additionalProperties": false,
19957           "required": [
19958             "message",
19959             "code"
19960           ]
19961         },
19962         "ErrorInfo": {
19963           "type": "object",
19964           "properties": {
19965             "macaroon": {
19966               "$ref": "#/definitions/Macaroon"
19967             },
19968             "macaroon-path": {
19969               "type": "string"
19970             }
19971           },
19972           "additionalProperties": false
19973         },
19974         "ErrorResult": {
19975           "type": "object",
19976           "properties": {
19977             "error": {
19978               "$ref": "#/definitions/Error"
19979             }
19980           },
19981           "additionalProperties": false
19982         },
19983         "ErrorResults": {
19984           "type": "object",
19985           "properties": {
19986             "results": {
19987               "type": "array",
19988               "items": {
19989                 "$ref": "#/definitions/ErrorResult"
19990               }
19991             }
19992           },
19993           "additionalProperties": false,
19994           "required": [
19995             "results"
19996           ]
19997         },
19998         "ListSubnetsResults": {
19999           "type": "object",
20000           "properties": {
20001             "results": {
20002               "type": "array",
20003               "items": {
20004                 "$ref": "#/definitions/Subnet"
20005               }
20006             }
20007           },
20008           "additionalProperties": false,
20009           "required": [
20010             "results"
20011           ]
20012         },
20013         "Macaroon": {
20014           "type": "object",
20015           "additionalProperties": false
20016         },
20017         "SpaceResult": {
20018           "type": "object",
20019           "properties": {
20020             "error": {
20021               "$ref": "#/definitions/Error"
20022             },
20023             "tag": {
20024               "type": "string"
20025             }
20026           },
20027           "additionalProperties": false,
20028           "required": [
20029             "tag"
20030           ]
20031         },
20032         "SpaceResults": {
20033           "type": "object",
20034           "properties": {
20035             "results": {
20036               "type": "array",
20037               "items": {
20038                 "$ref": "#/definitions/SpaceResult"
20039               }
20040             }
20041           },
20042           "additionalProperties": false,
20043           "required": [
20044             "results"
20045           ]
20046         },
20047         "Subnet": {
20048           "type": "object",
20049           "properties": {
20050             "cidr": {
20051               "type": "string"
20052             },
20053             "life": {
20054               "type": "string"
20055             },
20056             "provider-id": {
20057               "type": "string"
20058             },
20059             "space-tag": {
20060               "type": "string"
20061             },
20062             "status": {
20063               "type": "string"
20064             },
20065             "vlan-tag": {
20066               "type": "integer"
20067             },
20068             "zones": {
20069               "type": "array",
20070               "items": {
20071                 "type": "string"
20072               }
20073             }
20074           },
20075           "additionalProperties": false,
20076           "required": [
20077             "cidr",
20078             "vlan-tag",
20079             "life",
20080             "space-tag",
20081             "zones"
20082           ]
20083         },
20084         "SubnetsFilters": {
20085           "type": "object",
20086           "properties": {
20087             "space-tag": {
20088               "type": "string"
20089             },
20090             "zone": {
20091               "type": "string"
20092             }
20093           },
20094           "additionalProperties": false
20095         },
20096         "ZoneResult": {
20097           "type": "object",
20098           "properties": {
20099             "available": {
20100               "type": "boolean"
20101             },
20102             "error": {
20103               "$ref": "#/definitions/Error"
20104             },
20105             "name": {
20106               "type": "string"
20107             }
20108           },
20109           "additionalProperties": false,
20110           "required": [
20111             "name",
20112             "available"
20113           ]
20114         },
20115         "ZoneResults": {
20116           "type": "object",
20117           "properties": {
20118             "results": {
20119               "type": "array",
20120               "items": {
20121                 "$ref": "#/definitions/ZoneResult"
20122               }
20123             }
20124           },
20125           "additionalProperties": false,
20126           "required": [
20127             "results"
20128           ]
20129         }
20130       }
20131     }
20132   },
20133   {
20134     "Name": "Undertaker",
20135     "Version": 1,
20136     "Schema": {
20137       "type": "object",
20138       "properties": {
20139         "ModelConfig": {
20140           "type": "object",
20141           "properties": {
20142             "Result": {
20143               "$ref": "#/definitions/ModelConfigResult"
20144             }
20145           }
20146         },
20147         "ModelInfo": {
20148           "type": "object",
20149           "properties": {
20150             "Result": {
20151               "$ref": "#/definitions/UndertakerModelInfoResult"
20152             }
20153           }
20154         },
20155         "ProcessDyingModel": {
20156           "type": "object"
20157         },
20158         "RemoveModel": {
20159           "type": "object"
20160         },
20161         "SetStatus": {
20162           "type": "object",
20163           "properties": {
20164             "Params": {
20165               "$ref": "#/definitions/SetStatus"
20166             },
20167             "Result": {
20168               "$ref": "#/definitions/ErrorResults"
20169             }
20170           }
20171         },
20172         "UpdateStatus": {
20173           "type": "object",
20174           "properties": {
20175             "Params": {
20176               "$ref": "#/definitions/SetStatus"
20177             },
20178             "Result": {
20179               "$ref": "#/definitions/ErrorResults"
20180             }
20181           }
20182         },
20183         "WatchModelResources": {
20184           "type": "object",
20185           "properties": {
20186             "Result": {
20187               "$ref": "#/definitions/NotifyWatchResults"
20188             }
20189           }
20190         }
20191       },
20192       "definitions": {
20193         "EntityStatusArgs": {
20194           "type": "object",
20195           "properties": {
20196             "data": {
20197               "type": "object",
20198               "patternProperties": {
20199                 ".*": {
20200                   "type": "object",
20201                   "additionalProperties": true
20202                 }
20203               }
20204             },
20205             "info": {
20206               "type": "string"
20207             },
20208             "status": {
20209               "type": "string"
20210             },
20211             "tag": {
20212               "type": "string"
20213             }
20214           },
20215           "additionalProperties": false,
20216           "required": [
20217             "tag",
20218             "status",
20219             "info",
20220             "data"
20221           ]
20222         },
20223         "Error": {
20224           "type": "object",
20225           "properties": {
20226             "code": {
20227               "type": "string"
20228             },
20229             "info": {
20230               "$ref": "#/definitions/ErrorInfo"
20231             },
20232             "message": {
20233               "type": "string"
20234             }
20235           },
20236           "additionalProperties": false,
20237           "required": [
20238             "message",
20239             "code"
20240           ]
20241         },
20242         "ErrorInfo": {
20243           "type": "object",
20244           "properties": {
20245             "macaroon": {
20246               "$ref": "#/definitions/Macaroon"
20247             },
20248             "macaroon-path": {
20249               "type": "string"
20250             }
20251           },
20252           "additionalProperties": false
20253         },
20254         "ErrorResult": {
20255           "type": "object",
20256           "properties": {
20257             "error": {
20258               "$ref": "#/definitions/Error"
20259             }
20260           },
20261           "additionalProperties": false
20262         },
20263         "ErrorResults": {
20264           "type": "object",
20265           "properties": {
20266             "results": {
20267               "type": "array",
20268               "items": {
20269                 "$ref": "#/definitions/ErrorResult"
20270               }
20271             }
20272           },
20273           "additionalProperties": false,
20274           "required": [
20275             "results"
20276           ]
20277         },
20278         "Macaroon": {
20279           "type": "object",
20280           "additionalProperties": false
20281         },
20282         "ModelConfigResult": {
20283           "type": "object",
20284           "properties": {
20285             "config": {
20286               "type": "object",
20287               "patternProperties": {
20288                 ".*": {
20289                   "type": "object",
20290                   "additionalProperties": true
20291                 }
20292               }
20293             }
20294           },
20295           "additionalProperties": false,
20296           "required": [
20297             "config"
20298           ]
20299         },
20300         "NotifyWatchResult": {
20301           "type": "object",
20302           "properties": {
20303             "NotifyWatcherId": {
20304               "type": "string"
20305             },
20306             "error": {
20307               "$ref": "#/definitions/Error"
20308             }
20309           },
20310           "additionalProperties": false,
20311           "required": [
20312             "NotifyWatcherId"
20313           ]
20314         },
20315         "NotifyWatchResults": {
20316           "type": "object",
20317           "properties": {
20318             "results": {
20319               "type": "array",
20320               "items": {
20321                 "$ref": "#/definitions/NotifyWatchResult"
20322               }
20323             }
20324           },
20325           "additionalProperties": false,
20326           "required": [
20327             "results"
20328           ]
20329         },
20330         "SetStatus": {
20331           "type": "object",
20332           "properties": {
20333             "entities": {
20334               "type": "array",
20335               "items": {
20336                 "$ref": "#/definitions/EntityStatusArgs"
20337               }
20338             }
20339           },
20340           "additionalProperties": false,
20341           "required": [
20342             "entities"
20343           ]
20344         },
20345         "UndertakerModelInfo": {
20346           "type": "object",
20347           "properties": {
20348             "global-name": {
20349               "type": "string"
20350             },
20351             "is-system": {
20352               "type": "boolean"
20353             },
20354             "life": {
20355               "type": "string"
20356             },
20357             "name": {
20358               "type": "string"
20359             },
20360             "uuid": {
20361               "type": "string"
20362             }
20363           },
20364           "additionalProperties": false,
20365           "required": [
20366             "uuid",
20367             "name",
20368             "global-name",
20369             "is-system",
20370             "life"
20371           ]
20372         },
20373         "UndertakerModelInfoResult": {
20374           "type": "object",
20375           "properties": {
20376             "error": {
20377               "$ref": "#/definitions/Error"
20378             },
20379             "result": {
20380               "$ref": "#/definitions/UndertakerModelInfo"
20381             }
20382           },
20383           "additionalProperties": false,
20384           "required": [
20385             "result"
20386           ]
20387         }
20388       }
20389     }
20390   },
20391   {
20392     "Name": "UnitAssigner",
20393     "Version": 1,
20394     "Schema": {
20395       "type": "object",
20396       "properties": {
20397         "AssignUnits": {
20398           "type": "object",
20399           "properties": {
20400             "Params": {
20401               "$ref": "#/definitions/Entities"
20402             },
20403             "Result": {
20404               "$ref": "#/definitions/ErrorResults"
20405             }
20406           }
20407         },
20408         "SetAgentStatus": {
20409           "type": "object",
20410           "properties": {
20411             "Params": {
20412               "$ref": "#/definitions/SetStatus"
20413             },
20414             "Result": {
20415               "$ref": "#/definitions/ErrorResults"
20416             }
20417           }
20418         },
20419         "WatchUnitAssignments": {
20420           "type": "object",
20421           "properties": {
20422             "Result": {
20423               "$ref": "#/definitions/StringsWatchResult"
20424             }
20425           }
20426         }
20427       },
20428       "definitions": {
20429         "Entities": {
20430           "type": "object",
20431           "properties": {
20432             "entities": {
20433               "type": "array",
20434               "items": {
20435                 "$ref": "#/definitions/Entity"
20436               }
20437             }
20438           },
20439           "additionalProperties": false,
20440           "required": [
20441             "entities"
20442           ]
20443         },
20444         "Entity": {
20445           "type": "object",
20446           "properties": {
20447             "tag": {
20448               "type": "string"
20449             }
20450           },
20451           "additionalProperties": false,
20452           "required": [
20453             "tag"
20454           ]
20455         },
20456         "EntityStatusArgs": {
20457           "type": "object",
20458           "properties": {
20459             "data": {
20460               "type": "object",
20461               "patternProperties": {
20462                 ".*": {
20463                   "type": "object",
20464                   "additionalProperties": true
20465                 }
20466               }
20467             },
20468             "info": {
20469               "type": "string"
20470             },
20471             "status": {
20472               "type": "string"
20473             },
20474             "tag": {
20475               "type": "string"
20476             }
20477           },
20478           "additionalProperties": false,
20479           "required": [
20480             "tag",
20481             "status",
20482             "info",
20483             "data"
20484           ]
20485         },
20486         "Error": {
20487           "type": "object",
20488           "properties": {
20489             "code": {
20490               "type": "string"
20491             },
20492             "info": {
20493               "$ref": "#/definitions/ErrorInfo"
20494             },
20495             "message": {
20496               "type": "string"
20497             }
20498           },
20499           "additionalProperties": false,
20500           "required": [
20501             "message",
20502             "code"
20503           ]
20504         },
20505         "ErrorInfo": {
20506           "type": "object",
20507           "properties": {
20508             "macaroon": {
20509               "$ref": "#/definitions/Macaroon"
20510             },
20511             "macaroon-path": {
20512               "type": "string"
20513             }
20514           },
20515           "additionalProperties": false
20516         },
20517         "ErrorResult": {
20518           "type": "object",
20519           "properties": {
20520             "error": {
20521               "$ref": "#/definitions/Error"
20522             }
20523           },
20524           "additionalProperties": false
20525         },
20526         "ErrorResults": {
20527           "type": "object",
20528           "properties": {
20529             "results": {
20530               "type": "array",
20531               "items": {
20532                 "$ref": "#/definitions/ErrorResult"
20533               }
20534             }
20535           },
20536           "additionalProperties": false,
20537           "required": [
20538             "results"
20539           ]
20540         },
20541         "Macaroon": {
20542           "type": "object",
20543           "additionalProperties": false
20544         },
20545         "SetStatus": {
20546           "type": "object",
20547           "properties": {
20548             "entities": {
20549               "type": "array",
20550               "items": {
20551                 "$ref": "#/definitions/EntityStatusArgs"
20552               }
20553             }
20554           },
20555           "additionalProperties": false,
20556           "required": [
20557             "entities"
20558           ]
20559         },
20560         "StringsWatchResult": {
20561           "type": "object",
20562           "properties": {
20563             "changes": {
20564               "type": "array",
20565               "items": {
20566                 "type": "string"
20567               }
20568             },
20569             "error": {
20570               "$ref": "#/definitions/Error"
20571             },
20572             "watcher-id": {
20573               "type": "string"
20574             }
20575           },
20576           "additionalProperties": false,
20577           "required": [
20578             "watcher-id"
20579           ]
20580         }
20581       }
20582     }
20583   },
20584   {
20585     "Name": "Uniter",
20586     "Version": 4,
20587     "Schema": {
20588       "type": "object",
20589       "properties": {
20590         "APIAddresses": {
20591           "type": "object",
20592           "properties": {
20593             "Result": {
20594               "$ref": "#/definitions/StringsResult"
20595             }
20596           }
20597         },
20598         "APIHostPorts": {
20599           "type": "object",
20600           "properties": {
20601             "Result": {
20602               "$ref": "#/definitions/APIHostPortsResult"
20603             }
20604           }
20605         },
20606         "Actions": {
20607           "type": "object",
20608           "properties": {
20609             "Params": {
20610               "$ref": "#/definitions/Entities"
20611             },
20612             "Result": {
20613               "$ref": "#/definitions/ActionResults"
20614             }
20615           }
20616         },
20617         "AddMetricBatches": {
20618           "type": "object",
20619           "properties": {
20620             "Params": {
20621               "$ref": "#/definitions/MetricBatchParams"
20622             },
20623             "Result": {
20624               "$ref": "#/definitions/ErrorResults"
20625             }
20626           }
20627         },
20628         "AddUnitStorage": {
20629           "type": "object",
20630           "properties": {
20631             "Params": {
20632               "$ref": "#/definitions/StoragesAddParams"
20633             },
20634             "Result": {
20635               "$ref": "#/definitions/ErrorResults"
20636             }
20637           }
20638         },
20639         "AllMachinePorts": {
20640           "type": "object",
20641           "properties": {
20642             "Params": {
20643               "$ref": "#/definitions/Entities"
20644             },
20645             "Result": {
20646               "$ref": "#/definitions/MachinePortsResults"
20647             }
20648           }
20649         },
20650         "ApplicationStatus": {
20651           "type": "object",
20652           "properties": {
20653             "Params": {
20654               "$ref": "#/definitions/Entities"
20655             },
20656             "Result": {
20657               "$ref": "#/definitions/ApplicationStatusResults"
20658             }
20659           }
20660         },
20661         "AssignedMachine": {
20662           "type": "object",
20663           "properties": {
20664             "Params": {
20665               "$ref": "#/definitions/Entities"
20666             },
20667             "Result": {
20668               "$ref": "#/definitions/StringResults"
20669             }
20670           }
20671         },
20672         "AvailabilityZone": {
20673           "type": "object",
20674           "properties": {
20675             "Params": {
20676               "$ref": "#/definitions/Entities"
20677             },
20678             "Result": {
20679               "$ref": "#/definitions/StringResults"
20680             }
20681           }
20682         },
20683         "BeginActions": {
20684           "type": "object",
20685           "properties": {
20686             "Params": {
20687               "$ref": "#/definitions/Entities"
20688             },
20689             "Result": {
20690               "$ref": "#/definitions/ErrorResults"
20691             }
20692           }
20693         },
20694         "CACert": {
20695           "type": "object",
20696           "properties": {
20697             "Result": {
20698               "$ref": "#/definitions/BytesResult"
20699             }
20700           }
20701         },
20702         "CharmArchiveSha256": {
20703           "type": "object",
20704           "properties": {
20705             "Params": {
20706               "$ref": "#/definitions/CharmURLs"
20707             },
20708             "Result": {
20709               "$ref": "#/definitions/StringResults"
20710             }
20711           }
20712         },
20713         "CharmModifiedVersion": {
20714           "type": "object",
20715           "properties": {
20716             "Params": {
20717               "$ref": "#/definitions/Entities"
20718             },
20719             "Result": {
20720               "$ref": "#/definitions/IntResults"
20721             }
20722           }
20723         },
20724         "CharmURL": {
20725           "type": "object",
20726           "properties": {
20727             "Params": {
20728               "$ref": "#/definitions/Entities"
20729             },
20730             "Result": {
20731               "$ref": "#/definitions/StringBoolResults"
20732             }
20733           }
20734         },
20735         "ClearResolved": {
20736           "type": "object",
20737           "properties": {
20738             "Params": {
20739               "$ref": "#/definitions/Entities"
20740             },
20741             "Result": {
20742               "$ref": "#/definitions/ErrorResults"
20743             }
20744           }
20745         },
20746         "ClosePorts": {
20747           "type": "object",
20748           "properties": {
20749             "Params": {
20750               "$ref": "#/definitions/EntitiesPortRanges"
20751             },
20752             "Result": {
20753               "$ref": "#/definitions/ErrorResults"
20754             }
20755           }
20756         },
20757         "ConfigSettings": {
20758           "type": "object",
20759           "properties": {
20760             "Params": {
20761               "$ref": "#/definitions/Entities"
20762             },
20763             "Result": {
20764               "$ref": "#/definitions/ConfigSettingsResults"
20765             }
20766           }
20767         },
20768         "CurrentModel": {
20769           "type": "object",
20770           "properties": {
20771             "Result": {
20772               "$ref": "#/definitions/ModelResult"
20773             }
20774           }
20775         },
20776         "Destroy": {
20777           "type": "object",
20778           "properties": {
20779             "Params": {
20780               "$ref": "#/definitions/Entities"
20781             },
20782             "Result": {
20783               "$ref": "#/definitions/ErrorResults"
20784             }
20785           }
20786         },
20787         "DestroyAllSubordinates": {
20788           "type": "object",
20789           "properties": {
20790             "Params": {
20791               "$ref": "#/definitions/Entities"
20792             },
20793             "Result": {
20794               "$ref": "#/definitions/ErrorResults"
20795             }
20796           }
20797         },
20798         "DestroyUnitStorageAttachments": {
20799           "type": "object",
20800           "properties": {
20801             "Params": {
20802               "$ref": "#/definitions/Entities"
20803             },
20804             "Result": {
20805               "$ref": "#/definitions/ErrorResults"
20806             }
20807           }
20808         },
20809         "EnsureDead": {
20810           "type": "object",
20811           "properties": {
20812             "Params": {
20813               "$ref": "#/definitions/Entities"
20814             },
20815             "Result": {
20816               "$ref": "#/definitions/ErrorResults"
20817             }
20818           }
20819         },
20820         "EnterScope": {
20821           "type": "object",
20822           "properties": {
20823             "Params": {
20824               "$ref": "#/definitions/RelationUnits"
20825             },
20826             "Result": {
20827               "$ref": "#/definitions/ErrorResults"
20828             }
20829           }
20830         },
20831         "FinishActions": {
20832           "type": "object",
20833           "properties": {
20834             "Params": {
20835               "$ref": "#/definitions/ActionExecutionResults"
20836             },
20837             "Result": {
20838               "$ref": "#/definitions/ErrorResults"
20839             }
20840           }
20841         },
20842         "GetMeterStatus": {
20843           "type": "object",
20844           "properties": {
20845             "Params": {
20846               "$ref": "#/definitions/Entities"
20847             },
20848             "Result": {
20849               "$ref": "#/definitions/MeterStatusResults"
20850             }
20851           }
20852         },
20853         "GetPrincipal": {
20854           "type": "object",
20855           "properties": {
20856             "Params": {
20857               "$ref": "#/definitions/Entities"
20858             },
20859             "Result": {
20860               "$ref": "#/definitions/StringBoolResults"
20861             }
20862           }
20863         },
20864         "HasSubordinates": {
20865           "type": "object",
20866           "properties": {
20867             "Params": {
20868               "$ref": "#/definitions/Entities"
20869             },
20870             "Result": {
20871               "$ref": "#/definitions/BoolResults"
20872             }
20873           }
20874         },
20875         "JoinedRelations": {
20876           "type": "object",
20877           "properties": {
20878             "Params": {
20879               "$ref": "#/definitions/Entities"
20880             },
20881             "Result": {
20882               "$ref": "#/definitions/StringsResults"
20883             }
20884           }
20885         },
20886         "LeaveScope": {
20887           "type": "object",
20888           "properties": {
20889             "Params": {
20890               "$ref": "#/definitions/RelationUnits"
20891             },
20892             "Result": {
20893               "$ref": "#/definitions/ErrorResults"
20894             }
20895           }
20896         },
20897         "Life": {
20898           "type": "object",
20899           "properties": {
20900             "Params": {
20901               "$ref": "#/definitions/Entities"
20902             },
20903             "Result": {
20904               "$ref": "#/definitions/LifeResults"
20905             }
20906           }
20907         },
20908         "Merge": {
20909           "type": "object",
20910           "properties": {
20911             "Params": {
20912               "$ref": "#/definitions/MergeLeadershipSettingsBulkParams"
20913             },
20914             "Result": {
20915               "$ref": "#/definitions/ErrorResults"
20916             }
20917           }
20918         },
20919         "ModelConfig": {
20920           "type": "object",
20921           "properties": {
20922             "Result": {
20923               "$ref": "#/definitions/ModelConfigResult"
20924             }
20925           }
20926         },
20927         "ModelUUID": {
20928           "type": "object",
20929           "properties": {
20930             "Result": {
20931               "$ref": "#/definitions/StringResult"
20932             }
20933           }
20934         },
20935         "NetworkConfig": {
20936           "type": "object",
20937           "properties": {
20938             "Params": {
20939               "$ref": "#/definitions/UnitsNetworkConfig"
20940             },
20941             "Result": {
20942               "$ref": "#/definitions/UnitNetworkConfigResults"
20943             }
20944           }
20945         },
20946         "OpenPorts": {
20947           "type": "object",
20948           "properties": {
20949             "Params": {
20950               "$ref": "#/definitions/EntitiesPortRanges"
20951             },
20952             "Result": {
20953               "$ref": "#/definitions/ErrorResults"
20954             }
20955           }
20956         },
20957         "PrivateAddress": {
20958           "type": "object",
20959           "properties": {
20960             "Params": {
20961               "$ref": "#/definitions/Entities"
20962             },
20963             "Result": {
20964               "$ref": "#/definitions/StringResults"
20965             }
20966           }
20967         },
20968         "ProviderType": {
20969           "type": "object",
20970           "properties": {
20971             "Result": {
20972               "$ref": "#/definitions/StringResult"
20973             }
20974           }
20975         },
20976         "PublicAddress": {
20977           "type": "object",
20978           "properties": {
20979             "Params": {
20980               "$ref": "#/definitions/Entities"
20981             },
20982             "Result": {
20983               "$ref": "#/definitions/StringResults"
20984             }
20985           }
20986         },
20987         "Read": {
20988           "type": "object",
20989           "properties": {
20990             "Params": {
20991               "$ref": "#/definitions/Entities"
20992             },
20993             "Result": {
20994               "$ref": "#/definitions/GetLeadershipSettingsBulkResults"
20995             }
20996           }
20997         },
20998         "ReadRemoteSettings": {
20999           "type": "object",
21000           "properties": {
21001             "Params": {
21002               "$ref": "#/definitions/RelationUnitPairs"
21003             },
21004             "Result": {
21005               "$ref": "#/definitions/SettingsResults"
21006             }
21007           }
21008         },
21009         "ReadSettings": {
21010           "type": "object",
21011           "properties": {
21012             "Params": {
21013               "$ref": "#/definitions/RelationUnits"
21014             },
21015             "Result": {
21016               "$ref": "#/definitions/SettingsResults"
21017             }
21018           }
21019         },
21020         "Relation": {
21021           "type": "object",
21022           "properties": {
21023             "Params": {
21024               "$ref": "#/definitions/RelationUnits"
21025             },
21026             "Result": {
21027               "$ref": "#/definitions/RelationResults"
21028             }
21029           }
21030         },
21031         "RelationById": {
21032           "type": "object",
21033           "properties": {
21034             "Params": {
21035               "$ref": "#/definitions/RelationIds"
21036             },
21037             "Result": {
21038               "$ref": "#/definitions/RelationResults"
21039             }
21040           }
21041         },
21042         "RemoveStorageAttachments": {
21043           "type": "object",
21044           "properties": {
21045             "Params": {
21046               "$ref": "#/definitions/StorageAttachmentIds"
21047             },
21048             "Result": {
21049               "$ref": "#/definitions/ErrorResults"
21050             }
21051           }
21052         },
21053         "RequestReboot": {
21054           "type": "object",
21055           "properties": {
21056             "Params": {
21057               "$ref": "#/definitions/Entities"
21058             },
21059             "Result": {
21060               "$ref": "#/definitions/ErrorResults"
21061             }
21062           }
21063         },
21064         "Resolved": {
21065           "type": "object",
21066           "properties": {
21067             "Params": {
21068               "$ref": "#/definitions/Entities"
21069             },
21070             "Result": {
21071               "$ref": "#/definitions/ResolvedModeResults"
21072             }
21073           }
21074         },
21075         "SetAgentStatus": {
21076           "type": "object",
21077           "properties": {
21078             "Params": {
21079               "$ref": "#/definitions/SetStatus"
21080             },
21081             "Result": {
21082               "$ref": "#/definitions/ErrorResults"
21083             }
21084           }
21085         },
21086         "SetApplicationStatus": {
21087           "type": "object",
21088           "properties": {
21089             "Params": {
21090               "$ref": "#/definitions/SetStatus"
21091             },
21092             "Result": {
21093               "$ref": "#/definitions/ErrorResults"
21094             }
21095           }
21096         },
21097         "SetCharmURL": {
21098           "type": "object",
21099           "properties": {
21100             "Params": {
21101               "$ref": "#/definitions/EntitiesCharmURL"
21102             },
21103             "Result": {
21104               "$ref": "#/definitions/ErrorResults"
21105             }
21106           }
21107         },
21108         "SetStatus": {
21109           "type": "object",
21110           "properties": {
21111             "Params": {
21112               "$ref": "#/definitions/SetStatus"
21113             },
21114             "Result": {
21115               "$ref": "#/definitions/ErrorResults"
21116             }
21117           }
21118         },
21119         "SetUnitStatus": {
21120           "type": "object",
21121           "properties": {
21122             "Params": {
21123               "$ref": "#/definitions/SetStatus"
21124             },
21125             "Result": {
21126               "$ref": "#/definitions/ErrorResults"
21127             }
21128           }
21129         },
21130         "SetWorkloadVersion": {
21131           "type": "object",
21132           "properties": {
21133             "Params": {
21134               "$ref": "#/definitions/EntityWorkloadVersions"
21135             },
21136             "Result": {
21137               "$ref": "#/definitions/ErrorResults"
21138             }
21139           }
21140         },
21141         "StorageAttachmentLife": {
21142           "type": "object",
21143           "properties": {
21144             "Params": {
21145               "$ref": "#/definitions/StorageAttachmentIds"
21146             },
21147             "Result": {
21148               "$ref": "#/definitions/LifeResults"
21149             }
21150           }
21151         },
21152         "StorageAttachments": {
21153           "type": "object",
21154           "properties": {
21155             "Params": {
21156               "$ref": "#/definitions/StorageAttachmentIds"
21157             },
21158             "Result": {
21159               "$ref": "#/definitions/StorageAttachmentResults"
21160             }
21161           }
21162         },
21163         "UnitStatus": {
21164           "type": "object",
21165           "properties": {
21166             "Params": {
21167               "$ref": "#/definitions/Entities"
21168             },
21169             "Result": {
21170               "$ref": "#/definitions/StatusResults"
21171             }
21172           }
21173         },
21174         "UnitStorageAttachments": {
21175           "type": "object",
21176           "properties": {
21177             "Params": {
21178               "$ref": "#/definitions/Entities"
21179             },
21180             "Result": {
21181               "$ref": "#/definitions/StorageAttachmentIdsResults"
21182             }
21183           }
21184         },
21185         "UpdateSettings": {
21186           "type": "object",
21187           "properties": {
21188             "Params": {
21189               "$ref": "#/definitions/RelationUnitsSettings"
21190             },
21191             "Result": {
21192               "$ref": "#/definitions/ErrorResults"
21193             }
21194           }
21195         },
21196         "Watch": {
21197           "type": "object",
21198           "properties": {
21199             "Params": {
21200               "$ref": "#/definitions/Entities"
21201             },
21202             "Result": {
21203               "$ref": "#/definitions/NotifyWatchResults"
21204             }
21205           }
21206         },
21207         "WatchAPIHostPorts": {
21208           "type": "object",
21209           "properties": {
21210             "Result": {
21211               "$ref": "#/definitions/NotifyWatchResult"
21212             }
21213           }
21214         },
21215         "WatchActionNotifications": {
21216           "type": "object",
21217           "properties": {
21218             "Params": {
21219               "$ref": "#/definitions/Entities"
21220             },
21221             "Result": {
21222               "$ref": "#/definitions/StringsWatchResults"
21223             }
21224           }
21225         },
21226         "WatchApplicationRelations": {
21227           "type": "object",
21228           "properties": {
21229             "Params": {
21230               "$ref": "#/definitions/Entities"
21231             },
21232             "Result": {
21233               "$ref": "#/definitions/StringsWatchResults"
21234             }
21235           }
21236         },
21237         "WatchConfigSettings": {
21238           "type": "object",
21239           "properties": {
21240             "Params": {
21241               "$ref": "#/definitions/Entities"
21242             },
21243             "Result": {
21244               "$ref": "#/definitions/NotifyWatchResults"
21245             }
21246           }
21247         },
21248         "WatchForModelConfigChanges": {
21249           "type": "object",
21250           "properties": {
21251             "Result": {
21252               "$ref": "#/definitions/NotifyWatchResult"
21253             }
21254           }
21255         },
21256         "WatchLeadershipSettings": {
21257           "type": "object",
21258           "properties": {
21259             "Params": {
21260               "$ref": "#/definitions/Entities"
21261             },
21262             "Result": {
21263               "$ref": "#/definitions/NotifyWatchResults"
21264             }
21265           }
21266         },
21267         "WatchMeterStatus": {
21268           "type": "object",
21269           "properties": {
21270             "Params": {
21271               "$ref": "#/definitions/Entities"
21272             },
21273             "Result": {
21274               "$ref": "#/definitions/NotifyWatchResults"
21275             }
21276           }
21277         },
21278         "WatchRelationUnits": {
21279           "type": "object",
21280           "properties": {
21281             "Params": {
21282               "$ref": "#/definitions/RelationUnits"
21283             },
21284             "Result": {
21285               "$ref": "#/definitions/RelationUnitsWatchResults"
21286             }
21287           }
21288         },
21289         "WatchStorageAttachments": {
21290           "type": "object",
21291           "properties": {
21292             "Params": {
21293               "$ref": "#/definitions/StorageAttachmentIds"
21294             },
21295             "Result": {
21296               "$ref": "#/definitions/NotifyWatchResults"
21297             }
21298           }
21299         },
21300         "WatchUnitAddresses": {
21301           "type": "object",
21302           "properties": {
21303             "Params": {
21304               "$ref": "#/definitions/Entities"
21305             },
21306             "Result": {
21307               "$ref": "#/definitions/NotifyWatchResults"
21308             }
21309           }
21310         },
21311         "WatchUnitStorageAttachments": {
21312           "type": "object",
21313           "properties": {
21314             "Params": {
21315               "$ref": "#/definitions/Entities"
21316             },
21317             "Result": {
21318               "$ref": "#/definitions/StringsWatchResults"
21319             }
21320           }
21321         },
21322         "WorkloadVersion": {
21323           "type": "object",
21324           "properties": {
21325             "Params": {
21326               "$ref": "#/definitions/Entities"
21327             },
21328             "Result": {
21329               "$ref": "#/definitions/StringResults"
21330             }
21331           }
21332         }
21333       },
21334       "definitions": {
21335         "APIHostPortsResult": {
21336           "type": "object",
21337           "properties": {
21338             "servers": {
21339               "type": "array",
21340               "items": {
21341                 "type": "array",
21342                 "items": {
21343                   "$ref": "#/definitions/HostPort"
21344                 }
21345               }
21346             }
21347           },
21348           "additionalProperties": false,
21349           "required": [
21350             "servers"
21351           ]
21352         },
21353         "Action": {
21354           "type": "object",
21355           "properties": {
21356             "name": {
21357               "type": "string"
21358             },
21359             "parameters": {
21360               "type": "object",
21361               "patternProperties": {
21362                 ".*": {
21363                   "type": "object",
21364                   "additionalProperties": true
21365                 }
21366               }
21367             },
21368             "receiver": {
21369               "type": "string"
21370             },
21371             "tag": {
21372               "type": "string"
21373             }
21374           },
21375           "additionalProperties": false,
21376           "required": [
21377             "tag",
21378             "receiver",
21379             "name"
21380           ]
21381         },
21382         "ActionExecutionResult": {
21383           "type": "object",
21384           "properties": {
21385             "action-tag": {
21386               "type": "string"
21387             },
21388             "message": {
21389               "type": "string"
21390             },
21391             "results": {
21392               "type": "object",
21393               "patternProperties": {
21394                 ".*": {
21395                   "type": "object",
21396                   "additionalProperties": true
21397                 }
21398               }
21399             },
21400             "status": {
21401               "type": "string"
21402             }
21403           },
21404           "additionalProperties": false,
21405           "required": [
21406             "action-tag",
21407             "status"
21408           ]
21409         },
21410         "ActionExecutionResults": {
21411           "type": "object",
21412           "properties": {
21413             "results": {
21414               "type": "array",
21415               "items": {
21416                 "$ref": "#/definitions/ActionExecutionResult"
21417               }
21418             }
21419           },
21420           "additionalProperties": false
21421         },
21422         "ActionResult": {
21423           "type": "object",
21424           "properties": {
21425             "action": {
21426               "$ref": "#/definitions/Action"
21427             },
21428             "completed": {
21429               "type": "string",
21430               "format": "date-time"
21431             },
21432             "enqueued": {
21433               "type": "string",
21434               "format": "date-time"
21435             },
21436             "error": {
21437               "$ref": "#/definitions/Error"
21438             },
21439             "message": {
21440               "type": "string"
21441             },
21442             "output": {
21443               "type": "object",
21444               "patternProperties": {
21445                 ".*": {
21446                   "type": "object",
21447                   "additionalProperties": true
21448                 }
21449               }
21450             },
21451             "started": {
21452               "type": "string",
21453               "format": "date-time"
21454             },
21455             "status": {
21456               "type": "string"
21457             }
21458           },
21459           "additionalProperties": false
21460         },
21461         "ActionResults": {
21462           "type": "object",
21463           "properties": {
21464             "results": {
21465               "type": "array",
21466               "items": {
21467                 "$ref": "#/definitions/ActionResult"
21468               }
21469             }
21470           },
21471           "additionalProperties": false
21472         },
21473         "Address": {
21474           "type": "object",
21475           "properties": {
21476             "scope": {
21477               "type": "string"
21478             },
21479             "space-name": {
21480               "type": "string"
21481             },
21482             "type": {
21483               "type": "string"
21484             },
21485             "value": {
21486               "type": "string"
21487             }
21488           },
21489           "additionalProperties": false,
21490           "required": [
21491             "value",
21492             "type",
21493             "scope"
21494           ]
21495         },
21496         "ApplicationStatusResult": {
21497           "type": "object",
21498           "properties": {
21499             "application": {
21500               "$ref": "#/definitions/StatusResult"
21501             },
21502             "error": {
21503               "$ref": "#/definitions/Error"
21504             },
21505             "units": {
21506               "type": "object",
21507               "patternProperties": {
21508                 ".*": {
21509                   "$ref": "#/definitions/StatusResult"
21510                 }
21511               }
21512             }
21513           },
21514           "additionalProperties": false,
21515           "required": [
21516             "application",
21517             "units"
21518           ]
21519         },
21520         "ApplicationStatusResults": {
21521           "type": "object",
21522           "properties": {
21523             "results": {
21524               "type": "array",
21525               "items": {
21526                 "$ref": "#/definitions/ApplicationStatusResult"
21527               }
21528             }
21529           },
21530           "additionalProperties": false,
21531           "required": [
21532             "results"
21533           ]
21534         },
21535         "BoolResult": {
21536           "type": "object",
21537           "properties": {
21538             "error": {
21539               "$ref": "#/definitions/Error"
21540             },
21541             "result": {
21542               "type": "boolean"
21543             }
21544           },
21545           "additionalProperties": false,
21546           "required": [
21547             "result"
21548           ]
21549         },
21550         "BoolResults": {
21551           "type": "object",
21552           "properties": {
21553             "results": {
21554               "type": "array",
21555               "items": {
21556                 "$ref": "#/definitions/BoolResult"
21557               }
21558             }
21559           },
21560           "additionalProperties": false,
21561           "required": [
21562             "results"
21563           ]
21564         },
21565         "BytesResult": {
21566           "type": "object",
21567           "properties": {
21568             "result": {
21569               "type": "array",
21570               "items": {
21571                 "type": "integer"
21572               }
21573             }
21574           },
21575           "additionalProperties": false,
21576           "required": [
21577             "result"
21578           ]
21579         },
21580         "CharmRelation": {
21581           "type": "object",
21582           "properties": {
21583             "interface": {
21584               "type": "string"
21585             },
21586             "limit": {
21587               "type": "integer"
21588             },
21589             "name": {
21590               "type": "string"
21591             },
21592             "optional": {
21593               "type": "boolean"
21594             },
21595             "role": {
21596               "type": "string"
21597             },
21598             "scope": {
21599               "type": "string"
21600             }
21601           },
21602           "additionalProperties": false,
21603           "required": [
21604             "name",
21605             "role",
21606             "interface",
21607             "optional",
21608             "limit",
21609             "scope"
21610           ]
21611         },
21612         "CharmURL": {
21613           "type": "object",
21614           "properties": {
21615             "url": {
21616               "type": "string"
21617             }
21618           },
21619           "additionalProperties": false,
21620           "required": [
21621             "url"
21622           ]
21623         },
21624         "CharmURLs": {
21625           "type": "object",
21626           "properties": {
21627             "urls": {
21628               "type": "array",
21629               "items": {
21630                 "$ref": "#/definitions/CharmURL"
21631               }
21632             }
21633           },
21634           "additionalProperties": false,
21635           "required": [
21636             "urls"
21637           ]
21638         },
21639         "ConfigSettingsResult": {
21640           "type": "object",
21641           "properties": {
21642             "error": {
21643               "$ref": "#/definitions/Error"
21644             },
21645             "settings": {
21646               "type": "object",
21647               "patternProperties": {
21648                 ".*": {
21649                   "type": "object",
21650                   "additionalProperties": true
21651                 }
21652               }
21653             }
21654           },
21655           "additionalProperties": false,
21656           "required": [
21657             "settings"
21658           ]
21659         },
21660         "ConfigSettingsResults": {
21661           "type": "object",
21662           "properties": {
21663             "results": {
21664               "type": "array",
21665               "items": {
21666                 "$ref": "#/definitions/ConfigSettingsResult"
21667               }
21668             }
21669           },
21670           "additionalProperties": false,
21671           "required": [
21672             "results"
21673           ]
21674         },
21675         "Endpoint": {
21676           "type": "object",
21677           "properties": {
21678             "application-name": {
21679               "type": "string"
21680             },
21681             "relation": {
21682               "$ref": "#/definitions/CharmRelation"
21683             }
21684           },
21685           "additionalProperties": false,
21686           "required": [
21687             "application-name",
21688             "relation"
21689           ]
21690         },
21691         "Entities": {
21692           "type": "object",
21693           "properties": {
21694             "entities": {
21695               "type": "array",
21696               "items": {
21697                 "$ref": "#/definitions/Entity"
21698               }
21699             }
21700           },
21701           "additionalProperties": false,
21702           "required": [
21703             "entities"
21704           ]
21705         },
21706         "EntitiesCharmURL": {
21707           "type": "object",
21708           "properties": {
21709             "entities": {
21710               "type": "array",
21711               "items": {
21712                 "$ref": "#/definitions/EntityCharmURL"
21713               }
21714             }
21715           },
21716           "additionalProperties": false,
21717           "required": [
21718             "entities"
21719           ]
21720         },
21721         "EntitiesPortRanges": {
21722           "type": "object",
21723           "properties": {
21724             "entities": {
21725               "type": "array",
21726               "items": {
21727                 "$ref": "#/definitions/EntityPortRange"
21728               }
21729             }
21730           },
21731           "additionalProperties": false,
21732           "required": [
21733             "entities"
21734           ]
21735         },
21736         "Entity": {
21737           "type": "object",
21738           "properties": {
21739             "tag": {
21740               "type": "string"
21741             }
21742           },
21743           "additionalProperties": false,
21744           "required": [
21745             "tag"
21746           ]
21747         },
21748         "EntityCharmURL": {
21749           "type": "object",
21750           "properties": {
21751             "charm-url": {
21752               "type": "string"
21753             },
21754             "tag": {
21755               "type": "string"
21756             }
21757           },
21758           "additionalProperties": false,
21759           "required": [
21760             "tag",
21761             "charm-url"
21762           ]
21763         },
21764         "EntityPortRange": {
21765           "type": "object",
21766           "properties": {
21767             "from-port": {
21768               "type": "integer"
21769             },
21770             "protocol": {
21771               "type": "string"
21772             },
21773             "tag": {
21774               "type": "string"
21775             },
21776             "to-port": {
21777               "type": "integer"
21778             }
21779           },
21780           "additionalProperties": false,
21781           "required": [
21782             "tag",
21783             "protocol",
21784             "from-port",
21785             "to-port"
21786           ]
21787         },
21788         "EntityStatusArgs": {
21789           "type": "object",
21790           "properties": {
21791             "data": {
21792               "type": "object",
21793               "patternProperties": {
21794                 ".*": {
21795                   "type": "object",
21796                   "additionalProperties": true
21797                 }
21798               }
21799             },
21800             "info": {
21801               "type": "string"
21802             },
21803             "status": {
21804               "type": "string"
21805             },
21806             "tag": {
21807               "type": "string"
21808             }
21809           },
21810           "additionalProperties": false,
21811           "required": [
21812             "tag",
21813             "status",
21814             "info",
21815             "data"
21816           ]
21817         },
21818         "EntityWorkloadVersion": {
21819           "type": "object",
21820           "properties": {
21821             "tag": {
21822               "type": "string"
21823             },
21824             "workload-version": {
21825               "type": "string"
21826             }
21827           },
21828           "additionalProperties": false,
21829           "required": [
21830             "tag",
21831             "workload-version"
21832           ]
21833         },
21834         "EntityWorkloadVersions": {
21835           "type": "object",
21836           "properties": {
21837             "entities": {
21838               "type": "array",
21839               "items": {
21840                 "$ref": "#/definitions/EntityWorkloadVersion"
21841               }
21842             }
21843           },
21844           "additionalProperties": false,
21845           "required": [
21846             "entities"
21847           ]
21848         },
21849         "Error": {
21850           "type": "object",
21851           "properties": {
21852             "code": {
21853               "type": "string"
21854             },
21855             "info": {
21856               "$ref": "#/definitions/ErrorInfo"
21857             },
21858             "message": {
21859               "type": "string"
21860             }
21861           },
21862           "additionalProperties": false,
21863           "required": [
21864             "message",
21865             "code"
21866           ]
21867         },
21868         "ErrorInfo": {
21869           "type": "object",
21870           "properties": {
21871             "macaroon": {
21872               "$ref": "#/definitions/Macaroon"
21873             },
21874             "macaroon-path": {
21875               "type": "string"
21876             }
21877           },
21878           "additionalProperties": false
21879         },
21880         "ErrorResult": {
21881           "type": "object",
21882           "properties": {
21883             "error": {
21884               "$ref": "#/definitions/Error"
21885             }
21886           },
21887           "additionalProperties": false
21888         },
21889         "ErrorResults": {
21890           "type": "object",
21891           "properties": {
21892             "results": {
21893               "type": "array",
21894               "items": {
21895                 "$ref": "#/definitions/ErrorResult"
21896               }
21897             }
21898           },
21899           "additionalProperties": false,
21900           "required": [
21901             "results"
21902           ]
21903         },
21904         "GetLeadershipSettingsBulkResults": {
21905           "type": "object",
21906           "properties": {
21907             "results": {
21908               "type": "array",
21909               "items": {
21910                 "$ref": "#/definitions/GetLeadershipSettingsResult"
21911               }
21912             }
21913           },
21914           "additionalProperties": false,
21915           "required": [
21916             "results"
21917           ]
21918         },
21919         "GetLeadershipSettingsResult": {
21920           "type": "object",
21921           "properties": {
21922             "error": {
21923               "$ref": "#/definitions/Error"
21924             },
21925             "settings": {
21926               "type": "object",
21927               "patternProperties": {
21928                 ".*": {
21929                   "type": "string"
21930                 }
21931               }
21932             }
21933           },
21934           "additionalProperties": false,
21935           "required": [
21936             "settings"
21937           ]
21938         },
21939         "HostPort": {
21940           "type": "object",
21941           "properties": {
21942             "Address": {
21943               "$ref": "#/definitions/Address"
21944             },
21945             "port": {
21946               "type": "integer"
21947             }
21948           },
21949           "additionalProperties": false,
21950           "required": [
21951             "Address",
21952             "port"
21953           ]
21954         },
21955         "IntResult": {
21956           "type": "object",
21957           "properties": {
21958             "error": {
21959               "$ref": "#/definitions/Error"
21960             },
21961             "result": {
21962               "type": "integer"
21963             }
21964           },
21965           "additionalProperties": false,
21966           "required": [
21967             "result"
21968           ]
21969         },
21970         "IntResults": {
21971           "type": "object",
21972           "properties": {
21973             "results": {
21974               "type": "array",
21975               "items": {
21976                 "$ref": "#/definitions/IntResult"
21977               }
21978             }
21979           },
21980           "additionalProperties": false,
21981           "required": [
21982             "results"
21983           ]
21984         },
21985         "LifeResult": {
21986           "type": "object",
21987           "properties": {
21988             "error": {
21989               "$ref": "#/definitions/Error"
21990             },
21991             "life": {
21992               "type": "string"
21993             }
21994           },
21995           "additionalProperties": false,
21996           "required": [
21997             "life"
21998           ]
21999         },
22000         "LifeResults": {
22001           "type": "object",
22002           "properties": {
22003             "results": {
22004               "type": "array",
22005               "items": {
22006                 "$ref": "#/definitions/LifeResult"
22007               }
22008             }
22009           },
22010           "additionalProperties": false,
22011           "required": [
22012             "results"
22013           ]
22014         },
22015         "Macaroon": {
22016           "type": "object",
22017           "additionalProperties": false
22018         },
22019         "MachinePortRange": {
22020           "type": "object",
22021           "properties": {
22022             "port-range": {
22023               "$ref": "#/definitions/PortRange"
22024             },
22025             "relation-tag": {
22026               "type": "string"
22027             },
22028             "unit-tag": {
22029               "type": "string"
22030             }
22031           },
22032           "additionalProperties": false,
22033           "required": [
22034             "unit-tag",
22035             "relation-tag",
22036             "port-range"
22037           ]
22038         },
22039         "MachinePortsResult": {
22040           "type": "object",
22041           "properties": {
22042             "error": {
22043               "$ref": "#/definitions/Error"
22044             },
22045             "ports": {
22046               "type": "array",
22047               "items": {
22048                 "$ref": "#/definitions/MachinePortRange"
22049               }
22050             }
22051           },
22052           "additionalProperties": false,
22053           "required": [
22054             "ports"
22055           ]
22056         },
22057         "MachinePortsResults": {
22058           "type": "object",
22059           "properties": {
22060             "results": {
22061               "type": "array",
22062               "items": {
22063                 "$ref": "#/definitions/MachinePortsResult"
22064               }
22065             }
22066           },
22067           "additionalProperties": false,
22068           "required": [
22069             "results"
22070           ]
22071         },
22072         "MergeLeadershipSettingsBulkParams": {
22073           "type": "object",
22074           "properties": {
22075             "params": {
22076               "type": "array",
22077               "items": {
22078                 "$ref": "#/definitions/MergeLeadershipSettingsParam"
22079               }
22080             }
22081           },
22082           "additionalProperties": false,
22083           "required": [
22084             "params"
22085           ]
22086         },
22087         "MergeLeadershipSettingsParam": {
22088           "type": "object",
22089           "properties": {
22090             "application-tag": {
22091               "type": "string"
22092             },
22093             "settings": {
22094               "type": "object",
22095               "patternProperties": {
22096                 ".*": {
22097                   "type": "string"
22098                 }
22099               }
22100             }
22101           },
22102           "additionalProperties": false,
22103           "required": [
22104             "application-tag",
22105             "settings"
22106           ]
22107         },
22108         "MeterStatusResult": {
22109           "type": "object",
22110           "properties": {
22111             "code": {
22112               "type": "string"
22113             },
22114             "error": {
22115               "$ref": "#/definitions/Error"
22116             },
22117             "info": {
22118               "type": "string"
22119             }
22120           },
22121           "additionalProperties": false,
22122           "required": [
22123             "code",
22124             "info"
22125           ]
22126         },
22127         "MeterStatusResults": {
22128           "type": "object",
22129           "properties": {
22130             "results": {
22131               "type": "array",
22132               "items": {
22133                 "$ref": "#/definitions/MeterStatusResult"
22134               }
22135             }
22136           },
22137           "additionalProperties": false,
22138           "required": [
22139             "results"
22140           ]
22141         },
22142         "Metric": {
22143           "type": "object",
22144           "properties": {
22145             "key": {
22146               "type": "string"
22147             },
22148             "time": {
22149               "type": "string",
22150               "format": "date-time"
22151             },
22152             "value": {
22153               "type": "string"
22154             }
22155           },
22156           "additionalProperties": false,
22157           "required": [
22158             "key",
22159             "value",
22160             "time"
22161           ]
22162         },
22163         "MetricBatch": {
22164           "type": "object",
22165           "properties": {
22166             "charm-url": {
22167               "type": "string"
22168             },
22169             "created": {
22170               "type": "string",
22171               "format": "date-time"
22172             },
22173             "metrics": {
22174               "type": "array",
22175               "items": {
22176                 "$ref": "#/definitions/Metric"
22177               }
22178             },
22179             "uuid": {
22180               "type": "string"
22181             }
22182           },
22183           "additionalProperties": false,
22184           "required": [
22185             "uuid",
22186             "charm-url",
22187             "created",
22188             "metrics"
22189           ]
22190         },
22191         "MetricBatchParam": {
22192           "type": "object",
22193           "properties": {
22194             "batch": {
22195               "$ref": "#/definitions/MetricBatch"
22196             },
22197             "tag": {
22198               "type": "string"
22199             }
22200           },
22201           "additionalProperties": false,
22202           "required": [
22203             "tag",
22204             "batch"
22205           ]
22206         },
22207         "MetricBatchParams": {
22208           "type": "object",
22209           "properties": {
22210             "batches": {
22211               "type": "array",
22212               "items": {
22213                 "$ref": "#/definitions/MetricBatchParam"
22214               }
22215             }
22216           },
22217           "additionalProperties": false,
22218           "required": [
22219             "batches"
22220           ]
22221         },
22222         "ModelConfigResult": {
22223           "type": "object",
22224           "properties": {
22225             "config": {
22226               "type": "object",
22227               "patternProperties": {
22228                 ".*": {
22229                   "type": "object",
22230                   "additionalProperties": true
22231                 }
22232               }
22233             }
22234           },
22235           "additionalProperties": false,
22236           "required": [
22237             "config"
22238           ]
22239         },
22240         "ModelResult": {
22241           "type": "object",
22242           "properties": {
22243             "error": {
22244               "$ref": "#/definitions/Error"
22245             },
22246             "name": {
22247               "type": "string"
22248             },
22249             "uuid": {
22250               "type": "string"
22251             }
22252           },
22253           "additionalProperties": false,
22254           "required": [
22255             "name",
22256             "uuid"
22257           ]
22258         },
22259         "NetworkConfig": {
22260           "type": "object",
22261           "properties": {
22262             "address": {
22263               "type": "string"
22264             },
22265             "cidr": {
22266               "type": "string"
22267             },
22268             "config-type": {
22269               "type": "string"
22270             },
22271             "device-index": {
22272               "type": "integer"
22273             },
22274             "disabled": {
22275               "type": "boolean"
22276             },
22277             "dns-search-domains": {
22278               "type": "array",
22279               "items": {
22280                 "type": "string"
22281               }
22282             },
22283             "dns-servers": {
22284               "type": "array",
22285               "items": {
22286                 "type": "string"
22287               }
22288             },
22289             "gateway-address": {
22290               "type": "string"
22291             },
22292             "interface-name": {
22293               "type": "string"
22294             },
22295             "interface-type": {
22296               "type": "string"
22297             },
22298             "mac-address": {
22299               "type": "string"
22300             },
22301             "mtu": {
22302               "type": "integer"
22303             },
22304             "no-auto-start": {
22305               "type": "boolean"
22306             },
22307             "parent-interface-name": {
22308               "type": "string"
22309             },
22310             "provider-address-id": {
22311               "type": "string"
22312             },
22313             "provider-id": {
22314               "type": "string"
22315             },
22316             "provider-space-id": {
22317               "type": "string"
22318             },
22319             "provider-subnet-id": {
22320               "type": "string"
22321             },
22322             "provider-vlan-id": {
22323               "type": "string"
22324             },
22325             "vlan-tag": {
22326               "type": "integer"
22327             }
22328           },
22329           "additionalProperties": false,
22330           "required": [
22331             "device-index",
22332             "mac-address",
22333             "cidr",
22334             "mtu",
22335             "provider-id",
22336             "provider-subnet-id",
22337             "provider-space-id",
22338             "provider-address-id",
22339             "provider-vlan-id",
22340             "vlan-tag",
22341             "interface-name",
22342             "parent-interface-name",
22343             "interface-type",
22344             "disabled"
22345           ]
22346         },
22347         "NotifyWatchResult": {
22348           "type": "object",
22349           "properties": {
22350             "NotifyWatcherId": {
22351               "type": "string"
22352             },
22353             "error": {
22354               "$ref": "#/definitions/Error"
22355             }
22356           },
22357           "additionalProperties": false,
22358           "required": [
22359             "NotifyWatcherId"
22360           ]
22361         },
22362         "NotifyWatchResults": {
22363           "type": "object",
22364           "properties": {
22365             "results": {
22366               "type": "array",
22367               "items": {
22368                 "$ref": "#/definitions/NotifyWatchResult"
22369               }
22370             }
22371           },
22372           "additionalProperties": false,
22373           "required": [
22374             "results"
22375           ]
22376         },
22377         "PortRange": {
22378           "type": "object",
22379           "properties": {
22380             "from-port": {
22381               "type": "integer"
22382             },
22383             "protocol": {
22384               "type": "string"
22385             },
22386             "to-port": {
22387               "type": "integer"
22388             }
22389           },
22390           "additionalProperties": false,
22391           "required": [
22392             "from-port",
22393             "to-port",
22394             "protocol"
22395           ]
22396         },
22397         "RelationIds": {
22398           "type": "object",
22399           "properties": {
22400             "relation-ids": {
22401               "type": "array",
22402               "items": {
22403                 "type": "integer"
22404               }
22405             }
22406           },
22407           "additionalProperties": false,
22408           "required": [
22409             "relation-ids"
22410           ]
22411         },
22412         "RelationResult": {
22413           "type": "object",
22414           "properties": {
22415             "endpoint": {
22416               "$ref": "#/definitions/Endpoint"
22417             },
22418             "error": {
22419               "$ref": "#/definitions/Error"
22420             },
22421             "id": {
22422               "type": "integer"
22423             },
22424             "key": {
22425               "type": "string"
22426             },
22427             "life": {
22428               "type": "string"
22429             }
22430           },
22431           "additionalProperties": false,
22432           "required": [
22433             "life",
22434             "id",
22435             "key",
22436             "endpoint"
22437           ]
22438         },
22439         "RelationResults": {
22440           "type": "object",
22441           "properties": {
22442             "results": {
22443               "type": "array",
22444               "items": {
22445                 "$ref": "#/definitions/RelationResult"
22446               }
22447             }
22448           },
22449           "additionalProperties": false,
22450           "required": [
22451             "results"
22452           ]
22453         },
22454         "RelationUnit": {
22455           "type": "object",
22456           "properties": {
22457             "relation": {
22458               "type": "string"
22459             },
22460             "unit": {
22461               "type": "string"
22462             }
22463           },
22464           "additionalProperties": false,
22465           "required": [
22466             "relation",
22467             "unit"
22468           ]
22469         },
22470         "RelationUnitPair": {
22471           "type": "object",
22472           "properties": {
22473             "local-unit": {
22474               "type": "string"
22475             },
22476             "relation": {
22477               "type": "string"
22478             },
22479             "remote-unit": {
22480               "type": "string"
22481             }
22482           },
22483           "additionalProperties": false,
22484           "required": [
22485             "relation",
22486             "local-unit",
22487             "remote-unit"
22488           ]
22489         },
22490         "RelationUnitPairs": {
22491           "type": "object",
22492           "properties": {
22493             "relation-unit-pairs": {
22494               "type": "array",
22495               "items": {
22496                 "$ref": "#/definitions/RelationUnitPair"
22497               }
22498             }
22499           },
22500           "additionalProperties": false,
22501           "required": [
22502             "relation-unit-pairs"
22503           ]
22504         },
22505         "RelationUnitSettings": {
22506           "type": "object",
22507           "properties": {
22508             "relation": {
22509               "type": "string"
22510             },
22511             "settings": {
22512               "type": "object",
22513               "patternProperties": {
22514                 ".*": {
22515                   "type": "string"
22516                 }
22517               }
22518             },
22519             "unit": {
22520               "type": "string"
22521             }
22522           },
22523           "additionalProperties": false,
22524           "required": [
22525             "relation",
22526             "unit",
22527             "settings"
22528           ]
22529         },
22530         "RelationUnits": {
22531           "type": "object",
22532           "properties": {
22533             "relation-units": {
22534               "type": "array",
22535               "items": {
22536                 "$ref": "#/definitions/RelationUnit"
22537               }
22538             }
22539           },
22540           "additionalProperties": false,
22541           "required": [
22542             "relation-units"
22543           ]
22544         },
22545         "RelationUnitsChange": {
22546           "type": "object",
22547           "properties": {
22548             "changed": {
22549               "type": "object",
22550               "patternProperties": {
22551                 ".*": {
22552                   "$ref": "#/definitions/UnitSettings"
22553                 }
22554               }
22555             },
22556             "departed": {
22557               "type": "array",
22558               "items": {
22559                 "type": "string"
22560               }
22561             }
22562           },
22563           "additionalProperties": false,
22564           "required": [
22565             "changed"
22566           ]
22567         },
22568         "RelationUnitsSettings": {
22569           "type": "object",
22570           "properties": {
22571             "relation-units": {
22572               "type": "array",
22573               "items": {
22574                 "$ref": "#/definitions/RelationUnitSettings"
22575               }
22576             }
22577           },
22578           "additionalProperties": false,
22579           "required": [
22580             "relation-units"
22581           ]
22582         },
22583         "RelationUnitsWatchResult": {
22584           "type": "object",
22585           "properties": {
22586             "changes": {
22587               "$ref": "#/definitions/RelationUnitsChange"
22588             },
22589             "error": {
22590               "$ref": "#/definitions/Error"
22591             },
22592             "watcher-id": {
22593               "type": "string"
22594             }
22595           },
22596           "additionalProperties": false,
22597           "required": [
22598             "watcher-id",
22599             "changes"
22600           ]
22601         },
22602         "RelationUnitsWatchResults": {
22603           "type": "object",
22604           "properties": {
22605             "results": {
22606               "type": "array",
22607               "items": {
22608                 "$ref": "#/definitions/RelationUnitsWatchResult"
22609               }
22610             }
22611           },
22612           "additionalProperties": false,
22613           "required": [
22614             "results"
22615           ]
22616         },
22617         "ResolvedModeResult": {
22618           "type": "object",
22619           "properties": {
22620             "error": {
22621               "$ref": "#/definitions/Error"
22622             },
22623             "mode": {
22624               "type": "string"
22625             }
22626           },
22627           "additionalProperties": false,
22628           "required": [
22629             "mode"
22630           ]
22631         },
22632         "ResolvedModeResults": {
22633           "type": "object",
22634           "properties": {
22635             "results": {
22636               "type": "array",
22637               "items": {
22638                 "$ref": "#/definitions/ResolvedModeResult"
22639               }
22640             }
22641           },
22642           "additionalProperties": false,
22643           "required": [
22644             "results"
22645           ]
22646         },
22647         "SetStatus": {
22648           "type": "object",
22649           "properties": {
22650             "entities": {
22651               "type": "array",
22652               "items": {
22653                 "$ref": "#/definitions/EntityStatusArgs"
22654               }
22655             }
22656           },
22657           "additionalProperties": false,
22658           "required": [
22659             "entities"
22660           ]
22661         },
22662         "SettingsResult": {
22663           "type": "object",
22664           "properties": {
22665             "error": {
22666               "$ref": "#/definitions/Error"
22667             },
22668             "settings": {
22669               "type": "object",
22670               "patternProperties": {
22671                 ".*": {
22672                   "type": "string"
22673                 }
22674               }
22675             }
22676           },
22677           "additionalProperties": false,
22678           "required": [
22679             "settings"
22680           ]
22681         },
22682         "SettingsResults": {
22683           "type": "object",
22684           "properties": {
22685             "results": {
22686               "type": "array",
22687               "items": {
22688                 "$ref": "#/definitions/SettingsResult"
22689               }
22690             }
22691           },
22692           "additionalProperties": false,
22693           "required": [
22694             "results"
22695           ]
22696         },
22697         "StatusResult": {
22698           "type": "object",
22699           "properties": {
22700             "data": {
22701               "type": "object",
22702               "patternProperties": {
22703                 ".*": {
22704                   "type": "object",
22705                   "additionalProperties": true
22706                 }
22707               }
22708             },
22709             "error": {
22710               "$ref": "#/definitions/Error"
22711             },
22712             "id": {
22713               "type": "string"
22714             },
22715             "info": {
22716               "type": "string"
22717             },
22718             "life": {
22719               "type": "string"
22720             },
22721             "since": {
22722               "type": "string",
22723               "format": "date-time"
22724             },
22725             "status": {
22726               "type": "string"
22727             }
22728           },
22729           "additionalProperties": false,
22730           "required": [
22731             "id",
22732             "life",
22733             "status",
22734             "info",
22735             "data",
22736             "since"
22737           ]
22738         },
22739         "StatusResults": {
22740           "type": "object",
22741           "properties": {
22742             "results": {
22743               "type": "array",
22744               "items": {
22745                 "$ref": "#/definitions/StatusResult"
22746               }
22747             }
22748           },
22749           "additionalProperties": false,
22750           "required": [
22751             "results"
22752           ]
22753         },
22754         "StorageAddParams": {
22755           "type": "object",
22756           "properties": {
22757             "name": {
22758               "type": "string"
22759             },
22760             "storage": {
22761               "$ref": "#/definitions/StorageConstraints"
22762             },
22763             "unit": {
22764               "type": "string"
22765             }
22766           },
22767           "additionalProperties": false,
22768           "required": [
22769             "unit",
22770             "name",
22771             "storage"
22772           ]
22773         },
22774         "StorageAttachment": {
22775           "type": "object",
22776           "properties": {
22777             "kind": {
22778               "type": "integer"
22779             },
22780             "life": {
22781               "type": "string"
22782             },
22783             "location": {
22784               "type": "string"
22785             },
22786             "owner-tag": {
22787               "type": "string"
22788             },
22789             "storage-tag": {
22790               "type": "string"
22791             },
22792             "unit-tag": {
22793               "type": "string"
22794             }
22795           },
22796           "additionalProperties": false,
22797           "required": [
22798             "storage-tag",
22799             "owner-tag",
22800             "unit-tag",
22801             "kind",
22802             "location",
22803             "life"
22804           ]
22805         },
22806         "StorageAttachmentId": {
22807           "type": "object",
22808           "properties": {
22809             "storage-tag": {
22810               "type": "string"
22811             },
22812             "unit-tag": {
22813               "type": "string"
22814             }
22815           },
22816           "additionalProperties": false,
22817           "required": [
22818             "storage-tag",
22819             "unit-tag"
22820           ]
22821         },
22822         "StorageAttachmentIds": {
22823           "type": "object",
22824           "properties": {
22825             "ids": {
22826               "type": "array",
22827               "items": {
22828                 "$ref": "#/definitions/StorageAttachmentId"
22829               }
22830             }
22831           },
22832           "additionalProperties": false,
22833           "required": [
22834             "ids"
22835           ]
22836         },
22837         "StorageAttachmentIdsResult": {
22838           "type": "object",
22839           "properties": {
22840             "error": {
22841               "$ref": "#/definitions/Error"
22842             },
22843             "result": {
22844               "$ref": "#/definitions/StorageAttachmentIds"
22845             }
22846           },
22847           "additionalProperties": false,
22848           "required": [
22849             "result"
22850           ]
22851         },
22852         "StorageAttachmentIdsResults": {
22853           "type": "object",
22854           "properties": {
22855             "results": {
22856               "type": "array",
22857               "items": {
22858                 "$ref": "#/definitions/StorageAttachmentIdsResult"
22859               }
22860             }
22861           },
22862           "additionalProperties": false
22863         },
22864         "StorageAttachmentResult": {
22865           "type": "object",
22866           "properties": {
22867             "error": {
22868               "$ref": "#/definitions/Error"
22869             },
22870             "result": {
22871               "$ref": "#/definitions/StorageAttachment"
22872             }
22873           },
22874           "additionalProperties": false,
22875           "required": [
22876             "result"
22877           ]
22878         },
22879         "StorageAttachmentResults": {
22880           "type": "object",
22881           "properties": {
22882             "results": {
22883               "type": "array",
22884               "items": {
22885                 "$ref": "#/definitions/StorageAttachmentResult"
22886               }
22887             }
22888           },
22889           "additionalProperties": false
22890         },
22891         "StorageConstraints": {
22892           "type": "object",
22893           "properties": {
22894             "count": {
22895               "type": "integer"
22896             },
22897             "pool": {
22898               "type": "string"
22899             },
22900             "size": {
22901               "type": "integer"
22902             }
22903           },
22904           "additionalProperties": false
22905         },
22906         "StoragesAddParams": {
22907           "type": "object",
22908           "properties": {
22909             "storages": {
22910               "type": "array",
22911               "items": {
22912                 "$ref": "#/definitions/StorageAddParams"
22913               }
22914             }
22915           },
22916           "additionalProperties": false,
22917           "required": [
22918             "storages"
22919           ]
22920         },
22921         "StringBoolResult": {
22922           "type": "object",
22923           "properties": {
22924             "error": {
22925               "$ref": "#/definitions/Error"
22926             },
22927             "ok": {
22928               "type": "boolean"
22929             },
22930             "result": {
22931               "type": "string"
22932             }
22933           },
22934           "additionalProperties": false,
22935           "required": [
22936             "result",
22937             "ok"
22938           ]
22939         },
22940         "StringBoolResults": {
22941           "type": "object",
22942           "properties": {
22943             "results": {
22944               "type": "array",
22945               "items": {
22946                 "$ref": "#/definitions/StringBoolResult"
22947               }
22948             }
22949           },
22950           "additionalProperties": false,
22951           "required": [
22952             "results"
22953           ]
22954         },
22955         "StringResult": {
22956           "type": "object",
22957           "properties": {
22958             "error": {
22959               "$ref": "#/definitions/Error"
22960             },
22961             "result": {
22962               "type": "string"
22963             }
22964           },
22965           "additionalProperties": false,
22966           "required": [
22967             "result"
22968           ]
22969         },
22970         "StringResults": {
22971           "type": "object",
22972           "properties": {
22973             "results": {
22974               "type": "array",
22975               "items": {
22976                 "$ref": "#/definitions/StringResult"
22977               }
22978             }
22979           },
22980           "additionalProperties": false,
22981           "required": [
22982             "results"
22983           ]
22984         },
22985         "StringsResult": {
22986           "type": "object",
22987           "properties": {
22988             "error": {
22989               "$ref": "#/definitions/Error"
22990             },
22991             "result": {
22992               "type": "array",
22993               "items": {
22994                 "type": "string"
22995               }
22996             }
22997           },
22998           "additionalProperties": false
22999         },
23000         "StringsResults": {
23001           "type": "object",
23002           "properties": {
23003             "results": {
23004               "type": "array",
23005               "items": {
23006                 "$ref": "#/definitions/StringsResult"
23007               }
23008             }
23009           },
23010           "additionalProperties": false,
23011           "required": [
23012             "results"
23013           ]
23014         },
23015         "StringsWatchResult": {
23016           "type": "object",
23017           "properties": {
23018             "changes": {
23019               "type": "array",
23020               "items": {
23021                 "type": "string"
23022               }
23023             },
23024             "error": {
23025               "$ref": "#/definitions/Error"
23026             },
23027             "watcher-id": {
23028               "type": "string"
23029             }
23030           },
23031           "additionalProperties": false,
23032           "required": [
23033             "watcher-id"
23034           ]
23035         },
23036         "StringsWatchResults": {
23037           "type": "object",
23038           "properties": {
23039             "results": {
23040               "type": "array",
23041               "items": {
23042                 "$ref": "#/definitions/StringsWatchResult"
23043               }
23044             }
23045           },
23046           "additionalProperties": false,
23047           "required": [
23048             "results"
23049           ]
23050         },
23051         "UnitNetworkConfig": {
23052           "type": "object",
23053           "properties": {
23054             "binding-name": {
23055               "type": "string"
23056             },
23057             "unit-tag": {
23058               "type": "string"
23059             }
23060           },
23061           "additionalProperties": false,
23062           "required": [
23063             "unit-tag",
23064             "binding-name"
23065           ]
23066         },
23067         "UnitNetworkConfigResult": {
23068           "type": "object",
23069           "properties": {
23070             "error": {
23071               "$ref": "#/definitions/Error"
23072             },
23073             "info": {
23074               "type": "array",
23075               "items": {
23076                 "$ref": "#/definitions/NetworkConfig"
23077               }
23078             }
23079           },
23080           "additionalProperties": false,
23081           "required": [
23082             "info"
23083           ]
23084         },
23085         "UnitNetworkConfigResults": {
23086           "type": "object",
23087           "properties": {
23088             "results": {
23089               "type": "array",
23090               "items": {
23091                 "$ref": "#/definitions/UnitNetworkConfigResult"
23092               }
23093             }
23094           },
23095           "additionalProperties": false,
23096           "required": [
23097             "results"
23098           ]
23099         },
23100         "UnitSettings": {
23101           "type": "object",
23102           "properties": {
23103             "version": {
23104               "type": "integer"
23105             }
23106           },
23107           "additionalProperties": false,
23108           "required": [
23109             "version"
23110           ]
23111         },
23112         "UnitsNetworkConfig": {
23113           "type": "object",
23114           "properties": {
23115             "args": {
23116               "type": "array",
23117               "items": {
23118                 "$ref": "#/definitions/UnitNetworkConfig"
23119               }
23120             }
23121           },
23122           "additionalProperties": false,
23123           "required": [
23124             "args"
23125           ]
23126         }
23127       }
23128     }
23129   },
23130   {
23131     "Name": "Upgrader",
23132     "Version": 1,
23133     "Schema": {
23134       "type": "object",
23135       "properties": {
23136         "DesiredVersion": {
23137           "type": "object",
23138           "properties": {
23139             "Params": {
23140               "$ref": "#/definitions/Entities"
23141             },
23142             "Result": {
23143               "$ref": "#/definitions/VersionResults"
23144             }
23145           }
23146         },
23147         "SetTools": {
23148           "type": "object",
23149           "properties": {
23150             "Params": {
23151               "$ref": "#/definitions/EntitiesVersion"
23152             },
23153             "Result": {
23154               "$ref": "#/definitions/ErrorResults"
23155             }
23156           }
23157         },
23158         "Tools": {
23159           "type": "object",
23160           "properties": {
23161             "Params": {
23162               "$ref": "#/definitions/Entities"
23163             },
23164             "Result": {
23165               "$ref": "#/definitions/ToolsResults"
23166             }
23167           }
23168         },
23169         "WatchAPIVersion": {
23170           "type": "object",
23171           "properties": {
23172             "Params": {
23173               "$ref": "#/definitions/Entities"
23174             },
23175             "Result": {
23176               "$ref": "#/definitions/NotifyWatchResults"
23177             }
23178           }
23179         }
23180       },
23181       "definitions": {
23182         "Binary": {
23183           "type": "object",
23184           "properties": {
23185             "Arch": {
23186               "type": "string"
23187             },
23188             "Number": {
23189               "$ref": "#/definitions/Number"
23190             },
23191             "Series": {
23192               "type": "string"
23193             }
23194           },
23195           "additionalProperties": false,
23196           "required": [
23197             "Number",
23198             "Series",
23199             "Arch"
23200           ]
23201         },
23202         "Entities": {
23203           "type": "object",
23204           "properties": {
23205             "entities": {
23206               "type": "array",
23207               "items": {
23208                 "$ref": "#/definitions/Entity"
23209               }
23210             }
23211           },
23212           "additionalProperties": false,
23213           "required": [
23214             "entities"
23215           ]
23216         },
23217         "EntitiesVersion": {
23218           "type": "object",
23219           "properties": {
23220             "agent-tools": {
23221               "type": "array",
23222               "items": {
23223                 "$ref": "#/definitions/EntityVersion"
23224               }
23225             }
23226           },
23227           "additionalProperties": false,
23228           "required": [
23229             "agent-tools"
23230           ]
23231         },
23232         "Entity": {
23233           "type": "object",
23234           "properties": {
23235             "tag": {
23236               "type": "string"
23237             }
23238           },
23239           "additionalProperties": false,
23240           "required": [
23241             "tag"
23242           ]
23243         },
23244         "EntityVersion": {
23245           "type": "object",
23246           "properties": {
23247             "tag": {
23248               "type": "string"
23249             },
23250             "tools": {
23251               "$ref": "#/definitions/Version"
23252             }
23253           },
23254           "additionalProperties": false,
23255           "required": [
23256             "tag",
23257             "tools"
23258           ]
23259         },
23260         "Error": {
23261           "type": "object",
23262           "properties": {
23263             "code": {
23264               "type": "string"
23265             },
23266             "info": {
23267               "$ref": "#/definitions/ErrorInfo"
23268             },
23269             "message": {
23270               "type": "string"
23271             }
23272           },
23273           "additionalProperties": false,
23274           "required": [
23275             "message",
23276             "code"
23277           ]
23278         },
23279         "ErrorInfo": {
23280           "type": "object",
23281           "properties": {
23282             "macaroon": {
23283               "$ref": "#/definitions/Macaroon"
23284             },
23285             "macaroon-path": {
23286               "type": "string"
23287             }
23288           },
23289           "additionalProperties": false
23290         },
23291         "ErrorResult": {
23292           "type": "object",
23293           "properties": {
23294             "error": {
23295               "$ref": "#/definitions/Error"
23296             }
23297           },
23298           "additionalProperties": false
23299         },
23300         "ErrorResults": {
23301           "type": "object",
23302           "properties": {
23303             "results": {
23304               "type": "array",
23305               "items": {
23306                 "$ref": "#/definitions/ErrorResult"
23307               }
23308             }
23309           },
23310           "additionalProperties": false,
23311           "required": [
23312             "results"
23313           ]
23314         },
23315         "Macaroon": {
23316           "type": "object",
23317           "additionalProperties": false
23318         },
23319         "NotifyWatchResult": {
23320           "type": "object",
23321           "properties": {
23322             "NotifyWatcherId": {
23323               "type": "string"
23324             },
23325             "error": {
23326               "$ref": "#/definitions/Error"
23327             }
23328           },
23329           "additionalProperties": false,
23330           "required": [
23331             "NotifyWatcherId"
23332           ]
23333         },
23334         "NotifyWatchResults": {
23335           "type": "object",
23336           "properties": {
23337             "results": {
23338               "type": "array",
23339               "items": {
23340                 "$ref": "#/definitions/NotifyWatchResult"
23341               }
23342             }
23343           },
23344           "additionalProperties": false,
23345           "required": [
23346             "results"
23347           ]
23348         },
23349         "Number": {
23350           "type": "object",
23351           "properties": {
23352             "Build": {
23353               "type": "integer"
23354             },
23355             "Major": {
23356               "type": "integer"
23357             },
23358             "Minor": {
23359               "type": "integer"
23360             },
23361             "Patch": {
23362               "type": "integer"
23363             },
23364             "Tag": {
23365               "type": "string"
23366             }
23367           },
23368           "additionalProperties": false,
23369           "required": [
23370             "Major",
23371             "Minor",
23372             "Tag",
23373             "Patch",
23374             "Build"
23375           ]
23376         },
23377         "Tools": {
23378           "type": "object",
23379           "properties": {
23380             "sha256": {
23381               "type": "string"
23382             },
23383             "size": {
23384               "type": "integer"
23385             },
23386             "url": {
23387               "type": "string"
23388             },
23389             "version": {
23390               "$ref": "#/definitions/Binary"
23391             }
23392           },
23393           "additionalProperties": false,
23394           "required": [
23395             "version",
23396             "url",
23397             "size"
23398           ]
23399         },
23400         "ToolsResult": {
23401           "type": "object",
23402           "properties": {
23403             "disable-ssl-hostname-verification": {
23404               "type": "boolean"
23405             },
23406             "error": {
23407               "$ref": "#/definitions/Error"
23408             },
23409             "tools": {
23410               "type": "array",
23411               "items": {
23412                 "$ref": "#/definitions/Tools"
23413               }
23414             }
23415           },
23416           "additionalProperties": false,
23417           "required": [
23418             "tools",
23419             "disable-ssl-hostname-verification"
23420           ]
23421         },
23422         "ToolsResults": {
23423           "type": "object",
23424           "properties": {
23425             "results": {
23426               "type": "array",
23427               "items": {
23428                 "$ref": "#/definitions/ToolsResult"
23429               }
23430             }
23431           },
23432           "additionalProperties": false,
23433           "required": [
23434             "results"
23435           ]
23436         },
23437         "Version": {
23438           "type": "object",
23439           "properties": {
23440             "version": {
23441               "$ref": "#/definitions/Binary"
23442             }
23443           },
23444           "additionalProperties": false,
23445           "required": [
23446             "version"
23447           ]
23448         },
23449         "VersionResult": {
23450           "type": "object",
23451           "properties": {
23452             "error": {
23453               "$ref": "#/definitions/Error"
23454             },
23455             "version": {
23456               "$ref": "#/definitions/Number"
23457             }
23458           },
23459           "additionalProperties": false
23460         },
23461         "VersionResults": {
23462           "type": "object",
23463           "properties": {
23464             "results": {
23465               "type": "array",
23466               "items": {
23467                 "$ref": "#/definitions/VersionResult"
23468               }
23469             }
23470           },
23471           "additionalProperties": false,
23472           "required": [
23473             "results"
23474           ]
23475         }
23476       }
23477     }
23478   },
23479   {
23480     "Name": "UserManager",
23481     "Version": 1,
23482     "Schema": {
23483       "type": "object",
23484       "properties": {
23485         "AddUser": {
23486           "type": "object",
23487           "properties": {
23488             "Params": {
23489               "$ref": "#/definitions/AddUsers"
23490             },
23491             "Result": {
23492               "$ref": "#/definitions/AddUserResults"
23493             }
23494           }
23495         },
23496         "DisableUser": {
23497           "type": "object",
23498           "properties": {
23499             "Params": {
23500               "$ref": "#/definitions/Entities"
23501             },
23502             "Result": {
23503               "$ref": "#/definitions/ErrorResults"
23504             }
23505           }
23506         },
23507         "EnableUser": {
23508           "type": "object",
23509           "properties": {
23510             "Params": {
23511               "$ref": "#/definitions/Entities"
23512             },
23513             "Result": {
23514               "$ref": "#/definitions/ErrorResults"
23515             }
23516           }
23517         },
23518         "RemoveUser": {
23519           "type": "object",
23520           "properties": {
23521             "Params": {
23522               "$ref": "#/definitions/Entities"
23523             },
23524             "Result": {
23525               "$ref": "#/definitions/ErrorResults"
23526             }
23527           }
23528         },
23529         "SetPassword": {
23530           "type": "object",
23531           "properties": {
23532             "Params": {
23533               "$ref": "#/definitions/EntityPasswords"
23534             },
23535             "Result": {
23536               "$ref": "#/definitions/ErrorResults"
23537             }
23538           }
23539         },
23540         "UserInfo": {
23541           "type": "object",
23542           "properties": {
23543             "Params": {
23544               "$ref": "#/definitions/UserInfoRequest"
23545             },
23546             "Result": {
23547               "$ref": "#/definitions/UserInfoResults"
23548             }
23549           }
23550         }
23551       },
23552       "definitions": {
23553         "AddUser": {
23554           "type": "object",
23555           "properties": {
23556             "display-name": {
23557               "type": "string"
23558             },
23559             "password": {
23560               "type": "string"
23561             },
23562             "username": {
23563               "type": "string"
23564             }
23565           },
23566           "additionalProperties": false,
23567           "required": [
23568             "username",
23569             "display-name"
23570           ]
23571         },
23572         "AddUserResult": {
23573           "type": "object",
23574           "properties": {
23575             "error": {
23576               "$ref": "#/definitions/Error"
23577             },
23578             "secret-key": {
23579               "type": "array",
23580               "items": {
23581                 "type": "integer"
23582               }
23583             },
23584             "tag": {
23585               "type": "string"
23586             }
23587           },
23588           "additionalProperties": false
23589         },
23590         "AddUserResults": {
23591           "type": "object",
23592           "properties": {
23593             "results": {
23594               "type": "array",
23595               "items": {
23596                 "$ref": "#/definitions/AddUserResult"
23597               }
23598             }
23599           },
23600           "additionalProperties": false,
23601           "required": [
23602             "results"
23603           ]
23604         },
23605         "AddUsers": {
23606           "type": "object",
23607           "properties": {
23608             "users": {
23609               "type": "array",
23610               "items": {
23611                 "$ref": "#/definitions/AddUser"
23612               }
23613             }
23614           },
23615           "additionalProperties": false,
23616           "required": [
23617             "users"
23618           ]
23619         },
23620         "Entities": {
23621           "type": "object",
23622           "properties": {
23623             "entities": {
23624               "type": "array",
23625               "items": {
23626                 "$ref": "#/definitions/Entity"
23627               }
23628             }
23629           },
23630           "additionalProperties": false,
23631           "required": [
23632             "entities"
23633           ]
23634         },
23635         "Entity": {
23636           "type": "object",
23637           "properties": {
23638             "tag": {
23639               "type": "string"
23640             }
23641           },
23642           "additionalProperties": false,
23643           "required": [
23644             "tag"
23645           ]
23646         },
23647         "EntityPassword": {
23648           "type": "object",
23649           "properties": {
23650             "password": {
23651               "type": "string"
23652             },
23653             "tag": {
23654               "type": "string"
23655             }
23656           },
23657           "additionalProperties": false,
23658           "required": [
23659             "tag",
23660             "password"
23661           ]
23662         },
23663         "EntityPasswords": {
23664           "type": "object",
23665           "properties": {
23666             "changes": {
23667               "type": "array",
23668               "items": {
23669                 "$ref": "#/definitions/EntityPassword"
23670               }
23671             }
23672           },
23673           "additionalProperties": false,
23674           "required": [
23675             "changes"
23676           ]
23677         },
23678         "Error": {
23679           "type": "object",
23680           "properties": {
23681             "code": {
23682               "type": "string"
23683             },
23684             "info": {
23685               "$ref": "#/definitions/ErrorInfo"
23686             },
23687             "message": {
23688               "type": "string"
23689             }
23690           },
23691           "additionalProperties": false,
23692           "required": [
23693             "message",
23694             "code"
23695           ]
23696         },
23697         "ErrorInfo": {
23698           "type": "object",
23699           "properties": {
23700             "macaroon": {
23701               "$ref": "#/definitions/Macaroon"
23702             },
23703             "macaroon-path": {
23704               "type": "string"
23705             }
23706           },
23707           "additionalProperties": false
23708         },
23709         "ErrorResult": {
23710           "type": "object",
23711           "properties": {
23712             "error": {
23713               "$ref": "#/definitions/Error"
23714             }
23715           },
23716           "additionalProperties": false
23717         },
23718         "ErrorResults": {
23719           "type": "object",
23720           "properties": {
23721             "results": {
23722               "type": "array",
23723               "items": {
23724                 "$ref": "#/definitions/ErrorResult"
23725               }
23726             }
23727           },
23728           "additionalProperties": false,
23729           "required": [
23730             "results"
23731           ]
23732         },
23733         "Macaroon": {
23734           "type": "object",
23735           "additionalProperties": false
23736         },
23737         "UserInfo": {
23738           "type": "object",
23739           "properties": {
23740             "access": {
23741               "type": "string"
23742             },
23743             "created-by": {
23744               "type": "string"
23745             },
23746             "date-created": {
23747               "type": "string",
23748               "format": "date-time"
23749             },
23750             "disabled": {
23751               "type": "boolean"
23752             },
23753             "display-name": {
23754               "type": "string"
23755             },
23756             "last-connection": {
23757               "type": "string",
23758               "format": "date-time"
23759             },
23760             "username": {
23761               "type": "string"
23762             }
23763           },
23764           "additionalProperties": false,
23765           "required": [
23766             "username",
23767             "display-name",
23768             "access",
23769             "created-by",
23770             "date-created",
23771             "disabled"
23772           ]
23773         },
23774         "UserInfoRequest": {
23775           "type": "object",
23776           "properties": {
23777             "entities": {
23778               "type": "array",
23779               "items": {
23780                 "$ref": "#/definitions/Entity"
23781               }
23782             },
23783             "include-disabled": {
23784               "type": "boolean"
23785             }
23786           },
23787           "additionalProperties": false,
23788           "required": [
23789             "entities",
23790             "include-disabled"
23791           ]
23792         },
23793         "UserInfoResult": {
23794           "type": "object",
23795           "properties": {
23796             "error": {
23797               "$ref": "#/definitions/Error"
23798             },
23799             "result": {
23800               "$ref": "#/definitions/UserInfo"
23801             }
23802           },
23803           "additionalProperties": false
23804         },
23805         "UserInfoResults": {
23806           "type": "object",
23807           "properties": {
23808             "results": {
23809               "type": "array",
23810               "items": {
23811                 "$ref": "#/definitions/UserInfoResult"
23812               }
23813             }
23814           },
23815           "additionalProperties": false,
23816           "required": [
23817             "results"
23818           ]
23819         }
23820       }
23821     }
23822   },
23823   {
23824     "Name": "VolumeAttachmentsWatcher",
23825     "Version": 2,
23826     "Schema": {
23827       "type": "object",
23828       "properties": {
23829         "Next": {
23830           "type": "object",
23831           "properties": {
23832             "Result": {
23833               "$ref": "#/definitions/MachineStorageIdsWatchResult"
23834             }
23835           }
23836         },
23837         "Stop": {
23838           "type": "object"
23839         }
23840       },
23841       "definitions": {
23842         "Error": {
23843           "type": "object",
23844           "properties": {
23845             "code": {
23846               "type": "string"
23847             },
23848             "info": {
23849               "$ref": "#/definitions/ErrorInfo"
23850             },
23851             "message": {
23852               "type": "string"
23853             }
23854           },
23855           "additionalProperties": false,
23856           "required": [
23857             "message",
23858             "code"
23859           ]
23860         },
23861         "ErrorInfo": {
23862           "type": "object",
23863           "properties": {
23864             "macaroon": {
23865               "$ref": "#/definitions/Macaroon"
23866             },
23867             "macaroon-path": {
23868               "type": "string"
23869             }
23870           },
23871           "additionalProperties": false
23872         },
23873         "Macaroon": {
23874           "type": "object",
23875           "additionalProperties": false
23876         },
23877         "MachineStorageId": {
23878           "type": "object",
23879           "properties": {
23880             "attachment-tag": {
23881               "type": "string"
23882             },
23883             "machine-tag": {
23884               "type": "string"
23885             }
23886           },
23887           "additionalProperties": false,
23888           "required": [
23889             "machine-tag",
23890             "attachment-tag"
23891           ]
23892         },
23893         "MachineStorageIdsWatchResult": {
23894           "type": "object",
23895           "properties": {
23896             "changes": {
23897               "type": "array",
23898               "items": {
23899                 "$ref": "#/definitions/MachineStorageId"
23900               }
23901             },
23902             "error": {
23903               "$ref": "#/definitions/Error"
23904             },
23905             "watcher-id": {
23906               "type": "string"
23907             }
23908           },
23909           "additionalProperties": false,
23910           "required": [
23911             "watcher-id",
23912             "changes"
23913           ]
23914         }
23915       }
23916     }
23917   }
23918 ]