Initial import of N2VC
[osm/N2VC.git] / modules / libjuju / juju / client / schemas-juju-2.1.2.json
1 [
2   {
3     "Name": "Action",
4     "Version": 2,
5     "Schema": {
6       "type": "object",
7       "properties": {
8         "Actions": {
9           "type": "object",
10           "properties": {
11             "Params": {
12               "$ref": "#/definitions/Entities"
13             },
14             "Result": {
15               "$ref": "#/definitions/ActionResults"
16             }
17           }
18         },
19         "ApplicationsCharmsActions": {
20           "type": "object",
21           "properties": {
22             "Params": {
23               "$ref": "#/definitions/Entities"
24             },
25             "Result": {
26               "$ref": "#/definitions/ApplicationsCharmActionsResults"
27             }
28           }
29         },
30         "Cancel": {
31           "type": "object",
32           "properties": {
33             "Params": {
34               "$ref": "#/definitions/Entities"
35             },
36             "Result": {
37               "$ref": "#/definitions/ActionResults"
38             }
39           }
40         },
41         "Enqueue": {
42           "type": "object",
43           "properties": {
44             "Params": {
45               "$ref": "#/definitions/Actions"
46             },
47             "Result": {
48               "$ref": "#/definitions/ActionResults"
49             }
50           }
51         },
52         "FindActionTagsByPrefix": {
53           "type": "object",
54           "properties": {
55             "Params": {
56               "$ref": "#/definitions/FindTags"
57             },
58             "Result": {
59               "$ref": "#/definitions/FindTagsResults"
60             }
61           }
62         },
63         "FindActionsByNames": {
64           "type": "object",
65           "properties": {
66             "Params": {
67               "$ref": "#/definitions/FindActionsByNames"
68             },
69             "Result": {
70               "$ref": "#/definitions/ActionsByNames"
71             }
72           }
73         },
74         "ListAll": {
75           "type": "object",
76           "properties": {
77             "Params": {
78               "$ref": "#/definitions/Entities"
79             },
80             "Result": {
81               "$ref": "#/definitions/ActionsByReceivers"
82             }
83           }
84         },
85         "ListCompleted": {
86           "type": "object",
87           "properties": {
88             "Params": {
89               "$ref": "#/definitions/Entities"
90             },
91             "Result": {
92               "$ref": "#/definitions/ActionsByReceivers"
93             }
94           }
95         },
96         "ListPending": {
97           "type": "object",
98           "properties": {
99             "Params": {
100               "$ref": "#/definitions/Entities"
101             },
102             "Result": {
103               "$ref": "#/definitions/ActionsByReceivers"
104             }
105           }
106         },
107         "ListRunning": {
108           "type": "object",
109           "properties": {
110             "Params": {
111               "$ref": "#/definitions/Entities"
112             },
113             "Result": {
114               "$ref": "#/definitions/ActionsByReceivers"
115             }
116           }
117         },
118         "Run": {
119           "type": "object",
120           "properties": {
121             "Params": {
122               "$ref": "#/definitions/RunParams"
123             },
124             "Result": {
125               "$ref": "#/definitions/ActionResults"
126             }
127           }
128         },
129         "RunOnAllMachines": {
130           "type": "object",
131           "properties": {
132             "Params": {
133               "$ref": "#/definitions/RunParams"
134             },
135             "Result": {
136               "$ref": "#/definitions/ActionResults"
137             }
138           }
139         }
140       },
141       "definitions": {
142         "Action": {
143           "type": "object",
144           "properties": {
145             "name": {
146               "type": "string"
147             },
148             "parameters": {
149               "type": "object",
150               "patternProperties": {
151                 ".*": {
152                   "type": "object",
153                   "additionalProperties": true
154                 }
155               }
156             },
157             "receiver": {
158               "type": "string"
159             },
160             "tag": {
161               "type": "string"
162             }
163           },
164           "additionalProperties": false,
165           "required": [
166             "tag",
167             "receiver",
168             "name"
169           ]
170         },
171         "ActionResult": {
172           "type": "object",
173           "properties": {
174             "action": {
175               "$ref": "#/definitions/Action"
176             },
177             "completed": {
178               "type": "string",
179               "format": "date-time"
180             },
181             "enqueued": {
182               "type": "string",
183               "format": "date-time"
184             },
185             "error": {
186               "$ref": "#/definitions/Error"
187             },
188             "message": {
189               "type": "string"
190             },
191             "output": {
192               "type": "object",
193               "patternProperties": {
194                 ".*": {
195                   "type": "object",
196                   "additionalProperties": true
197                 }
198               }
199             },
200             "started": {
201               "type": "string",
202               "format": "date-time"
203             },
204             "status": {
205               "type": "string"
206             }
207           },
208           "additionalProperties": false
209         },
210         "ActionResults": {
211           "type": "object",
212           "properties": {
213             "results": {
214               "type": "array",
215               "items": {
216                 "$ref": "#/definitions/ActionResult"
217               }
218             }
219           },
220           "additionalProperties": false
221         },
222         "ActionSpec": {
223           "type": "object",
224           "properties": {
225             "description": {
226               "type": "string"
227             },
228             "params": {
229               "type": "object",
230               "patternProperties": {
231                 ".*": {
232                   "type": "object",
233                   "additionalProperties": true
234                 }
235               }
236             }
237           },
238           "additionalProperties": false,
239           "required": [
240             "description",
241             "params"
242           ]
243         },
244         "Actions": {
245           "type": "object",
246           "properties": {
247             "actions": {
248               "type": "array",
249               "items": {
250                 "$ref": "#/definitions/Action"
251               }
252             }
253           },
254           "additionalProperties": false
255         },
256         "ActionsByName": {
257           "type": "object",
258           "properties": {
259             "actions": {
260               "type": "array",
261               "items": {
262                 "$ref": "#/definitions/ActionResult"
263               }
264             },
265             "error": {
266               "$ref": "#/definitions/Error"
267             },
268             "name": {
269               "type": "string"
270             }
271           },
272           "additionalProperties": false
273         },
274         "ActionsByNames": {
275           "type": "object",
276           "properties": {
277             "actions": {
278               "type": "array",
279               "items": {
280                 "$ref": "#/definitions/ActionsByName"
281               }
282             }
283           },
284           "additionalProperties": false
285         },
286         "ActionsByReceiver": {
287           "type": "object",
288           "properties": {
289             "actions": {
290               "type": "array",
291               "items": {
292                 "$ref": "#/definitions/ActionResult"
293               }
294             },
295             "error": {
296               "$ref": "#/definitions/Error"
297             },
298             "receiver": {
299               "type": "string"
300             }
301           },
302           "additionalProperties": false
303         },
304         "ActionsByReceivers": {
305           "type": "object",
306           "properties": {
307             "actions": {
308               "type": "array",
309               "items": {
310                 "$ref": "#/definitions/ActionsByReceiver"
311               }
312             }
313           },
314           "additionalProperties": false
315         },
316         "ApplicationCharmActionsResult": {
317           "type": "object",
318           "properties": {
319             "actions": {
320               "type": "object",
321               "patternProperties": {
322                 ".*": {
323                   "$ref": "#/definitions/ActionSpec"
324                 }
325               }
326             },
327             "application-tag": {
328               "type": "string"
329             },
330             "error": {
331               "$ref": "#/definitions/Error"
332             }
333           },
334           "additionalProperties": false
335         },
336         "ApplicationsCharmActionsResults": {
337           "type": "object",
338           "properties": {
339             "results": {
340               "type": "array",
341               "items": {
342                 "$ref": "#/definitions/ApplicationCharmActionsResult"
343               }
344             }
345           },
346           "additionalProperties": false
347         },
348         "Entities": {
349           "type": "object",
350           "properties": {
351             "entities": {
352               "type": "array",
353               "items": {
354                 "$ref": "#/definitions/Entity"
355               }
356             }
357           },
358           "additionalProperties": false,
359           "required": [
360             "entities"
361           ]
362         },
363         "Entity": {
364           "type": "object",
365           "properties": {
366             "tag": {
367               "type": "string"
368             }
369           },
370           "additionalProperties": false,
371           "required": [
372             "tag"
373           ]
374         },
375         "Error": {
376           "type": "object",
377           "properties": {
378             "code": {
379               "type": "string"
380             },
381             "info": {
382               "$ref": "#/definitions/ErrorInfo"
383             },
384             "message": {
385               "type": "string"
386             }
387           },
388           "additionalProperties": false,
389           "required": [
390             "message",
391             "code"
392           ]
393         },
394         "ErrorInfo": {
395           "type": "object",
396           "properties": {
397             "macaroon": {
398               "$ref": "#/definitions/Macaroon"
399             },
400             "macaroon-path": {
401               "type": "string"
402             }
403           },
404           "additionalProperties": false
405         },
406         "FindActionsByNames": {
407           "type": "object",
408           "properties": {
409             "names": {
410               "type": "array",
411               "items": {
412                 "type": "string"
413               }
414             }
415           },
416           "additionalProperties": false
417         },
418         "FindTags": {
419           "type": "object",
420           "properties": {
421             "prefixes": {
422               "type": "array",
423               "items": {
424                 "type": "string"
425               }
426             }
427           },
428           "additionalProperties": false,
429           "required": [
430             "prefixes"
431           ]
432         },
433         "FindTagsResults": {
434           "type": "object",
435           "properties": {
436             "matches": {
437               "type": "object",
438               "patternProperties": {
439                 ".*": {
440                   "type": "array",
441                   "items": {
442                     "$ref": "#/definitions/Entity"
443                   }
444                 }
445               }
446             }
447           },
448           "additionalProperties": false,
449           "required": [
450             "matches"
451           ]
452         },
453         "Macaroon": {
454           "type": "object",
455           "additionalProperties": false
456         },
457         "RunParams": {
458           "type": "object",
459           "properties": {
460             "applications": {
461               "type": "array",
462               "items": {
463                 "type": "string"
464               }
465             },
466             "commands": {
467               "type": "string"
468             },
469             "machines": {
470               "type": "array",
471               "items": {
472                 "type": "string"
473               }
474             },
475             "timeout": {
476               "type": "integer"
477             },
478             "units": {
479               "type": "array",
480               "items": {
481                 "type": "string"
482               }
483             }
484           },
485           "additionalProperties": false,
486           "required": [
487             "commands",
488             "timeout"
489           ]
490         }
491       }
492     }
493   },
494   {
495     "Name": "Agent",
496     "Version": 2,
497     "Schema": {
498       "type": "object",
499       "properties": {
500         "ClearReboot": {
501           "type": "object",
502           "properties": {
503             "Params": {
504               "$ref": "#/definitions/Entities"
505             },
506             "Result": {
507               "$ref": "#/definitions/ErrorResults"
508             }
509           }
510         },
511         "CloudSpec": {
512           "type": "object",
513           "properties": {
514             "Params": {
515               "$ref": "#/definitions/Entities"
516             },
517             "Result": {
518               "$ref": "#/definitions/CloudSpecResults"
519             }
520           }
521         },
522         "ControllerConfig": {
523           "type": "object",
524           "properties": {
525             "Result": {
526               "$ref": "#/definitions/ControllerConfigResult"
527             }
528           }
529         },
530         "GetCloudSpec": {
531           "type": "object",
532           "properties": {
533             "Params": {
534               "$ref": "#/definitions/ModelTag"
535             },
536             "Result": {
537               "$ref": "#/definitions/CloudSpecResult"
538             }
539           }
540         },
541         "GetEntities": {
542           "type": "object",
543           "properties": {
544             "Params": {
545               "$ref": "#/definitions/Entities"
546             },
547             "Result": {
548               "$ref": "#/definitions/AgentGetEntitiesResults"
549             }
550           }
551         },
552         "IsMaster": {
553           "type": "object",
554           "properties": {
555             "Result": {
556               "$ref": "#/definitions/IsMasterResult"
557             }
558           }
559         },
560         "ModelConfig": {
561           "type": "object",
562           "properties": {
563             "Result": {
564               "$ref": "#/definitions/ModelConfigResult"
565             }
566           }
567         },
568         "SetPasswords": {
569           "type": "object",
570           "properties": {
571             "Params": {
572               "$ref": "#/definitions/EntityPasswords"
573             },
574             "Result": {
575               "$ref": "#/definitions/ErrorResults"
576             }
577           }
578         },
579         "StateServingInfo": {
580           "type": "object",
581           "properties": {
582             "Result": {
583               "$ref": "#/definitions/StateServingInfo"
584             }
585           }
586         },
587         "WatchCredentials": {
588           "type": "object",
589           "properties": {
590             "Params": {
591               "$ref": "#/definitions/Entities"
592             },
593             "Result": {
594               "$ref": "#/definitions/NotifyWatchResults"
595             }
596           }
597         },
598         "WatchForModelConfigChanges": {
599           "type": "object",
600           "properties": {
601             "Result": {
602               "$ref": "#/definitions/NotifyWatchResult"
603             }
604           }
605         }
606       },
607       "definitions": {
608         "AgentGetEntitiesResult": {
609           "type": "object",
610           "properties": {
611             "container-type": {
612               "type": "string"
613             },
614             "error": {
615               "$ref": "#/definitions/Error"
616             },
617             "jobs": {
618               "type": "array",
619               "items": {
620                 "type": "string"
621               }
622             },
623             "life": {
624               "type": "string"
625             }
626           },
627           "additionalProperties": false,
628           "required": [
629             "life",
630             "jobs",
631             "container-type"
632           ]
633         },
634         "AgentGetEntitiesResults": {
635           "type": "object",
636           "properties": {
637             "entities": {
638               "type": "array",
639               "items": {
640                 "$ref": "#/definitions/AgentGetEntitiesResult"
641               }
642             }
643           },
644           "additionalProperties": false,
645           "required": [
646             "entities"
647           ]
648         },
649         "CloudCredential": {
650           "type": "object",
651           "properties": {
652             "attrs": {
653               "type": "object",
654               "patternProperties": {
655                 ".*": {
656                   "type": "string"
657                 }
658               }
659             },
660             "auth-type": {
661               "type": "string"
662             },
663             "redacted": {
664               "type": "array",
665               "items": {
666                 "type": "string"
667               }
668             }
669           },
670           "additionalProperties": false,
671           "required": [
672             "auth-type"
673           ]
674         },
675         "CloudSpec": {
676           "type": "object",
677           "properties": {
678             "credential": {
679               "$ref": "#/definitions/CloudCredential"
680             },
681             "endpoint": {
682               "type": "string"
683             },
684             "identity-endpoint": {
685               "type": "string"
686             },
687             "name": {
688               "type": "string"
689             },
690             "region": {
691               "type": "string"
692             },
693             "storage-endpoint": {
694               "type": "string"
695             },
696             "type": {
697               "type": "string"
698             }
699           },
700           "additionalProperties": false,
701           "required": [
702             "type",
703             "name"
704           ]
705         },
706         "CloudSpecResult": {
707           "type": "object",
708           "properties": {
709             "error": {
710               "$ref": "#/definitions/Error"
711             },
712             "result": {
713               "$ref": "#/definitions/CloudSpec"
714             }
715           },
716           "additionalProperties": false
717         },
718         "CloudSpecResults": {
719           "type": "object",
720           "properties": {
721             "results": {
722               "type": "array",
723               "items": {
724                 "$ref": "#/definitions/CloudSpecResult"
725               }
726             }
727           },
728           "additionalProperties": false
729         },
730         "ControllerConfigResult": {
731           "type": "object",
732           "properties": {
733             "config": {
734               "type": "object",
735               "patternProperties": {
736                 ".*": {
737                   "type": "object",
738                   "additionalProperties": true
739                 }
740               }
741             }
742           },
743           "additionalProperties": false,
744           "required": [
745             "config"
746           ]
747         },
748         "Entities": {
749           "type": "object",
750           "properties": {
751             "entities": {
752               "type": "array",
753               "items": {
754                 "$ref": "#/definitions/Entity"
755               }
756             }
757           },
758           "additionalProperties": false,
759           "required": [
760             "entities"
761           ]
762         },
763         "Entity": {
764           "type": "object",
765           "properties": {
766             "tag": {
767               "type": "string"
768             }
769           },
770           "additionalProperties": false,
771           "required": [
772             "tag"
773           ]
774         },
775         "EntityPassword": {
776           "type": "object",
777           "properties": {
778             "password": {
779               "type": "string"
780             },
781             "tag": {
782               "type": "string"
783             }
784           },
785           "additionalProperties": false,
786           "required": [
787             "tag",
788             "password"
789           ]
790         },
791         "EntityPasswords": {
792           "type": "object",
793           "properties": {
794             "changes": {
795               "type": "array",
796               "items": {
797                 "$ref": "#/definitions/EntityPassword"
798               }
799             }
800           },
801           "additionalProperties": false,
802           "required": [
803             "changes"
804           ]
805         },
806         "Error": {
807           "type": "object",
808           "properties": {
809             "code": {
810               "type": "string"
811             },
812             "info": {
813               "$ref": "#/definitions/ErrorInfo"
814             },
815             "message": {
816               "type": "string"
817             }
818           },
819           "additionalProperties": false,
820           "required": [
821             "message",
822             "code"
823           ]
824         },
825         "ErrorInfo": {
826           "type": "object",
827           "properties": {
828             "macaroon": {
829               "$ref": "#/definitions/Macaroon"
830             },
831             "macaroon-path": {
832               "type": "string"
833             }
834           },
835           "additionalProperties": false
836         },
837         "ErrorResult": {
838           "type": "object",
839           "properties": {
840             "error": {
841               "$ref": "#/definitions/Error"
842             }
843           },
844           "additionalProperties": false
845         },
846         "ErrorResults": {
847           "type": "object",
848           "properties": {
849             "results": {
850               "type": "array",
851               "items": {
852                 "$ref": "#/definitions/ErrorResult"
853               }
854             }
855           },
856           "additionalProperties": false,
857           "required": [
858             "results"
859           ]
860         },
861         "IsMasterResult": {
862           "type": "object",
863           "properties": {
864             "master": {
865               "type": "boolean"
866             }
867           },
868           "additionalProperties": false,
869           "required": [
870             "master"
871           ]
872         },
873         "Macaroon": {
874           "type": "object",
875           "additionalProperties": false
876         },
877         "ModelConfigResult": {
878           "type": "object",
879           "properties": {
880             "config": {
881               "type": "object",
882               "patternProperties": {
883                 ".*": {
884                   "type": "object",
885                   "additionalProperties": true
886                 }
887               }
888             }
889           },
890           "additionalProperties": false,
891           "required": [
892             "config"
893           ]
894         },
895         "ModelTag": {
896           "type": "object",
897           "additionalProperties": false
898         },
899         "NotifyWatchResult": {
900           "type": "object",
901           "properties": {
902             "NotifyWatcherId": {
903               "type": "string"
904             },
905             "error": {
906               "$ref": "#/definitions/Error"
907             }
908           },
909           "additionalProperties": false,
910           "required": [
911             "NotifyWatcherId"
912           ]
913         },
914         "NotifyWatchResults": {
915           "type": "object",
916           "properties": {
917             "results": {
918               "type": "array",
919               "items": {
920                 "$ref": "#/definitions/NotifyWatchResult"
921               }
922             }
923           },
924           "additionalProperties": false,
925           "required": [
926             "results"
927           ]
928         },
929         "StateServingInfo": {
930           "type": "object",
931           "properties": {
932             "api-port": {
933               "type": "integer"
934             },
935             "ca-private-key": {
936               "type": "string"
937             },
938             "cert": {
939               "type": "string"
940             },
941             "private-key": {
942               "type": "string"
943             },
944             "shared-secret": {
945               "type": "string"
946             },
947             "state-port": {
948               "type": "integer"
949             },
950             "system-identity": {
951               "type": "string"
952             }
953           },
954           "additionalProperties": false,
955           "required": [
956             "api-port",
957             "state-port",
958             "cert",
959             "private-key",
960             "ca-private-key",
961             "shared-secret",
962             "system-identity"
963           ]
964         }
965       }
966     }
967   },
968   {
969     "Name": "AgentTools",
970     "Version": 1,
971     "Schema": {
972       "type": "object",
973       "properties": {
974         "UpdateToolsAvailable": {
975           "type": "object"
976         }
977       }
978     }
979   },
980   {
981     "Name": "AllModelWatcher",
982     "Version": 2,
983     "Schema": {
984       "type": "object",
985       "properties": {
986         "Next": {
987           "type": "object",
988           "properties": {
989             "Result": {
990               "$ref": "#/definitions/AllWatcherNextResults"
991             }
992           }
993         },
994         "Stop": {
995           "type": "object"
996         }
997       },
998       "definitions": {
999         "AllWatcherNextResults": {
1000           "type": "object",
1001           "properties": {
1002             "deltas": {
1003               "type": "array",
1004               "items": {
1005                 "$ref": "#/definitions/Delta"
1006               }
1007             }
1008           },
1009           "additionalProperties": false,
1010           "required": [
1011             "deltas"
1012           ]
1013         },
1014         "Delta": {
1015           "type": "object",
1016           "properties": {
1017             "entity": {
1018               "type": "object",
1019               "additionalProperties": true
1020             },
1021             "removed": {
1022               "type": "boolean"
1023             }
1024           },
1025           "additionalProperties": false,
1026           "required": [
1027             "removed",
1028             "entity"
1029           ]
1030         }
1031       }
1032     }
1033   },
1034   {
1035     "Name": "AllWatcher",
1036     "Version": 1,
1037     "Schema": {
1038       "type": "object",
1039       "properties": {
1040         "Next": {
1041           "type": "object",
1042           "properties": {
1043             "Result": {
1044               "$ref": "#/definitions/AllWatcherNextResults"
1045             }
1046           }
1047         },
1048         "Stop": {
1049           "type": "object"
1050         }
1051       },
1052       "definitions": {
1053         "AllWatcherNextResults": {
1054           "type": "object",
1055           "properties": {
1056             "deltas": {
1057               "type": "array",
1058               "items": {
1059                 "$ref": "#/definitions/Delta"
1060               }
1061             }
1062           },
1063           "additionalProperties": false,
1064           "required": [
1065             "deltas"
1066           ]
1067         },
1068         "Delta": {
1069           "type": "object",
1070           "properties": {
1071             "entity": {
1072               "type": "object",
1073               "additionalProperties": true
1074             },
1075             "removed": {
1076               "type": "boolean"
1077             }
1078           },
1079           "additionalProperties": false,
1080           "required": [
1081             "removed",
1082             "entity"
1083           ]
1084         }
1085       }
1086     }
1087   },
1088   {
1089     "Name": "Annotations",
1090     "Version": 2,
1091     "Schema": {
1092       "type": "object",
1093       "properties": {
1094         "Get": {
1095           "type": "object",
1096           "properties": {
1097             "Params": {
1098               "$ref": "#/definitions/Entities"
1099             },
1100             "Result": {
1101               "$ref": "#/definitions/AnnotationsGetResults"
1102             }
1103           }
1104         },
1105         "Set": {
1106           "type": "object",
1107           "properties": {
1108             "Params": {
1109               "$ref": "#/definitions/AnnotationsSet"
1110             },
1111             "Result": {
1112               "$ref": "#/definitions/ErrorResults"
1113             }
1114           }
1115         }
1116       },
1117       "definitions": {
1118         "AnnotationsGetResult": {
1119           "type": "object",
1120           "properties": {
1121             "annotations": {
1122               "type": "object",
1123               "patternProperties": {
1124                 ".*": {
1125                   "type": "string"
1126                 }
1127               }
1128             },
1129             "entity": {
1130               "type": "string"
1131             },
1132             "error": {
1133               "$ref": "#/definitions/ErrorResult"
1134             }
1135           },
1136           "additionalProperties": false,
1137           "required": [
1138             "entity",
1139             "annotations"
1140           ]
1141         },
1142         "AnnotationsGetResults": {
1143           "type": "object",
1144           "properties": {
1145             "results": {
1146               "type": "array",
1147               "items": {
1148                 "$ref": "#/definitions/AnnotationsGetResult"
1149               }
1150             }
1151           },
1152           "additionalProperties": false,
1153           "required": [
1154             "results"
1155           ]
1156         },
1157         "AnnotationsSet": {
1158           "type": "object",
1159           "properties": {
1160             "annotations": {
1161               "type": "array",
1162               "items": {
1163                 "$ref": "#/definitions/EntityAnnotations"
1164               }
1165             }
1166           },
1167           "additionalProperties": false,
1168           "required": [
1169             "annotations"
1170           ]
1171         },
1172         "Entities": {
1173           "type": "object",
1174           "properties": {
1175             "entities": {
1176               "type": "array",
1177               "items": {
1178                 "$ref": "#/definitions/Entity"
1179               }
1180             }
1181           },
1182           "additionalProperties": false,
1183           "required": [
1184             "entities"
1185           ]
1186         },
1187         "Entity": {
1188           "type": "object",
1189           "properties": {
1190             "tag": {
1191               "type": "string"
1192             }
1193           },
1194           "additionalProperties": false,
1195           "required": [
1196             "tag"
1197           ]
1198         },
1199         "EntityAnnotations": {
1200           "type": "object",
1201           "properties": {
1202             "annotations": {
1203               "type": "object",
1204               "patternProperties": {
1205                 ".*": {
1206                   "type": "string"
1207                 }
1208               }
1209             },
1210             "entity": {
1211               "type": "string"
1212             }
1213           },
1214           "additionalProperties": false,
1215           "required": [
1216             "entity",
1217             "annotations"
1218           ]
1219         },
1220         "Error": {
1221           "type": "object",
1222           "properties": {
1223             "code": {
1224               "type": "string"
1225             },
1226             "info": {
1227               "$ref": "#/definitions/ErrorInfo"
1228             },
1229             "message": {
1230               "type": "string"
1231             }
1232           },
1233           "additionalProperties": false,
1234           "required": [
1235             "message",
1236             "code"
1237           ]
1238         },
1239         "ErrorInfo": {
1240           "type": "object",
1241           "properties": {
1242             "macaroon": {
1243               "$ref": "#/definitions/Macaroon"
1244             },
1245             "macaroon-path": {
1246               "type": "string"
1247             }
1248           },
1249           "additionalProperties": false
1250         },
1251         "ErrorResult": {
1252           "type": "object",
1253           "properties": {
1254             "error": {
1255               "$ref": "#/definitions/Error"
1256             }
1257           },
1258           "additionalProperties": false
1259         },
1260         "ErrorResults": {
1261           "type": "object",
1262           "properties": {
1263             "results": {
1264               "type": "array",
1265               "items": {
1266                 "$ref": "#/definitions/ErrorResult"
1267               }
1268             }
1269           },
1270           "additionalProperties": false,
1271           "required": [
1272             "results"
1273           ]
1274         },
1275         "Macaroon": {
1276           "type": "object",
1277           "additionalProperties": false
1278         }
1279       }
1280     }
1281   },
1282   {
1283     "Name": "Application",
1284     "Version": 3,
1285     "Schema": {
1286       "type": "object",
1287       "properties": {
1288         "AddRelation": {
1289           "type": "object",
1290           "properties": {
1291             "Params": {
1292               "$ref": "#/definitions/AddRelation"
1293             },
1294             "Result": {
1295               "$ref": "#/definitions/AddRelationResults"
1296             }
1297           }
1298         },
1299         "AddUnits": {
1300           "type": "object",
1301           "properties": {
1302             "Params": {
1303               "$ref": "#/definitions/AddApplicationUnits"
1304             },
1305             "Result": {
1306               "$ref": "#/definitions/AddApplicationUnitsResults"
1307             }
1308           }
1309         },
1310         "CharmRelations": {
1311           "type": "object",
1312           "properties": {
1313             "Params": {
1314               "$ref": "#/definitions/ApplicationCharmRelations"
1315             },
1316             "Result": {
1317               "$ref": "#/definitions/ApplicationCharmRelationsResults"
1318             }
1319           }
1320         },
1321         "Deploy": {
1322           "type": "object",
1323           "properties": {
1324             "Params": {
1325               "$ref": "#/definitions/ApplicationsDeploy"
1326             },
1327             "Result": {
1328               "$ref": "#/definitions/ErrorResults"
1329             }
1330           }
1331         },
1332         "Destroy": {
1333           "type": "object",
1334           "properties": {
1335             "Params": {
1336               "$ref": "#/definitions/ApplicationDestroy"
1337             }
1338           }
1339         },
1340         "DestroyRelation": {
1341           "type": "object",
1342           "properties": {
1343             "Params": {
1344               "$ref": "#/definitions/DestroyRelation"
1345             }
1346           }
1347         },
1348         "DestroyUnits": {
1349           "type": "object",
1350           "properties": {
1351             "Params": {
1352               "$ref": "#/definitions/DestroyApplicationUnits"
1353             }
1354           }
1355         },
1356         "Expose": {
1357           "type": "object",
1358           "properties": {
1359             "Params": {
1360               "$ref": "#/definitions/ApplicationExpose"
1361             }
1362           }
1363         },
1364         "Get": {
1365           "type": "object",
1366           "properties": {
1367             "Params": {
1368               "$ref": "#/definitions/ApplicationGet"
1369             },
1370             "Result": {
1371               "$ref": "#/definitions/ApplicationGetResults"
1372             }
1373           }
1374         },
1375         "GetCharmURL": {
1376           "type": "object",
1377           "properties": {
1378             "Params": {
1379               "$ref": "#/definitions/ApplicationGet"
1380             },
1381             "Result": {
1382               "$ref": "#/definitions/StringResult"
1383             }
1384           }
1385         },
1386         "GetConstraints": {
1387           "type": "object",
1388           "properties": {
1389             "Params": {
1390               "$ref": "#/definitions/GetApplicationConstraints"
1391             },
1392             "Result": {
1393               "$ref": "#/definitions/GetConstraintsResults"
1394             }
1395           }
1396         },
1397         "Set": {
1398           "type": "object",
1399           "properties": {
1400             "Params": {
1401               "$ref": "#/definitions/ApplicationSet"
1402             }
1403           }
1404         },
1405         "SetCharm": {
1406           "type": "object",
1407           "properties": {
1408             "Params": {
1409               "$ref": "#/definitions/ApplicationSetCharm"
1410             }
1411           }
1412         },
1413         "SetConstraints": {
1414           "type": "object",
1415           "properties": {
1416             "Params": {
1417               "$ref": "#/definitions/SetConstraints"
1418             }
1419           }
1420         },
1421         "SetMetricCredentials": {
1422           "type": "object",
1423           "properties": {
1424             "Params": {
1425               "$ref": "#/definitions/ApplicationMetricCredentials"
1426             },
1427             "Result": {
1428               "$ref": "#/definitions/ErrorResults"
1429             }
1430           }
1431         },
1432         "Unexpose": {
1433           "type": "object",
1434           "properties": {
1435             "Params": {
1436               "$ref": "#/definitions/ApplicationUnexpose"
1437             }
1438           }
1439         },
1440         "Unset": {
1441           "type": "object",
1442           "properties": {
1443             "Params": {
1444               "$ref": "#/definitions/ApplicationUnset"
1445             }
1446           }
1447         },
1448         "Update": {
1449           "type": "object",
1450           "properties": {
1451             "Params": {
1452               "$ref": "#/definitions/ApplicationUpdate"
1453             }
1454           }
1455         }
1456       },
1457       "definitions": {
1458         "AddApplicationUnits": {
1459           "type": "object",
1460           "properties": {
1461             "application": {
1462               "type": "string"
1463             },
1464             "num-units": {
1465               "type": "integer"
1466             },
1467             "placement": {
1468               "type": "array",
1469               "items": {
1470                 "$ref": "#/definitions/Placement"
1471               }
1472             }
1473           },
1474           "additionalProperties": false,
1475           "required": [
1476             "application",
1477             "num-units",
1478             "placement"
1479           ]
1480         },
1481         "AddApplicationUnitsResults": {
1482           "type": "object",
1483           "properties": {
1484             "units": {
1485               "type": "array",
1486               "items": {
1487                 "type": "string"
1488               }
1489             }
1490           },
1491           "additionalProperties": false,
1492           "required": [
1493             "units"
1494           ]
1495         },
1496         "AddRelation": {
1497           "type": "object",
1498           "properties": {
1499             "endpoints": {
1500               "type": "array",
1501               "items": {
1502                 "type": "string"
1503               }
1504             }
1505           },
1506           "additionalProperties": false,
1507           "required": [
1508             "endpoints"
1509           ]
1510         },
1511         "AddRelationResults": {
1512           "type": "object",
1513           "properties": {
1514             "endpoints": {
1515               "type": "object",
1516               "patternProperties": {
1517                 ".*": {
1518                   "$ref": "#/definitions/CharmRelation"
1519                 }
1520               }
1521             }
1522           },
1523           "additionalProperties": false,
1524           "required": [
1525             "endpoints"
1526           ]
1527         },
1528         "ApplicationCharmRelations": {
1529           "type": "object",
1530           "properties": {
1531             "application": {
1532               "type": "string"
1533             }
1534           },
1535           "additionalProperties": false,
1536           "required": [
1537             "application"
1538           ]
1539         },
1540         "ApplicationCharmRelationsResults": {
1541           "type": "object",
1542           "properties": {
1543             "charm-relations": {
1544               "type": "array",
1545               "items": {
1546                 "type": "string"
1547               }
1548             }
1549           },
1550           "additionalProperties": false,
1551           "required": [
1552             "charm-relations"
1553           ]
1554         },
1555         "ApplicationDeploy": {
1556           "type": "object",
1557           "properties": {
1558             "application": {
1559               "type": "string"
1560             },
1561             "channel": {
1562               "type": "string"
1563             },
1564             "charm-url": {
1565               "type": "string"
1566             },
1567             "config": {
1568               "type": "object",
1569               "patternProperties": {
1570                 ".*": {
1571                   "type": "string"
1572                 }
1573               }
1574             },
1575             "config-yaml": {
1576               "type": "string"
1577             },
1578             "constraints": {
1579               "$ref": "#/definitions/Value"
1580             },
1581             "endpoint-bindings": {
1582               "type": "object",
1583               "patternProperties": {
1584                 ".*": {
1585                   "type": "string"
1586                 }
1587               }
1588             },
1589             "num-units": {
1590               "type": "integer"
1591             },
1592             "placement": {
1593               "type": "array",
1594               "items": {
1595                 "$ref": "#/definitions/Placement"
1596               }
1597             },
1598             "resources": {
1599               "type": "object",
1600               "patternProperties": {
1601                 ".*": {
1602                   "type": "string"
1603                 }
1604               }
1605             },
1606             "series": {
1607               "type": "string"
1608             },
1609             "storage": {
1610               "type": "object",
1611               "patternProperties": {
1612                 ".*": {
1613                   "$ref": "#/definitions/Constraints"
1614                 }
1615               }
1616             }
1617           },
1618           "additionalProperties": false,
1619           "required": [
1620             "application",
1621             "series",
1622             "charm-url",
1623             "channel",
1624             "num-units",
1625             "config-yaml",
1626             "constraints"
1627           ]
1628         },
1629         "ApplicationDestroy": {
1630           "type": "object",
1631           "properties": {
1632             "application": {
1633               "type": "string"
1634             }
1635           },
1636           "additionalProperties": false,
1637           "required": [
1638             "application"
1639           ]
1640         },
1641         "ApplicationExpose": {
1642           "type": "object",
1643           "properties": {
1644             "application": {
1645               "type": "string"
1646             }
1647           },
1648           "additionalProperties": false,
1649           "required": [
1650             "application"
1651           ]
1652         },
1653         "ApplicationGet": {
1654           "type": "object",
1655           "properties": {
1656             "application": {
1657               "type": "string"
1658             }
1659           },
1660           "additionalProperties": false,
1661           "required": [
1662             "application"
1663           ]
1664         },
1665         "ApplicationGetResults": {
1666           "type": "object",
1667           "properties": {
1668             "application": {
1669               "type": "string"
1670             },
1671             "charm": {
1672               "type": "string"
1673             },
1674             "config": {
1675               "type": "object",
1676               "patternProperties": {
1677                 ".*": {
1678                   "type": "object",
1679                   "additionalProperties": true
1680                 }
1681               }
1682             },
1683             "constraints": {
1684               "$ref": "#/definitions/Value"
1685             },
1686             "series": {
1687               "type": "string"
1688             }
1689           },
1690           "additionalProperties": false,
1691           "required": [
1692             "application",
1693             "charm",
1694             "config",
1695             "constraints",
1696             "series"
1697           ]
1698         },
1699         "ApplicationMetricCredential": {
1700           "type": "object",
1701           "properties": {
1702             "application": {
1703               "type": "string"
1704             },
1705             "metrics-credentials": {
1706               "type": "array",
1707               "items": {
1708                 "type": "integer"
1709               }
1710             }
1711           },
1712           "additionalProperties": false,
1713           "required": [
1714             "application",
1715             "metrics-credentials"
1716           ]
1717         },
1718         "ApplicationMetricCredentials": {
1719           "type": "object",
1720           "properties": {
1721             "creds": {
1722               "type": "array",
1723               "items": {
1724                 "$ref": "#/definitions/ApplicationMetricCredential"
1725               }
1726             }
1727           },
1728           "additionalProperties": false,
1729           "required": [
1730             "creds"
1731           ]
1732         },
1733         "ApplicationSet": {
1734           "type": "object",
1735           "properties": {
1736             "application": {
1737               "type": "string"
1738             },
1739             "options": {
1740               "type": "object",
1741               "patternProperties": {
1742                 ".*": {
1743                   "type": "string"
1744                 }
1745               }
1746             }
1747           },
1748           "additionalProperties": false,
1749           "required": [
1750             "application",
1751             "options"
1752           ]
1753         },
1754         "ApplicationSetCharm": {
1755           "type": "object",
1756           "properties": {
1757             "application": {
1758               "type": "string"
1759             },
1760             "channel": {
1761               "type": "string"
1762             },
1763             "charm-url": {
1764               "type": "string"
1765             },
1766             "config-settings": {
1767               "type": "object",
1768               "patternProperties": {
1769                 ".*": {
1770                   "type": "string"
1771                 }
1772               }
1773             },
1774             "config-settings-yaml": {
1775               "type": "string"
1776             },
1777             "force-series": {
1778               "type": "boolean"
1779             },
1780             "force-units": {
1781               "type": "boolean"
1782             },
1783             "resource-ids": {
1784               "type": "object",
1785               "patternProperties": {
1786                 ".*": {
1787                   "type": "string"
1788                 }
1789               }
1790             },
1791             "storage-constraints": {
1792               "type": "object",
1793               "patternProperties": {
1794                 ".*": {
1795                   "$ref": "#/definitions/StorageConstraints"
1796                 }
1797               }
1798             }
1799           },
1800           "additionalProperties": false,
1801           "required": [
1802             "application",
1803             "charm-url",
1804             "channel",
1805             "force-units",
1806             "force-series"
1807           ]
1808         },
1809         "ApplicationUnexpose": {
1810           "type": "object",
1811           "properties": {
1812             "application": {
1813               "type": "string"
1814             }
1815           },
1816           "additionalProperties": false,
1817           "required": [
1818             "application"
1819           ]
1820         },
1821         "ApplicationUnset": {
1822           "type": "object",
1823           "properties": {
1824             "application": {
1825               "type": "string"
1826             },
1827             "options": {
1828               "type": "array",
1829               "items": {
1830                 "type": "string"
1831               }
1832             }
1833           },
1834           "additionalProperties": false,
1835           "required": [
1836             "application",
1837             "options"
1838           ]
1839         },
1840         "ApplicationUpdate": {
1841           "type": "object",
1842           "properties": {
1843             "application": {
1844               "type": "string"
1845             },
1846             "charm-url": {
1847               "type": "string"
1848             },
1849             "constraints": {
1850               "$ref": "#/definitions/Value"
1851             },
1852             "force-charm-url": {
1853               "type": "boolean"
1854             },
1855             "force-series": {
1856               "type": "boolean"
1857             },
1858             "min-units": {
1859               "type": "integer"
1860             },
1861             "settings": {
1862               "type": "object",
1863               "patternProperties": {
1864                 ".*": {
1865                   "type": "string"
1866                 }
1867               }
1868             },
1869             "settings-yaml": {
1870               "type": "string"
1871             }
1872           },
1873           "additionalProperties": false,
1874           "required": [
1875             "application",
1876             "charm-url",
1877             "force-charm-url",
1878             "force-series",
1879             "settings-yaml"
1880           ]
1881         },
1882         "ApplicationsDeploy": {
1883           "type": "object",
1884           "properties": {
1885             "applications": {
1886               "type": "array",
1887               "items": {
1888                 "$ref": "#/definitions/ApplicationDeploy"
1889               }
1890             }
1891           },
1892           "additionalProperties": false,
1893           "required": [
1894             "applications"
1895           ]
1896         },
1897         "CharmRelation": {
1898           "type": "object",
1899           "properties": {
1900             "interface": {
1901               "type": "string"
1902             },
1903             "limit": {
1904               "type": "integer"
1905             },
1906             "name": {
1907               "type": "string"
1908             },
1909             "optional": {
1910               "type": "boolean"
1911             },
1912             "role": {
1913               "type": "string"
1914             },
1915             "scope": {
1916               "type": "string"
1917             }
1918           },
1919           "additionalProperties": false,
1920           "required": [
1921             "name",
1922             "role",
1923             "interface",
1924             "optional",
1925             "limit",
1926             "scope"
1927           ]
1928         },
1929         "Constraints": {
1930           "type": "object",
1931           "properties": {
1932             "Count": {
1933               "type": "integer"
1934             },
1935             "Pool": {
1936               "type": "string"
1937             },
1938             "Size": {
1939               "type": "integer"
1940             }
1941           },
1942           "additionalProperties": false,
1943           "required": [
1944             "Pool",
1945             "Size",
1946             "Count"
1947           ]
1948         },
1949         "DestroyApplicationUnits": {
1950           "type": "object",
1951           "properties": {
1952             "unit-names": {
1953               "type": "array",
1954               "items": {
1955                 "type": "string"
1956               }
1957             }
1958           },
1959           "additionalProperties": false,
1960           "required": [
1961             "unit-names"
1962           ]
1963         },
1964         "DestroyRelation": {
1965           "type": "object",
1966           "properties": {
1967             "endpoints": {
1968               "type": "array",
1969               "items": {
1970                 "type": "string"
1971               }
1972             }
1973           },
1974           "additionalProperties": false,
1975           "required": [
1976             "endpoints"
1977           ]
1978         },
1979         "Error": {
1980           "type": "object",
1981           "properties": {
1982             "code": {
1983               "type": "string"
1984             },
1985             "info": {
1986               "$ref": "#/definitions/ErrorInfo"
1987             },
1988             "message": {
1989               "type": "string"
1990             }
1991           },
1992           "additionalProperties": false,
1993           "required": [
1994             "message",
1995             "code"
1996           ]
1997         },
1998         "ErrorInfo": {
1999           "type": "object",
2000           "properties": {
2001             "macaroon": {
2002               "$ref": "#/definitions/Macaroon"
2003             },
2004             "macaroon-path": {
2005               "type": "string"
2006             }
2007           },
2008           "additionalProperties": false
2009         },
2010         "ErrorResult": {
2011           "type": "object",
2012           "properties": {
2013             "error": {
2014               "$ref": "#/definitions/Error"
2015             }
2016           },
2017           "additionalProperties": false
2018         },
2019         "ErrorResults": {
2020           "type": "object",
2021           "properties": {
2022             "results": {
2023               "type": "array",
2024               "items": {
2025                 "$ref": "#/definitions/ErrorResult"
2026               }
2027             }
2028           },
2029           "additionalProperties": false,
2030           "required": [
2031             "results"
2032           ]
2033         },
2034         "GetApplicationConstraints": {
2035           "type": "object",
2036           "properties": {
2037             "application": {
2038               "type": "string"
2039             }
2040           },
2041           "additionalProperties": false,
2042           "required": [
2043             "application"
2044           ]
2045         },
2046         "GetConstraintsResults": {
2047           "type": "object",
2048           "properties": {
2049             "constraints": {
2050               "$ref": "#/definitions/Value"
2051             }
2052           },
2053           "additionalProperties": false,
2054           "required": [
2055             "constraints"
2056           ]
2057         },
2058         "Macaroon": {
2059           "type": "object",
2060           "additionalProperties": false
2061         },
2062         "Placement": {
2063           "type": "object",
2064           "properties": {
2065             "directive": {
2066               "type": "string"
2067             },
2068             "scope": {
2069               "type": "string"
2070             }
2071           },
2072           "additionalProperties": false,
2073           "required": [
2074             "scope",
2075             "directive"
2076           ]
2077         },
2078         "SetConstraints": {
2079           "type": "object",
2080           "properties": {
2081             "application": {
2082               "type": "string"
2083             },
2084             "constraints": {
2085               "$ref": "#/definitions/Value"
2086             }
2087           },
2088           "additionalProperties": false,
2089           "required": [
2090             "application",
2091             "constraints"
2092           ]
2093         },
2094         "StorageConstraints": {
2095           "type": "object",
2096           "properties": {
2097             "count": {
2098               "type": "integer"
2099             },
2100             "pool": {
2101               "type": "string"
2102             },
2103             "size": {
2104               "type": "integer"
2105             }
2106           },
2107           "additionalProperties": false
2108         },
2109         "StringResult": {
2110           "type": "object",
2111           "properties": {
2112             "error": {
2113               "$ref": "#/definitions/Error"
2114             },
2115             "result": {
2116               "type": "string"
2117             }
2118           },
2119           "additionalProperties": false,
2120           "required": [
2121             "result"
2122           ]
2123         },
2124         "Value": {
2125           "type": "object",
2126           "properties": {
2127             "arch": {
2128               "type": "string"
2129             },
2130             "container": {
2131               "type": "string"
2132             },
2133             "cores": {
2134               "type": "integer"
2135             },
2136             "cpu-power": {
2137               "type": "integer"
2138             },
2139             "instance-type": {
2140               "type": "string"
2141             },
2142             "mem": {
2143               "type": "integer"
2144             },
2145             "root-disk": {
2146               "type": "integer"
2147             },
2148             "spaces": {
2149               "type": "array",
2150               "items": {
2151                 "type": "string"
2152               }
2153             },
2154             "tags": {
2155               "type": "array",
2156               "items": {
2157                 "type": "string"
2158               }
2159             },
2160             "virt-type": {
2161               "type": "string"
2162             }
2163           },
2164           "additionalProperties": false
2165         }
2166       }
2167     }
2168   },
2169   {
2170     "Name": "ApplicationScaler",
2171     "Version": 1,
2172     "Schema": {
2173       "type": "object",
2174       "properties": {
2175         "Rescale": {
2176           "type": "object",
2177           "properties": {
2178             "Params": {
2179               "$ref": "#/definitions/Entities"
2180             },
2181             "Result": {
2182               "$ref": "#/definitions/ErrorResults"
2183             }
2184           }
2185         },
2186         "Watch": {
2187           "type": "object",
2188           "properties": {
2189             "Result": {
2190               "$ref": "#/definitions/StringsWatchResult"
2191             }
2192           }
2193         }
2194       },
2195       "definitions": {
2196         "Entities": {
2197           "type": "object",
2198           "properties": {
2199             "entities": {
2200               "type": "array",
2201               "items": {
2202                 "$ref": "#/definitions/Entity"
2203               }
2204             }
2205           },
2206           "additionalProperties": false,
2207           "required": [
2208             "entities"
2209           ]
2210         },
2211         "Entity": {
2212           "type": "object",
2213           "properties": {
2214             "tag": {
2215               "type": "string"
2216             }
2217           },
2218           "additionalProperties": false,
2219           "required": [
2220             "tag"
2221           ]
2222         },
2223         "Error": {
2224           "type": "object",
2225           "properties": {
2226             "code": {
2227               "type": "string"
2228             },
2229             "info": {
2230               "$ref": "#/definitions/ErrorInfo"
2231             },
2232             "message": {
2233               "type": "string"
2234             }
2235           },
2236           "additionalProperties": false,
2237           "required": [
2238             "message",
2239             "code"
2240           ]
2241         },
2242         "ErrorInfo": {
2243           "type": "object",
2244           "properties": {
2245             "macaroon": {
2246               "$ref": "#/definitions/Macaroon"
2247             },
2248             "macaroon-path": {
2249               "type": "string"
2250             }
2251           },
2252           "additionalProperties": false
2253         },
2254         "ErrorResult": {
2255           "type": "object",
2256           "properties": {
2257             "error": {
2258               "$ref": "#/definitions/Error"
2259             }
2260           },
2261           "additionalProperties": false
2262         },
2263         "ErrorResults": {
2264           "type": "object",
2265           "properties": {
2266             "results": {
2267               "type": "array",
2268               "items": {
2269                 "$ref": "#/definitions/ErrorResult"
2270               }
2271             }
2272           },
2273           "additionalProperties": false,
2274           "required": [
2275             "results"
2276           ]
2277         },
2278         "Macaroon": {
2279           "type": "object",
2280           "additionalProperties": false
2281         },
2282         "StringsWatchResult": {
2283           "type": "object",
2284           "properties": {
2285             "changes": {
2286               "type": "array",
2287               "items": {
2288                 "type": "string"
2289               }
2290             },
2291             "error": {
2292               "$ref": "#/definitions/Error"
2293             },
2294             "watcher-id": {
2295               "type": "string"
2296             }
2297           },
2298           "additionalProperties": false,
2299           "required": [
2300             "watcher-id"
2301           ]
2302         }
2303       }
2304     }
2305   },
2306   {
2307     "Name": "Backups",
2308     "Version": 1,
2309     "Schema": {
2310       "type": "object",
2311       "properties": {
2312         "Create": {
2313           "type": "object",
2314           "properties": {
2315             "Params": {
2316               "$ref": "#/definitions/BackupsCreateArgs"
2317             },
2318             "Result": {
2319               "$ref": "#/definitions/BackupsMetadataResult"
2320             }
2321           }
2322         },
2323         "FinishRestore": {
2324           "type": "object"
2325         },
2326         "Info": {
2327           "type": "object",
2328           "properties": {
2329             "Params": {
2330               "$ref": "#/definitions/BackupsInfoArgs"
2331             },
2332             "Result": {
2333               "$ref": "#/definitions/BackupsMetadataResult"
2334             }
2335           }
2336         },
2337         "List": {
2338           "type": "object",
2339           "properties": {
2340             "Params": {
2341               "$ref": "#/definitions/BackupsListArgs"
2342             },
2343             "Result": {
2344               "$ref": "#/definitions/BackupsListResult"
2345             }
2346           }
2347         },
2348         "PrepareRestore": {
2349           "type": "object"
2350         },
2351         "Remove": {
2352           "type": "object",
2353           "properties": {
2354             "Params": {
2355               "$ref": "#/definitions/BackupsRemoveArgs"
2356             }
2357           }
2358         },
2359         "Restore": {
2360           "type": "object",
2361           "properties": {
2362             "Params": {
2363               "$ref": "#/definitions/RestoreArgs"
2364             }
2365           }
2366         }
2367       },
2368       "definitions": {
2369         "BackupsCreateArgs": {
2370           "type": "object",
2371           "properties": {
2372             "notes": {
2373               "type": "string"
2374             }
2375           },
2376           "additionalProperties": false,
2377           "required": [
2378             "notes"
2379           ]
2380         },
2381         "BackupsInfoArgs": {
2382           "type": "object",
2383           "properties": {
2384             "id": {
2385               "type": "string"
2386             }
2387           },
2388           "additionalProperties": false,
2389           "required": [
2390             "id"
2391           ]
2392         },
2393         "BackupsListArgs": {
2394           "type": "object",
2395           "additionalProperties": false
2396         },
2397         "BackupsListResult": {
2398           "type": "object",
2399           "properties": {
2400             "list": {
2401               "type": "array",
2402               "items": {
2403                 "$ref": "#/definitions/BackupsMetadataResult"
2404               }
2405             }
2406           },
2407           "additionalProperties": false,
2408           "required": [
2409             "list"
2410           ]
2411         },
2412         "BackupsMetadataResult": {
2413           "type": "object",
2414           "properties": {
2415             "ca-cert": {
2416               "type": "string"
2417             },
2418             "ca-private-key": {
2419               "type": "string"
2420             },
2421             "checksum": {
2422               "type": "string"
2423             },
2424             "checksum-format": {
2425               "type": "string"
2426             },
2427             "finished": {
2428               "type": "string",
2429               "format": "date-time"
2430             },
2431             "hostname": {
2432               "type": "string"
2433             },
2434             "id": {
2435               "type": "string"
2436             },
2437             "machine": {
2438               "type": "string"
2439             },
2440             "model": {
2441               "type": "string"
2442             },
2443             "notes": {
2444               "type": "string"
2445             },
2446             "series": {
2447               "type": "string"
2448             },
2449             "size": {
2450               "type": "integer"
2451             },
2452             "started": {
2453               "type": "string",
2454               "format": "date-time"
2455             },
2456             "stored": {
2457               "type": "string",
2458               "format": "date-time"
2459             },
2460             "version": {
2461               "$ref": "#/definitions/Number"
2462             }
2463           },
2464           "additionalProperties": false,
2465           "required": [
2466             "id",
2467             "checksum",
2468             "checksum-format",
2469             "size",
2470             "stored",
2471             "started",
2472             "finished",
2473             "notes",
2474             "model",
2475             "machine",
2476             "hostname",
2477             "version",
2478             "series",
2479             "ca-cert",
2480             "ca-private-key"
2481           ]
2482         },
2483         "BackupsRemoveArgs": {
2484           "type": "object",
2485           "properties": {
2486             "id": {
2487               "type": "string"
2488             }
2489           },
2490           "additionalProperties": false,
2491           "required": [
2492             "id"
2493           ]
2494         },
2495         "Number": {
2496           "type": "object",
2497           "properties": {
2498             "Build": {
2499               "type": "integer"
2500             },
2501             "Major": {
2502               "type": "integer"
2503             },
2504             "Minor": {
2505               "type": "integer"
2506             },
2507             "Patch": {
2508               "type": "integer"
2509             },
2510             "Tag": {
2511               "type": "string"
2512             }
2513           },
2514           "additionalProperties": false,
2515           "required": [
2516             "Major",
2517             "Minor",
2518             "Tag",
2519             "Patch",
2520             "Build"
2521           ]
2522         },
2523         "RestoreArgs": {
2524           "type": "object",
2525           "properties": {
2526             "backup-id": {
2527               "type": "string"
2528             }
2529           },
2530           "additionalProperties": false,
2531           "required": [
2532             "backup-id"
2533           ]
2534         }
2535       }
2536     }
2537   },
2538   {
2539     "Name": "Block",
2540     "Version": 2,
2541     "Schema": {
2542       "type": "object",
2543       "properties": {
2544         "List": {
2545           "type": "object",
2546           "properties": {
2547             "Result": {
2548               "$ref": "#/definitions/BlockResults"
2549             }
2550           }
2551         },
2552         "SwitchBlockOff": {
2553           "type": "object",
2554           "properties": {
2555             "Params": {
2556               "$ref": "#/definitions/BlockSwitchParams"
2557             },
2558             "Result": {
2559               "$ref": "#/definitions/ErrorResult"
2560             }
2561           }
2562         },
2563         "SwitchBlockOn": {
2564           "type": "object",
2565           "properties": {
2566             "Params": {
2567               "$ref": "#/definitions/BlockSwitchParams"
2568             },
2569             "Result": {
2570               "$ref": "#/definitions/ErrorResult"
2571             }
2572           }
2573         }
2574       },
2575       "definitions": {
2576         "Block": {
2577           "type": "object",
2578           "properties": {
2579             "id": {
2580               "type": "string"
2581             },
2582             "message": {
2583               "type": "string"
2584             },
2585             "tag": {
2586               "type": "string"
2587             },
2588             "type": {
2589               "type": "string"
2590             }
2591           },
2592           "additionalProperties": false,
2593           "required": [
2594             "id",
2595             "tag",
2596             "type"
2597           ]
2598         },
2599         "BlockResult": {
2600           "type": "object",
2601           "properties": {
2602             "error": {
2603               "$ref": "#/definitions/Error"
2604             },
2605             "result": {
2606               "$ref": "#/definitions/Block"
2607             }
2608           },
2609           "additionalProperties": false,
2610           "required": [
2611             "result"
2612           ]
2613         },
2614         "BlockResults": {
2615           "type": "object",
2616           "properties": {
2617             "results": {
2618               "type": "array",
2619               "items": {
2620                 "$ref": "#/definitions/BlockResult"
2621               }
2622             }
2623           },
2624           "additionalProperties": false
2625         },
2626         "BlockSwitchParams": {
2627           "type": "object",
2628           "properties": {
2629             "message": {
2630               "type": "string"
2631             },
2632             "type": {
2633               "type": "string"
2634             }
2635           },
2636           "additionalProperties": false,
2637           "required": [
2638             "type"
2639           ]
2640         },
2641         "Error": {
2642           "type": "object",
2643           "properties": {
2644             "code": {
2645               "type": "string"
2646             },
2647             "info": {
2648               "$ref": "#/definitions/ErrorInfo"
2649             },
2650             "message": {
2651               "type": "string"
2652             }
2653           },
2654           "additionalProperties": false,
2655           "required": [
2656             "message",
2657             "code"
2658           ]
2659         },
2660         "ErrorInfo": {
2661           "type": "object",
2662           "properties": {
2663             "macaroon": {
2664               "$ref": "#/definitions/Macaroon"
2665             },
2666             "macaroon-path": {
2667               "type": "string"
2668             }
2669           },
2670           "additionalProperties": false
2671         },
2672         "ErrorResult": {
2673           "type": "object",
2674           "properties": {
2675             "error": {
2676               "$ref": "#/definitions/Error"
2677             }
2678           },
2679           "additionalProperties": false
2680         },
2681         "Macaroon": {
2682           "type": "object",
2683           "additionalProperties": false
2684         }
2685       }
2686     }
2687   },
2688   {
2689     "Name": "Bundle",
2690     "Version": 1,
2691     "Schema": {
2692       "type": "object",
2693       "properties": {
2694         "GetChanges": {
2695           "type": "object",
2696           "properties": {
2697             "Params": {
2698               "$ref": "#/definitions/BundleChangesParams"
2699             },
2700             "Result": {
2701               "$ref": "#/definitions/BundleChangesResults"
2702             }
2703           }
2704         }
2705       },
2706       "definitions": {
2707         "BundleChange": {
2708           "type": "object",
2709           "properties": {
2710             "args": {
2711               "type": "array",
2712               "items": {
2713                 "type": "object",
2714                 "additionalProperties": true
2715               }
2716             },
2717             "id": {
2718               "type": "string"
2719             },
2720             "method": {
2721               "type": "string"
2722             },
2723             "requires": {
2724               "type": "array",
2725               "items": {
2726                 "type": "string"
2727               }
2728             }
2729           },
2730           "additionalProperties": false,
2731           "required": [
2732             "id",
2733             "method",
2734             "args",
2735             "requires"
2736           ]
2737         },
2738         "BundleChangesParams": {
2739           "type": "object",
2740           "properties": {
2741             "yaml": {
2742               "type": "string"
2743             }
2744           },
2745           "additionalProperties": false,
2746           "required": [
2747             "yaml"
2748           ]
2749         },
2750         "BundleChangesResults": {
2751           "type": "object",
2752           "properties": {
2753             "changes": {
2754               "type": "array",
2755               "items": {
2756                 "$ref": "#/definitions/BundleChange"
2757               }
2758             },
2759             "errors": {
2760               "type": "array",
2761               "items": {
2762                 "type": "string"
2763               }
2764             }
2765           },
2766           "additionalProperties": false
2767         }
2768       }
2769     }
2770   },
2771   {
2772     "Name": "CharmRevisionUpdater",
2773     "Version": 2,
2774     "Schema": {
2775       "type": "object",
2776       "properties": {
2777         "UpdateLatestRevisions": {
2778           "type": "object",
2779           "properties": {
2780             "Result": {
2781               "$ref": "#/definitions/ErrorResult"
2782             }
2783           }
2784         }
2785       },
2786       "definitions": {
2787         "Error": {
2788           "type": "object",
2789           "properties": {
2790             "code": {
2791               "type": "string"
2792             },
2793             "info": {
2794               "$ref": "#/definitions/ErrorInfo"
2795             },
2796             "message": {
2797               "type": "string"
2798             }
2799           },
2800           "additionalProperties": false,
2801           "required": [
2802             "message",
2803             "code"
2804           ]
2805         },
2806         "ErrorInfo": {
2807           "type": "object",
2808           "properties": {
2809             "macaroon": {
2810               "$ref": "#/definitions/Macaroon"
2811             },
2812             "macaroon-path": {
2813               "type": "string"
2814             }
2815           },
2816           "additionalProperties": false
2817         },
2818         "ErrorResult": {
2819           "type": "object",
2820           "properties": {
2821             "error": {
2822               "$ref": "#/definitions/Error"
2823             }
2824           },
2825           "additionalProperties": false
2826         },
2827         "Macaroon": {
2828           "type": "object",
2829           "additionalProperties": false
2830         }
2831       }
2832     }
2833   },
2834   {
2835     "Name": "Charms",
2836     "Version": 2,
2837     "Schema": {
2838       "type": "object",
2839       "properties": {
2840         "CharmInfo": {
2841           "type": "object",
2842           "properties": {
2843             "Params": {
2844               "$ref": "#/definitions/CharmURL"
2845             },
2846             "Result": {
2847               "$ref": "#/definitions/CharmInfo"
2848             }
2849           }
2850         },
2851         "IsMetered": {
2852           "type": "object",
2853           "properties": {
2854             "Params": {
2855               "$ref": "#/definitions/CharmURL"
2856             },
2857             "Result": {
2858               "$ref": "#/definitions/IsMeteredResult"
2859             }
2860           }
2861         },
2862         "List": {
2863           "type": "object",
2864           "properties": {
2865             "Params": {
2866               "$ref": "#/definitions/CharmsList"
2867             },
2868             "Result": {
2869               "$ref": "#/definitions/CharmsListResult"
2870             }
2871           }
2872         }
2873       },
2874       "definitions": {
2875         "CharmActionSpec": {
2876           "type": "object",
2877           "properties": {
2878             "description": {
2879               "type": "string"
2880             },
2881             "params": {
2882               "type": "object",
2883               "patternProperties": {
2884                 ".*": {
2885                   "type": "object",
2886                   "additionalProperties": true
2887                 }
2888               }
2889             }
2890           },
2891           "additionalProperties": false,
2892           "required": [
2893             "description",
2894             "params"
2895           ]
2896         },
2897         "CharmActions": {
2898           "type": "object",
2899           "properties": {
2900             "specs": {
2901               "type": "object",
2902               "patternProperties": {
2903                 ".*": {
2904                   "$ref": "#/definitions/CharmActionSpec"
2905                 }
2906               }
2907             }
2908           },
2909           "additionalProperties": false
2910         },
2911         "CharmInfo": {
2912           "type": "object",
2913           "properties": {
2914             "actions": {
2915               "$ref": "#/definitions/CharmActions"
2916             },
2917             "config": {
2918               "type": "object",
2919               "patternProperties": {
2920                 ".*": {
2921                   "$ref": "#/definitions/CharmOption"
2922                 }
2923               }
2924             },
2925             "meta": {
2926               "$ref": "#/definitions/CharmMeta"
2927             },
2928             "metrics": {
2929               "$ref": "#/definitions/CharmMetrics"
2930             },
2931             "revision": {
2932               "type": "integer"
2933             },
2934             "url": {
2935               "type": "string"
2936             }
2937           },
2938           "additionalProperties": false,
2939           "required": [
2940             "revision",
2941             "url",
2942             "config"
2943           ]
2944         },
2945         "CharmMeta": {
2946           "type": "object",
2947           "properties": {
2948             "categories": {
2949               "type": "array",
2950               "items": {
2951                 "type": "string"
2952               }
2953             },
2954             "description": {
2955               "type": "string"
2956             },
2957             "extra-bindings": {
2958               "type": "object",
2959               "patternProperties": {
2960                 ".*": {
2961                   "type": "string"
2962                 }
2963               }
2964             },
2965             "min-juju-version": {
2966               "type": "string"
2967             },
2968             "name": {
2969               "type": "string"
2970             },
2971             "payload-classes": {
2972               "type": "object",
2973               "patternProperties": {
2974                 ".*": {
2975                   "$ref": "#/definitions/CharmPayloadClass"
2976                 }
2977               }
2978             },
2979             "peers": {
2980               "type": "object",
2981               "patternProperties": {
2982                 ".*": {
2983                   "$ref": "#/definitions/CharmRelation"
2984                 }
2985               }
2986             },
2987             "provides": {
2988               "type": "object",
2989               "patternProperties": {
2990                 ".*": {
2991                   "$ref": "#/definitions/CharmRelation"
2992                 }
2993               }
2994             },
2995             "requires": {
2996               "type": "object",
2997               "patternProperties": {
2998                 ".*": {
2999                   "$ref": "#/definitions/CharmRelation"
3000                 }
3001               }
3002             },
3003             "resources": {
3004               "type": "object",
3005               "patternProperties": {
3006                 ".*": {
3007                   "$ref": "#/definitions/CharmResourceMeta"
3008                 }
3009               }
3010             },
3011             "series": {
3012               "type": "array",
3013               "items": {
3014                 "type": "string"
3015               }
3016             },
3017             "storage": {
3018               "type": "object",
3019               "patternProperties": {
3020                 ".*": {
3021                   "$ref": "#/definitions/CharmStorage"
3022                 }
3023               }
3024             },
3025             "subordinate": {
3026               "type": "boolean"
3027             },
3028             "summary": {
3029               "type": "string"
3030             },
3031             "tags": {
3032               "type": "array",
3033               "items": {
3034                 "type": "string"
3035               }
3036             },
3037             "terms": {
3038               "type": "array",
3039               "items": {
3040                 "type": "string"
3041               }
3042             }
3043           },
3044           "additionalProperties": false,
3045           "required": [
3046             "name",
3047             "summary",
3048             "description",
3049             "subordinate"
3050           ]
3051         },
3052         "CharmMetric": {
3053           "type": "object",
3054           "properties": {
3055             "description": {
3056               "type": "string"
3057             },
3058             "type": {
3059               "type": "string"
3060             }
3061           },
3062           "additionalProperties": false,
3063           "required": [
3064             "type",
3065             "description"
3066           ]
3067         },
3068         "CharmMetrics": {
3069           "type": "object",
3070           "properties": {
3071             "metrics": {
3072               "type": "object",
3073               "patternProperties": {
3074                 ".*": {
3075                   "$ref": "#/definitions/CharmMetric"
3076                 }
3077               }
3078             },
3079             "plan": {
3080               "$ref": "#/definitions/CharmPlan"
3081             }
3082           },
3083           "additionalProperties": false,
3084           "required": [
3085             "metrics",
3086             "plan"
3087           ]
3088         },
3089         "CharmOption": {
3090           "type": "object",
3091           "properties": {
3092             "default": {
3093               "type": "object",
3094               "additionalProperties": true
3095             },
3096             "description": {
3097               "type": "string"
3098             },
3099             "type": {
3100               "type": "string"
3101             }
3102           },
3103           "additionalProperties": false,
3104           "required": [
3105             "type"
3106           ]
3107         },
3108         "CharmPayloadClass": {
3109           "type": "object",
3110           "properties": {
3111             "name": {
3112               "type": "string"
3113             },
3114             "type": {
3115               "type": "string"
3116             }
3117           },
3118           "additionalProperties": false,
3119           "required": [
3120             "name",
3121             "type"
3122           ]
3123         },
3124         "CharmPlan": {
3125           "type": "object",
3126           "properties": {
3127             "required": {
3128               "type": "boolean"
3129             }
3130           },
3131           "additionalProperties": false,
3132           "required": [
3133             "required"
3134           ]
3135         },
3136         "CharmRelation": {
3137           "type": "object",
3138           "properties": {
3139             "interface": {
3140               "type": "string"
3141             },
3142             "limit": {
3143               "type": "integer"
3144             },
3145             "name": {
3146               "type": "string"
3147             },
3148             "optional": {
3149               "type": "boolean"
3150             },
3151             "role": {
3152               "type": "string"
3153             },
3154             "scope": {
3155               "type": "string"
3156             }
3157           },
3158           "additionalProperties": false,
3159           "required": [
3160             "name",
3161             "role",
3162             "interface",
3163             "optional",
3164             "limit",
3165             "scope"
3166           ]
3167         },
3168         "CharmResourceMeta": {
3169           "type": "object",
3170           "properties": {
3171             "description": {
3172               "type": "string"
3173             },
3174             "name": {
3175               "type": "string"
3176             },
3177             "path": {
3178               "type": "string"
3179             },
3180             "type": {
3181               "type": "string"
3182             }
3183           },
3184           "additionalProperties": false,
3185           "required": [
3186             "name",
3187             "type",
3188             "path",
3189             "description"
3190           ]
3191         },
3192         "CharmStorage": {
3193           "type": "object",
3194           "properties": {
3195             "count-max": {
3196               "type": "integer"
3197             },
3198             "count-min": {
3199               "type": "integer"
3200             },
3201             "description": {
3202               "type": "string"
3203             },
3204             "location": {
3205               "type": "string"
3206             },
3207             "minimum-size": {
3208               "type": "integer"
3209             },
3210             "name": {
3211               "type": "string"
3212             },
3213             "properties": {
3214               "type": "array",
3215               "items": {
3216                 "type": "string"
3217               }
3218             },
3219             "read-only": {
3220               "type": "boolean"
3221             },
3222             "shared": {
3223               "type": "boolean"
3224             },
3225             "type": {
3226               "type": "string"
3227             }
3228           },
3229           "additionalProperties": false,
3230           "required": [
3231             "name",
3232             "description",
3233             "type",
3234             "shared",
3235             "read-only",
3236             "count-min",
3237             "count-max",
3238             "minimum-size"
3239           ]
3240         },
3241         "CharmURL": {
3242           "type": "object",
3243           "properties": {
3244             "url": {
3245               "type": "string"
3246             }
3247           },
3248           "additionalProperties": false,
3249           "required": [
3250             "url"
3251           ]
3252         },
3253         "CharmsList": {
3254           "type": "object",
3255           "properties": {
3256             "names": {
3257               "type": "array",
3258               "items": {
3259                 "type": "string"
3260               }
3261             }
3262           },
3263           "additionalProperties": false,
3264           "required": [
3265             "names"
3266           ]
3267         },
3268         "CharmsListResult": {
3269           "type": "object",
3270           "properties": {
3271             "charm-urls": {
3272               "type": "array",
3273               "items": {
3274                 "type": "string"
3275               }
3276             }
3277           },
3278           "additionalProperties": false,
3279           "required": [
3280             "charm-urls"
3281           ]
3282         },
3283         "IsMeteredResult": {
3284           "type": "object",
3285           "properties": {
3286             "metered": {
3287               "type": "boolean"
3288             }
3289           },
3290           "additionalProperties": false,
3291           "required": [
3292             "metered"
3293           ]
3294         }
3295       }
3296     }
3297   },
3298   {
3299     "Name": "Cleaner",
3300     "Version": 2,
3301     "Schema": {
3302       "type": "object",
3303       "properties": {
3304         "Cleanup": {
3305           "type": "object"
3306         },
3307         "WatchCleanups": {
3308           "type": "object",
3309           "properties": {
3310             "Result": {
3311               "$ref": "#/definitions/NotifyWatchResult"
3312             }
3313           }
3314         }
3315       },
3316       "definitions": {
3317         "Error": {
3318           "type": "object",
3319           "properties": {
3320             "code": {
3321               "type": "string"
3322             },
3323             "info": {
3324               "$ref": "#/definitions/ErrorInfo"
3325             },
3326             "message": {
3327               "type": "string"
3328             }
3329           },
3330           "additionalProperties": false,
3331           "required": [
3332             "message",
3333             "code"
3334           ]
3335         },
3336         "ErrorInfo": {
3337           "type": "object",
3338           "properties": {
3339             "macaroon": {
3340               "$ref": "#/definitions/Macaroon"
3341             },
3342             "macaroon-path": {
3343               "type": "string"
3344             }
3345           },
3346           "additionalProperties": false
3347         },
3348         "Macaroon": {
3349           "type": "object",
3350           "additionalProperties": false
3351         },
3352         "NotifyWatchResult": {
3353           "type": "object",
3354           "properties": {
3355             "NotifyWatcherId": {
3356               "type": "string"
3357             },
3358             "error": {
3359               "$ref": "#/definitions/Error"
3360             }
3361           },
3362           "additionalProperties": false,
3363           "required": [
3364             "NotifyWatcherId"
3365           ]
3366         }
3367       }
3368     }
3369   },
3370   {
3371     "Name": "Client",
3372     "Version": 1,
3373     "Schema": {
3374       "type": "object",
3375       "properties": {
3376         "APIHostPorts": {
3377           "type": "object",
3378           "properties": {
3379             "Result": {
3380               "$ref": "#/definitions/APIHostPortsResult"
3381             }
3382           }
3383         },
3384         "AbortCurrentUpgrade": {
3385           "type": "object"
3386         },
3387         "AddCharm": {
3388           "type": "object",
3389           "properties": {
3390             "Params": {
3391               "$ref": "#/definitions/AddCharm"
3392             }
3393           }
3394         },
3395         "AddCharmWithAuthorization": {
3396           "type": "object",
3397           "properties": {
3398             "Params": {
3399               "$ref": "#/definitions/AddCharmWithAuthorization"
3400             }
3401           }
3402         },
3403         "AddMachines": {
3404           "type": "object",
3405           "properties": {
3406             "Params": {
3407               "$ref": "#/definitions/AddMachines"
3408             },
3409             "Result": {
3410               "$ref": "#/definitions/AddMachinesResults"
3411             }
3412           }
3413         },
3414         "AddMachinesV2": {
3415           "type": "object",
3416           "properties": {
3417             "Params": {
3418               "$ref": "#/definitions/AddMachines"
3419             },
3420             "Result": {
3421               "$ref": "#/definitions/AddMachinesResults"
3422             }
3423           }
3424         },
3425         "AgentVersion": {
3426           "type": "object",
3427           "properties": {
3428             "Result": {
3429               "$ref": "#/definitions/AgentVersionResult"
3430             }
3431           }
3432         },
3433         "DestroyMachines": {
3434           "type": "object",
3435           "properties": {
3436             "Params": {
3437               "$ref": "#/definitions/DestroyMachines"
3438             }
3439           }
3440         },
3441         "FindTools": {
3442           "type": "object",
3443           "properties": {
3444             "Params": {
3445               "$ref": "#/definitions/FindToolsParams"
3446             },
3447             "Result": {
3448               "$ref": "#/definitions/FindToolsResult"
3449             }
3450           }
3451         },
3452         "FullStatus": {
3453           "type": "object",
3454           "properties": {
3455             "Params": {
3456               "$ref": "#/definitions/StatusParams"
3457             },
3458             "Result": {
3459               "$ref": "#/definitions/FullStatus"
3460             }
3461           }
3462         },
3463         "GetBundleChanges": {
3464           "type": "object",
3465           "properties": {
3466             "Params": {
3467               "$ref": "#/definitions/BundleChangesParams"
3468             },
3469             "Result": {
3470               "$ref": "#/definitions/BundleChangesResults"
3471             }
3472           }
3473         },
3474         "GetModelConstraints": {
3475           "type": "object",
3476           "properties": {
3477             "Result": {
3478               "$ref": "#/definitions/GetConstraintsResults"
3479             }
3480           }
3481         },
3482         "InjectMachines": {
3483           "type": "object",
3484           "properties": {
3485             "Params": {
3486               "$ref": "#/definitions/AddMachines"
3487             },
3488             "Result": {
3489               "$ref": "#/definitions/AddMachinesResults"
3490             }
3491           }
3492         },
3493         "ModelGet": {
3494           "type": "object",
3495           "properties": {
3496             "Result": {
3497               "$ref": "#/definitions/ModelConfigResults"
3498             }
3499           }
3500         },
3501         "ModelInfo": {
3502           "type": "object",
3503           "properties": {
3504             "Result": {
3505               "$ref": "#/definitions/ModelInfo"
3506             }
3507           }
3508         },
3509         "ModelSet": {
3510           "type": "object",
3511           "properties": {
3512             "Params": {
3513               "$ref": "#/definitions/ModelSet"
3514             }
3515           }
3516         },
3517         "ModelUnset": {
3518           "type": "object",
3519           "properties": {
3520             "Params": {
3521               "$ref": "#/definitions/ModelUnset"
3522             }
3523           }
3524         },
3525         "ModelUserInfo": {
3526           "type": "object",
3527           "properties": {
3528             "Result": {
3529               "$ref": "#/definitions/ModelUserInfoResults"
3530             }
3531           }
3532         },
3533         "PrivateAddress": {
3534           "type": "object",
3535           "properties": {
3536             "Params": {
3537               "$ref": "#/definitions/PrivateAddress"
3538             },
3539             "Result": {
3540               "$ref": "#/definitions/PrivateAddressResults"
3541             }
3542           }
3543         },
3544         "ProvisioningScript": {
3545           "type": "object",
3546           "properties": {
3547             "Params": {
3548               "$ref": "#/definitions/ProvisioningScriptParams"
3549             },
3550             "Result": {
3551               "$ref": "#/definitions/ProvisioningScriptResult"
3552             }
3553           }
3554         },
3555         "PublicAddress": {
3556           "type": "object",
3557           "properties": {
3558             "Params": {
3559               "$ref": "#/definitions/PublicAddress"
3560             },
3561             "Result": {
3562               "$ref": "#/definitions/PublicAddressResults"
3563             }
3564           }
3565         },
3566         "ResolveCharms": {
3567           "type": "object",
3568           "properties": {
3569             "Params": {
3570               "$ref": "#/definitions/ResolveCharms"
3571             },
3572             "Result": {
3573               "$ref": "#/definitions/ResolveCharmResults"
3574             }
3575           }
3576         },
3577         "Resolved": {
3578           "type": "object",
3579           "properties": {
3580             "Params": {
3581               "$ref": "#/definitions/Resolved"
3582             }
3583           }
3584         },
3585         "RetryProvisioning": {
3586           "type": "object",
3587           "properties": {
3588             "Params": {
3589               "$ref": "#/definitions/Entities"
3590             },
3591             "Result": {
3592               "$ref": "#/definitions/ErrorResults"
3593             }
3594           }
3595         },
3596         "SetModelAgentVersion": {
3597           "type": "object",
3598           "properties": {
3599             "Params": {
3600               "$ref": "#/definitions/SetModelAgentVersion"
3601             }
3602           }
3603         },
3604         "SetModelConstraints": {
3605           "type": "object",
3606           "properties": {
3607             "Params": {
3608               "$ref": "#/definitions/SetConstraints"
3609             }
3610           }
3611         },
3612         "StatusHistory": {
3613           "type": "object",
3614           "properties": {
3615             "Params": {
3616               "$ref": "#/definitions/StatusHistoryRequests"
3617             },
3618             "Result": {
3619               "$ref": "#/definitions/StatusHistoryResults"
3620             }
3621           }
3622         },
3623         "WatchAll": {
3624           "type": "object",
3625           "properties": {
3626             "Result": {
3627               "$ref": "#/definitions/AllWatcherId"
3628             }
3629           }
3630         }
3631       },
3632       "definitions": {
3633         "APIHostPortsResult": {
3634           "type": "object",
3635           "properties": {
3636             "servers": {
3637               "type": "array",
3638               "items": {
3639                 "type": "array",
3640                 "items": {
3641                   "$ref": "#/definitions/HostPort"
3642                 }
3643               }
3644             }
3645           },
3646           "additionalProperties": false,
3647           "required": [
3648             "servers"
3649           ]
3650         },
3651         "AddCharm": {
3652           "type": "object",
3653           "properties": {
3654             "channel": {
3655               "type": "string"
3656             },
3657             "url": {
3658               "type": "string"
3659             }
3660           },
3661           "additionalProperties": false,
3662           "required": [
3663             "url",
3664             "channel"
3665           ]
3666         },
3667         "AddCharmWithAuthorization": {
3668           "type": "object",
3669           "properties": {
3670             "channel": {
3671               "type": "string"
3672             },
3673             "macaroon": {
3674               "$ref": "#/definitions/Macaroon"
3675             },
3676             "url": {
3677               "type": "string"
3678             }
3679           },
3680           "additionalProperties": false,
3681           "required": [
3682             "url",
3683             "channel",
3684             "macaroon"
3685           ]
3686         },
3687         "AddMachineParams": {
3688           "type": "object",
3689           "properties": {
3690             "addresses": {
3691               "type": "array",
3692               "items": {
3693                 "$ref": "#/definitions/Address"
3694               }
3695             },
3696             "constraints": {
3697               "$ref": "#/definitions/Value"
3698             },
3699             "container-type": {
3700               "type": "string"
3701             },
3702             "disks": {
3703               "type": "array",
3704               "items": {
3705                 "$ref": "#/definitions/Constraints"
3706               }
3707             },
3708             "hardware-characteristics": {
3709               "$ref": "#/definitions/HardwareCharacteristics"
3710             },
3711             "instance-id": {
3712               "type": "string"
3713             },
3714             "jobs": {
3715               "type": "array",
3716               "items": {
3717                 "type": "string"
3718               }
3719             },
3720             "nonce": {
3721               "type": "string"
3722             },
3723             "parent-id": {
3724               "type": "string"
3725             },
3726             "placement": {
3727               "$ref": "#/definitions/Placement"
3728             },
3729             "series": {
3730               "type": "string"
3731             }
3732           },
3733           "additionalProperties": false,
3734           "required": [
3735             "series",
3736             "constraints",
3737             "jobs",
3738             "parent-id",
3739             "container-type",
3740             "instance-id",
3741             "nonce",
3742             "hardware-characteristics",
3743             "addresses"
3744           ]
3745         },
3746         "AddMachines": {
3747           "type": "object",
3748           "properties": {
3749             "params": {
3750               "type": "array",
3751               "items": {
3752                 "$ref": "#/definitions/AddMachineParams"
3753               }
3754             }
3755           },
3756           "additionalProperties": false,
3757           "required": [
3758             "params"
3759           ]
3760         },
3761         "AddMachinesResult": {
3762           "type": "object",
3763           "properties": {
3764             "error": {
3765               "$ref": "#/definitions/Error"
3766             },
3767             "machine": {
3768               "type": "string"
3769             }
3770           },
3771           "additionalProperties": false,
3772           "required": [
3773             "machine"
3774           ]
3775         },
3776         "AddMachinesResults": {
3777           "type": "object",
3778           "properties": {
3779             "machines": {
3780               "type": "array",
3781               "items": {
3782                 "$ref": "#/definitions/AddMachinesResult"
3783               }
3784             }
3785           },
3786           "additionalProperties": false,
3787           "required": [
3788             "machines"
3789           ]
3790         },
3791         "Address": {
3792           "type": "object",
3793           "properties": {
3794             "scope": {
3795               "type": "string"
3796             },
3797             "space-name": {
3798               "type": "string"
3799             },
3800             "type": {
3801               "type": "string"
3802             },
3803             "value": {
3804               "type": "string"
3805             }
3806           },
3807           "additionalProperties": false,
3808           "required": [
3809             "value",
3810             "type",
3811             "scope"
3812           ]
3813         },
3814         "AgentVersionResult": {
3815           "type": "object",
3816           "properties": {
3817             "version": {
3818               "$ref": "#/definitions/Number"
3819             }
3820           },
3821           "additionalProperties": false,
3822           "required": [
3823             "version"
3824           ]
3825         },
3826         "AllWatcherId": {
3827           "type": "object",
3828           "properties": {
3829             "watcher-id": {
3830               "type": "string"
3831             }
3832           },
3833           "additionalProperties": false,
3834           "required": [
3835             "watcher-id"
3836           ]
3837         },
3838         "ApplicationStatus": {
3839           "type": "object",
3840           "properties": {
3841             "can-upgrade-to": {
3842               "type": "string"
3843             },
3844             "charm": {
3845               "type": "string"
3846             },
3847             "err": {
3848               "type": "object",
3849               "additionalProperties": true
3850             },
3851             "exposed": {
3852               "type": "boolean"
3853             },
3854             "life": {
3855               "type": "string"
3856             },
3857             "meter-statuses": {
3858               "type": "object",
3859               "patternProperties": {
3860                 ".*": {
3861                   "$ref": "#/definitions/MeterStatus"
3862                 }
3863               }
3864             },
3865             "relations": {
3866               "type": "object",
3867               "patternProperties": {
3868                 ".*": {
3869                   "type": "array",
3870                   "items": {
3871                     "type": "string"
3872                   }
3873                 }
3874               }
3875             },
3876             "series": {
3877               "type": "string"
3878             },
3879             "status": {
3880               "$ref": "#/definitions/DetailedStatus"
3881             },
3882             "subordinate-to": {
3883               "type": "array",
3884               "items": {
3885                 "type": "string"
3886               }
3887             },
3888             "units": {
3889               "type": "object",
3890               "patternProperties": {
3891                 ".*": {
3892                   "$ref": "#/definitions/UnitStatus"
3893                 }
3894               }
3895             },
3896             "workload-version": {
3897               "type": "string"
3898             }
3899           },
3900           "additionalProperties": false,
3901           "required": [
3902             "charm",
3903             "series",
3904             "exposed",
3905             "life",
3906             "relations",
3907             "can-upgrade-to",
3908             "subordinate-to",
3909             "units",
3910             "meter-statuses",
3911             "status",
3912             "workload-version"
3913           ]
3914         },
3915         "Binary": {
3916           "type": "object",
3917           "properties": {
3918             "Arch": {
3919               "type": "string"
3920             },
3921             "Number": {
3922               "$ref": "#/definitions/Number"
3923             },
3924             "Series": {
3925               "type": "string"
3926             }
3927           },
3928           "additionalProperties": false,
3929           "required": [
3930             "Number",
3931             "Series",
3932             "Arch"
3933           ]
3934         },
3935         "BundleChange": {
3936           "type": "object",
3937           "properties": {
3938             "args": {
3939               "type": "array",
3940               "items": {
3941                 "type": "object",
3942                 "additionalProperties": true
3943               }
3944             },
3945             "id": {
3946               "type": "string"
3947             },
3948             "method": {
3949               "type": "string"
3950             },
3951             "requires": {
3952               "type": "array",
3953               "items": {
3954                 "type": "string"
3955               }
3956             }
3957           },
3958           "additionalProperties": false,
3959           "required": [
3960             "id",
3961             "method",
3962             "args",
3963             "requires"
3964           ]
3965         },
3966         "BundleChangesParams": {
3967           "type": "object",
3968           "properties": {
3969             "yaml": {
3970               "type": "string"
3971             }
3972           },
3973           "additionalProperties": false,
3974           "required": [
3975             "yaml"
3976           ]
3977         },
3978         "BundleChangesResults": {
3979           "type": "object",
3980           "properties": {
3981             "changes": {
3982               "type": "array",
3983               "items": {
3984                 "$ref": "#/definitions/BundleChange"
3985               }
3986             },
3987             "errors": {
3988               "type": "array",
3989               "items": {
3990                 "type": "string"
3991               }
3992             }
3993           },
3994           "additionalProperties": false
3995         },
3996         "ConfigValue": {
3997           "type": "object",
3998           "properties": {
3999             "source": {
4000               "type": "string"
4001             },
4002             "value": {
4003               "type": "object",
4004               "additionalProperties": true
4005             }
4006           },
4007           "additionalProperties": false,
4008           "required": [
4009             "value",
4010             "source"
4011           ]
4012         },
4013         "Constraints": {
4014           "type": "object",
4015           "properties": {
4016             "Count": {
4017               "type": "integer"
4018             },
4019             "Pool": {
4020               "type": "string"
4021             },
4022             "Size": {
4023               "type": "integer"
4024             }
4025           },
4026           "additionalProperties": false,
4027           "required": [
4028             "Pool",
4029             "Size",
4030             "Count"
4031           ]
4032         },
4033         "DestroyMachines": {
4034           "type": "object",
4035           "properties": {
4036             "force": {
4037               "type": "boolean"
4038             },
4039             "machine-names": {
4040               "type": "array",
4041               "items": {
4042                 "type": "string"
4043               }
4044             }
4045           },
4046           "additionalProperties": false,
4047           "required": [
4048             "machine-names",
4049             "force"
4050           ]
4051         },
4052         "DetailedStatus": {
4053           "type": "object",
4054           "properties": {
4055             "data": {
4056               "type": "object",
4057               "patternProperties": {
4058                 ".*": {
4059                   "type": "object",
4060                   "additionalProperties": true
4061                 }
4062               }
4063             },
4064             "err": {
4065               "type": "object",
4066               "additionalProperties": true
4067             },
4068             "info": {
4069               "type": "string"
4070             },
4071             "kind": {
4072               "type": "string"
4073             },
4074             "life": {
4075               "type": "string"
4076             },
4077             "since": {
4078               "type": "string",
4079               "format": "date-time"
4080             },
4081             "status": {
4082               "type": "string"
4083             },
4084             "version": {
4085               "type": "string"
4086             }
4087           },
4088           "additionalProperties": false,
4089           "required": [
4090             "status",
4091             "info",
4092             "data",
4093             "since",
4094             "kind",
4095             "version",
4096             "life"
4097           ]
4098         },
4099         "EndpointStatus": {
4100           "type": "object",
4101           "properties": {
4102             "application": {
4103               "type": "string"
4104             },
4105             "name": {
4106               "type": "string"
4107             },
4108             "role": {
4109               "type": "string"
4110             },
4111             "subordinate": {
4112               "type": "boolean"
4113             }
4114           },
4115           "additionalProperties": false,
4116           "required": [
4117             "application",
4118             "name",
4119             "role",
4120             "subordinate"
4121           ]
4122         },
4123         "Entities": {
4124           "type": "object",
4125           "properties": {
4126             "entities": {
4127               "type": "array",
4128               "items": {
4129                 "$ref": "#/definitions/Entity"
4130               }
4131             }
4132           },
4133           "additionalProperties": false,
4134           "required": [
4135             "entities"
4136           ]
4137         },
4138         "Entity": {
4139           "type": "object",
4140           "properties": {
4141             "tag": {
4142               "type": "string"
4143             }
4144           },
4145           "additionalProperties": false,
4146           "required": [
4147             "tag"
4148           ]
4149         },
4150         "EntityStatus": {
4151           "type": "object",
4152           "properties": {
4153             "data": {
4154               "type": "object",
4155               "patternProperties": {
4156                 ".*": {
4157                   "type": "object",
4158                   "additionalProperties": true
4159                 }
4160               }
4161             },
4162             "info": {
4163               "type": "string"
4164             },
4165             "since": {
4166               "type": "string",
4167               "format": "date-time"
4168             },
4169             "status": {
4170               "type": "string"
4171             }
4172           },
4173           "additionalProperties": false,
4174           "required": [
4175             "status",
4176             "info",
4177             "since"
4178           ]
4179         },
4180         "Error": {
4181           "type": "object",
4182           "properties": {
4183             "code": {
4184               "type": "string"
4185             },
4186             "info": {
4187               "$ref": "#/definitions/ErrorInfo"
4188             },
4189             "message": {
4190               "type": "string"
4191             }
4192           },
4193           "additionalProperties": false,
4194           "required": [
4195             "message",
4196             "code"
4197           ]
4198         },
4199         "ErrorInfo": {
4200           "type": "object",
4201           "properties": {
4202             "macaroon": {
4203               "$ref": "#/definitions/Macaroon"
4204             },
4205             "macaroon-path": {
4206               "type": "string"
4207             }
4208           },
4209           "additionalProperties": false
4210         },
4211         "ErrorResult": {
4212           "type": "object",
4213           "properties": {
4214             "error": {
4215               "$ref": "#/definitions/Error"
4216             }
4217           },
4218           "additionalProperties": false
4219         },
4220         "ErrorResults": {
4221           "type": "object",
4222           "properties": {
4223             "results": {
4224               "type": "array",
4225               "items": {
4226                 "$ref": "#/definitions/ErrorResult"
4227               }
4228             }
4229           },
4230           "additionalProperties": false,
4231           "required": [
4232             "results"
4233           ]
4234         },
4235         "FindToolsParams": {
4236           "type": "object",
4237           "properties": {
4238             "arch": {
4239               "type": "string"
4240             },
4241             "major": {
4242               "type": "integer"
4243             },
4244             "minor": {
4245               "type": "integer"
4246             },
4247             "number": {
4248               "$ref": "#/definitions/Number"
4249             },
4250             "series": {
4251               "type": "string"
4252             }
4253           },
4254           "additionalProperties": false,
4255           "required": [
4256             "number",
4257             "major",
4258             "minor",
4259             "arch",
4260             "series"
4261           ]
4262         },
4263         "FindToolsResult": {
4264           "type": "object",
4265           "properties": {
4266             "error": {
4267               "$ref": "#/definitions/Error"
4268             },
4269             "list": {
4270               "type": "array",
4271               "items": {
4272                 "$ref": "#/definitions/Tools"
4273               }
4274             }
4275           },
4276           "additionalProperties": false,
4277           "required": [
4278             "list"
4279           ]
4280         },
4281         "FullStatus": {
4282           "type": "object",
4283           "properties": {
4284             "applications": {
4285               "type": "object",
4286               "patternProperties": {
4287                 ".*": {
4288                   "$ref": "#/definitions/ApplicationStatus"
4289                 }
4290               }
4291             },
4292             "machines": {
4293               "type": "object",
4294               "patternProperties": {
4295                 ".*": {
4296                   "$ref": "#/definitions/MachineStatus"
4297                 }
4298               }
4299             },
4300             "model": {
4301               "$ref": "#/definitions/ModelStatusInfo"
4302             },
4303             "relations": {
4304               "type": "array",
4305               "items": {
4306                 "$ref": "#/definitions/RelationStatus"
4307               }
4308             },
4309             "remote-applications": {
4310               "type": "object",
4311               "patternProperties": {
4312                 ".*": {
4313                   "$ref": "#/definitions/RemoteApplicationStatus"
4314                 }
4315               }
4316             }
4317           },
4318           "additionalProperties": false,
4319           "required": [
4320             "model",
4321             "machines",
4322             "applications",
4323             "remote-applications",
4324             "relations"
4325           ]
4326         },
4327         "GetConstraintsResults": {
4328           "type": "object",
4329           "properties": {
4330             "constraints": {
4331               "$ref": "#/definitions/Value"
4332             }
4333           },
4334           "additionalProperties": false,
4335           "required": [
4336             "constraints"
4337           ]
4338         },
4339         "HardwareCharacteristics": {
4340           "type": "object",
4341           "properties": {
4342             "arch": {
4343               "type": "string"
4344             },
4345             "availability-zone": {
4346               "type": "string"
4347             },
4348             "cpu-cores": {
4349               "type": "integer"
4350             },
4351             "cpu-power": {
4352               "type": "integer"
4353             },
4354             "mem": {
4355               "type": "integer"
4356             },
4357             "root-disk": {
4358               "type": "integer"
4359             },
4360             "tags": {
4361               "type": "array",
4362               "items": {
4363                 "type": "string"
4364               }
4365             }
4366           },
4367           "additionalProperties": false
4368         },
4369         "History": {
4370           "type": "object",
4371           "properties": {
4372             "error": {
4373               "$ref": "#/definitions/Error"
4374             },
4375             "statuses": {
4376               "type": "array",
4377               "items": {
4378                 "$ref": "#/definitions/DetailedStatus"
4379               }
4380             }
4381           },
4382           "additionalProperties": false,
4383           "required": [
4384             "statuses"
4385           ]
4386         },
4387         "HostPort": {
4388           "type": "object",
4389           "properties": {
4390             "Address": {
4391               "$ref": "#/definitions/Address"
4392             },
4393             "port": {
4394               "type": "integer"
4395             }
4396           },
4397           "additionalProperties": false,
4398           "required": [
4399             "Address",
4400             "port"
4401           ]
4402         },
4403         "Macaroon": {
4404           "type": "object",
4405           "additionalProperties": false
4406         },
4407         "MachineHardware": {
4408           "type": "object",
4409           "properties": {
4410             "arch": {
4411               "type": "string"
4412             },
4413             "availability-zone": {
4414               "type": "string"
4415             },
4416             "cores": {
4417               "type": "integer"
4418             },
4419             "cpu-power": {
4420               "type": "integer"
4421             },
4422             "mem": {
4423               "type": "integer"
4424             },
4425             "root-disk": {
4426               "type": "integer"
4427             },
4428             "tags": {
4429               "type": "array",
4430               "items": {
4431                 "type": "string"
4432               }
4433             }
4434           },
4435           "additionalProperties": false
4436         },
4437         "MachineStatus": {
4438           "type": "object",
4439           "properties": {
4440             "agent-status": {
4441               "$ref": "#/definitions/DetailedStatus"
4442             },
4443             "constraints": {
4444               "type": "string"
4445             },
4446             "containers": {
4447               "type": "object",
4448               "patternProperties": {
4449                 ".*": {
4450                   "$ref": "#/definitions/MachineStatus"
4451                 }
4452               }
4453             },
4454             "dns-name": {
4455               "type": "string"
4456             },
4457             "hardware": {
4458               "type": "string"
4459             },
4460             "has-vote": {
4461               "type": "boolean"
4462             },
4463             "id": {
4464               "type": "string"
4465             },
4466             "instance-id": {
4467               "type": "string"
4468             },
4469             "instance-status": {
4470               "$ref": "#/definitions/DetailedStatus"
4471             },
4472             "ip-addresses": {
4473               "type": "array",
4474               "items": {
4475                 "type": "string"
4476               }
4477             },
4478             "jobs": {
4479               "type": "array",
4480               "items": {
4481                 "type": "string"
4482               }
4483             },
4484             "series": {
4485               "type": "string"
4486             },
4487             "wants-vote": {
4488               "type": "boolean"
4489             }
4490           },
4491           "additionalProperties": false,
4492           "required": [
4493             "agent-status",
4494             "instance-status",
4495             "dns-name",
4496             "ip-addresses",
4497             "instance-id",
4498             "series",
4499             "id",
4500             "containers",
4501             "constraints",
4502             "hardware",
4503             "jobs",
4504             "has-vote",
4505             "wants-vote"
4506           ]
4507         },
4508         "MeterStatus": {
4509           "type": "object",
4510           "properties": {
4511             "color": {
4512               "type": "string"
4513             },
4514             "message": {
4515               "type": "string"
4516             }
4517           },
4518           "additionalProperties": false,
4519           "required": [
4520             "color",
4521             "message"
4522           ]
4523         },
4524         "ModelConfigResults": {
4525           "type": "object",
4526           "properties": {
4527             "config": {
4528               "type": "object",
4529               "patternProperties": {
4530                 ".*": {
4531                   "$ref": "#/definitions/ConfigValue"
4532                 }
4533               }
4534             }
4535           },
4536           "additionalProperties": false,
4537           "required": [
4538             "config"
4539           ]
4540         },
4541         "ModelInfo": {
4542           "type": "object",
4543           "properties": {
4544             "cloud-credential-tag": {
4545               "type": "string"
4546             },
4547             "cloud-region": {
4548               "type": "string"
4549             },
4550             "cloud-tag": {
4551               "type": "string"
4552             },
4553             "controller-uuid": {
4554               "type": "string"
4555             },
4556             "default-series": {
4557               "type": "string"
4558             },
4559             "life": {
4560               "type": "string"
4561             },
4562             "machines": {
4563               "type": "array",
4564               "items": {
4565                 "$ref": "#/definitions/ModelMachineInfo"
4566               }
4567             },
4568             "migration": {
4569               "$ref": "#/definitions/ModelMigrationStatus"
4570             },
4571             "name": {
4572               "type": "string"
4573             },
4574             "owner-tag": {
4575               "type": "string"
4576             },
4577             "provider-type": {
4578               "type": "string"
4579             },
4580             "status": {
4581               "$ref": "#/definitions/EntityStatus"
4582             },
4583             "users": {
4584               "type": "array",
4585               "items": {
4586                 "$ref": "#/definitions/ModelUserInfo"
4587               }
4588             },
4589             "uuid": {
4590               "type": "string"
4591             }
4592           },
4593           "additionalProperties": false,
4594           "required": [
4595             "name",
4596             "uuid",
4597             "controller-uuid",
4598             "provider-type",
4599             "default-series",
4600             "cloud-tag",
4601             "owner-tag",
4602             "life",
4603             "status",
4604             "users",
4605             "machines"
4606           ]
4607         },
4608         "ModelMachineInfo": {
4609           "type": "object",
4610           "properties": {
4611             "hardware": {
4612               "$ref": "#/definitions/MachineHardware"
4613             },
4614             "has-vote": {
4615               "type": "boolean"
4616             },
4617             "id": {
4618               "type": "string"
4619             },
4620             "instance-id": {
4621               "type": "string"
4622             },
4623             "status": {
4624               "type": "string"
4625             },
4626             "wants-vote": {
4627               "type": "boolean"
4628             }
4629           },
4630           "additionalProperties": false,
4631           "required": [
4632             "id"
4633           ]
4634         },
4635         "ModelMigrationStatus": {
4636           "type": "object",
4637           "properties": {
4638             "end": {
4639               "type": "string",
4640               "format": "date-time"
4641             },
4642             "start": {
4643               "type": "string",
4644               "format": "date-time"
4645             },
4646             "status": {
4647               "type": "string"
4648             }
4649           },
4650           "additionalProperties": false,
4651           "required": [
4652             "status",
4653             "start"
4654           ]
4655         },
4656         "ModelSet": {
4657           "type": "object",
4658           "properties": {
4659             "config": {
4660               "type": "object",
4661               "patternProperties": {
4662                 ".*": {
4663                   "type": "object",
4664                   "additionalProperties": true
4665                 }
4666               }
4667             }
4668           },
4669           "additionalProperties": false,
4670           "required": [
4671             "config"
4672           ]
4673         },
4674         "ModelStatusInfo": {
4675           "type": "object",
4676           "properties": {
4677             "available-version": {
4678               "type": "string"
4679             },
4680             "cloud-tag": {
4681               "type": "string"
4682             },
4683             "migration": {
4684               "type": "string"
4685             },
4686             "name": {
4687               "type": "string"
4688             },
4689             "region": {
4690               "type": "string"
4691             },
4692             "version": {
4693               "type": "string"
4694             }
4695           },
4696           "additionalProperties": false,
4697           "required": [
4698             "name",
4699             "cloud-tag",
4700             "version",
4701             "available-version"
4702           ]
4703         },
4704         "ModelUnset": {
4705           "type": "object",
4706           "properties": {
4707             "keys": {
4708               "type": "array",
4709               "items": {
4710                 "type": "string"
4711               }
4712             }
4713           },
4714           "additionalProperties": false,
4715           "required": [
4716             "keys"
4717           ]
4718         },
4719         "ModelUserInfo": {
4720           "type": "object",
4721           "properties": {
4722             "access": {
4723               "type": "string"
4724             },
4725             "display-name": {
4726               "type": "string"
4727             },
4728             "last-connection": {
4729               "type": "string",
4730               "format": "date-time"
4731             },
4732             "user": {
4733               "type": "string"
4734             }
4735           },
4736           "additionalProperties": false,
4737           "required": [
4738             "user",
4739             "display-name",
4740             "last-connection",
4741             "access"
4742           ]
4743         },
4744         "ModelUserInfoResult": {
4745           "type": "object",
4746           "properties": {
4747             "error": {
4748               "$ref": "#/definitions/Error"
4749             },
4750             "result": {
4751               "$ref": "#/definitions/ModelUserInfo"
4752             }
4753           },
4754           "additionalProperties": false
4755         },
4756         "ModelUserInfoResults": {
4757           "type": "object",
4758           "properties": {
4759             "results": {
4760               "type": "array",
4761               "items": {
4762                 "$ref": "#/definitions/ModelUserInfoResult"
4763               }
4764             }
4765           },
4766           "additionalProperties": false,
4767           "required": [
4768             "results"
4769           ]
4770         },
4771         "Number": {
4772           "type": "object",
4773           "properties": {
4774             "Build": {
4775               "type": "integer"
4776             },
4777             "Major": {
4778               "type": "integer"
4779             },
4780             "Minor": {
4781               "type": "integer"
4782             },
4783             "Patch": {
4784               "type": "integer"
4785             },
4786             "Tag": {
4787               "type": "string"
4788             }
4789           },
4790           "additionalProperties": false,
4791           "required": [
4792             "Major",
4793             "Minor",
4794             "Tag",
4795             "Patch",
4796             "Build"
4797           ]
4798         },
4799         "Placement": {
4800           "type": "object",
4801           "properties": {
4802             "directive": {
4803               "type": "string"
4804             },
4805             "scope": {
4806               "type": "string"
4807             }
4808           },
4809           "additionalProperties": false,
4810           "required": [
4811             "scope",
4812             "directive"
4813           ]
4814         },
4815         "PrivateAddress": {
4816           "type": "object",
4817           "properties": {
4818             "target": {
4819               "type": "string"
4820             }
4821           },
4822           "additionalProperties": false,
4823           "required": [
4824             "target"
4825           ]
4826         },
4827         "PrivateAddressResults": {
4828           "type": "object",
4829           "properties": {
4830             "private-address": {
4831               "type": "string"
4832             }
4833           },
4834           "additionalProperties": false,
4835           "required": [
4836             "private-address"
4837           ]
4838         },
4839         "ProvisioningScriptParams": {
4840           "type": "object",
4841           "properties": {
4842             "data-dir": {
4843               "type": "string"
4844             },
4845             "disable-package-commands": {
4846               "type": "boolean"
4847             },
4848             "machine-id": {
4849               "type": "string"
4850             },
4851             "nonce": {
4852               "type": "string"
4853             }
4854           },
4855           "additionalProperties": false,
4856           "required": [
4857             "machine-id",
4858             "nonce",
4859             "data-dir",
4860             "disable-package-commands"
4861           ]
4862         },
4863         "ProvisioningScriptResult": {
4864           "type": "object",
4865           "properties": {
4866             "script": {
4867               "type": "string"
4868             }
4869           },
4870           "additionalProperties": false,
4871           "required": [
4872             "script"
4873           ]
4874         },
4875         "PublicAddress": {
4876           "type": "object",
4877           "properties": {
4878             "target": {
4879               "type": "string"
4880             }
4881           },
4882           "additionalProperties": false,
4883           "required": [
4884             "target"
4885           ]
4886         },
4887         "PublicAddressResults": {
4888           "type": "object",
4889           "properties": {
4890             "public-address": {
4891               "type": "string"
4892             }
4893           },
4894           "additionalProperties": false,
4895           "required": [
4896             "public-address"
4897           ]
4898         },
4899         "RelationStatus": {
4900           "type": "object",
4901           "properties": {
4902             "endpoints": {
4903               "type": "array",
4904               "items": {
4905                 "$ref": "#/definitions/EndpointStatus"
4906               }
4907             },
4908             "id": {
4909               "type": "integer"
4910             },
4911             "interface": {
4912               "type": "string"
4913             },
4914             "key": {
4915               "type": "string"
4916             },
4917             "scope": {
4918               "type": "string"
4919             }
4920           },
4921           "additionalProperties": false,
4922           "required": [
4923             "id",
4924             "key",
4925             "interface",
4926             "scope",
4927             "endpoints"
4928           ]
4929         },
4930         "RemoteApplicationStatus": {
4931           "type": "object",
4932           "properties": {
4933             "application-name": {
4934               "type": "string"
4935             },
4936             "application-url": {
4937               "type": "string"
4938             },
4939             "endpoints": {
4940               "type": "array",
4941               "items": {
4942                 "$ref": "#/definitions/RemoteEndpoint"
4943               }
4944             },
4945             "err": {
4946               "type": "object",
4947               "additionalProperties": true
4948             },
4949             "life": {
4950               "type": "string"
4951             },
4952             "relations": {
4953               "type": "object",
4954               "patternProperties": {
4955                 ".*": {
4956                   "type": "array",
4957                   "items": {
4958                     "type": "string"
4959                   }
4960                 }
4961               }
4962             },
4963             "status": {
4964               "$ref": "#/definitions/DetailedStatus"
4965             }
4966           },
4967           "additionalProperties": false,
4968           "required": [
4969             "application-url",
4970             "application-name",
4971             "endpoints",
4972             "life",
4973             "relations",
4974             "status"
4975           ]
4976         },
4977         "RemoteEndpoint": {
4978           "type": "object",
4979           "properties": {
4980             "interface": {
4981               "type": "string"
4982             },
4983             "limit": {
4984               "type": "integer"
4985             },
4986             "name": {
4987               "type": "string"
4988             },
4989             "role": {
4990               "type": "string"
4991             },
4992             "scope": {
4993               "type": "string"
4994             }
4995           },
4996           "additionalProperties": false,
4997           "required": [
4998             "name",
4999             "role",
5000             "interface",
5001             "limit",
5002             "scope"
5003           ]
5004         },
5005         "ResolveCharmResult": {
5006           "type": "object",
5007           "properties": {
5008             "error": {
5009               "type": "string"
5010             },
5011             "url": {
5012               "type": "string"
5013             }
5014           },
5015           "additionalProperties": false
5016         },
5017         "ResolveCharmResults": {
5018           "type": "object",
5019           "properties": {
5020             "urls": {
5021               "type": "array",
5022               "items": {
5023                 "$ref": "#/definitions/ResolveCharmResult"
5024               }
5025             }
5026           },
5027           "additionalProperties": false,
5028           "required": [
5029             "urls"
5030           ]
5031         },
5032         "ResolveCharms": {
5033           "type": "object",
5034           "properties": {
5035             "references": {
5036               "type": "array",
5037               "items": {
5038                 "type": "string"
5039               }
5040             }
5041           },
5042           "additionalProperties": false,
5043           "required": [
5044             "references"
5045           ]
5046         },
5047         "Resolved": {
5048           "type": "object",
5049           "properties": {
5050             "retry": {
5051               "type": "boolean"
5052             },
5053             "unit-name": {
5054               "type": "string"
5055             }
5056           },
5057           "additionalProperties": false,
5058           "required": [
5059             "unit-name",
5060             "retry"
5061           ]
5062         },
5063         "SetConstraints": {
5064           "type": "object",
5065           "properties": {
5066             "application": {
5067               "type": "string"
5068             },
5069             "constraints": {
5070               "$ref": "#/definitions/Value"
5071             }
5072           },
5073           "additionalProperties": false,
5074           "required": [
5075             "application",
5076             "constraints"
5077           ]
5078         },
5079         "SetModelAgentVersion": {
5080           "type": "object",
5081           "properties": {
5082             "version": {
5083               "$ref": "#/definitions/Number"
5084             }
5085           },
5086           "additionalProperties": false,
5087           "required": [
5088             "version"
5089           ]
5090         },
5091         "StatusHistoryFilter": {
5092           "type": "object",
5093           "properties": {
5094             "date": {
5095               "type": "string",
5096               "format": "date-time"
5097             },
5098             "delta": {
5099               "type": "integer"
5100             },
5101             "size": {
5102               "type": "integer"
5103             }
5104           },
5105           "additionalProperties": false,
5106           "required": [
5107             "size",
5108             "date",
5109             "delta"
5110           ]
5111         },
5112         "StatusHistoryRequest": {
5113           "type": "object",
5114           "properties": {
5115             "filter": {
5116               "$ref": "#/definitions/StatusHistoryFilter"
5117             },
5118             "historyKind": {
5119               "type": "string"
5120             },
5121             "size": {
5122               "type": "integer"
5123             },
5124             "tag": {
5125               "type": "string"
5126             }
5127           },
5128           "additionalProperties": false,
5129           "required": [
5130             "historyKind",
5131             "size",
5132             "filter",
5133             "tag"
5134           ]
5135         },
5136         "StatusHistoryRequests": {
5137           "type": "object",
5138           "properties": {
5139             "requests": {
5140               "type": "array",
5141               "items": {
5142                 "$ref": "#/definitions/StatusHistoryRequest"
5143               }
5144             }
5145           },
5146           "additionalProperties": false,
5147           "required": [
5148             "requests"
5149           ]
5150         },
5151         "StatusHistoryResult": {
5152           "type": "object",
5153           "properties": {
5154             "error": {
5155               "$ref": "#/definitions/Error"
5156             },
5157             "history": {
5158               "$ref": "#/definitions/History"
5159             }
5160           },
5161           "additionalProperties": false,
5162           "required": [
5163             "history"
5164           ]
5165         },
5166         "StatusHistoryResults": {
5167           "type": "object",
5168           "properties": {
5169             "results": {
5170               "type": "array",
5171               "items": {
5172                 "$ref": "#/definitions/StatusHistoryResult"
5173               }
5174             }
5175           },
5176           "additionalProperties": false,
5177           "required": [
5178             "results"
5179           ]
5180         },
5181         "StatusParams": {
5182           "type": "object",
5183           "properties": {
5184             "patterns": {
5185               "type": "array",
5186               "items": {
5187                 "type": "string"
5188               }
5189             }
5190           },
5191           "additionalProperties": false,
5192           "required": [
5193             "patterns"
5194           ]
5195         },
5196         "Tools": {
5197           "type": "object",
5198           "properties": {
5199             "sha256": {
5200               "type": "string"
5201             },
5202             "size": {
5203               "type": "integer"
5204             },
5205             "url": {
5206               "type": "string"
5207             },
5208             "version": {
5209               "$ref": "#/definitions/Binary"
5210             }
5211           },
5212           "additionalProperties": false,
5213           "required": [
5214             "version",
5215             "url",
5216             "size"
5217           ]
5218         },
5219         "UnitStatus": {
5220           "type": "object",
5221           "properties": {
5222             "agent-status": {
5223               "$ref": "#/definitions/DetailedStatus"
5224             },
5225             "charm": {
5226               "type": "string"
5227             },
5228             "leader": {
5229               "type": "boolean"
5230             },
5231             "machine": {
5232               "type": "string"
5233             },
5234             "opened-ports": {
5235               "type": "array",
5236               "items": {
5237                 "type": "string"
5238               }
5239             },
5240             "public-address": {
5241               "type": "string"
5242             },
5243             "subordinates": {
5244               "type": "object",
5245               "patternProperties": {
5246                 ".*": {
5247                   "$ref": "#/definitions/UnitStatus"
5248                 }
5249               }
5250             },
5251             "workload-status": {
5252               "$ref": "#/definitions/DetailedStatus"
5253             },
5254             "workload-version": {
5255               "type": "string"
5256             }
5257           },
5258           "additionalProperties": false,
5259           "required": [
5260             "agent-status",
5261             "workload-status",
5262             "workload-version",
5263             "machine",
5264             "opened-ports",
5265             "public-address",
5266             "charm",
5267             "subordinates"
5268           ]
5269         },
5270         "Value": {
5271           "type": "object",
5272           "properties": {
5273             "arch": {
5274               "type": "string"
5275             },
5276             "container": {
5277               "type": "string"
5278             },
5279             "cores": {
5280               "type": "integer"
5281             },
5282             "cpu-power": {
5283               "type": "integer"
5284             },
5285             "instance-type": {
5286               "type": "string"
5287             },
5288             "mem": {
5289               "type": "integer"
5290             },
5291             "root-disk": {
5292               "type": "integer"
5293             },
5294             "spaces": {
5295               "type": "array",
5296               "items": {
5297                 "type": "string"
5298               }
5299             },
5300             "tags": {
5301               "type": "array",
5302               "items": {
5303                 "type": "string"
5304               }
5305             },
5306             "virt-type": {
5307               "type": "string"
5308             }
5309           },
5310           "additionalProperties": false
5311         }
5312       }
5313     }
5314   },
5315   {
5316     "Name": "Cloud",
5317     "Version": 1,
5318     "Schema": {
5319       "type": "object",
5320       "properties": {
5321         "Cloud": {
5322           "type": "object",
5323           "properties": {
5324             "Params": {
5325               "$ref": "#/definitions/Entities"
5326             },
5327             "Result": {
5328               "$ref": "#/definitions/CloudResults"
5329             }
5330           }
5331         },
5332         "Clouds": {
5333           "type": "object",
5334           "properties": {
5335             "Result": {
5336               "$ref": "#/definitions/CloudsResult"
5337             }
5338           }
5339         },
5340         "Credential": {
5341           "type": "object",
5342           "properties": {
5343             "Params": {
5344               "$ref": "#/definitions/Entities"
5345             },
5346             "Result": {
5347               "$ref": "#/definitions/CloudCredentialResults"
5348             }
5349           }
5350         },
5351         "DefaultCloud": {
5352           "type": "object",
5353           "properties": {
5354             "Result": {
5355               "$ref": "#/definitions/StringResult"
5356             }
5357           }
5358         },
5359         "InstanceTypes": {
5360           "type": "object",
5361           "properties": {
5362             "Params": {
5363               "$ref": "#/definitions/CloudInstanceTypesConstraints"
5364             },
5365             "Result": {
5366               "$ref": "#/definitions/InstanceTypesResults"
5367             }
5368           }
5369         },
5370         "RevokeCredentials": {
5371           "type": "object",
5372           "properties": {
5373             "Params": {
5374               "$ref": "#/definitions/Entities"
5375             },
5376             "Result": {
5377               "$ref": "#/definitions/ErrorResults"
5378             }
5379           }
5380         },
5381         "UpdateCredentials": {
5382           "type": "object",
5383           "properties": {
5384             "Params": {
5385               "$ref": "#/definitions/UpdateCloudCredentials"
5386             },
5387             "Result": {
5388               "$ref": "#/definitions/ErrorResults"
5389             }
5390           }
5391         },
5392         "UserCredentials": {
5393           "type": "object",
5394           "properties": {
5395             "Params": {
5396               "$ref": "#/definitions/UserClouds"
5397             },
5398             "Result": {
5399               "$ref": "#/definitions/StringsResults"
5400             }
5401           }
5402         }
5403       },
5404       "definitions": {
5405         "Cloud": {
5406           "type": "object",
5407           "properties": {
5408             "auth-types": {
5409               "type": "array",
5410               "items": {
5411                 "type": "string"
5412               }
5413             },
5414             "endpoint": {
5415               "type": "string"
5416             },
5417             "identity-endpoint": {
5418               "type": "string"
5419             },
5420             "regions": {
5421               "type": "array",
5422               "items": {
5423                 "$ref": "#/definitions/CloudRegion"
5424               }
5425             },
5426             "storage-endpoint": {
5427               "type": "string"
5428             },
5429             "type": {
5430               "type": "string"
5431             }
5432           },
5433           "additionalProperties": false,
5434           "required": [
5435             "type"
5436           ]
5437         },
5438         "CloudCredential": {
5439           "type": "object",
5440           "properties": {
5441             "attrs": {
5442               "type": "object",
5443               "patternProperties": {
5444                 ".*": {
5445                   "type": "string"
5446                 }
5447               }
5448             },
5449             "auth-type": {
5450               "type": "string"
5451             },
5452             "redacted": {
5453               "type": "array",
5454               "items": {
5455                 "type": "string"
5456               }
5457             }
5458           },
5459           "additionalProperties": false,
5460           "required": [
5461             "auth-type"
5462           ]
5463         },
5464         "CloudCredentialResult": {
5465           "type": "object",
5466           "properties": {
5467             "error": {
5468               "$ref": "#/definitions/Error"
5469             },
5470             "result": {
5471               "$ref": "#/definitions/CloudCredential"
5472             }
5473           },
5474           "additionalProperties": false
5475         },
5476         "CloudCredentialResults": {
5477           "type": "object",
5478           "properties": {
5479             "results": {
5480               "type": "array",
5481               "items": {
5482                 "$ref": "#/definitions/CloudCredentialResult"
5483               }
5484             }
5485           },
5486           "additionalProperties": false
5487         },
5488         "CloudInstanceTypesConstraint": {
5489           "type": "object",
5490           "properties": {
5491             "cloud-tag": {
5492               "type": "string"
5493             },
5494             "constraints": {
5495               "$ref": "#/definitions/Value"
5496             },
5497             "region": {
5498               "type": "string"
5499             }
5500           },
5501           "additionalProperties": false,
5502           "required": [
5503             "cloud-tag",
5504             "region"
5505           ]
5506         },
5507         "CloudInstanceTypesConstraints": {
5508           "type": "object",
5509           "properties": {
5510             "constraints": {
5511               "type": "array",
5512               "items": {
5513                 "$ref": "#/definitions/CloudInstanceTypesConstraint"
5514               }
5515             }
5516           },
5517           "additionalProperties": false,
5518           "required": [
5519             "constraints"
5520           ]
5521         },
5522         "CloudRegion": {
5523           "type": "object",
5524           "properties": {
5525             "endpoint": {
5526               "type": "string"
5527             },
5528             "identity-endpoint": {
5529               "type": "string"
5530             },
5531             "name": {
5532               "type": "string"
5533             },
5534             "storage-endpoint": {
5535               "type": "string"
5536             }
5537           },
5538           "additionalProperties": false,
5539           "required": [
5540             "name"
5541           ]
5542         },
5543         "CloudResult": {
5544           "type": "object",
5545           "properties": {
5546             "cloud": {
5547               "$ref": "#/definitions/Cloud"
5548             },
5549             "error": {
5550               "$ref": "#/definitions/Error"
5551             }
5552           },
5553           "additionalProperties": false
5554         },
5555         "CloudResults": {
5556           "type": "object",
5557           "properties": {
5558             "results": {
5559               "type": "array",
5560               "items": {
5561                 "$ref": "#/definitions/CloudResult"
5562               }
5563             }
5564           },
5565           "additionalProperties": false
5566         },
5567         "CloudsResult": {
5568           "type": "object",
5569           "properties": {
5570             "clouds": {
5571               "type": "object",
5572               "patternProperties": {
5573                 ".*": {
5574                   "$ref": "#/definitions/Cloud"
5575                 }
5576               }
5577             }
5578           },
5579           "additionalProperties": false
5580         },
5581         "Entities": {
5582           "type": "object",
5583           "properties": {
5584             "entities": {
5585               "type": "array",
5586               "items": {
5587                 "$ref": "#/definitions/Entity"
5588               }
5589             }
5590           },
5591           "additionalProperties": false,
5592           "required": [
5593             "entities"
5594           ]
5595         },
5596         "Entity": {
5597           "type": "object",
5598           "properties": {
5599             "tag": {
5600               "type": "string"
5601             }
5602           },
5603           "additionalProperties": false,
5604           "required": [
5605             "tag"
5606           ]
5607         },
5608         "Error": {
5609           "type": "object",
5610           "properties": {
5611             "code": {
5612               "type": "string"
5613             },
5614             "info": {
5615               "$ref": "#/definitions/ErrorInfo"
5616             },
5617             "message": {
5618               "type": "string"
5619             }
5620           },
5621           "additionalProperties": false,
5622           "required": [
5623             "message",
5624             "code"
5625           ]
5626         },
5627         "ErrorInfo": {
5628           "type": "object",
5629           "properties": {
5630             "macaroon": {
5631               "$ref": "#/definitions/Macaroon"
5632             },
5633             "macaroon-path": {
5634               "type": "string"
5635             }
5636           },
5637           "additionalProperties": false
5638         },
5639         "ErrorResult": {
5640           "type": "object",
5641           "properties": {
5642             "error": {
5643               "$ref": "#/definitions/Error"
5644             }
5645           },
5646           "additionalProperties": false
5647         },
5648         "ErrorResults": {
5649           "type": "object",
5650           "properties": {
5651             "results": {
5652               "type": "array",
5653               "items": {
5654                 "$ref": "#/definitions/ErrorResult"
5655               }
5656             }
5657           },
5658           "additionalProperties": false,
5659           "required": [
5660             "results"
5661           ]
5662         },
5663         "InstanceType": {
5664           "type": "object",
5665           "properties": {
5666             "arches": {
5667               "type": "array",
5668               "items": {
5669                 "type": "string"
5670               }
5671             },
5672             "cost": {
5673               "type": "integer"
5674             },
5675             "cpu-cores": {
5676               "type": "integer"
5677             },
5678             "deprecated": {
5679               "type": "boolean"
5680             },
5681             "memory": {
5682               "type": "integer"
5683             },
5684             "name": {
5685               "type": "string"
5686             },
5687             "root-disk": {
5688               "type": "integer"
5689             },
5690             "virt-type": {
5691               "type": "string"
5692             }
5693           },
5694           "additionalProperties": false,
5695           "required": [
5696             "arches",
5697             "cpu-cores",
5698             "memory"
5699           ]
5700         },
5701         "InstanceTypesResult": {
5702           "type": "object",
5703           "properties": {
5704             "cost-currency": {
5705               "type": "string"
5706             },
5707             "cost-divisor": {
5708               "type": "integer"
5709             },
5710             "cost-unit": {
5711               "type": "string"
5712             },
5713             "error": {
5714               "$ref": "#/definitions/Error"
5715             },
5716             "instance-types": {
5717               "type": "array",
5718               "items": {
5719                 "$ref": "#/definitions/InstanceType"
5720               }
5721             }
5722           },
5723           "additionalProperties": false
5724         },
5725         "InstanceTypesResults": {
5726           "type": "object",
5727           "properties": {
5728             "results": {
5729               "type": "array",
5730               "items": {
5731                 "$ref": "#/definitions/InstanceTypesResult"
5732               }
5733             }
5734           },
5735           "additionalProperties": false,
5736           "required": [
5737             "results"
5738           ]
5739         },
5740         "Macaroon": {
5741           "type": "object",
5742           "additionalProperties": false
5743         },
5744         "StringResult": {
5745           "type": "object",
5746           "properties": {
5747             "error": {
5748               "$ref": "#/definitions/Error"
5749             },
5750             "result": {
5751               "type": "string"
5752             }
5753           },
5754           "additionalProperties": false,
5755           "required": [
5756             "result"
5757           ]
5758         },
5759         "StringsResult": {
5760           "type": "object",
5761           "properties": {
5762             "error": {
5763               "$ref": "#/definitions/Error"
5764             },
5765             "result": {
5766               "type": "array",
5767               "items": {
5768                 "type": "string"
5769               }
5770             }
5771           },
5772           "additionalProperties": false
5773         },
5774         "StringsResults": {
5775           "type": "object",
5776           "properties": {
5777             "results": {
5778               "type": "array",
5779               "items": {
5780                 "$ref": "#/definitions/StringsResult"
5781               }
5782             }
5783           },
5784           "additionalProperties": false,
5785           "required": [
5786             "results"
5787           ]
5788         },
5789         "UpdateCloudCredential": {
5790           "type": "object",
5791           "properties": {
5792             "credential": {
5793               "$ref": "#/definitions/CloudCredential"
5794             },
5795             "tag": {
5796               "type": "string"
5797             }
5798           },
5799           "additionalProperties": false,
5800           "required": [
5801             "tag",
5802             "credential"
5803           ]
5804         },
5805         "UpdateCloudCredentials": {
5806           "type": "object",
5807           "properties": {
5808             "credentials": {
5809               "type": "array",
5810               "items": {
5811                 "$ref": "#/definitions/UpdateCloudCredential"
5812               }
5813             }
5814           },
5815           "additionalProperties": false
5816         },
5817         "UserCloud": {
5818           "type": "object",
5819           "properties": {
5820             "cloud-tag": {
5821               "type": "string"
5822             },
5823             "user-tag": {
5824               "type": "string"
5825             }
5826           },
5827           "additionalProperties": false,
5828           "required": [
5829             "user-tag",
5830             "cloud-tag"
5831           ]
5832         },
5833         "UserClouds": {
5834           "type": "object",
5835           "properties": {
5836             "user-clouds": {
5837               "type": "array",
5838               "items": {
5839                 "$ref": "#/definitions/UserCloud"
5840               }
5841             }
5842           },
5843           "additionalProperties": false
5844         },
5845         "Value": {
5846           "type": "object",
5847           "properties": {
5848             "arch": {
5849               "type": "string"
5850             },
5851             "container": {
5852               "type": "string"
5853             },
5854             "cores": {
5855               "type": "integer"
5856             },
5857             "cpu-power": {
5858               "type": "integer"
5859             },
5860             "instance-type": {
5861               "type": "string"
5862             },
5863             "mem": {
5864               "type": "integer"
5865             },
5866             "root-disk": {
5867               "type": "integer"
5868             },
5869             "spaces": {
5870               "type": "array",
5871               "items": {
5872                 "type": "string"
5873               }
5874             },
5875             "tags": {
5876               "type": "array",
5877               "items": {
5878                 "type": "string"
5879               }
5880             },
5881             "virt-type": {
5882               "type": "string"
5883             }
5884           },
5885           "additionalProperties": false
5886         }
5887       }
5888     }
5889   },
5890   {
5891     "Name": "Controller",
5892     "Version": 3,
5893     "Schema": {
5894       "type": "object",
5895       "properties": {
5896         "AllModels": {
5897           "type": "object",
5898           "properties": {
5899             "Result": {
5900               "$ref": "#/definitions/UserModelList"
5901             }
5902           }
5903         },
5904         "CloudSpec": {
5905           "type": "object",
5906           "properties": {
5907             "Params": {
5908               "$ref": "#/definitions/Entities"
5909             },
5910             "Result": {
5911               "$ref": "#/definitions/CloudSpecResults"
5912             }
5913           }
5914         },
5915         "ControllerConfig": {
5916           "type": "object",
5917           "properties": {
5918             "Result": {
5919               "$ref": "#/definitions/ControllerConfigResult"
5920             }
5921           }
5922         },
5923         "DestroyController": {
5924           "type": "object",
5925           "properties": {
5926             "Params": {
5927               "$ref": "#/definitions/DestroyControllerArgs"
5928             }
5929           }
5930         },
5931         "GetCloudSpec": {
5932           "type": "object",
5933           "properties": {
5934             "Params": {
5935               "$ref": "#/definitions/ModelTag"
5936             },
5937             "Result": {
5938               "$ref": "#/definitions/CloudSpecResult"
5939             }
5940           }
5941         },
5942         "GetControllerAccess": {
5943           "type": "object",
5944           "properties": {
5945             "Params": {
5946               "$ref": "#/definitions/Entities"
5947             },
5948             "Result": {
5949               "$ref": "#/definitions/UserAccessResults"
5950             }
5951           }
5952         },
5953         "HostedModelConfigs": {
5954           "type": "object",
5955           "properties": {
5956             "Result": {
5957               "$ref": "#/definitions/HostedModelConfigsResults"
5958             }
5959           }
5960         },
5961         "InitiateMigration": {
5962           "type": "object",
5963           "properties": {
5964             "Params": {
5965               "$ref": "#/definitions/InitiateMigrationArgs"
5966             },
5967             "Result": {
5968               "$ref": "#/definitions/InitiateMigrationResults"
5969             }
5970           }
5971         },
5972         "ListBlockedModels": {
5973           "type": "object",
5974           "properties": {
5975             "Result": {
5976               "$ref": "#/definitions/ModelBlockInfoList"
5977             }
5978           }
5979         },
5980         "ModelConfig": {
5981           "type": "object",
5982           "properties": {
5983             "Result": {
5984               "$ref": "#/definitions/ModelConfigResults"
5985             }
5986           }
5987         },
5988         "ModelStatus": {
5989           "type": "object",
5990           "properties": {
5991             "Params": {
5992               "$ref": "#/definitions/Entities"
5993             },
5994             "Result": {
5995               "$ref": "#/definitions/ModelStatusResults"
5996             }
5997           }
5998         },
5999         "ModifyControllerAccess": {
6000           "type": "object",
6001           "properties": {
6002             "Params": {
6003               "$ref": "#/definitions/ModifyControllerAccessRequest"
6004             },
6005             "Result": {
6006               "$ref": "#/definitions/ErrorResults"
6007             }
6008           }
6009         },
6010         "RemoveBlocks": {
6011           "type": "object",
6012           "properties": {
6013             "Params": {
6014               "$ref": "#/definitions/RemoveBlocksArgs"
6015             }
6016           }
6017         },
6018         "WatchAllModels": {
6019           "type": "object",
6020           "properties": {
6021             "Result": {
6022               "$ref": "#/definitions/AllWatcherId"
6023             }
6024           }
6025         }
6026       },
6027       "definitions": {
6028         "AllWatcherId": {
6029           "type": "object",
6030           "properties": {
6031             "watcher-id": {
6032               "type": "string"
6033             }
6034           },
6035           "additionalProperties": false,
6036           "required": [
6037             "watcher-id"
6038           ]
6039         },
6040         "CloudCredential": {
6041           "type": "object",
6042           "properties": {
6043             "attrs": {
6044               "type": "object",
6045               "patternProperties": {
6046                 ".*": {
6047                   "type": "string"
6048                 }
6049               }
6050             },
6051             "auth-type": {
6052               "type": "string"
6053             },
6054             "redacted": {
6055               "type": "array",
6056               "items": {
6057                 "type": "string"
6058               }
6059             }
6060           },
6061           "additionalProperties": false,
6062           "required": [
6063             "auth-type"
6064           ]
6065         },
6066         "CloudSpec": {
6067           "type": "object",
6068           "properties": {
6069             "credential": {
6070               "$ref": "#/definitions/CloudCredential"
6071             },
6072             "endpoint": {
6073               "type": "string"
6074             },
6075             "identity-endpoint": {
6076               "type": "string"
6077             },
6078             "name": {
6079               "type": "string"
6080             },
6081             "region": {
6082               "type": "string"
6083             },
6084             "storage-endpoint": {
6085               "type": "string"
6086             },
6087             "type": {
6088               "type": "string"
6089             }
6090           },
6091           "additionalProperties": false,
6092           "required": [
6093             "type",
6094             "name"
6095           ]
6096         },
6097         "CloudSpecResult": {
6098           "type": "object",
6099           "properties": {
6100             "error": {
6101               "$ref": "#/definitions/Error"
6102             },
6103             "result": {
6104               "$ref": "#/definitions/CloudSpec"
6105             }
6106           },
6107           "additionalProperties": false
6108         },
6109         "CloudSpecResults": {
6110           "type": "object",
6111           "properties": {
6112             "results": {
6113               "type": "array",
6114               "items": {
6115                 "$ref": "#/definitions/CloudSpecResult"
6116               }
6117             }
6118           },
6119           "additionalProperties": false
6120         },
6121         "ConfigValue": {
6122           "type": "object",
6123           "properties": {
6124             "source": {
6125               "type": "string"
6126             },
6127             "value": {
6128               "type": "object",
6129               "additionalProperties": true
6130             }
6131           },
6132           "additionalProperties": false,
6133           "required": [
6134             "value",
6135             "source"
6136           ]
6137         },
6138         "ControllerConfigResult": {
6139           "type": "object",
6140           "properties": {
6141             "config": {
6142               "type": "object",
6143               "patternProperties": {
6144                 ".*": {
6145                   "type": "object",
6146                   "additionalProperties": true
6147                 }
6148               }
6149             }
6150           },
6151           "additionalProperties": false,
6152           "required": [
6153             "config"
6154           ]
6155         },
6156         "DestroyControllerArgs": {
6157           "type": "object",
6158           "properties": {
6159             "destroy-models": {
6160               "type": "boolean"
6161             }
6162           },
6163           "additionalProperties": false,
6164           "required": [
6165             "destroy-models"
6166           ]
6167         },
6168         "Entities": {
6169           "type": "object",
6170           "properties": {
6171             "entities": {
6172               "type": "array",
6173               "items": {
6174                 "$ref": "#/definitions/Entity"
6175               }
6176             }
6177           },
6178           "additionalProperties": false,
6179           "required": [
6180             "entities"
6181           ]
6182         },
6183         "Entity": {
6184           "type": "object",
6185           "properties": {
6186             "tag": {
6187               "type": "string"
6188             }
6189           },
6190           "additionalProperties": false,
6191           "required": [
6192             "tag"
6193           ]
6194         },
6195         "Error": {
6196           "type": "object",
6197           "properties": {
6198             "code": {
6199               "type": "string"
6200             },
6201             "info": {
6202               "$ref": "#/definitions/ErrorInfo"
6203             },
6204             "message": {
6205               "type": "string"
6206             }
6207           },
6208           "additionalProperties": false,
6209           "required": [
6210             "message",
6211             "code"
6212           ]
6213         },
6214         "ErrorInfo": {
6215           "type": "object",
6216           "properties": {
6217             "macaroon": {
6218               "$ref": "#/definitions/Macaroon"
6219             },
6220             "macaroon-path": {
6221               "type": "string"
6222             }
6223           },
6224           "additionalProperties": false
6225         },
6226         "ErrorResult": {
6227           "type": "object",
6228           "properties": {
6229             "error": {
6230               "$ref": "#/definitions/Error"
6231             }
6232           },
6233           "additionalProperties": false
6234         },
6235         "ErrorResults": {
6236           "type": "object",
6237           "properties": {
6238             "results": {
6239               "type": "array",
6240               "items": {
6241                 "$ref": "#/definitions/ErrorResult"
6242               }
6243             }
6244           },
6245           "additionalProperties": false,
6246           "required": [
6247             "results"
6248           ]
6249         },
6250         "HostedModelConfig": {
6251           "type": "object",
6252           "properties": {
6253             "cloud-spec": {
6254               "$ref": "#/definitions/CloudSpec"
6255             },
6256             "config": {
6257               "type": "object",
6258               "patternProperties": {
6259                 ".*": {
6260                   "type": "object",
6261                   "additionalProperties": true
6262                 }
6263               }
6264             },
6265             "error": {
6266               "$ref": "#/definitions/Error"
6267             },
6268             "name": {
6269               "type": "string"
6270             },
6271             "owner": {
6272               "type": "string"
6273             }
6274           },
6275           "additionalProperties": false,
6276           "required": [
6277             "name",
6278             "owner"
6279           ]
6280         },
6281         "HostedModelConfigsResults": {
6282           "type": "object",
6283           "properties": {
6284             "models": {
6285               "type": "array",
6286               "items": {
6287                 "$ref": "#/definitions/HostedModelConfig"
6288               }
6289             }
6290           },
6291           "additionalProperties": false,
6292           "required": [
6293             "models"
6294           ]
6295         },
6296         "InitiateMigrationArgs": {
6297           "type": "object",
6298           "properties": {
6299             "specs": {
6300               "type": "array",
6301               "items": {
6302                 "$ref": "#/definitions/MigrationSpec"
6303               }
6304             }
6305           },
6306           "additionalProperties": false,
6307           "required": [
6308             "specs"
6309           ]
6310         },
6311         "InitiateMigrationResult": {
6312           "type": "object",
6313           "properties": {
6314             "error": {
6315               "$ref": "#/definitions/Error"
6316             },
6317             "migration-id": {
6318               "type": "string"
6319             },
6320             "model-tag": {
6321               "type": "string"
6322             }
6323           },
6324           "additionalProperties": false,
6325           "required": [
6326             "model-tag",
6327             "migration-id"
6328           ]
6329         },
6330         "InitiateMigrationResults": {
6331           "type": "object",
6332           "properties": {
6333             "results": {
6334               "type": "array",
6335               "items": {
6336                 "$ref": "#/definitions/InitiateMigrationResult"
6337               }
6338             }
6339           },
6340           "additionalProperties": false,
6341           "required": [
6342             "results"
6343           ]
6344         },
6345         "Macaroon": {
6346           "type": "object",
6347           "additionalProperties": false
6348         },
6349         "MachineHardware": {
6350           "type": "object",
6351           "properties": {
6352             "arch": {
6353               "type": "string"
6354             },
6355             "availability-zone": {
6356               "type": "string"
6357             },
6358             "cores": {
6359               "type": "integer"
6360             },
6361             "cpu-power": {
6362               "type": "integer"
6363             },
6364             "mem": {
6365               "type": "integer"
6366             },
6367             "root-disk": {
6368               "type": "integer"
6369             },
6370             "tags": {
6371               "type": "array",
6372               "items": {
6373                 "type": "string"
6374               }
6375             }
6376           },
6377           "additionalProperties": false
6378         },
6379         "MigrationSpec": {
6380           "type": "object",
6381           "properties": {
6382             "external-control": {
6383               "type": "boolean"
6384             },
6385             "model-tag": {
6386               "type": "string"
6387             },
6388             "skip-initial-prechecks": {
6389               "type": "boolean"
6390             },
6391             "target-info": {
6392               "$ref": "#/definitions/MigrationTargetInfo"
6393             }
6394           },
6395           "additionalProperties": false,
6396           "required": [
6397             "model-tag",
6398             "target-info",
6399             "external-control",
6400             "skip-initial-prechecks"
6401           ]
6402         },
6403         "MigrationTargetInfo": {
6404           "type": "object",
6405           "properties": {
6406             "addrs": {
6407               "type": "array",
6408               "items": {
6409                 "type": "string"
6410               }
6411             },
6412             "auth-tag": {
6413               "type": "string"
6414             },
6415             "ca-cert": {
6416               "type": "string"
6417             },
6418             "controller-tag": {
6419               "type": "string"
6420             },
6421             "macaroons": {
6422               "type": "string"
6423             },
6424             "password": {
6425               "type": "string"
6426             }
6427           },
6428           "additionalProperties": false,
6429           "required": [
6430             "controller-tag",
6431             "addrs",
6432             "ca-cert",
6433             "auth-tag"
6434           ]
6435         },
6436         "Model": {
6437           "type": "object",
6438           "properties": {
6439             "name": {
6440               "type": "string"
6441             },
6442             "owner-tag": {
6443               "type": "string"
6444             },
6445             "uuid": {
6446               "type": "string"
6447             }
6448           },
6449           "additionalProperties": false,
6450           "required": [
6451             "name",
6452             "uuid",
6453             "owner-tag"
6454           ]
6455         },
6456         "ModelBlockInfo": {
6457           "type": "object",
6458           "properties": {
6459             "blocks": {
6460               "type": "array",
6461               "items": {
6462                 "type": "string"
6463               }
6464             },
6465             "model-uuid": {
6466               "type": "string"
6467             },
6468             "name": {
6469               "type": "string"
6470             },
6471             "owner-tag": {
6472               "type": "string"
6473             }
6474           },
6475           "additionalProperties": false,
6476           "required": [
6477             "name",
6478             "model-uuid",
6479             "owner-tag",
6480             "blocks"
6481           ]
6482         },
6483         "ModelBlockInfoList": {
6484           "type": "object",
6485           "properties": {
6486             "models": {
6487               "type": "array",
6488               "items": {
6489                 "$ref": "#/definitions/ModelBlockInfo"
6490               }
6491             }
6492           },
6493           "additionalProperties": false
6494         },
6495         "ModelConfigResults": {
6496           "type": "object",
6497           "properties": {
6498             "config": {
6499               "type": "object",
6500               "patternProperties": {
6501                 ".*": {
6502                   "$ref": "#/definitions/ConfigValue"
6503                 }
6504               }
6505             }
6506           },
6507           "additionalProperties": false,
6508           "required": [
6509             "config"
6510           ]
6511         },
6512         "ModelMachineInfo": {
6513           "type": "object",
6514           "properties": {
6515             "hardware": {
6516               "$ref": "#/definitions/MachineHardware"
6517             },
6518             "has-vote": {
6519               "type": "boolean"
6520             },
6521             "id": {
6522               "type": "string"
6523             },
6524             "instance-id": {
6525               "type": "string"
6526             },
6527             "status": {
6528               "type": "string"
6529             },
6530             "wants-vote": {
6531               "type": "boolean"
6532             }
6533           },
6534           "additionalProperties": false,
6535           "required": [
6536             "id"
6537           ]
6538         },
6539         "ModelStatus": {
6540           "type": "object",
6541           "properties": {
6542             "application-count": {
6543               "type": "integer"
6544             },
6545             "hosted-machine-count": {
6546               "type": "integer"
6547             },
6548             "life": {
6549               "type": "string"
6550             },
6551             "machines": {
6552               "type": "array",
6553               "items": {
6554                 "$ref": "#/definitions/ModelMachineInfo"
6555               }
6556             },
6557             "model-tag": {
6558               "type": "string"
6559             },
6560             "owner-tag": {
6561               "type": "string"
6562             }
6563           },
6564           "additionalProperties": false,
6565           "required": [
6566             "model-tag",
6567             "life",
6568             "hosted-machine-count",
6569             "application-count",
6570             "owner-tag"
6571           ]
6572         },
6573         "ModelStatusResults": {
6574           "type": "object",
6575           "properties": {
6576             "models": {
6577               "type": "array",
6578               "items": {
6579                 "$ref": "#/definitions/ModelStatus"
6580               }
6581             }
6582           },
6583           "additionalProperties": false,
6584           "required": [
6585             "models"
6586           ]
6587         },
6588         "ModelTag": {
6589           "type": "object",
6590           "additionalProperties": false
6591         },
6592         "ModifyControllerAccess": {
6593           "type": "object",
6594           "properties": {
6595             "access": {
6596               "type": "string"
6597             },
6598             "action": {
6599               "type": "string"
6600             },
6601             "user-tag": {
6602               "type": "string"
6603             }
6604           },
6605           "additionalProperties": false,
6606           "required": [
6607             "user-tag",
6608             "action",
6609             "access"
6610           ]
6611         },
6612         "ModifyControllerAccessRequest": {
6613           "type": "object",
6614           "properties": {
6615             "changes": {
6616               "type": "array",
6617               "items": {
6618                 "$ref": "#/definitions/ModifyControllerAccess"
6619               }
6620             }
6621           },
6622           "additionalProperties": false,
6623           "required": [
6624             "changes"
6625           ]
6626         },
6627         "RemoveBlocksArgs": {
6628           "type": "object",
6629           "properties": {
6630             "all": {
6631               "type": "boolean"
6632             }
6633           },
6634           "additionalProperties": false,
6635           "required": [
6636             "all"
6637           ]
6638         },
6639         "UserAccess": {
6640           "type": "object",
6641           "properties": {
6642             "access": {
6643               "type": "string"
6644             },
6645             "user-tag": {
6646               "type": "string"
6647             }
6648           },
6649           "additionalProperties": false,
6650           "required": [
6651             "user-tag",
6652             "access"
6653           ]
6654         },
6655         "UserAccessResult": {
6656           "type": "object",
6657           "properties": {
6658             "error": {
6659               "$ref": "#/definitions/Error"
6660             },
6661             "result": {
6662               "$ref": "#/definitions/UserAccess"
6663             }
6664           },
6665           "additionalProperties": false
6666         },
6667         "UserAccessResults": {
6668           "type": "object",
6669           "properties": {
6670             "results": {
6671               "type": "array",
6672               "items": {
6673                 "$ref": "#/definitions/UserAccessResult"
6674               }
6675             }
6676           },
6677           "additionalProperties": false
6678         },
6679         "UserModel": {
6680           "type": "object",
6681           "properties": {
6682             "last-connection": {
6683               "type": "string",
6684               "format": "date-time"
6685             },
6686             "model": {
6687               "$ref": "#/definitions/Model"
6688             }
6689           },
6690           "additionalProperties": false,
6691           "required": [
6692             "model",
6693             "last-connection"
6694           ]
6695         },
6696         "UserModelList": {
6697           "type": "object",
6698           "properties": {
6699             "user-models": {
6700               "type": "array",
6701               "items": {
6702                 "$ref": "#/definitions/UserModel"
6703               }
6704             }
6705           },
6706           "additionalProperties": false,
6707           "required": [
6708             "user-models"
6709           ]
6710         }
6711       }
6712     }
6713   },
6714   {
6715     "Name": "Deployer",
6716     "Version": 1,
6717     "Schema": {
6718       "type": "object",
6719       "properties": {
6720         "APIAddresses": {
6721           "type": "object",
6722           "properties": {
6723             "Result": {
6724               "$ref": "#/definitions/StringsResult"
6725             }
6726           }
6727         },
6728         "APIHostPorts": {
6729           "type": "object",
6730           "properties": {
6731             "Result": {
6732               "$ref": "#/definitions/APIHostPortsResult"
6733             }
6734           }
6735         },
6736         "CACert": {
6737           "type": "object",
6738           "properties": {
6739             "Result": {
6740               "$ref": "#/definitions/BytesResult"
6741             }
6742           }
6743         },
6744         "ConnectionInfo": {
6745           "type": "object",
6746           "properties": {
6747             "Result": {
6748               "$ref": "#/definitions/DeployerConnectionValues"
6749             }
6750           }
6751         },
6752         "Life": {
6753           "type": "object",
6754           "properties": {
6755             "Params": {
6756               "$ref": "#/definitions/Entities"
6757             },
6758             "Result": {
6759               "$ref": "#/definitions/LifeResults"
6760             }
6761           }
6762         },
6763         "ModelUUID": {
6764           "type": "object",
6765           "properties": {
6766             "Result": {
6767               "$ref": "#/definitions/StringResult"
6768             }
6769           }
6770         },
6771         "Remove": {
6772           "type": "object",
6773           "properties": {
6774             "Params": {
6775               "$ref": "#/definitions/Entities"
6776             },
6777             "Result": {
6778               "$ref": "#/definitions/ErrorResults"
6779             }
6780           }
6781         },
6782         "SetPasswords": {
6783           "type": "object",
6784           "properties": {
6785             "Params": {
6786               "$ref": "#/definitions/EntityPasswords"
6787             },
6788             "Result": {
6789               "$ref": "#/definitions/ErrorResults"
6790             }
6791           }
6792         },
6793         "SetStatus": {
6794           "type": "object",
6795           "properties": {
6796             "Params": {
6797               "$ref": "#/definitions/SetStatus"
6798             },
6799             "Result": {
6800               "$ref": "#/definitions/ErrorResults"
6801             }
6802           }
6803         },
6804         "StateAddresses": {
6805           "type": "object",
6806           "properties": {
6807             "Result": {
6808               "$ref": "#/definitions/StringsResult"
6809             }
6810           }
6811         },
6812         "UpdateStatus": {
6813           "type": "object",
6814           "properties": {
6815             "Params": {
6816               "$ref": "#/definitions/SetStatus"
6817             },
6818             "Result": {
6819               "$ref": "#/definitions/ErrorResults"
6820             }
6821           }
6822         },
6823         "WatchAPIHostPorts": {
6824           "type": "object",
6825           "properties": {
6826             "Result": {
6827               "$ref": "#/definitions/NotifyWatchResult"
6828             }
6829           }
6830         },
6831         "WatchUnits": {
6832           "type": "object",
6833           "properties": {
6834             "Params": {
6835               "$ref": "#/definitions/Entities"
6836             },
6837             "Result": {
6838               "$ref": "#/definitions/StringsWatchResults"
6839             }
6840           }
6841         }
6842       },
6843       "definitions": {
6844         "APIHostPortsResult": {
6845           "type": "object",
6846           "properties": {
6847             "servers": {
6848               "type": "array",
6849               "items": {
6850                 "type": "array",
6851                 "items": {
6852                   "$ref": "#/definitions/HostPort"
6853                 }
6854               }
6855             }
6856           },
6857           "additionalProperties": false,
6858           "required": [
6859             "servers"
6860           ]
6861         },
6862         "Address": {
6863           "type": "object",
6864           "properties": {
6865             "scope": {
6866               "type": "string"
6867             },
6868             "space-name": {
6869               "type": "string"
6870             },
6871             "type": {
6872               "type": "string"
6873             },
6874             "value": {
6875               "type": "string"
6876             }
6877           },
6878           "additionalProperties": false,
6879           "required": [
6880             "value",
6881             "type",
6882             "scope"
6883           ]
6884         },
6885         "BytesResult": {
6886           "type": "object",
6887           "properties": {
6888             "result": {
6889               "type": "array",
6890               "items": {
6891                 "type": "integer"
6892               }
6893             }
6894           },
6895           "additionalProperties": false,
6896           "required": [
6897             "result"
6898           ]
6899         },
6900         "DeployerConnectionValues": {
6901           "type": "object",
6902           "properties": {
6903             "api-addresses": {
6904               "type": "array",
6905               "items": {
6906                 "type": "string"
6907               }
6908             },
6909             "state-addresses": {
6910               "type": "array",
6911               "items": {
6912                 "type": "string"
6913               }
6914             }
6915           },
6916           "additionalProperties": false,
6917           "required": [
6918             "state-addresses",
6919             "api-addresses"
6920           ]
6921         },
6922         "Entities": {
6923           "type": "object",
6924           "properties": {
6925             "entities": {
6926               "type": "array",
6927               "items": {
6928                 "$ref": "#/definitions/Entity"
6929               }
6930             }
6931           },
6932           "additionalProperties": false,
6933           "required": [
6934             "entities"
6935           ]
6936         },
6937         "Entity": {
6938           "type": "object",
6939           "properties": {
6940             "tag": {
6941               "type": "string"
6942             }
6943           },
6944           "additionalProperties": false,
6945           "required": [
6946             "tag"
6947           ]
6948         },
6949         "EntityPassword": {
6950           "type": "object",
6951           "properties": {
6952             "password": {
6953               "type": "string"
6954             },
6955             "tag": {
6956               "type": "string"
6957             }
6958           },
6959           "additionalProperties": false,
6960           "required": [
6961             "tag",
6962             "password"
6963           ]
6964         },
6965         "EntityPasswords": {
6966           "type": "object",
6967           "properties": {
6968             "changes": {
6969               "type": "array",
6970               "items": {
6971                 "$ref": "#/definitions/EntityPassword"
6972               }
6973             }
6974           },
6975           "additionalProperties": false,
6976           "required": [
6977             "changes"
6978           ]
6979         },
6980         "EntityStatusArgs": {
6981           "type": "object",
6982           "properties": {
6983             "data": {
6984               "type": "object",
6985               "patternProperties": {
6986                 ".*": {
6987                   "type": "object",
6988                   "additionalProperties": true
6989                 }
6990               }
6991             },
6992             "info": {
6993               "type": "string"
6994             },
6995             "status": {
6996               "type": "string"
6997             },
6998             "tag": {
6999               "type": "string"
7000             }
7001           },
7002           "additionalProperties": false,
7003           "required": [
7004             "tag",
7005             "status",
7006             "info",
7007             "data"
7008           ]
7009         },
7010         "Error": {
7011           "type": "object",
7012           "properties": {
7013             "code": {
7014               "type": "string"
7015             },
7016             "info": {
7017               "$ref": "#/definitions/ErrorInfo"
7018             },
7019             "message": {
7020               "type": "string"
7021             }
7022           },
7023           "additionalProperties": false,
7024           "required": [
7025             "message",
7026             "code"
7027           ]
7028         },
7029         "ErrorInfo": {
7030           "type": "object",
7031           "properties": {
7032             "macaroon": {
7033               "$ref": "#/definitions/Macaroon"
7034             },
7035             "macaroon-path": {
7036               "type": "string"
7037             }
7038           },
7039           "additionalProperties": false
7040         },
7041         "ErrorResult": {
7042           "type": "object",
7043           "properties": {
7044             "error": {
7045               "$ref": "#/definitions/Error"
7046             }
7047           },
7048           "additionalProperties": false
7049         },
7050         "ErrorResults": {
7051           "type": "object",
7052           "properties": {
7053             "results": {
7054               "type": "array",
7055               "items": {
7056                 "$ref": "#/definitions/ErrorResult"
7057               }
7058             }
7059           },
7060           "additionalProperties": false,
7061           "required": [
7062             "results"
7063           ]
7064         },
7065         "HostPort": {
7066           "type": "object",
7067           "properties": {
7068             "Address": {
7069               "$ref": "#/definitions/Address"
7070             },
7071             "port": {
7072               "type": "integer"
7073             }
7074           },
7075           "additionalProperties": false,
7076           "required": [
7077             "Address",
7078             "port"
7079           ]
7080         },
7081         "LifeResult": {
7082           "type": "object",
7083           "properties": {
7084             "error": {
7085               "$ref": "#/definitions/Error"
7086             },
7087             "life": {
7088               "type": "string"
7089             }
7090           },
7091           "additionalProperties": false,
7092           "required": [
7093             "life"
7094           ]
7095         },
7096         "LifeResults": {
7097           "type": "object",
7098           "properties": {
7099             "results": {
7100               "type": "array",
7101               "items": {
7102                 "$ref": "#/definitions/LifeResult"
7103               }
7104             }
7105           },
7106           "additionalProperties": false,
7107           "required": [
7108             "results"
7109           ]
7110         },
7111         "Macaroon": {
7112           "type": "object",
7113           "additionalProperties": false
7114         },
7115         "NotifyWatchResult": {
7116           "type": "object",
7117           "properties": {
7118             "NotifyWatcherId": {
7119               "type": "string"
7120             },
7121             "error": {
7122               "$ref": "#/definitions/Error"
7123             }
7124           },
7125           "additionalProperties": false,
7126           "required": [
7127             "NotifyWatcherId"
7128           ]
7129         },
7130         "SetStatus": {
7131           "type": "object",
7132           "properties": {
7133             "entities": {
7134               "type": "array",
7135               "items": {
7136                 "$ref": "#/definitions/EntityStatusArgs"
7137               }
7138             }
7139           },
7140           "additionalProperties": false,
7141           "required": [
7142             "entities"
7143           ]
7144         },
7145         "StringResult": {
7146           "type": "object",
7147           "properties": {
7148             "error": {
7149               "$ref": "#/definitions/Error"
7150             },
7151             "result": {
7152               "type": "string"
7153             }
7154           },
7155           "additionalProperties": false,
7156           "required": [
7157             "result"
7158           ]
7159         },
7160         "StringsResult": {
7161           "type": "object",
7162           "properties": {
7163             "error": {
7164               "$ref": "#/definitions/Error"
7165             },
7166             "result": {
7167               "type": "array",
7168               "items": {
7169                 "type": "string"
7170               }
7171             }
7172           },
7173           "additionalProperties": false
7174         },
7175         "StringsWatchResult": {
7176           "type": "object",
7177           "properties": {
7178             "changes": {
7179               "type": "array",
7180               "items": {
7181                 "type": "string"
7182               }
7183             },
7184             "error": {
7185               "$ref": "#/definitions/Error"
7186             },
7187             "watcher-id": {
7188               "type": "string"
7189             }
7190           },
7191           "additionalProperties": false,
7192           "required": [
7193             "watcher-id"
7194           ]
7195         },
7196         "StringsWatchResults": {
7197           "type": "object",
7198           "properties": {
7199             "results": {
7200               "type": "array",
7201               "items": {
7202                 "$ref": "#/definitions/StringsWatchResult"
7203               }
7204             }
7205           },
7206           "additionalProperties": false,
7207           "required": [
7208             "results"
7209           ]
7210         }
7211       }
7212     }
7213   },
7214   {
7215     "Name": "DiscoverSpaces",
7216     "Version": 2,
7217     "Schema": {
7218       "type": "object",
7219       "properties": {
7220         "AddSubnets": {
7221           "type": "object",
7222           "properties": {
7223             "Params": {
7224               "$ref": "#/definitions/AddSubnetsParams"
7225             },
7226             "Result": {
7227               "$ref": "#/definitions/ErrorResults"
7228             }
7229           }
7230         },
7231         "CreateSpaces": {
7232           "type": "object",
7233           "properties": {
7234             "Params": {
7235               "$ref": "#/definitions/CreateSpacesParams"
7236             },
7237             "Result": {
7238               "$ref": "#/definitions/ErrorResults"
7239             }
7240           }
7241         },
7242         "ListSpaces": {
7243           "type": "object",
7244           "properties": {
7245             "Result": {
7246               "$ref": "#/definitions/DiscoverSpacesResults"
7247             }
7248           }
7249         },
7250         "ListSubnets": {
7251           "type": "object",
7252           "properties": {
7253             "Params": {
7254               "$ref": "#/definitions/SubnetsFilters"
7255             },
7256             "Result": {
7257               "$ref": "#/definitions/ListSubnetsResults"
7258             }
7259           }
7260         },
7261         "ModelConfig": {
7262           "type": "object",
7263           "properties": {
7264             "Result": {
7265               "$ref": "#/definitions/ModelConfigResult"
7266             }
7267           }
7268         }
7269       },
7270       "definitions": {
7271         "AddSubnetParams": {
7272           "type": "object",
7273           "properties": {
7274             "space-tag": {
7275               "type": "string"
7276             },
7277             "subnet-provider-id": {
7278               "type": "string"
7279             },
7280             "subnet-tag": {
7281               "type": "string"
7282             },
7283             "zones": {
7284               "type": "array",
7285               "items": {
7286                 "type": "string"
7287               }
7288             }
7289           },
7290           "additionalProperties": false,
7291           "required": [
7292             "space-tag"
7293           ]
7294         },
7295         "AddSubnetsParams": {
7296           "type": "object",
7297           "properties": {
7298             "subnets": {
7299               "type": "array",
7300               "items": {
7301                 "$ref": "#/definitions/AddSubnetParams"
7302               }
7303             }
7304           },
7305           "additionalProperties": false,
7306           "required": [
7307             "subnets"
7308           ]
7309         },
7310         "CreateSpaceParams": {
7311           "type": "object",
7312           "properties": {
7313             "provider-id": {
7314               "type": "string"
7315             },
7316             "public": {
7317               "type": "boolean"
7318             },
7319             "space-tag": {
7320               "type": "string"
7321             },
7322             "subnet-tags": {
7323               "type": "array",
7324               "items": {
7325                 "type": "string"
7326               }
7327             }
7328           },
7329           "additionalProperties": false,
7330           "required": [
7331             "subnet-tags",
7332             "space-tag",
7333             "public"
7334           ]
7335         },
7336         "CreateSpacesParams": {
7337           "type": "object",
7338           "properties": {
7339             "spaces": {
7340               "type": "array",
7341               "items": {
7342                 "$ref": "#/definitions/CreateSpaceParams"
7343               }
7344             }
7345           },
7346           "additionalProperties": false,
7347           "required": [
7348             "spaces"
7349           ]
7350         },
7351         "DiscoverSpacesResults": {
7352           "type": "object",
7353           "properties": {
7354             "results": {
7355               "type": "array",
7356               "items": {
7357                 "$ref": "#/definitions/ProviderSpace"
7358               }
7359             }
7360           },
7361           "additionalProperties": false,
7362           "required": [
7363             "results"
7364           ]
7365         },
7366         "Error": {
7367           "type": "object",
7368           "properties": {
7369             "code": {
7370               "type": "string"
7371             },
7372             "info": {
7373               "$ref": "#/definitions/ErrorInfo"
7374             },
7375             "message": {
7376               "type": "string"
7377             }
7378           },
7379           "additionalProperties": false,
7380           "required": [
7381             "message",
7382             "code"
7383           ]
7384         },
7385         "ErrorInfo": {
7386           "type": "object",
7387           "properties": {
7388             "macaroon": {
7389               "$ref": "#/definitions/Macaroon"
7390             },
7391             "macaroon-path": {
7392               "type": "string"
7393             }
7394           },
7395           "additionalProperties": false
7396         },
7397         "ErrorResult": {
7398           "type": "object",
7399           "properties": {
7400             "error": {
7401               "$ref": "#/definitions/Error"
7402             }
7403           },
7404           "additionalProperties": false
7405         },
7406         "ErrorResults": {
7407           "type": "object",
7408           "properties": {
7409             "results": {
7410               "type": "array",
7411               "items": {
7412                 "$ref": "#/definitions/ErrorResult"
7413               }
7414             }
7415           },
7416           "additionalProperties": false,
7417           "required": [
7418             "results"
7419           ]
7420         },
7421         "ListSubnetsResults": {
7422           "type": "object",
7423           "properties": {
7424             "results": {
7425               "type": "array",
7426               "items": {
7427                 "$ref": "#/definitions/Subnet"
7428               }
7429             }
7430           },
7431           "additionalProperties": false,
7432           "required": [
7433             "results"
7434           ]
7435         },
7436         "Macaroon": {
7437           "type": "object",
7438           "additionalProperties": false
7439         },
7440         "ModelConfigResult": {
7441           "type": "object",
7442           "properties": {
7443             "config": {
7444               "type": "object",
7445               "patternProperties": {
7446                 ".*": {
7447                   "type": "object",
7448                   "additionalProperties": true
7449                 }
7450               }
7451             }
7452           },
7453           "additionalProperties": false,
7454           "required": [
7455             "config"
7456           ]
7457         },
7458         "ProviderSpace": {
7459           "type": "object",
7460           "properties": {
7461             "error": {
7462               "$ref": "#/definitions/Error"
7463             },
7464             "name": {
7465               "type": "string"
7466             },
7467             "provider-id": {
7468               "type": "string"
7469             },
7470             "subnets": {
7471               "type": "array",
7472               "items": {
7473                 "$ref": "#/definitions/Subnet"
7474               }
7475             }
7476           },
7477           "additionalProperties": false,
7478           "required": [
7479             "name",
7480             "provider-id",
7481             "subnets"
7482           ]
7483         },
7484         "Subnet": {
7485           "type": "object",
7486           "properties": {
7487             "cidr": {
7488               "type": "string"
7489             },
7490             "life": {
7491               "type": "string"
7492             },
7493             "provider-id": {
7494               "type": "string"
7495             },
7496             "space-tag": {
7497               "type": "string"
7498             },
7499             "status": {
7500               "type": "string"
7501             },
7502             "vlan-tag": {
7503               "type": "integer"
7504             },
7505             "zones": {
7506               "type": "array",
7507               "items": {
7508                 "type": "string"
7509               }
7510             }
7511           },
7512           "additionalProperties": false,
7513           "required": [
7514             "cidr",
7515             "vlan-tag",
7516             "life",
7517             "space-tag",
7518             "zones"
7519           ]
7520         },
7521         "SubnetsFilters": {
7522           "type": "object",
7523           "properties": {
7524             "space-tag": {
7525               "type": "string"
7526             },
7527             "zone": {
7528               "type": "string"
7529             }
7530           },
7531           "additionalProperties": false
7532         }
7533       }
7534     }
7535   },
7536   {
7537     "Name": "DiskManager",
7538     "Version": 2,
7539     "Schema": {
7540       "type": "object",
7541       "properties": {
7542         "SetMachineBlockDevices": {
7543           "type": "object",
7544           "properties": {
7545             "Params": {
7546               "$ref": "#/definitions/SetMachineBlockDevices"
7547             },
7548             "Result": {
7549               "$ref": "#/definitions/ErrorResults"
7550             }
7551           }
7552         }
7553       },
7554       "definitions": {
7555         "BlockDevice": {
7556           "type": "object",
7557           "properties": {
7558             "BusAddress": {
7559               "type": "string"
7560             },
7561             "DeviceLinks": {
7562               "type": "array",
7563               "items": {
7564                 "type": "string"
7565               }
7566             },
7567             "DeviceName": {
7568               "type": "string"
7569             },
7570             "FilesystemType": {
7571               "type": "string"
7572             },
7573             "HardwareId": {
7574               "type": "string"
7575             },
7576             "InUse": {
7577               "type": "boolean"
7578             },
7579             "Label": {
7580               "type": "string"
7581             },
7582             "MountPoint": {
7583               "type": "string"
7584             },
7585             "Size": {
7586               "type": "integer"
7587             },
7588             "UUID": {
7589               "type": "string"
7590             }
7591           },
7592           "additionalProperties": false,
7593           "required": [
7594             "DeviceName",
7595             "DeviceLinks",
7596             "Label",
7597             "UUID",
7598             "HardwareId",
7599             "BusAddress",
7600             "Size",
7601             "FilesystemType",
7602             "InUse",
7603             "MountPoint"
7604           ]
7605         },
7606         "Error": {
7607           "type": "object",
7608           "properties": {
7609             "code": {
7610               "type": "string"
7611             },
7612             "info": {
7613               "$ref": "#/definitions/ErrorInfo"
7614             },
7615             "message": {
7616               "type": "string"
7617             }
7618           },
7619           "additionalProperties": false,
7620           "required": [
7621             "message",
7622             "code"
7623           ]
7624         },
7625         "ErrorInfo": {
7626           "type": "object",
7627           "properties": {
7628             "macaroon": {
7629               "$ref": "#/definitions/Macaroon"
7630             },
7631             "macaroon-path": {
7632               "type": "string"
7633             }
7634           },
7635           "additionalProperties": false
7636         },
7637         "ErrorResult": {
7638           "type": "object",
7639           "properties": {
7640             "error": {
7641               "$ref": "#/definitions/Error"
7642             }
7643           },
7644           "additionalProperties": false
7645         },
7646         "ErrorResults": {
7647           "type": "object",
7648           "properties": {
7649             "results": {
7650               "type": "array",
7651               "items": {
7652                 "$ref": "#/definitions/ErrorResult"
7653               }
7654             }
7655           },
7656           "additionalProperties": false,
7657           "required": [
7658             "results"
7659           ]
7660         },
7661         "Macaroon": {
7662           "type": "object",
7663           "additionalProperties": false
7664         },
7665         "MachineBlockDevices": {
7666           "type": "object",
7667           "properties": {
7668             "block-devices": {
7669               "type": "array",
7670               "items": {
7671                 "$ref": "#/definitions/BlockDevice"
7672               }
7673             },
7674             "machine": {
7675               "type": "string"
7676             }
7677           },
7678           "additionalProperties": false,
7679           "required": [
7680             "machine"
7681           ]
7682         },
7683         "SetMachineBlockDevices": {
7684           "type": "object",
7685           "properties": {
7686             "machine-block-devices": {
7687               "type": "array",
7688               "items": {
7689                 "$ref": "#/definitions/MachineBlockDevices"
7690               }
7691             }
7692           },
7693           "additionalProperties": false,
7694           "required": [
7695             "machine-block-devices"
7696           ]
7697         }
7698       }
7699     }
7700   },
7701   {
7702     "Name": "EntityWatcher",
7703     "Version": 2,
7704     "Schema": {
7705       "type": "object",
7706       "properties": {
7707         "Next": {
7708           "type": "object",
7709           "properties": {
7710             "Result": {
7711               "$ref": "#/definitions/EntitiesWatchResult"
7712             }
7713           }
7714         },
7715         "Stop": {
7716           "type": "object"
7717         }
7718       },
7719       "definitions": {
7720         "EntitiesWatchResult": {
7721           "type": "object",
7722           "properties": {
7723             "changes": {
7724               "type": "array",
7725               "items": {
7726                 "type": "string"
7727               }
7728             },
7729             "error": {
7730               "$ref": "#/definitions/Error"
7731             },
7732             "watcher-id": {
7733               "type": "string"
7734             }
7735           },
7736           "additionalProperties": false,
7737           "required": [
7738             "watcher-id"
7739           ]
7740         },
7741         "Error": {
7742           "type": "object",
7743           "properties": {
7744             "code": {
7745               "type": "string"
7746             },
7747             "info": {
7748               "$ref": "#/definitions/ErrorInfo"
7749             },
7750             "message": {
7751               "type": "string"
7752             }
7753           },
7754           "additionalProperties": false,
7755           "required": [
7756             "message",
7757             "code"
7758           ]
7759         },
7760         "ErrorInfo": {
7761           "type": "object",
7762           "properties": {
7763             "macaroon": {
7764               "$ref": "#/definitions/Macaroon"
7765             },
7766             "macaroon-path": {
7767               "type": "string"
7768             }
7769           },
7770           "additionalProperties": false
7771         },
7772         "Macaroon": {
7773           "type": "object",
7774           "additionalProperties": false
7775         }
7776       }
7777     }
7778   },
7779   {
7780     "Name": "FilesystemAttachmentsWatcher",
7781     "Version": 2,
7782     "Schema": {
7783       "type": "object",
7784       "properties": {
7785         "Next": {
7786           "type": "object",
7787           "properties": {
7788             "Result": {
7789               "$ref": "#/definitions/MachineStorageIdsWatchResult"
7790             }
7791           }
7792         },
7793         "Stop": {
7794           "type": "object"
7795         }
7796       },
7797       "definitions": {
7798         "Error": {
7799           "type": "object",
7800           "properties": {
7801             "code": {
7802               "type": "string"
7803             },
7804             "info": {
7805               "$ref": "#/definitions/ErrorInfo"
7806             },
7807             "message": {
7808               "type": "string"
7809             }
7810           },
7811           "additionalProperties": false,
7812           "required": [
7813             "message",
7814             "code"
7815           ]
7816         },
7817         "ErrorInfo": {
7818           "type": "object",
7819           "properties": {
7820             "macaroon": {
7821               "$ref": "#/definitions/Macaroon"
7822             },
7823             "macaroon-path": {
7824               "type": "string"
7825             }
7826           },
7827           "additionalProperties": false
7828         },
7829         "Macaroon": {
7830           "type": "object",
7831           "additionalProperties": false
7832         },
7833         "MachineStorageId": {
7834           "type": "object",
7835           "properties": {
7836             "attachment-tag": {
7837               "type": "string"
7838             },
7839             "machine-tag": {
7840               "type": "string"
7841             }
7842           },
7843           "additionalProperties": false,
7844           "required": [
7845             "machine-tag",
7846             "attachment-tag"
7847           ]
7848         },
7849         "MachineStorageIdsWatchResult": {
7850           "type": "object",
7851           "properties": {
7852             "changes": {
7853               "type": "array",
7854               "items": {
7855                 "$ref": "#/definitions/MachineStorageId"
7856               }
7857             },
7858             "error": {
7859               "$ref": "#/definitions/Error"
7860             },
7861             "watcher-id": {
7862               "type": "string"
7863             }
7864           },
7865           "additionalProperties": false,
7866           "required": [
7867             "watcher-id",
7868             "changes"
7869           ]
7870         }
7871       }
7872     }
7873   },
7874   {
7875     "Name": "Firewaller",
7876     "Version": 3,
7877     "Schema": {
7878       "type": "object",
7879       "properties": {
7880         "CloudSpec": {
7881           "type": "object",
7882           "properties": {
7883             "Params": {
7884               "$ref": "#/definitions/Entities"
7885             },
7886             "Result": {
7887               "$ref": "#/definitions/CloudSpecResults"
7888             }
7889           }
7890         },
7891         "GetAssignedMachine": {
7892           "type": "object",
7893           "properties": {
7894             "Params": {
7895               "$ref": "#/definitions/Entities"
7896             },
7897             "Result": {
7898               "$ref": "#/definitions/StringResults"
7899             }
7900           }
7901         },
7902         "GetCloudSpec": {
7903           "type": "object",
7904           "properties": {
7905             "Params": {
7906               "$ref": "#/definitions/ModelTag"
7907             },
7908             "Result": {
7909               "$ref": "#/definitions/CloudSpecResult"
7910             }
7911           }
7912         },
7913         "GetExposed": {
7914           "type": "object",
7915           "properties": {
7916             "Params": {
7917               "$ref": "#/definitions/Entities"
7918             },
7919             "Result": {
7920               "$ref": "#/definitions/BoolResults"
7921             }
7922           }
7923         },
7924         "GetMachineActiveSubnets": {
7925           "type": "object",
7926           "properties": {
7927             "Params": {
7928               "$ref": "#/definitions/Entities"
7929             },
7930             "Result": {
7931               "$ref": "#/definitions/StringsResults"
7932             }
7933           }
7934         },
7935         "GetMachinePorts": {
7936           "type": "object",
7937           "properties": {
7938             "Params": {
7939               "$ref": "#/definitions/MachinePortsParams"
7940             },
7941             "Result": {
7942               "$ref": "#/definitions/MachinePortsResults"
7943             }
7944           }
7945         },
7946         "InstanceId": {
7947           "type": "object",
7948           "properties": {
7949             "Params": {
7950               "$ref": "#/definitions/Entities"
7951             },
7952             "Result": {
7953               "$ref": "#/definitions/StringResults"
7954             }
7955           }
7956         },
7957         "Life": {
7958           "type": "object",
7959           "properties": {
7960             "Params": {
7961               "$ref": "#/definitions/Entities"
7962             },
7963             "Result": {
7964               "$ref": "#/definitions/LifeResults"
7965             }
7966           }
7967         },
7968         "ModelConfig": {
7969           "type": "object",
7970           "properties": {
7971             "Result": {
7972               "$ref": "#/definitions/ModelConfigResult"
7973             }
7974           }
7975         },
7976         "Watch": {
7977           "type": "object",
7978           "properties": {
7979             "Params": {
7980               "$ref": "#/definitions/Entities"
7981             },
7982             "Result": {
7983               "$ref": "#/definitions/NotifyWatchResults"
7984             }
7985           }
7986         },
7987         "WatchForModelConfigChanges": {
7988           "type": "object",
7989           "properties": {
7990             "Result": {
7991               "$ref": "#/definitions/NotifyWatchResult"
7992             }
7993           }
7994         },
7995         "WatchModelMachines": {
7996           "type": "object",
7997           "properties": {
7998             "Result": {
7999               "$ref": "#/definitions/StringsWatchResult"
8000             }
8001           }
8002         },
8003         "WatchOpenedPorts": {
8004           "type": "object",
8005           "properties": {
8006             "Params": {
8007               "$ref": "#/definitions/Entities"
8008             },
8009             "Result": {
8010               "$ref": "#/definitions/StringsWatchResults"
8011             }
8012           }
8013         },
8014         "WatchUnits": {
8015           "type": "object",
8016           "properties": {
8017             "Params": {
8018               "$ref": "#/definitions/Entities"
8019             },
8020             "Result": {
8021               "$ref": "#/definitions/StringsWatchResults"
8022             }
8023           }
8024         }
8025       },
8026       "definitions": {
8027         "BoolResult": {
8028           "type": "object",
8029           "properties": {
8030             "error": {
8031               "$ref": "#/definitions/Error"
8032             },
8033             "result": {
8034               "type": "boolean"
8035             }
8036           },
8037           "additionalProperties": false,
8038           "required": [
8039             "result"
8040           ]
8041         },
8042         "BoolResults": {
8043           "type": "object",
8044           "properties": {
8045             "results": {
8046               "type": "array",
8047               "items": {
8048                 "$ref": "#/definitions/BoolResult"
8049               }
8050             }
8051           },
8052           "additionalProperties": false,
8053           "required": [
8054             "results"
8055           ]
8056         },
8057         "CloudCredential": {
8058           "type": "object",
8059           "properties": {
8060             "attrs": {
8061               "type": "object",
8062               "patternProperties": {
8063                 ".*": {
8064                   "type": "string"
8065                 }
8066               }
8067             },
8068             "auth-type": {
8069               "type": "string"
8070             },
8071             "redacted": {
8072               "type": "array",
8073               "items": {
8074                 "type": "string"
8075               }
8076             }
8077           },
8078           "additionalProperties": false,
8079           "required": [
8080             "auth-type"
8081           ]
8082         },
8083         "CloudSpec": {
8084           "type": "object",
8085           "properties": {
8086             "credential": {
8087               "$ref": "#/definitions/CloudCredential"
8088             },
8089             "endpoint": {
8090               "type": "string"
8091             },
8092             "identity-endpoint": {
8093               "type": "string"
8094             },
8095             "name": {
8096               "type": "string"
8097             },
8098             "region": {
8099               "type": "string"
8100             },
8101             "storage-endpoint": {
8102               "type": "string"
8103             },
8104             "type": {
8105               "type": "string"
8106             }
8107           },
8108           "additionalProperties": false,
8109           "required": [
8110             "type",
8111             "name"
8112           ]
8113         },
8114         "CloudSpecResult": {
8115           "type": "object",
8116           "properties": {
8117             "error": {
8118               "$ref": "#/definitions/Error"
8119             },
8120             "result": {
8121               "$ref": "#/definitions/CloudSpec"
8122             }
8123           },
8124           "additionalProperties": false
8125         },
8126         "CloudSpecResults": {
8127           "type": "object",
8128           "properties": {
8129             "results": {
8130               "type": "array",
8131               "items": {
8132                 "$ref": "#/definitions/CloudSpecResult"
8133               }
8134             }
8135           },
8136           "additionalProperties": false
8137         },
8138         "Entities": {
8139           "type": "object",
8140           "properties": {
8141             "entities": {
8142               "type": "array",
8143               "items": {
8144                 "$ref": "#/definitions/Entity"
8145               }
8146             }
8147           },
8148           "additionalProperties": false,
8149           "required": [
8150             "entities"
8151           ]
8152         },
8153         "Entity": {
8154           "type": "object",
8155           "properties": {
8156             "tag": {
8157               "type": "string"
8158             }
8159           },
8160           "additionalProperties": false,
8161           "required": [
8162             "tag"
8163           ]
8164         },
8165         "Error": {
8166           "type": "object",
8167           "properties": {
8168             "code": {
8169               "type": "string"
8170             },
8171             "info": {
8172               "$ref": "#/definitions/ErrorInfo"
8173             },
8174             "message": {
8175               "type": "string"
8176             }
8177           },
8178           "additionalProperties": false,
8179           "required": [
8180             "message",
8181             "code"
8182           ]
8183         },
8184         "ErrorInfo": {
8185           "type": "object",
8186           "properties": {
8187             "macaroon": {
8188               "$ref": "#/definitions/Macaroon"
8189             },
8190             "macaroon-path": {
8191               "type": "string"
8192             }
8193           },
8194           "additionalProperties": false
8195         },
8196         "LifeResult": {
8197           "type": "object",
8198           "properties": {
8199             "error": {
8200               "$ref": "#/definitions/Error"
8201             },
8202             "life": {
8203               "type": "string"
8204             }
8205           },
8206           "additionalProperties": false,
8207           "required": [
8208             "life"
8209           ]
8210         },
8211         "LifeResults": {
8212           "type": "object",
8213           "properties": {
8214             "results": {
8215               "type": "array",
8216               "items": {
8217                 "$ref": "#/definitions/LifeResult"
8218               }
8219             }
8220           },
8221           "additionalProperties": false,
8222           "required": [
8223             "results"
8224           ]
8225         },
8226         "Macaroon": {
8227           "type": "object",
8228           "additionalProperties": false
8229         },
8230         "MachinePortRange": {
8231           "type": "object",
8232           "properties": {
8233             "port-range": {
8234               "$ref": "#/definitions/PortRange"
8235             },
8236             "relation-tag": {
8237               "type": "string"
8238             },
8239             "unit-tag": {
8240               "type": "string"
8241             }
8242           },
8243           "additionalProperties": false,
8244           "required": [
8245             "unit-tag",
8246             "relation-tag",
8247             "port-range"
8248           ]
8249         },
8250         "MachinePorts": {
8251           "type": "object",
8252           "properties": {
8253             "machine-tag": {
8254               "type": "string"
8255             },
8256             "subnet-tag": {
8257               "type": "string"
8258             }
8259           },
8260           "additionalProperties": false,
8261           "required": [
8262             "machine-tag",
8263             "subnet-tag"
8264           ]
8265         },
8266         "MachinePortsParams": {
8267           "type": "object",
8268           "properties": {
8269             "params": {
8270               "type": "array",
8271               "items": {
8272                 "$ref": "#/definitions/MachinePorts"
8273               }
8274             }
8275           },
8276           "additionalProperties": false,
8277           "required": [
8278             "params"
8279           ]
8280         },
8281         "MachinePortsResult": {
8282           "type": "object",
8283           "properties": {
8284             "error": {
8285               "$ref": "#/definitions/Error"
8286             },
8287             "ports": {
8288               "type": "array",
8289               "items": {
8290                 "$ref": "#/definitions/MachinePortRange"
8291               }
8292             }
8293           },
8294           "additionalProperties": false,
8295           "required": [
8296             "ports"
8297           ]
8298         },
8299         "MachinePortsResults": {
8300           "type": "object",
8301           "properties": {
8302             "results": {
8303               "type": "array",
8304               "items": {
8305                 "$ref": "#/definitions/MachinePortsResult"
8306               }
8307             }
8308           },
8309           "additionalProperties": false,
8310           "required": [
8311             "results"
8312           ]
8313         },
8314         "ModelConfigResult": {
8315           "type": "object",
8316           "properties": {
8317             "config": {
8318               "type": "object",
8319               "patternProperties": {
8320                 ".*": {
8321                   "type": "object",
8322                   "additionalProperties": true
8323                 }
8324               }
8325             }
8326           },
8327           "additionalProperties": false,
8328           "required": [
8329             "config"
8330           ]
8331         },
8332         "ModelTag": {
8333           "type": "object",
8334           "additionalProperties": false
8335         },
8336         "NotifyWatchResult": {
8337           "type": "object",
8338           "properties": {
8339             "NotifyWatcherId": {
8340               "type": "string"
8341             },
8342             "error": {
8343               "$ref": "#/definitions/Error"
8344             }
8345           },
8346           "additionalProperties": false,
8347           "required": [
8348             "NotifyWatcherId"
8349           ]
8350         },
8351         "NotifyWatchResults": {
8352           "type": "object",
8353           "properties": {
8354             "results": {
8355               "type": "array",
8356               "items": {
8357                 "$ref": "#/definitions/NotifyWatchResult"
8358               }
8359             }
8360           },
8361           "additionalProperties": false,
8362           "required": [
8363             "results"
8364           ]
8365         },
8366         "PortRange": {
8367           "type": "object",
8368           "properties": {
8369             "from-port": {
8370               "type": "integer"
8371             },
8372             "protocol": {
8373               "type": "string"
8374             },
8375             "to-port": {
8376               "type": "integer"
8377             }
8378           },
8379           "additionalProperties": false,
8380           "required": [
8381             "from-port",
8382             "to-port",
8383             "protocol"
8384           ]
8385         },
8386         "StringResult": {
8387           "type": "object",
8388           "properties": {
8389             "error": {
8390               "$ref": "#/definitions/Error"
8391             },
8392             "result": {
8393               "type": "string"
8394             }
8395           },
8396           "additionalProperties": false,
8397           "required": [
8398             "result"
8399           ]
8400         },
8401         "StringResults": {
8402           "type": "object",
8403           "properties": {
8404             "results": {
8405               "type": "array",
8406               "items": {
8407                 "$ref": "#/definitions/StringResult"
8408               }
8409             }
8410           },
8411           "additionalProperties": false,
8412           "required": [
8413             "results"
8414           ]
8415         },
8416         "StringsResult": {
8417           "type": "object",
8418           "properties": {
8419             "error": {
8420               "$ref": "#/definitions/Error"
8421             },
8422             "result": {
8423               "type": "array",
8424               "items": {
8425                 "type": "string"
8426               }
8427             }
8428           },
8429           "additionalProperties": false
8430         },
8431         "StringsResults": {
8432           "type": "object",
8433           "properties": {
8434             "results": {
8435               "type": "array",
8436               "items": {
8437                 "$ref": "#/definitions/StringsResult"
8438               }
8439             }
8440           },
8441           "additionalProperties": false,
8442           "required": [
8443             "results"
8444           ]
8445         },
8446         "StringsWatchResult": {
8447           "type": "object",
8448           "properties": {
8449             "changes": {
8450               "type": "array",
8451               "items": {
8452                 "type": "string"
8453               }
8454             },
8455             "error": {
8456               "$ref": "#/definitions/Error"
8457             },
8458             "watcher-id": {
8459               "type": "string"
8460             }
8461           },
8462           "additionalProperties": false,
8463           "required": [
8464             "watcher-id"
8465           ]
8466         },
8467         "StringsWatchResults": {
8468           "type": "object",
8469           "properties": {
8470             "results": {
8471               "type": "array",
8472               "items": {
8473                 "$ref": "#/definitions/StringsWatchResult"
8474               }
8475             }
8476           },
8477           "additionalProperties": false,
8478           "required": [
8479             "results"
8480           ]
8481         }
8482       }
8483     }
8484   },
8485   {
8486     "Name": "HighAvailability",
8487     "Version": 2,
8488     "Schema": {
8489       "type": "object",
8490       "properties": {
8491         "EnableHA": {
8492           "type": "object",
8493           "properties": {
8494             "Params": {
8495               "$ref": "#/definitions/ControllersSpecs"
8496             },
8497             "Result": {
8498               "$ref": "#/definitions/ControllersChangeResults"
8499             }
8500           }
8501         },
8502         "ResumeHAReplicationAfterUpgrade": {
8503           "type": "object",
8504           "properties": {
8505             "Params": {
8506               "$ref": "#/definitions/ResumeReplicationParams"
8507             }
8508           }
8509         },
8510         "StopHAReplicationForUpgrade": {
8511           "type": "object",
8512           "properties": {
8513             "Params": {
8514               "$ref": "#/definitions/UpgradeMongoParams"
8515             },
8516             "Result": {
8517               "$ref": "#/definitions/MongoUpgradeResults"
8518             }
8519           }
8520         }
8521       },
8522       "definitions": {
8523         "Address": {
8524           "type": "object",
8525           "properties": {
8526             "Scope": {
8527               "type": "string"
8528             },
8529             "SpaceName": {
8530               "type": "string"
8531             },
8532             "SpaceProviderId": {
8533               "type": "string"
8534             },
8535             "Type": {
8536               "type": "string"
8537             },
8538             "Value": {
8539               "type": "string"
8540             }
8541           },
8542           "additionalProperties": false,
8543           "required": [
8544             "Value",
8545             "Type",
8546             "Scope",
8547             "SpaceName",
8548             "SpaceProviderId"
8549           ]
8550         },
8551         "ControllersChangeResult": {
8552           "type": "object",
8553           "properties": {
8554             "error": {
8555               "$ref": "#/definitions/Error"
8556             },
8557             "result": {
8558               "$ref": "#/definitions/ControllersChanges"
8559             }
8560           },
8561           "additionalProperties": false,
8562           "required": [
8563             "result"
8564           ]
8565         },
8566         "ControllersChangeResults": {
8567           "type": "object",
8568           "properties": {
8569             "results": {
8570               "type": "array",
8571               "items": {
8572                 "$ref": "#/definitions/ControllersChangeResult"
8573               }
8574             }
8575           },
8576           "additionalProperties": false,
8577           "required": [
8578             "results"
8579           ]
8580         },
8581         "ControllersChanges": {
8582           "type": "object",
8583           "properties": {
8584             "added": {
8585               "type": "array",
8586               "items": {
8587                 "type": "string"
8588               }
8589             },
8590             "converted": {
8591               "type": "array",
8592               "items": {
8593                 "type": "string"
8594               }
8595             },
8596             "demoted": {
8597               "type": "array",
8598               "items": {
8599                 "type": "string"
8600               }
8601             },
8602             "maintained": {
8603               "type": "array",
8604               "items": {
8605                 "type": "string"
8606               }
8607             },
8608             "promoted": {
8609               "type": "array",
8610               "items": {
8611                 "type": "string"
8612               }
8613             },
8614             "removed": {
8615               "type": "array",
8616               "items": {
8617                 "type": "string"
8618               }
8619             }
8620           },
8621           "additionalProperties": false
8622         },
8623         "ControllersSpec": {
8624           "type": "object",
8625           "properties": {
8626             "constraints": {
8627               "$ref": "#/definitions/Value"
8628             },
8629             "num-controllers": {
8630               "type": "integer"
8631             },
8632             "placement": {
8633               "type": "array",
8634               "items": {
8635                 "type": "string"
8636               }
8637             },
8638             "series": {
8639               "type": "string"
8640             }
8641           },
8642           "additionalProperties": false,
8643           "required": [
8644             "num-controllers"
8645           ]
8646         },
8647         "ControllersSpecs": {
8648           "type": "object",
8649           "properties": {
8650             "specs": {
8651               "type": "array",
8652               "items": {
8653                 "$ref": "#/definitions/ControllersSpec"
8654               }
8655             }
8656           },
8657           "additionalProperties": false,
8658           "required": [
8659             "specs"
8660           ]
8661         },
8662         "Error": {
8663           "type": "object",
8664           "properties": {
8665             "code": {
8666               "type": "string"
8667             },
8668             "info": {
8669               "$ref": "#/definitions/ErrorInfo"
8670             },
8671             "message": {
8672               "type": "string"
8673             }
8674           },
8675           "additionalProperties": false,
8676           "required": [
8677             "message",
8678             "code"
8679           ]
8680         },
8681         "ErrorInfo": {
8682           "type": "object",
8683           "properties": {
8684             "macaroon": {
8685               "$ref": "#/definitions/Macaroon"
8686             },
8687             "macaroon-path": {
8688               "type": "string"
8689             }
8690           },
8691           "additionalProperties": false
8692         },
8693         "HAMember": {
8694           "type": "object",
8695           "properties": {
8696             "public-address": {
8697               "$ref": "#/definitions/Address"
8698             },
8699             "series": {
8700               "type": "string"
8701             },
8702             "tag": {
8703               "type": "string"
8704             }
8705           },
8706           "additionalProperties": false,
8707           "required": [
8708             "tag",
8709             "public-address",
8710             "series"
8711           ]
8712         },
8713         "Macaroon": {
8714           "type": "object",
8715           "additionalProperties": false
8716         },
8717         "Member": {
8718           "type": "object",
8719           "properties": {
8720             "Address": {
8721               "type": "string"
8722             },
8723             "Arbiter": {
8724               "type": "boolean"
8725             },
8726             "BuildIndexes": {
8727               "type": "boolean"
8728             },
8729             "Hidden": {
8730               "type": "boolean"
8731             },
8732             "Id": {
8733               "type": "integer"
8734             },
8735             "Priority": {
8736               "type": "number"
8737             },
8738             "SlaveDelay": {
8739               "type": "integer"
8740             },
8741             "Tags": {
8742               "type": "object",
8743               "patternProperties": {
8744                 ".*": {
8745                   "type": "string"
8746                 }
8747               }
8748             },
8749             "Votes": {
8750               "type": "integer"
8751             }
8752           },
8753           "additionalProperties": false,
8754           "required": [
8755             "Id",
8756             "Address",
8757             "Arbiter",
8758             "BuildIndexes",
8759             "Hidden",
8760             "Priority",
8761             "Tags",
8762             "SlaveDelay",
8763             "Votes"
8764           ]
8765         },
8766         "MongoUpgradeResults": {
8767           "type": "object",
8768           "properties": {
8769             "ha-members": {
8770               "type": "array",
8771               "items": {
8772                 "$ref": "#/definitions/HAMember"
8773               }
8774             },
8775             "master": {
8776               "$ref": "#/definitions/HAMember"
8777             },
8778             "rs-members": {
8779               "type": "array",
8780               "items": {
8781                 "$ref": "#/definitions/Member"
8782               }
8783             }
8784           },
8785           "additionalProperties": false,
8786           "required": [
8787             "rs-members",
8788             "master",
8789             "ha-members"
8790           ]
8791         },
8792         "MongoVersion": {
8793           "type": "object",
8794           "properties": {
8795             "engine": {
8796               "type": "string"
8797             },
8798             "major": {
8799               "type": "integer"
8800             },
8801             "minor": {
8802               "type": "integer"
8803             },
8804             "patch": {
8805               "type": "string"
8806             }
8807           },
8808           "additionalProperties": false,
8809           "required": [
8810             "major",
8811             "minor",
8812             "patch",
8813             "engine"
8814           ]
8815         },
8816         "ResumeReplicationParams": {
8817           "type": "object",
8818           "properties": {
8819             "members": {
8820               "type": "array",
8821               "items": {
8822                 "$ref": "#/definitions/Member"
8823               }
8824             }
8825           },
8826           "additionalProperties": false,
8827           "required": [
8828             "members"
8829           ]
8830         },
8831         "UpgradeMongoParams": {
8832           "type": "object",
8833           "properties": {
8834             "target": {
8835               "$ref": "#/definitions/MongoVersion"
8836             }
8837           },
8838           "additionalProperties": false,
8839           "required": [
8840             "target"
8841           ]
8842         },
8843         "Value": {
8844           "type": "object",
8845           "properties": {
8846             "arch": {
8847               "type": "string"
8848             },
8849             "container": {
8850               "type": "string"
8851             },
8852             "cores": {
8853               "type": "integer"
8854             },
8855             "cpu-power": {
8856               "type": "integer"
8857             },
8858             "instance-type": {
8859               "type": "string"
8860             },
8861             "mem": {
8862               "type": "integer"
8863             },
8864             "root-disk": {
8865               "type": "integer"
8866             },
8867             "spaces": {
8868               "type": "array",
8869               "items": {
8870                 "type": "string"
8871               }
8872             },
8873             "tags": {
8874               "type": "array",
8875               "items": {
8876                 "type": "string"
8877               }
8878             },
8879             "virt-type": {
8880               "type": "string"
8881             }
8882           },
8883           "additionalProperties": false
8884         }
8885       }
8886     }
8887   },
8888   {
8889     "Name": "HostKeyReporter",
8890     "Version": 1,
8891     "Schema": {
8892       "type": "object",
8893       "properties": {
8894         "ReportKeys": {
8895           "type": "object",
8896           "properties": {
8897             "Params": {
8898               "$ref": "#/definitions/SSHHostKeySet"
8899             },
8900             "Result": {
8901               "$ref": "#/definitions/ErrorResults"
8902             }
8903           }
8904         }
8905       },
8906       "definitions": {
8907         "Error": {
8908           "type": "object",
8909           "properties": {
8910             "code": {
8911               "type": "string"
8912             },
8913             "info": {
8914               "$ref": "#/definitions/ErrorInfo"
8915             },
8916             "message": {
8917               "type": "string"
8918             }
8919           },
8920           "additionalProperties": false,
8921           "required": [
8922             "message",
8923             "code"
8924           ]
8925         },
8926         "ErrorInfo": {
8927           "type": "object",
8928           "properties": {
8929             "macaroon": {
8930               "$ref": "#/definitions/Macaroon"
8931             },
8932             "macaroon-path": {
8933               "type": "string"
8934             }
8935           },
8936           "additionalProperties": false
8937         },
8938         "ErrorResult": {
8939           "type": "object",
8940           "properties": {
8941             "error": {
8942               "$ref": "#/definitions/Error"
8943             }
8944           },
8945           "additionalProperties": false
8946         },
8947         "ErrorResults": {
8948           "type": "object",
8949           "properties": {
8950             "results": {
8951               "type": "array",
8952               "items": {
8953                 "$ref": "#/definitions/ErrorResult"
8954               }
8955             }
8956           },
8957           "additionalProperties": false,
8958           "required": [
8959             "results"
8960           ]
8961         },
8962         "Macaroon": {
8963           "type": "object",
8964           "additionalProperties": false
8965         },
8966         "SSHHostKeySet": {
8967           "type": "object",
8968           "properties": {
8969             "entity-keys": {
8970               "type": "array",
8971               "items": {
8972                 "$ref": "#/definitions/SSHHostKeys"
8973               }
8974             }
8975           },
8976           "additionalProperties": false,
8977           "required": [
8978             "entity-keys"
8979           ]
8980         },
8981         "SSHHostKeys": {
8982           "type": "object",
8983           "properties": {
8984             "public-keys": {
8985               "type": "array",
8986               "items": {
8987                 "type": "string"
8988               }
8989             },
8990             "tag": {
8991               "type": "string"
8992             }
8993           },
8994           "additionalProperties": false,
8995           "required": [
8996             "tag",
8997             "public-keys"
8998           ]
8999         }
9000       }
9001     }
9002   },
9003   {
9004     "Name": "ImageManager",
9005     "Version": 2,
9006     "Schema": {
9007       "type": "object",
9008       "properties": {
9009         "DeleteImages": {
9010           "type": "object",
9011           "properties": {
9012             "Params": {
9013               "$ref": "#/definitions/ImageFilterParams"
9014             },
9015             "Result": {
9016               "$ref": "#/definitions/ErrorResults"
9017             }
9018           }
9019         },
9020         "ListImages": {
9021           "type": "object",
9022           "properties": {
9023             "Params": {
9024               "$ref": "#/definitions/ImageFilterParams"
9025             },
9026             "Result": {
9027               "$ref": "#/definitions/ListImageResult"
9028             }
9029           }
9030         }
9031       },
9032       "definitions": {
9033         "Error": {
9034           "type": "object",
9035           "properties": {
9036             "code": {
9037               "type": "string"
9038             },
9039             "info": {
9040               "$ref": "#/definitions/ErrorInfo"
9041             },
9042             "message": {
9043               "type": "string"
9044             }
9045           },
9046           "additionalProperties": false,
9047           "required": [
9048             "message",
9049             "code"
9050           ]
9051         },
9052         "ErrorInfo": {
9053           "type": "object",
9054           "properties": {
9055             "macaroon": {
9056               "$ref": "#/definitions/Macaroon"
9057             },
9058             "macaroon-path": {
9059               "type": "string"
9060             }
9061           },
9062           "additionalProperties": false
9063         },
9064         "ErrorResult": {
9065           "type": "object",
9066           "properties": {
9067             "error": {
9068               "$ref": "#/definitions/Error"
9069             }
9070           },
9071           "additionalProperties": false
9072         },
9073         "ErrorResults": {
9074           "type": "object",
9075           "properties": {
9076             "results": {
9077               "type": "array",
9078               "items": {
9079                 "$ref": "#/definitions/ErrorResult"
9080               }
9081             }
9082           },
9083           "additionalProperties": false,
9084           "required": [
9085             "results"
9086           ]
9087         },
9088         "ImageFilterParams": {
9089           "type": "object",
9090           "properties": {
9091             "images": {
9092               "type": "array",
9093               "items": {
9094                 "$ref": "#/definitions/ImageSpec"
9095               }
9096             }
9097           },
9098           "additionalProperties": false,
9099           "required": [
9100             "images"
9101           ]
9102         },
9103         "ImageMetadata": {
9104           "type": "object",
9105           "properties": {
9106             "arch": {
9107               "type": "string"
9108             },
9109             "created": {
9110               "type": "string",
9111               "format": "date-time"
9112             },
9113             "kind": {
9114               "type": "string"
9115             },
9116             "series": {
9117               "type": "string"
9118             },
9119             "url": {
9120               "type": "string"
9121             }
9122           },
9123           "additionalProperties": false,
9124           "required": [
9125             "kind",
9126             "arch",
9127             "series",
9128             "url",
9129             "created"
9130           ]
9131         },
9132         "ImageSpec": {
9133           "type": "object",
9134           "properties": {
9135             "arch": {
9136               "type": "string"
9137             },
9138             "kind": {
9139               "type": "string"
9140             },
9141             "series": {
9142               "type": "string"
9143             }
9144           },
9145           "additionalProperties": false,
9146           "required": [
9147             "kind",
9148             "arch",
9149             "series"
9150           ]
9151         },
9152         "ListImageResult": {
9153           "type": "object",
9154           "properties": {
9155             "result": {
9156               "type": "array",
9157               "items": {
9158                 "$ref": "#/definitions/ImageMetadata"
9159               }
9160             }
9161           },
9162           "additionalProperties": false,
9163           "required": [
9164             "result"
9165           ]
9166         },
9167         "Macaroon": {
9168           "type": "object",
9169           "additionalProperties": false
9170         }
9171       }
9172     }
9173   },
9174   {
9175     "Name": "ImageMetadata",
9176     "Version": 2,
9177     "Schema": {
9178       "type": "object",
9179       "properties": {
9180         "Delete": {
9181           "type": "object",
9182           "properties": {
9183             "Params": {
9184               "$ref": "#/definitions/MetadataImageIds"
9185             },
9186             "Result": {
9187               "$ref": "#/definitions/ErrorResults"
9188             }
9189           }
9190         },
9191         "List": {
9192           "type": "object",
9193           "properties": {
9194             "Params": {
9195               "$ref": "#/definitions/ImageMetadataFilter"
9196             },
9197             "Result": {
9198               "$ref": "#/definitions/ListCloudImageMetadataResult"
9199             }
9200           }
9201         },
9202         "Save": {
9203           "type": "object",
9204           "properties": {
9205             "Params": {
9206               "$ref": "#/definitions/MetadataSaveParams"
9207             },
9208             "Result": {
9209               "$ref": "#/definitions/ErrorResults"
9210             }
9211           }
9212         },
9213         "UpdateFromPublishedImages": {
9214           "type": "object"
9215         }
9216       },
9217       "definitions": {
9218         "CloudImageMetadata": {
9219           "type": "object",
9220           "properties": {
9221             "arch": {
9222               "type": "string"
9223             },
9224             "image-id": {
9225               "type": "string"
9226             },
9227             "priority": {
9228               "type": "integer"
9229             },
9230             "region": {
9231               "type": "string"
9232             },
9233             "root-storage-size": {
9234               "type": "integer"
9235             },
9236             "root-storage-type": {
9237               "type": "string"
9238             },
9239             "series": {
9240               "type": "string"
9241             },
9242             "source": {
9243               "type": "string"
9244             },
9245             "stream": {
9246               "type": "string"
9247             },
9248             "version": {
9249               "type": "string"
9250             },
9251             "virt-type": {
9252               "type": "string"
9253             }
9254           },
9255           "additionalProperties": false,
9256           "required": [
9257             "image-id",
9258             "region",
9259             "version",
9260             "series",
9261             "arch",
9262             "source",
9263             "priority"
9264           ]
9265         },
9266         "CloudImageMetadataList": {
9267           "type": "object",
9268           "properties": {
9269             "metadata": {
9270               "type": "array",
9271               "items": {
9272                 "$ref": "#/definitions/CloudImageMetadata"
9273               }
9274             }
9275           },
9276           "additionalProperties": false
9277         },
9278         "Error": {
9279           "type": "object",
9280           "properties": {
9281             "code": {
9282               "type": "string"
9283             },
9284             "info": {
9285               "$ref": "#/definitions/ErrorInfo"
9286             },
9287             "message": {
9288               "type": "string"
9289             }
9290           },
9291           "additionalProperties": false,
9292           "required": [
9293             "message",
9294             "code"
9295           ]
9296         },
9297         "ErrorInfo": {
9298           "type": "object",
9299           "properties": {
9300             "macaroon": {
9301               "$ref": "#/definitions/Macaroon"
9302             },
9303             "macaroon-path": {
9304               "type": "string"
9305             }
9306           },
9307           "additionalProperties": false
9308         },
9309         "ErrorResult": {
9310           "type": "object",
9311           "properties": {
9312             "error": {
9313               "$ref": "#/definitions/Error"
9314             }
9315           },
9316           "additionalProperties": false
9317         },
9318         "ErrorResults": {
9319           "type": "object",
9320           "properties": {
9321             "results": {
9322               "type": "array",
9323               "items": {
9324                 "$ref": "#/definitions/ErrorResult"
9325               }
9326             }
9327           },
9328           "additionalProperties": false,
9329           "required": [
9330             "results"
9331           ]
9332         },
9333         "ImageMetadataFilter": {
9334           "type": "object",
9335           "properties": {
9336             "arches": {
9337               "type": "array",
9338               "items": {
9339                 "type": "string"
9340               }
9341             },
9342             "region": {
9343               "type": "string"
9344             },
9345             "root-storage-type": {
9346               "type": "string"
9347             },
9348             "series": {
9349               "type": "array",
9350               "items": {
9351                 "type": "string"
9352               }
9353             },
9354             "stream": {
9355               "type": "string"
9356             },
9357             "virt-type": {
9358               "type": "string"
9359             }
9360           },
9361           "additionalProperties": false
9362         },
9363         "ListCloudImageMetadataResult": {
9364           "type": "object",
9365           "properties": {
9366             "result": {
9367               "type": "array",
9368               "items": {
9369                 "$ref": "#/definitions/CloudImageMetadata"
9370               }
9371             }
9372           },
9373           "additionalProperties": false,
9374           "required": [
9375             "result"
9376           ]
9377         },
9378         "Macaroon": {
9379           "type": "object",
9380           "additionalProperties": false
9381         },
9382         "MetadataImageIds": {
9383           "type": "object",
9384           "properties": {
9385             "image-ids": {
9386               "type": "array",
9387               "items": {
9388                 "type": "string"
9389               }
9390             }
9391           },
9392           "additionalProperties": false,
9393           "required": [
9394             "image-ids"
9395           ]
9396         },
9397         "MetadataSaveParams": {
9398           "type": "object",
9399           "properties": {
9400             "metadata": {
9401               "type": "array",
9402               "items": {
9403                 "$ref": "#/definitions/CloudImageMetadataList"
9404               }
9405             }
9406           },
9407           "additionalProperties": false
9408         }
9409       }
9410     }
9411   },
9412   {
9413     "Name": "InstancePoller",
9414     "Version": 3,
9415     "Schema": {
9416       "type": "object",
9417       "properties": {
9418         "AreManuallyProvisioned": {
9419           "type": "object",
9420           "properties": {
9421             "Params": {
9422               "$ref": "#/definitions/Entities"
9423             },
9424             "Result": {
9425               "$ref": "#/definitions/BoolResults"
9426             }
9427           }
9428         },
9429         "InstanceId": {
9430           "type": "object",
9431           "properties": {
9432             "Params": {
9433               "$ref": "#/definitions/Entities"
9434             },
9435             "Result": {
9436               "$ref": "#/definitions/StringResults"
9437             }
9438           }
9439         },
9440         "InstanceStatus": {
9441           "type": "object",
9442           "properties": {
9443             "Params": {
9444               "$ref": "#/definitions/Entities"
9445             },
9446             "Result": {
9447               "$ref": "#/definitions/StatusResults"
9448             }
9449           }
9450         },
9451         "Life": {
9452           "type": "object",
9453           "properties": {
9454             "Params": {
9455               "$ref": "#/definitions/Entities"
9456             },
9457             "Result": {
9458               "$ref": "#/definitions/LifeResults"
9459             }
9460           }
9461         },
9462         "ModelConfig": {
9463           "type": "object",
9464           "properties": {
9465             "Result": {
9466               "$ref": "#/definitions/ModelConfigResult"
9467             }
9468           }
9469         },
9470         "ProviderAddresses": {
9471           "type": "object",
9472           "properties": {
9473             "Params": {
9474               "$ref": "#/definitions/Entities"
9475             },
9476             "Result": {
9477               "$ref": "#/definitions/MachineAddressesResults"
9478             }
9479           }
9480         },
9481         "SetInstanceStatus": {
9482           "type": "object",
9483           "properties": {
9484             "Params": {
9485               "$ref": "#/definitions/SetStatus"
9486             },
9487             "Result": {
9488               "$ref": "#/definitions/ErrorResults"
9489             }
9490           }
9491         },
9492         "SetProviderAddresses": {
9493           "type": "object",
9494           "properties": {
9495             "Params": {
9496               "$ref": "#/definitions/SetMachinesAddresses"
9497             },
9498             "Result": {
9499               "$ref": "#/definitions/ErrorResults"
9500             }
9501           }
9502         },
9503         "Status": {
9504           "type": "object",
9505           "properties": {
9506             "Params": {
9507               "$ref": "#/definitions/Entities"
9508             },
9509             "Result": {
9510               "$ref": "#/definitions/StatusResults"
9511             }
9512           }
9513         },
9514         "WatchForModelConfigChanges": {
9515           "type": "object",
9516           "properties": {
9517             "Result": {
9518               "$ref": "#/definitions/NotifyWatchResult"
9519             }
9520           }
9521         },
9522         "WatchModelMachines": {
9523           "type": "object",
9524           "properties": {
9525             "Result": {
9526               "$ref": "#/definitions/StringsWatchResult"
9527             }
9528           }
9529         }
9530       },
9531       "definitions": {
9532         "Address": {
9533           "type": "object",
9534           "properties": {
9535             "scope": {
9536               "type": "string"
9537             },
9538             "space-name": {
9539               "type": "string"
9540             },
9541             "type": {
9542               "type": "string"
9543             },
9544             "value": {
9545               "type": "string"
9546             }
9547           },
9548           "additionalProperties": false,
9549           "required": [
9550             "value",
9551             "type",
9552             "scope"
9553           ]
9554         },
9555         "BoolResult": {
9556           "type": "object",
9557           "properties": {
9558             "error": {
9559               "$ref": "#/definitions/Error"
9560             },
9561             "result": {
9562               "type": "boolean"
9563             }
9564           },
9565           "additionalProperties": false,
9566           "required": [
9567             "result"
9568           ]
9569         },
9570         "BoolResults": {
9571           "type": "object",
9572           "properties": {
9573             "results": {
9574               "type": "array",
9575               "items": {
9576                 "$ref": "#/definitions/BoolResult"
9577               }
9578             }
9579           },
9580           "additionalProperties": false,
9581           "required": [
9582             "results"
9583           ]
9584         },
9585         "Entities": {
9586           "type": "object",
9587           "properties": {
9588             "entities": {
9589               "type": "array",
9590               "items": {
9591                 "$ref": "#/definitions/Entity"
9592               }
9593             }
9594           },
9595           "additionalProperties": false,
9596           "required": [
9597             "entities"
9598           ]
9599         },
9600         "Entity": {
9601           "type": "object",
9602           "properties": {
9603             "tag": {
9604               "type": "string"
9605             }
9606           },
9607           "additionalProperties": false,
9608           "required": [
9609             "tag"
9610           ]
9611         },
9612         "EntityStatusArgs": {
9613           "type": "object",
9614           "properties": {
9615             "data": {
9616               "type": "object",
9617               "patternProperties": {
9618                 ".*": {
9619                   "type": "object",
9620                   "additionalProperties": true
9621                 }
9622               }
9623             },
9624             "info": {
9625               "type": "string"
9626             },
9627             "status": {
9628               "type": "string"
9629             },
9630             "tag": {
9631               "type": "string"
9632             }
9633           },
9634           "additionalProperties": false,
9635           "required": [
9636             "tag",
9637             "status",
9638             "info",
9639             "data"
9640           ]
9641         },
9642         "Error": {
9643           "type": "object",
9644           "properties": {
9645             "code": {
9646               "type": "string"
9647             },
9648             "info": {
9649               "$ref": "#/definitions/ErrorInfo"
9650             },
9651             "message": {
9652               "type": "string"
9653             }
9654           },
9655           "additionalProperties": false,
9656           "required": [
9657             "message",
9658             "code"
9659           ]
9660         },
9661         "ErrorInfo": {
9662           "type": "object",
9663           "properties": {
9664             "macaroon": {
9665               "$ref": "#/definitions/Macaroon"
9666             },
9667             "macaroon-path": {
9668               "type": "string"
9669             }
9670           },
9671           "additionalProperties": false
9672         },
9673         "ErrorResult": {
9674           "type": "object",
9675           "properties": {
9676             "error": {
9677               "$ref": "#/definitions/Error"
9678             }
9679           },
9680           "additionalProperties": false
9681         },
9682         "ErrorResults": {
9683           "type": "object",
9684           "properties": {
9685             "results": {
9686               "type": "array",
9687               "items": {
9688                 "$ref": "#/definitions/ErrorResult"
9689               }
9690             }
9691           },
9692           "additionalProperties": false,
9693           "required": [
9694             "results"
9695           ]
9696         },
9697         "LifeResult": {
9698           "type": "object",
9699           "properties": {
9700             "error": {
9701               "$ref": "#/definitions/Error"
9702             },
9703             "life": {
9704               "type": "string"
9705             }
9706           },
9707           "additionalProperties": false,
9708           "required": [
9709             "life"
9710           ]
9711         },
9712         "LifeResults": {
9713           "type": "object",
9714           "properties": {
9715             "results": {
9716               "type": "array",
9717               "items": {
9718                 "$ref": "#/definitions/LifeResult"
9719               }
9720             }
9721           },
9722           "additionalProperties": false,
9723           "required": [
9724             "results"
9725           ]
9726         },
9727         "Macaroon": {
9728           "type": "object",
9729           "additionalProperties": false
9730         },
9731         "MachineAddresses": {
9732           "type": "object",
9733           "properties": {
9734             "addresses": {
9735               "type": "array",
9736               "items": {
9737                 "$ref": "#/definitions/Address"
9738               }
9739             },
9740             "tag": {
9741               "type": "string"
9742             }
9743           },
9744           "additionalProperties": false,
9745           "required": [
9746             "tag",
9747             "addresses"
9748           ]
9749         },
9750         "MachineAddressesResult": {
9751           "type": "object",
9752           "properties": {
9753             "addresses": {
9754               "type": "array",
9755               "items": {
9756                 "$ref": "#/definitions/Address"
9757               }
9758             },
9759             "error": {
9760               "$ref": "#/definitions/Error"
9761             }
9762           },
9763           "additionalProperties": false,
9764           "required": [
9765             "addresses"
9766           ]
9767         },
9768         "MachineAddressesResults": {
9769           "type": "object",
9770           "properties": {
9771             "results": {
9772               "type": "array",
9773               "items": {
9774                 "$ref": "#/definitions/MachineAddressesResult"
9775               }
9776             }
9777           },
9778           "additionalProperties": false,
9779           "required": [
9780             "results"
9781           ]
9782         },
9783         "ModelConfigResult": {
9784           "type": "object",
9785           "properties": {
9786             "config": {
9787               "type": "object",
9788               "patternProperties": {
9789                 ".*": {
9790                   "type": "object",
9791                   "additionalProperties": true
9792                 }
9793               }
9794             }
9795           },
9796           "additionalProperties": false,
9797           "required": [
9798             "config"
9799           ]
9800         },
9801         "NotifyWatchResult": {
9802           "type": "object",
9803           "properties": {
9804             "NotifyWatcherId": {
9805               "type": "string"
9806             },
9807             "error": {
9808               "$ref": "#/definitions/Error"
9809             }
9810           },
9811           "additionalProperties": false,
9812           "required": [
9813             "NotifyWatcherId"
9814           ]
9815         },
9816         "SetMachinesAddresses": {
9817           "type": "object",
9818           "properties": {
9819             "machine-addresses": {
9820               "type": "array",
9821               "items": {
9822                 "$ref": "#/definitions/MachineAddresses"
9823               }
9824             }
9825           },
9826           "additionalProperties": false,
9827           "required": [
9828             "machine-addresses"
9829           ]
9830         },
9831         "SetStatus": {
9832           "type": "object",
9833           "properties": {
9834             "entities": {
9835               "type": "array",
9836               "items": {
9837                 "$ref": "#/definitions/EntityStatusArgs"
9838               }
9839             }
9840           },
9841           "additionalProperties": false,
9842           "required": [
9843             "entities"
9844           ]
9845         },
9846         "StatusResult": {
9847           "type": "object",
9848           "properties": {
9849             "data": {
9850               "type": "object",
9851               "patternProperties": {
9852                 ".*": {
9853                   "type": "object",
9854                   "additionalProperties": true
9855                 }
9856               }
9857             },
9858             "error": {
9859               "$ref": "#/definitions/Error"
9860             },
9861             "id": {
9862               "type": "string"
9863             },
9864             "info": {
9865               "type": "string"
9866             },
9867             "life": {
9868               "type": "string"
9869             },
9870             "since": {
9871               "type": "string",
9872               "format": "date-time"
9873             },
9874             "status": {
9875               "type": "string"
9876             }
9877           },
9878           "additionalProperties": false,
9879           "required": [
9880             "id",
9881             "life",
9882             "status",
9883             "info",
9884             "data",
9885             "since"
9886           ]
9887         },
9888         "StatusResults": {
9889           "type": "object",
9890           "properties": {
9891             "results": {
9892               "type": "array",
9893               "items": {
9894                 "$ref": "#/definitions/StatusResult"
9895               }
9896             }
9897           },
9898           "additionalProperties": false,
9899           "required": [
9900             "results"
9901           ]
9902         },
9903         "StringResult": {
9904           "type": "object",
9905           "properties": {
9906             "error": {
9907               "$ref": "#/definitions/Error"
9908             },
9909             "result": {
9910               "type": "string"
9911             }
9912           },
9913           "additionalProperties": false,
9914           "required": [
9915             "result"
9916           ]
9917         },
9918         "StringResults": {
9919           "type": "object",
9920           "properties": {
9921             "results": {
9922               "type": "array",
9923               "items": {
9924                 "$ref": "#/definitions/StringResult"
9925               }
9926             }
9927           },
9928           "additionalProperties": false,
9929           "required": [
9930             "results"
9931           ]
9932         },
9933         "StringsWatchResult": {
9934           "type": "object",
9935           "properties": {
9936             "changes": {
9937               "type": "array",
9938               "items": {
9939                 "type": "string"
9940               }
9941             },
9942             "error": {
9943               "$ref": "#/definitions/Error"
9944             },
9945             "watcher-id": {
9946               "type": "string"
9947             }
9948           },
9949           "additionalProperties": false,
9950           "required": [
9951             "watcher-id"
9952           ]
9953         }
9954       }
9955     }
9956   },
9957   {
9958     "Name": "KeyManager",
9959     "Version": 1,
9960     "Schema": {
9961       "type": "object",
9962       "properties": {
9963         "AddKeys": {
9964           "type": "object",
9965           "properties": {
9966             "Params": {
9967               "$ref": "#/definitions/ModifyUserSSHKeys"
9968             },
9969             "Result": {
9970               "$ref": "#/definitions/ErrorResults"
9971             }
9972           }
9973         },
9974         "DeleteKeys": {
9975           "type": "object",
9976           "properties": {
9977             "Params": {
9978               "$ref": "#/definitions/ModifyUserSSHKeys"
9979             },
9980             "Result": {
9981               "$ref": "#/definitions/ErrorResults"
9982             }
9983           }
9984         },
9985         "ImportKeys": {
9986           "type": "object",
9987           "properties": {
9988             "Params": {
9989               "$ref": "#/definitions/ModifyUserSSHKeys"
9990             },
9991             "Result": {
9992               "$ref": "#/definitions/ErrorResults"
9993             }
9994           }
9995         },
9996         "ListKeys": {
9997           "type": "object",
9998           "properties": {
9999             "Params": {
10000               "$ref": "#/definitions/ListSSHKeys"
10001             },
10002             "Result": {
10003               "$ref": "#/definitions/StringsResults"
10004             }
10005           }
10006         }
10007       },
10008       "definitions": {
10009         "Entities": {
10010           "type": "object",
10011           "properties": {
10012             "entities": {
10013               "type": "array",
10014               "items": {
10015                 "$ref": "#/definitions/Entity"
10016               }
10017             }
10018           },
10019           "additionalProperties": false,
10020           "required": [
10021             "entities"
10022           ]
10023         },
10024         "Entity": {
10025           "type": "object",
10026           "properties": {
10027             "tag": {
10028               "type": "string"
10029             }
10030           },
10031           "additionalProperties": false,
10032           "required": [
10033             "tag"
10034           ]
10035         },
10036         "Error": {
10037           "type": "object",
10038           "properties": {
10039             "code": {
10040               "type": "string"
10041             },
10042             "info": {
10043               "$ref": "#/definitions/ErrorInfo"
10044             },
10045             "message": {
10046               "type": "string"
10047             }
10048           },
10049           "additionalProperties": false,
10050           "required": [
10051             "message",
10052             "code"
10053           ]
10054         },
10055         "ErrorInfo": {
10056           "type": "object",
10057           "properties": {
10058             "macaroon": {
10059               "$ref": "#/definitions/Macaroon"
10060             },
10061             "macaroon-path": {
10062               "type": "string"
10063             }
10064           },
10065           "additionalProperties": false
10066         },
10067         "ErrorResult": {
10068           "type": "object",
10069           "properties": {
10070             "error": {
10071               "$ref": "#/definitions/Error"
10072             }
10073           },
10074           "additionalProperties": false
10075         },
10076         "ErrorResults": {
10077           "type": "object",
10078           "properties": {
10079             "results": {
10080               "type": "array",
10081               "items": {
10082                 "$ref": "#/definitions/ErrorResult"
10083               }
10084             }
10085           },
10086           "additionalProperties": false,
10087           "required": [
10088             "results"
10089           ]
10090         },
10091         "ListSSHKeys": {
10092           "type": "object",
10093           "properties": {
10094             "entities": {
10095               "$ref": "#/definitions/Entities"
10096             },
10097             "mode": {
10098               "type": "boolean"
10099             }
10100           },
10101           "additionalProperties": false,
10102           "required": [
10103             "entities",
10104             "mode"
10105           ]
10106         },
10107         "Macaroon": {
10108           "type": "object",
10109           "additionalProperties": false
10110         },
10111         "ModifyUserSSHKeys": {
10112           "type": "object",
10113           "properties": {
10114             "ssh-keys": {
10115               "type": "array",
10116               "items": {
10117                 "type": "string"
10118               }
10119             },
10120             "user": {
10121               "type": "string"
10122             }
10123           },
10124           "additionalProperties": false,
10125           "required": [
10126             "user",
10127             "ssh-keys"
10128           ]
10129         },
10130         "StringsResult": {
10131           "type": "object",
10132           "properties": {
10133             "error": {
10134               "$ref": "#/definitions/Error"
10135             },
10136             "result": {
10137               "type": "array",
10138               "items": {
10139                 "type": "string"
10140               }
10141             }
10142           },
10143           "additionalProperties": false
10144         },
10145         "StringsResults": {
10146           "type": "object",
10147           "properties": {
10148             "results": {
10149               "type": "array",
10150               "items": {
10151                 "$ref": "#/definitions/StringsResult"
10152               }
10153             }
10154           },
10155           "additionalProperties": false,
10156           "required": [
10157             "results"
10158           ]
10159         }
10160       }
10161     }
10162   },
10163   {
10164     "Name": "KeyUpdater",
10165     "Version": 1,
10166     "Schema": {
10167       "type": "object",
10168       "properties": {
10169         "AuthorisedKeys": {
10170           "type": "object",
10171           "properties": {
10172             "Params": {
10173               "$ref": "#/definitions/Entities"
10174             },
10175             "Result": {
10176               "$ref": "#/definitions/StringsResults"
10177             }
10178           }
10179         },
10180         "WatchAuthorisedKeys": {
10181           "type": "object",
10182           "properties": {
10183             "Params": {
10184               "$ref": "#/definitions/Entities"
10185             },
10186             "Result": {
10187               "$ref": "#/definitions/NotifyWatchResults"
10188             }
10189           }
10190         }
10191       },
10192       "definitions": {
10193         "Entities": {
10194           "type": "object",
10195           "properties": {
10196             "entities": {
10197               "type": "array",
10198               "items": {
10199                 "$ref": "#/definitions/Entity"
10200               }
10201             }
10202           },
10203           "additionalProperties": false,
10204           "required": [
10205             "entities"
10206           ]
10207         },
10208         "Entity": {
10209           "type": "object",
10210           "properties": {
10211             "tag": {
10212               "type": "string"
10213             }
10214           },
10215           "additionalProperties": false,
10216           "required": [
10217             "tag"
10218           ]
10219         },
10220         "Error": {
10221           "type": "object",
10222           "properties": {
10223             "code": {
10224               "type": "string"
10225             },
10226             "info": {
10227               "$ref": "#/definitions/ErrorInfo"
10228             },
10229             "message": {
10230               "type": "string"
10231             }
10232           },
10233           "additionalProperties": false,
10234           "required": [
10235             "message",
10236             "code"
10237           ]
10238         },
10239         "ErrorInfo": {
10240           "type": "object",
10241           "properties": {
10242             "macaroon": {
10243               "$ref": "#/definitions/Macaroon"
10244             },
10245             "macaroon-path": {
10246               "type": "string"
10247             }
10248           },
10249           "additionalProperties": false
10250         },
10251         "Macaroon": {
10252           "type": "object",
10253           "additionalProperties": false
10254         },
10255         "NotifyWatchResult": {
10256           "type": "object",
10257           "properties": {
10258             "NotifyWatcherId": {
10259               "type": "string"
10260             },
10261             "error": {
10262               "$ref": "#/definitions/Error"
10263             }
10264           },
10265           "additionalProperties": false,
10266           "required": [
10267             "NotifyWatcherId"
10268           ]
10269         },
10270         "NotifyWatchResults": {
10271           "type": "object",
10272           "properties": {
10273             "results": {
10274               "type": "array",
10275               "items": {
10276                 "$ref": "#/definitions/NotifyWatchResult"
10277               }
10278             }
10279           },
10280           "additionalProperties": false,
10281           "required": [
10282             "results"
10283           ]
10284         },
10285         "StringsResult": {
10286           "type": "object",
10287           "properties": {
10288             "error": {
10289               "$ref": "#/definitions/Error"
10290             },
10291             "result": {
10292               "type": "array",
10293               "items": {
10294                 "type": "string"
10295               }
10296             }
10297           },
10298           "additionalProperties": false
10299         },
10300         "StringsResults": {
10301           "type": "object",
10302           "properties": {
10303             "results": {
10304               "type": "array",
10305               "items": {
10306                 "$ref": "#/definitions/StringsResult"
10307               }
10308             }
10309           },
10310           "additionalProperties": false,
10311           "required": [
10312             "results"
10313           ]
10314         }
10315       }
10316     }
10317   },
10318   {
10319     "Name": "LeadershipService",
10320     "Version": 2,
10321     "Schema": {
10322       "type": "object",
10323       "properties": {
10324         "BlockUntilLeadershipReleased": {
10325           "type": "object",
10326           "properties": {
10327             "Params": {
10328               "$ref": "#/definitions/ApplicationTag"
10329             },
10330             "Result": {
10331               "$ref": "#/definitions/ErrorResult"
10332             }
10333           }
10334         },
10335         "ClaimLeadership": {
10336           "type": "object",
10337           "properties": {
10338             "Params": {
10339               "$ref": "#/definitions/ClaimLeadershipBulkParams"
10340             },
10341             "Result": {
10342               "$ref": "#/definitions/ClaimLeadershipBulkResults"
10343             }
10344           }
10345         }
10346       },
10347       "definitions": {
10348         "ApplicationTag": {
10349           "type": "object",
10350           "properties": {
10351             "Name": {
10352               "type": "string"
10353             }
10354           },
10355           "additionalProperties": false,
10356           "required": [
10357             "Name"
10358           ]
10359         },
10360         "ClaimLeadershipBulkParams": {
10361           "type": "object",
10362           "properties": {
10363             "params": {
10364               "type": "array",
10365               "items": {
10366                 "$ref": "#/definitions/ClaimLeadershipParams"
10367               }
10368             }
10369           },
10370           "additionalProperties": false,
10371           "required": [
10372             "params"
10373           ]
10374         },
10375         "ClaimLeadershipBulkResults": {
10376           "type": "object",
10377           "properties": {
10378             "results": {
10379               "type": "array",
10380               "items": {
10381                 "$ref": "#/definitions/ErrorResult"
10382               }
10383             }
10384           },
10385           "additionalProperties": false,
10386           "required": [
10387             "results"
10388           ]
10389         },
10390         "ClaimLeadershipParams": {
10391           "type": "object",
10392           "properties": {
10393             "application-tag": {
10394               "type": "string"
10395             },
10396             "duration": {
10397               "type": "number"
10398             },
10399             "unit-tag": {
10400               "type": "string"
10401             }
10402           },
10403           "additionalProperties": false,
10404           "required": [
10405             "application-tag",
10406             "unit-tag",
10407             "duration"
10408           ]
10409         },
10410         "Error": {
10411           "type": "object",
10412           "properties": {
10413             "code": {
10414               "type": "string"
10415             },
10416             "info": {
10417               "$ref": "#/definitions/ErrorInfo"
10418             },
10419             "message": {
10420               "type": "string"
10421             }
10422           },
10423           "additionalProperties": false,
10424           "required": [
10425             "message",
10426             "code"
10427           ]
10428         },
10429         "ErrorInfo": {
10430           "type": "object",
10431           "properties": {
10432             "macaroon": {
10433               "$ref": "#/definitions/Macaroon"
10434             },
10435             "macaroon-path": {
10436               "type": "string"
10437             }
10438           },
10439           "additionalProperties": false
10440         },
10441         "ErrorResult": {
10442           "type": "object",
10443           "properties": {
10444             "error": {
10445               "$ref": "#/definitions/Error"
10446             }
10447           },
10448           "additionalProperties": false
10449         },
10450         "Macaroon": {
10451           "type": "object",
10452           "additionalProperties": false
10453         }
10454       }
10455     }
10456   },
10457   {
10458     "Name": "LifeFlag",
10459     "Version": 1,
10460     "Schema": {
10461       "type": "object",
10462       "properties": {
10463         "Life": {
10464           "type": "object",
10465           "properties": {
10466             "Params": {
10467               "$ref": "#/definitions/Entities"
10468             },
10469             "Result": {
10470               "$ref": "#/definitions/LifeResults"
10471             }
10472           }
10473         },
10474         "Watch": {
10475           "type": "object",
10476           "properties": {
10477             "Params": {
10478               "$ref": "#/definitions/Entities"
10479             },
10480             "Result": {
10481               "$ref": "#/definitions/NotifyWatchResults"
10482             }
10483           }
10484         }
10485       },
10486       "definitions": {
10487         "Entities": {
10488           "type": "object",
10489           "properties": {
10490             "entities": {
10491               "type": "array",
10492               "items": {
10493                 "$ref": "#/definitions/Entity"
10494               }
10495             }
10496           },
10497           "additionalProperties": false,
10498           "required": [
10499             "entities"
10500           ]
10501         },
10502         "Entity": {
10503           "type": "object",
10504           "properties": {
10505             "tag": {
10506               "type": "string"
10507             }
10508           },
10509           "additionalProperties": false,
10510           "required": [
10511             "tag"
10512           ]
10513         },
10514         "Error": {
10515           "type": "object",
10516           "properties": {
10517             "code": {
10518               "type": "string"
10519             },
10520             "info": {
10521               "$ref": "#/definitions/ErrorInfo"
10522             },
10523             "message": {
10524               "type": "string"
10525             }
10526           },
10527           "additionalProperties": false,
10528           "required": [
10529             "message",
10530             "code"
10531           ]
10532         },
10533         "ErrorInfo": {
10534           "type": "object",
10535           "properties": {
10536             "macaroon": {
10537               "$ref": "#/definitions/Macaroon"
10538             },
10539             "macaroon-path": {
10540               "type": "string"
10541             }
10542           },
10543           "additionalProperties": false
10544         },
10545         "LifeResult": {
10546           "type": "object",
10547           "properties": {
10548             "error": {
10549               "$ref": "#/definitions/Error"
10550             },
10551             "life": {
10552               "type": "string"
10553             }
10554           },
10555           "additionalProperties": false,
10556           "required": [
10557             "life"
10558           ]
10559         },
10560         "LifeResults": {
10561           "type": "object",
10562           "properties": {
10563             "results": {
10564               "type": "array",
10565               "items": {
10566                 "$ref": "#/definitions/LifeResult"
10567               }
10568             }
10569           },
10570           "additionalProperties": false,
10571           "required": [
10572             "results"
10573           ]
10574         },
10575         "Macaroon": {
10576           "type": "object",
10577           "additionalProperties": false
10578         },
10579         "NotifyWatchResult": {
10580           "type": "object",
10581           "properties": {
10582             "NotifyWatcherId": {
10583               "type": "string"
10584             },
10585             "error": {
10586               "$ref": "#/definitions/Error"
10587             }
10588           },
10589           "additionalProperties": false,
10590           "required": [
10591             "NotifyWatcherId"
10592           ]
10593         },
10594         "NotifyWatchResults": {
10595           "type": "object",
10596           "properties": {
10597             "results": {
10598               "type": "array",
10599               "items": {
10600                 "$ref": "#/definitions/NotifyWatchResult"
10601               }
10602             }
10603           },
10604           "additionalProperties": false,
10605           "required": [
10606             "results"
10607           ]
10608         }
10609       }
10610     }
10611   },
10612   {
10613     "Name": "LogForwarding",
10614     "Version": 1,
10615     "Schema": {
10616       "type": "object",
10617       "properties": {
10618         "GetLastSent": {
10619           "type": "object",
10620           "properties": {
10621             "Params": {
10622               "$ref": "#/definitions/LogForwardingGetLastSentParams"
10623             },
10624             "Result": {
10625               "$ref": "#/definitions/LogForwardingGetLastSentResults"
10626             }
10627           }
10628         },
10629         "SetLastSent": {
10630           "type": "object",
10631           "properties": {
10632             "Params": {
10633               "$ref": "#/definitions/LogForwardingSetLastSentParams"
10634             },
10635             "Result": {
10636               "$ref": "#/definitions/ErrorResults"
10637             }
10638           }
10639         }
10640       },
10641       "definitions": {
10642         "Error": {
10643           "type": "object",
10644           "properties": {
10645             "code": {
10646               "type": "string"
10647             },
10648             "info": {
10649               "$ref": "#/definitions/ErrorInfo"
10650             },
10651             "message": {
10652               "type": "string"
10653             }
10654           },
10655           "additionalProperties": false,
10656           "required": [
10657             "message",
10658             "code"
10659           ]
10660         },
10661         "ErrorInfo": {
10662           "type": "object",
10663           "properties": {
10664             "macaroon": {
10665               "$ref": "#/definitions/Macaroon"
10666             },
10667             "macaroon-path": {
10668               "type": "string"
10669             }
10670           },
10671           "additionalProperties": false
10672         },
10673         "ErrorResult": {
10674           "type": "object",
10675           "properties": {
10676             "error": {
10677               "$ref": "#/definitions/Error"
10678             }
10679           },
10680           "additionalProperties": false
10681         },
10682         "ErrorResults": {
10683           "type": "object",
10684           "properties": {
10685             "results": {
10686               "type": "array",
10687               "items": {
10688                 "$ref": "#/definitions/ErrorResult"
10689               }
10690             }
10691           },
10692           "additionalProperties": false,
10693           "required": [
10694             "results"
10695           ]
10696         },
10697         "LogForwardingGetLastSentParams": {
10698           "type": "object",
10699           "properties": {
10700             "ids": {
10701               "type": "array",
10702               "items": {
10703                 "$ref": "#/definitions/LogForwardingID"
10704               }
10705             }
10706           },
10707           "additionalProperties": false,
10708           "required": [
10709             "ids"
10710           ]
10711         },
10712         "LogForwardingGetLastSentResult": {
10713           "type": "object",
10714           "properties": {
10715             "err": {
10716               "$ref": "#/definitions/Error"
10717             },
10718             "record-id": {
10719               "type": "integer"
10720             },
10721             "record-timestamp": {
10722               "type": "integer"
10723             }
10724           },
10725           "additionalProperties": false,
10726           "required": [
10727             "record-id",
10728             "record-timestamp",
10729             "err"
10730           ]
10731         },
10732         "LogForwardingGetLastSentResults": {
10733           "type": "object",
10734           "properties": {
10735             "results": {
10736               "type": "array",
10737               "items": {
10738                 "$ref": "#/definitions/LogForwardingGetLastSentResult"
10739               }
10740             }
10741           },
10742           "additionalProperties": false,
10743           "required": [
10744             "results"
10745           ]
10746         },
10747         "LogForwardingID": {
10748           "type": "object",
10749           "properties": {
10750             "model": {
10751               "type": "string"
10752             },
10753             "sink": {
10754               "type": "string"
10755             }
10756           },
10757           "additionalProperties": false,
10758           "required": [
10759             "model",
10760             "sink"
10761           ]
10762         },
10763         "LogForwardingSetLastSentParam": {
10764           "type": "object",
10765           "properties": {
10766             "LogForwardingID": {
10767               "$ref": "#/definitions/LogForwardingID"
10768             },
10769             "record-id": {
10770               "type": "integer"
10771             },
10772             "record-timestamp": {
10773               "type": "integer"
10774             }
10775           },
10776           "additionalProperties": false,
10777           "required": [
10778             "LogForwardingID",
10779             "record-id",
10780             "record-timestamp"
10781           ]
10782         },
10783         "LogForwardingSetLastSentParams": {
10784           "type": "object",
10785           "properties": {
10786             "params": {
10787               "type": "array",
10788               "items": {
10789                 "$ref": "#/definitions/LogForwardingSetLastSentParam"
10790               }
10791             }
10792           },
10793           "additionalProperties": false,
10794           "required": [
10795             "params"
10796           ]
10797         },
10798         "Macaroon": {
10799           "type": "object",
10800           "additionalProperties": false
10801         }
10802       }
10803     }
10804   },
10805   {
10806     "Name": "Logger",
10807     "Version": 1,
10808     "Schema": {
10809       "type": "object",
10810       "properties": {
10811         "LoggingConfig": {
10812           "type": "object",
10813           "properties": {
10814             "Params": {
10815               "$ref": "#/definitions/Entities"
10816             },
10817             "Result": {
10818               "$ref": "#/definitions/StringResults"
10819             }
10820           }
10821         },
10822         "WatchLoggingConfig": {
10823           "type": "object",
10824           "properties": {
10825             "Params": {
10826               "$ref": "#/definitions/Entities"
10827             },
10828             "Result": {
10829               "$ref": "#/definitions/NotifyWatchResults"
10830             }
10831           }
10832         }
10833       },
10834       "definitions": {
10835         "Entities": {
10836           "type": "object",
10837           "properties": {
10838             "entities": {
10839               "type": "array",
10840               "items": {
10841                 "$ref": "#/definitions/Entity"
10842               }
10843             }
10844           },
10845           "additionalProperties": false,
10846           "required": [
10847             "entities"
10848           ]
10849         },
10850         "Entity": {
10851           "type": "object",
10852           "properties": {
10853             "tag": {
10854               "type": "string"
10855             }
10856           },
10857           "additionalProperties": false,
10858           "required": [
10859             "tag"
10860           ]
10861         },
10862         "Error": {
10863           "type": "object",
10864           "properties": {
10865             "code": {
10866               "type": "string"
10867             },
10868             "info": {
10869               "$ref": "#/definitions/ErrorInfo"
10870             },
10871             "message": {
10872               "type": "string"
10873             }
10874           },
10875           "additionalProperties": false,
10876           "required": [
10877             "message",
10878             "code"
10879           ]
10880         },
10881         "ErrorInfo": {
10882           "type": "object",
10883           "properties": {
10884             "macaroon": {
10885               "$ref": "#/definitions/Macaroon"
10886             },
10887             "macaroon-path": {
10888               "type": "string"
10889             }
10890           },
10891           "additionalProperties": false
10892         },
10893         "Macaroon": {
10894           "type": "object",
10895           "additionalProperties": false
10896         },
10897         "NotifyWatchResult": {
10898           "type": "object",
10899           "properties": {
10900             "NotifyWatcherId": {
10901               "type": "string"
10902             },
10903             "error": {
10904               "$ref": "#/definitions/Error"
10905             }
10906           },
10907           "additionalProperties": false,
10908           "required": [
10909             "NotifyWatcherId"
10910           ]
10911         },
10912         "NotifyWatchResults": {
10913           "type": "object",
10914           "properties": {
10915             "results": {
10916               "type": "array",
10917               "items": {
10918                 "$ref": "#/definitions/NotifyWatchResult"
10919               }
10920             }
10921           },
10922           "additionalProperties": false,
10923           "required": [
10924             "results"
10925           ]
10926         },
10927         "StringResult": {
10928           "type": "object",
10929           "properties": {
10930             "error": {
10931               "$ref": "#/definitions/Error"
10932             },
10933             "result": {
10934               "type": "string"
10935             }
10936           },
10937           "additionalProperties": false,
10938           "required": [
10939             "result"
10940           ]
10941         },
10942         "StringResults": {
10943           "type": "object",
10944           "properties": {
10945             "results": {
10946               "type": "array",
10947               "items": {
10948                 "$ref": "#/definitions/StringResult"
10949               }
10950             }
10951           },
10952           "additionalProperties": false,
10953           "required": [
10954             "results"
10955           ]
10956         }
10957       }
10958     }
10959   },
10960   {
10961     "Name": "MachineActions",
10962     "Version": 1,
10963     "Schema": {
10964       "type": "object",
10965       "properties": {
10966         "Actions": {
10967           "type": "object",
10968           "properties": {
10969             "Params": {
10970               "$ref": "#/definitions/Entities"
10971             },
10972             "Result": {
10973               "$ref": "#/definitions/ActionResults"
10974             }
10975           }
10976         },
10977         "BeginActions": {
10978           "type": "object",
10979           "properties": {
10980             "Params": {
10981               "$ref": "#/definitions/Entities"
10982             },
10983             "Result": {
10984               "$ref": "#/definitions/ErrorResults"
10985             }
10986           }
10987         },
10988         "FinishActions": {
10989           "type": "object",
10990           "properties": {
10991             "Params": {
10992               "$ref": "#/definitions/ActionExecutionResults"
10993             },
10994             "Result": {
10995               "$ref": "#/definitions/ErrorResults"
10996             }
10997           }
10998         },
10999         "RunningActions": {
11000           "type": "object",
11001           "properties": {
11002             "Params": {
11003               "$ref": "#/definitions/Entities"
11004             },
11005             "Result": {
11006               "$ref": "#/definitions/ActionsByReceivers"
11007             }
11008           }
11009         },
11010         "WatchActionNotifications": {
11011           "type": "object",
11012           "properties": {
11013             "Params": {
11014               "$ref": "#/definitions/Entities"
11015             },
11016             "Result": {
11017               "$ref": "#/definitions/StringsWatchResults"
11018             }
11019           }
11020         }
11021       },
11022       "definitions": {
11023         "Action": {
11024           "type": "object",
11025           "properties": {
11026             "name": {
11027               "type": "string"
11028             },
11029             "parameters": {
11030               "type": "object",
11031               "patternProperties": {
11032                 ".*": {
11033                   "type": "object",
11034                   "additionalProperties": true
11035                 }
11036               }
11037             },
11038             "receiver": {
11039               "type": "string"
11040             },
11041             "tag": {
11042               "type": "string"
11043             }
11044           },
11045           "additionalProperties": false,
11046           "required": [
11047             "tag",
11048             "receiver",
11049             "name"
11050           ]
11051         },
11052         "ActionExecutionResult": {
11053           "type": "object",
11054           "properties": {
11055             "action-tag": {
11056               "type": "string"
11057             },
11058             "message": {
11059               "type": "string"
11060             },
11061             "results": {
11062               "type": "object",
11063               "patternProperties": {
11064                 ".*": {
11065                   "type": "object",
11066                   "additionalProperties": true
11067                 }
11068               }
11069             },
11070             "status": {
11071               "type": "string"
11072             }
11073           },
11074           "additionalProperties": false,
11075           "required": [
11076             "action-tag",
11077             "status"
11078           ]
11079         },
11080         "ActionExecutionResults": {
11081           "type": "object",
11082           "properties": {
11083             "results": {
11084               "type": "array",
11085               "items": {
11086                 "$ref": "#/definitions/ActionExecutionResult"
11087               }
11088             }
11089           },
11090           "additionalProperties": false
11091         },
11092         "ActionResult": {
11093           "type": "object",
11094           "properties": {
11095             "action": {
11096               "$ref": "#/definitions/Action"
11097             },
11098             "completed": {
11099               "type": "string",
11100               "format": "date-time"
11101             },
11102             "enqueued": {
11103               "type": "string",
11104               "format": "date-time"
11105             },
11106             "error": {
11107               "$ref": "#/definitions/Error"
11108             },
11109             "message": {
11110               "type": "string"
11111             },
11112             "output": {
11113               "type": "object",
11114               "patternProperties": {
11115                 ".*": {
11116                   "type": "object",
11117                   "additionalProperties": true
11118                 }
11119               }
11120             },
11121             "started": {
11122               "type": "string",
11123               "format": "date-time"
11124             },
11125             "status": {
11126               "type": "string"
11127             }
11128           },
11129           "additionalProperties": false
11130         },
11131         "ActionResults": {
11132           "type": "object",
11133           "properties": {
11134             "results": {
11135               "type": "array",
11136               "items": {
11137                 "$ref": "#/definitions/ActionResult"
11138               }
11139             }
11140           },
11141           "additionalProperties": false
11142         },
11143         "ActionsByReceiver": {
11144           "type": "object",
11145           "properties": {
11146             "actions": {
11147               "type": "array",
11148               "items": {
11149                 "$ref": "#/definitions/ActionResult"
11150               }
11151             },
11152             "error": {
11153               "$ref": "#/definitions/Error"
11154             },
11155             "receiver": {
11156               "type": "string"
11157             }
11158           },
11159           "additionalProperties": false
11160         },
11161         "ActionsByReceivers": {
11162           "type": "object",
11163           "properties": {
11164             "actions": {
11165               "type": "array",
11166               "items": {
11167                 "$ref": "#/definitions/ActionsByReceiver"
11168               }
11169             }
11170           },
11171           "additionalProperties": false
11172         },
11173         "Entities": {
11174           "type": "object",
11175           "properties": {
11176             "entities": {
11177               "type": "array",
11178               "items": {
11179                 "$ref": "#/definitions/Entity"
11180               }
11181             }
11182           },
11183           "additionalProperties": false,
11184           "required": [
11185             "entities"
11186           ]
11187         },
11188         "Entity": {
11189           "type": "object",
11190           "properties": {
11191             "tag": {
11192               "type": "string"
11193             }
11194           },
11195           "additionalProperties": false,
11196           "required": [
11197             "tag"
11198           ]
11199         },
11200         "Error": {
11201           "type": "object",
11202           "properties": {
11203             "code": {
11204               "type": "string"
11205             },
11206             "info": {
11207               "$ref": "#/definitions/ErrorInfo"
11208             },
11209             "message": {
11210               "type": "string"
11211             }
11212           },
11213           "additionalProperties": false,
11214           "required": [
11215             "message",
11216             "code"
11217           ]
11218         },
11219         "ErrorInfo": {
11220           "type": "object",
11221           "properties": {
11222             "macaroon": {
11223               "$ref": "#/definitions/Macaroon"
11224             },
11225             "macaroon-path": {
11226               "type": "string"
11227             }
11228           },
11229           "additionalProperties": false
11230         },
11231         "ErrorResult": {
11232           "type": "object",
11233           "properties": {
11234             "error": {
11235               "$ref": "#/definitions/Error"
11236             }
11237           },
11238           "additionalProperties": false
11239         },
11240         "ErrorResults": {
11241           "type": "object",
11242           "properties": {
11243             "results": {
11244               "type": "array",
11245               "items": {
11246                 "$ref": "#/definitions/ErrorResult"
11247               }
11248             }
11249           },
11250           "additionalProperties": false,
11251           "required": [
11252             "results"
11253           ]
11254         },
11255         "Macaroon": {
11256           "type": "object",
11257           "additionalProperties": false
11258         },
11259         "StringsWatchResult": {
11260           "type": "object",
11261           "properties": {
11262             "changes": {
11263               "type": "array",
11264               "items": {
11265                 "type": "string"
11266               }
11267             },
11268             "error": {
11269               "$ref": "#/definitions/Error"
11270             },
11271             "watcher-id": {
11272               "type": "string"
11273             }
11274           },
11275           "additionalProperties": false,
11276           "required": [
11277             "watcher-id"
11278           ]
11279         },
11280         "StringsWatchResults": {
11281           "type": "object",
11282           "properties": {
11283             "results": {
11284               "type": "array",
11285               "items": {
11286                 "$ref": "#/definitions/StringsWatchResult"
11287               }
11288             }
11289           },
11290           "additionalProperties": false,
11291           "required": [
11292             "results"
11293           ]
11294         }
11295       }
11296     }
11297   },
11298   {
11299     "Name": "MachineManager",
11300     "Version": 2,
11301     "Schema": {
11302       "type": "object",
11303       "properties": {
11304         "AddMachines": {
11305           "type": "object",
11306           "properties": {
11307             "Params": {
11308               "$ref": "#/definitions/AddMachines"
11309             },
11310             "Result": {
11311               "$ref": "#/definitions/AddMachinesResults"
11312             }
11313           }
11314         },
11315         "InstanceTypes": {
11316           "type": "object",
11317           "properties": {
11318             "Params": {
11319               "$ref": "#/definitions/ModelInstanceTypesConstraints"
11320             },
11321             "Result": {
11322               "$ref": "#/definitions/InstanceTypesResults"
11323             }
11324           }
11325         }
11326       },
11327       "definitions": {
11328         "AddMachineParams": {
11329           "type": "object",
11330           "properties": {
11331             "addresses": {
11332               "type": "array",
11333               "items": {
11334                 "$ref": "#/definitions/Address"
11335               }
11336             },
11337             "constraints": {
11338               "$ref": "#/definitions/Value"
11339             },
11340             "container-type": {
11341               "type": "string"
11342             },
11343             "disks": {
11344               "type": "array",
11345               "items": {
11346                 "$ref": "#/definitions/Constraints"
11347               }
11348             },
11349             "hardware-characteristics": {
11350               "$ref": "#/definitions/HardwareCharacteristics"
11351             },
11352             "instance-id": {
11353               "type": "string"
11354             },
11355             "jobs": {
11356               "type": "array",
11357               "items": {
11358                 "type": "string"
11359               }
11360             },
11361             "nonce": {
11362               "type": "string"
11363             },
11364             "parent-id": {
11365               "type": "string"
11366             },
11367             "placement": {
11368               "$ref": "#/definitions/Placement"
11369             },
11370             "series": {
11371               "type": "string"
11372             }
11373           },
11374           "additionalProperties": false,
11375           "required": [
11376             "series",
11377             "constraints",
11378             "jobs",
11379             "parent-id",
11380             "container-type",
11381             "instance-id",
11382             "nonce",
11383             "hardware-characteristics",
11384             "addresses"
11385           ]
11386         },
11387         "AddMachines": {
11388           "type": "object",
11389           "properties": {
11390             "params": {
11391               "type": "array",
11392               "items": {
11393                 "$ref": "#/definitions/AddMachineParams"
11394               }
11395             }
11396           },
11397           "additionalProperties": false,
11398           "required": [
11399             "params"
11400           ]
11401         },
11402         "AddMachinesResult": {
11403           "type": "object",
11404           "properties": {
11405             "error": {
11406               "$ref": "#/definitions/Error"
11407             },
11408             "machine": {
11409               "type": "string"
11410             }
11411           },
11412           "additionalProperties": false,
11413           "required": [
11414             "machine"
11415           ]
11416         },
11417         "AddMachinesResults": {
11418           "type": "object",
11419           "properties": {
11420             "machines": {
11421               "type": "array",
11422               "items": {
11423                 "$ref": "#/definitions/AddMachinesResult"
11424               }
11425             }
11426           },
11427           "additionalProperties": false,
11428           "required": [
11429             "machines"
11430           ]
11431         },
11432         "Address": {
11433           "type": "object",
11434           "properties": {
11435             "scope": {
11436               "type": "string"
11437             },
11438             "space-name": {
11439               "type": "string"
11440             },
11441             "type": {
11442               "type": "string"
11443             },
11444             "value": {
11445               "type": "string"
11446             }
11447           },
11448           "additionalProperties": false,
11449           "required": [
11450             "value",
11451             "type",
11452             "scope"
11453           ]
11454         },
11455         "Constraints": {
11456           "type": "object",
11457           "properties": {
11458             "Count": {
11459               "type": "integer"
11460             },
11461             "Pool": {
11462               "type": "string"
11463             },
11464             "Size": {
11465               "type": "integer"
11466             }
11467           },
11468           "additionalProperties": false,
11469           "required": [
11470             "Pool",
11471             "Size",
11472             "Count"
11473           ]
11474         },
11475         "Error": {
11476           "type": "object",
11477           "properties": {
11478             "code": {
11479               "type": "string"
11480             },
11481             "info": {
11482               "$ref": "#/definitions/ErrorInfo"
11483             },
11484             "message": {
11485               "type": "string"
11486             }
11487           },
11488           "additionalProperties": false,
11489           "required": [
11490             "message",
11491             "code"
11492           ]
11493         },
11494         "ErrorInfo": {
11495           "type": "object",
11496           "properties": {
11497             "macaroon": {
11498               "$ref": "#/definitions/Macaroon"
11499             },
11500             "macaroon-path": {
11501               "type": "string"
11502             }
11503           },
11504           "additionalProperties": false
11505         },
11506         "HardwareCharacteristics": {
11507           "type": "object",
11508           "properties": {
11509             "arch": {
11510               "type": "string"
11511             },
11512             "availability-zone": {
11513               "type": "string"
11514             },
11515             "cpu-cores": {
11516               "type": "integer"
11517             },
11518             "cpu-power": {
11519               "type": "integer"
11520             },
11521             "mem": {
11522               "type": "integer"
11523             },
11524             "root-disk": {
11525               "type": "integer"
11526             },
11527             "tags": {
11528               "type": "array",
11529               "items": {
11530                 "type": "string"
11531               }
11532             }
11533           },
11534           "additionalProperties": false
11535         },
11536         "InstanceType": {
11537           "type": "object",
11538           "properties": {
11539             "arches": {
11540               "type": "array",
11541               "items": {
11542                 "type": "string"
11543               }
11544             },
11545             "cost": {
11546               "type": "integer"
11547             },
11548             "cpu-cores": {
11549               "type": "integer"
11550             },
11551             "deprecated": {
11552               "type": "boolean"
11553             },
11554             "memory": {
11555               "type": "integer"
11556             },
11557             "name": {
11558               "type": "string"
11559             },
11560             "root-disk": {
11561               "type": "integer"
11562             },
11563             "virt-type": {
11564               "type": "string"
11565             }
11566           },
11567           "additionalProperties": false,
11568           "required": [
11569             "arches",
11570             "cpu-cores",
11571             "memory"
11572           ]
11573         },
11574         "InstanceTypesResult": {
11575           "type": "object",
11576           "properties": {
11577             "cost-currency": {
11578               "type": "string"
11579             },
11580             "cost-divisor": {
11581               "type": "integer"
11582             },
11583             "cost-unit": {
11584               "type": "string"
11585             },
11586             "error": {
11587               "$ref": "#/definitions/Error"
11588             },
11589             "instance-types": {
11590               "type": "array",
11591               "items": {
11592                 "$ref": "#/definitions/InstanceType"
11593               }
11594             }
11595           },
11596           "additionalProperties": false
11597         },
11598         "InstanceTypesResults": {
11599           "type": "object",
11600           "properties": {
11601             "results": {
11602               "type": "array",
11603               "items": {
11604                 "$ref": "#/definitions/InstanceTypesResult"
11605               }
11606             }
11607           },
11608           "additionalProperties": false,
11609           "required": [
11610             "results"
11611           ]
11612         },
11613         "Macaroon": {
11614           "type": "object",
11615           "additionalProperties": false
11616         },
11617         "ModelInstanceTypesConstraint": {
11618           "type": "object",
11619           "properties": {
11620             "value": {
11621               "$ref": "#/definitions/Value"
11622             }
11623           },
11624           "additionalProperties": false
11625         },
11626         "ModelInstanceTypesConstraints": {
11627           "type": "object",
11628           "properties": {
11629             "constraints": {
11630               "type": "array",
11631               "items": {
11632                 "$ref": "#/definitions/ModelInstanceTypesConstraint"
11633               }
11634             }
11635           },
11636           "additionalProperties": false,
11637           "required": [
11638             "constraints"
11639           ]
11640         },
11641         "Placement": {
11642           "type": "object",
11643           "properties": {
11644             "directive": {
11645               "type": "string"
11646             },
11647             "scope": {
11648               "type": "string"
11649             }
11650           },
11651           "additionalProperties": false,
11652           "required": [
11653             "scope",
11654             "directive"
11655           ]
11656         },
11657         "Value": {
11658           "type": "object",
11659           "properties": {
11660             "arch": {
11661               "type": "string"
11662             },
11663             "container": {
11664               "type": "string"
11665             },
11666             "cores": {
11667               "type": "integer"
11668             },
11669             "cpu-power": {
11670               "type": "integer"
11671             },
11672             "instance-type": {
11673               "type": "string"
11674             },
11675             "mem": {
11676               "type": "integer"
11677             },
11678             "root-disk": {
11679               "type": "integer"
11680             },
11681             "spaces": {
11682               "type": "array",
11683               "items": {
11684                 "type": "string"
11685               }
11686             },
11687             "tags": {
11688               "type": "array",
11689               "items": {
11690                 "type": "string"
11691               }
11692             },
11693             "virt-type": {
11694               "type": "string"
11695             }
11696           },
11697           "additionalProperties": false
11698         }
11699       }
11700     }
11701   },
11702   {
11703     "Name": "MachineUndertaker",
11704     "Version": 1,
11705     "Schema": {
11706       "type": "object",
11707       "properties": {
11708         "AllMachineRemovals": {
11709           "type": "object",
11710           "properties": {
11711             "Params": {
11712               "$ref": "#/definitions/Entities"
11713             },
11714             "Result": {
11715               "$ref": "#/definitions/EntitiesResults"
11716             }
11717           }
11718         },
11719         "CompleteMachineRemovals": {
11720           "type": "object",
11721           "properties": {
11722             "Params": {
11723               "$ref": "#/definitions/Entities"
11724             }
11725           }
11726         },
11727         "GetMachineProviderInterfaceInfo": {
11728           "type": "object",
11729           "properties": {
11730             "Params": {
11731               "$ref": "#/definitions/Entities"
11732             },
11733             "Result": {
11734               "$ref": "#/definitions/ProviderInterfaceInfoResults"
11735             }
11736           }
11737         },
11738         "WatchMachineRemovals": {
11739           "type": "object",
11740           "properties": {
11741             "Params": {
11742               "$ref": "#/definitions/Entities"
11743             },
11744             "Result": {
11745               "$ref": "#/definitions/NotifyWatchResults"
11746             }
11747           }
11748         }
11749       },
11750       "definitions": {
11751         "Entities": {
11752           "type": "object",
11753           "properties": {
11754             "entities": {
11755               "type": "array",
11756               "items": {
11757                 "$ref": "#/definitions/Entity"
11758               }
11759             }
11760           },
11761           "additionalProperties": false,
11762           "required": [
11763             "entities"
11764           ]
11765         },
11766         "EntitiesResult": {
11767           "type": "object",
11768           "properties": {
11769             "entities": {
11770               "type": "array",
11771               "items": {
11772                 "$ref": "#/definitions/Entity"
11773               }
11774             },
11775             "error": {
11776               "$ref": "#/definitions/Error"
11777             }
11778           },
11779           "additionalProperties": false,
11780           "required": [
11781             "entities"
11782           ]
11783         },
11784         "EntitiesResults": {
11785           "type": "object",
11786           "properties": {
11787             "results": {
11788               "type": "array",
11789               "items": {
11790                 "$ref": "#/definitions/EntitiesResult"
11791               }
11792             }
11793           },
11794           "additionalProperties": false,
11795           "required": [
11796             "results"
11797           ]
11798         },
11799         "Entity": {
11800           "type": "object",
11801           "properties": {
11802             "tag": {
11803               "type": "string"
11804             }
11805           },
11806           "additionalProperties": false,
11807           "required": [
11808             "tag"
11809           ]
11810         },
11811         "Error": {
11812           "type": "object",
11813           "properties": {
11814             "code": {
11815               "type": "string"
11816             },
11817             "info": {
11818               "$ref": "#/definitions/ErrorInfo"
11819             },
11820             "message": {
11821               "type": "string"
11822             }
11823           },
11824           "additionalProperties": false,
11825           "required": [
11826             "message",
11827             "code"
11828           ]
11829         },
11830         "ErrorInfo": {
11831           "type": "object",
11832           "properties": {
11833             "macaroon": {
11834               "$ref": "#/definitions/Macaroon"
11835             },
11836             "macaroon-path": {
11837               "type": "string"
11838             }
11839           },
11840           "additionalProperties": false
11841         },
11842         "Macaroon": {
11843           "type": "object",
11844           "additionalProperties": false
11845         },
11846         "NotifyWatchResult": {
11847           "type": "object",
11848           "properties": {
11849             "NotifyWatcherId": {
11850               "type": "string"
11851             },
11852             "error": {
11853               "$ref": "#/definitions/Error"
11854             }
11855           },
11856           "additionalProperties": false,
11857           "required": [
11858             "NotifyWatcherId"
11859           ]
11860         },
11861         "NotifyWatchResults": {
11862           "type": "object",
11863           "properties": {
11864             "results": {
11865               "type": "array",
11866               "items": {
11867                 "$ref": "#/definitions/NotifyWatchResult"
11868               }
11869             }
11870           },
11871           "additionalProperties": false,
11872           "required": [
11873             "results"
11874           ]
11875         },
11876         "ProviderInterfaceInfo": {
11877           "type": "object",
11878           "properties": {
11879             "interface-name": {
11880               "type": "string"
11881             },
11882             "mac-address": {
11883               "type": "string"
11884             },
11885             "provider-id": {
11886               "type": "string"
11887             }
11888           },
11889           "additionalProperties": false,
11890           "required": [
11891             "interface-name",
11892             "mac-address",
11893             "provider-id"
11894           ]
11895         },
11896         "ProviderInterfaceInfoResult": {
11897           "type": "object",
11898           "properties": {
11899             "error": {
11900               "$ref": "#/definitions/Error"
11901             },
11902             "interfaces": {
11903               "type": "array",
11904               "items": {
11905                 "$ref": "#/definitions/ProviderInterfaceInfo"
11906               }
11907             },
11908             "machine-tag": {
11909               "type": "string"
11910             }
11911           },
11912           "additionalProperties": false,
11913           "required": [
11914             "machine-tag",
11915             "interfaces"
11916           ]
11917         },
11918         "ProviderInterfaceInfoResults": {
11919           "type": "object",
11920           "properties": {
11921             "results": {
11922               "type": "array",
11923               "items": {
11924                 "$ref": "#/definitions/ProviderInterfaceInfoResult"
11925               }
11926             }
11927           },
11928           "additionalProperties": false,
11929           "required": [
11930             "results"
11931           ]
11932         }
11933       }
11934     }
11935   },
11936   {
11937     "Name": "Machiner",
11938     "Version": 1,
11939     "Schema": {
11940       "type": "object",
11941       "properties": {
11942         "APIAddresses": {
11943           "type": "object",
11944           "properties": {
11945             "Result": {
11946               "$ref": "#/definitions/StringsResult"
11947             }
11948           }
11949         },
11950         "APIHostPorts": {
11951           "type": "object",
11952           "properties": {
11953             "Result": {
11954               "$ref": "#/definitions/APIHostPortsResult"
11955             }
11956           }
11957         },
11958         "CACert": {
11959           "type": "object",
11960           "properties": {
11961             "Result": {
11962               "$ref": "#/definitions/BytesResult"
11963             }
11964           }
11965         },
11966         "EnsureDead": {
11967           "type": "object",
11968           "properties": {
11969             "Params": {
11970               "$ref": "#/definitions/Entities"
11971             },
11972             "Result": {
11973               "$ref": "#/definitions/ErrorResults"
11974             }
11975           }
11976         },
11977         "Jobs": {
11978           "type": "object",
11979           "properties": {
11980             "Params": {
11981               "$ref": "#/definitions/Entities"
11982             },
11983             "Result": {
11984               "$ref": "#/definitions/JobsResults"
11985             }
11986           }
11987         },
11988         "Life": {
11989           "type": "object",
11990           "properties": {
11991             "Params": {
11992               "$ref": "#/definitions/Entities"
11993             },
11994             "Result": {
11995               "$ref": "#/definitions/LifeResults"
11996             }
11997           }
11998         },
11999         "ModelUUID": {
12000           "type": "object",
12001           "properties": {
12002             "Result": {
12003               "$ref": "#/definitions/StringResult"
12004             }
12005           }
12006         },
12007         "SetMachineAddresses": {
12008           "type": "object",
12009           "properties": {
12010             "Params": {
12011               "$ref": "#/definitions/SetMachinesAddresses"
12012             },
12013             "Result": {
12014               "$ref": "#/definitions/ErrorResults"
12015             }
12016           }
12017         },
12018         "SetObservedNetworkConfig": {
12019           "type": "object",
12020           "properties": {
12021             "Params": {
12022               "$ref": "#/definitions/SetMachineNetworkConfig"
12023             }
12024           }
12025         },
12026         "SetProviderNetworkConfig": {
12027           "type": "object",
12028           "properties": {
12029             "Params": {
12030               "$ref": "#/definitions/Entities"
12031             },
12032             "Result": {
12033               "$ref": "#/definitions/ErrorResults"
12034             }
12035           }
12036         },
12037         "SetStatus": {
12038           "type": "object",
12039           "properties": {
12040             "Params": {
12041               "$ref": "#/definitions/SetStatus"
12042             },
12043             "Result": {
12044               "$ref": "#/definitions/ErrorResults"
12045             }
12046           }
12047         },
12048         "UpdateStatus": {
12049           "type": "object",
12050           "properties": {
12051             "Params": {
12052               "$ref": "#/definitions/SetStatus"
12053             },
12054             "Result": {
12055               "$ref": "#/definitions/ErrorResults"
12056             }
12057           }
12058         },
12059         "Watch": {
12060           "type": "object",
12061           "properties": {
12062             "Params": {
12063               "$ref": "#/definitions/Entities"
12064             },
12065             "Result": {
12066               "$ref": "#/definitions/NotifyWatchResults"
12067             }
12068           }
12069         },
12070         "WatchAPIHostPorts": {
12071           "type": "object",
12072           "properties": {
12073             "Result": {
12074               "$ref": "#/definitions/NotifyWatchResult"
12075             }
12076           }
12077         }
12078       },
12079       "definitions": {
12080         "APIHostPortsResult": {
12081           "type": "object",
12082           "properties": {
12083             "servers": {
12084               "type": "array",
12085               "items": {
12086                 "type": "array",
12087                 "items": {
12088                   "$ref": "#/definitions/HostPort"
12089                 }
12090               }
12091             }
12092           },
12093           "additionalProperties": false,
12094           "required": [
12095             "servers"
12096           ]
12097         },
12098         "Address": {
12099           "type": "object",
12100           "properties": {
12101             "scope": {
12102               "type": "string"
12103             },
12104             "space-name": {
12105               "type": "string"
12106             },
12107             "type": {
12108               "type": "string"
12109             },
12110             "value": {
12111               "type": "string"
12112             }
12113           },
12114           "additionalProperties": false,
12115           "required": [
12116             "value",
12117             "type",
12118             "scope"
12119           ]
12120         },
12121         "BytesResult": {
12122           "type": "object",
12123           "properties": {
12124             "result": {
12125               "type": "array",
12126               "items": {
12127                 "type": "integer"
12128               }
12129             }
12130           },
12131           "additionalProperties": false,
12132           "required": [
12133             "result"
12134           ]
12135         },
12136         "Entities": {
12137           "type": "object",
12138           "properties": {
12139             "entities": {
12140               "type": "array",
12141               "items": {
12142                 "$ref": "#/definitions/Entity"
12143               }
12144             }
12145           },
12146           "additionalProperties": false,
12147           "required": [
12148             "entities"
12149           ]
12150         },
12151         "Entity": {
12152           "type": "object",
12153           "properties": {
12154             "tag": {
12155               "type": "string"
12156             }
12157           },
12158           "additionalProperties": false,
12159           "required": [
12160             "tag"
12161           ]
12162         },
12163         "EntityStatusArgs": {
12164           "type": "object",
12165           "properties": {
12166             "data": {
12167               "type": "object",
12168               "patternProperties": {
12169                 ".*": {
12170                   "type": "object",
12171                   "additionalProperties": true
12172                 }
12173               }
12174             },
12175             "info": {
12176               "type": "string"
12177             },
12178             "status": {
12179               "type": "string"
12180             },
12181             "tag": {
12182               "type": "string"
12183             }
12184           },
12185           "additionalProperties": false,
12186           "required": [
12187             "tag",
12188             "status",
12189             "info",
12190             "data"
12191           ]
12192         },
12193         "Error": {
12194           "type": "object",
12195           "properties": {
12196             "code": {
12197               "type": "string"
12198             },
12199             "info": {
12200               "$ref": "#/definitions/ErrorInfo"
12201             },
12202             "message": {
12203               "type": "string"
12204             }
12205           },
12206           "additionalProperties": false,
12207           "required": [
12208             "message",
12209             "code"
12210           ]
12211         },
12212         "ErrorInfo": {
12213           "type": "object",
12214           "properties": {
12215             "macaroon": {
12216               "$ref": "#/definitions/Macaroon"
12217             },
12218             "macaroon-path": {
12219               "type": "string"
12220             }
12221           },
12222           "additionalProperties": false
12223         },
12224         "ErrorResult": {
12225           "type": "object",
12226           "properties": {
12227             "error": {
12228               "$ref": "#/definitions/Error"
12229             }
12230           },
12231           "additionalProperties": false
12232         },
12233         "ErrorResults": {
12234           "type": "object",
12235           "properties": {
12236             "results": {
12237               "type": "array",
12238               "items": {
12239                 "$ref": "#/definitions/ErrorResult"
12240               }
12241             }
12242           },
12243           "additionalProperties": false,
12244           "required": [
12245             "results"
12246           ]
12247         },
12248         "HostPort": {
12249           "type": "object",
12250           "properties": {
12251             "Address": {
12252               "$ref": "#/definitions/Address"
12253             },
12254             "port": {
12255               "type": "integer"
12256             }
12257           },
12258           "additionalProperties": false,
12259           "required": [
12260             "Address",
12261             "port"
12262           ]
12263         },
12264         "JobsResult": {
12265           "type": "object",
12266           "properties": {
12267             "error": {
12268               "$ref": "#/definitions/Error"
12269             },
12270             "jobs": {
12271               "type": "array",
12272               "items": {
12273                 "type": "string"
12274               }
12275             }
12276           },
12277           "additionalProperties": false,
12278           "required": [
12279             "jobs"
12280           ]
12281         },
12282         "JobsResults": {
12283           "type": "object",
12284           "properties": {
12285             "results": {
12286               "type": "array",
12287               "items": {
12288                 "$ref": "#/definitions/JobsResult"
12289               }
12290             }
12291           },
12292           "additionalProperties": false,
12293           "required": [
12294             "results"
12295           ]
12296         },
12297         "LifeResult": {
12298           "type": "object",
12299           "properties": {
12300             "error": {
12301               "$ref": "#/definitions/Error"
12302             },
12303             "life": {
12304               "type": "string"
12305             }
12306           },
12307           "additionalProperties": false,
12308           "required": [
12309             "life"
12310           ]
12311         },
12312         "LifeResults": {
12313           "type": "object",
12314           "properties": {
12315             "results": {
12316               "type": "array",
12317               "items": {
12318                 "$ref": "#/definitions/LifeResult"
12319               }
12320             }
12321           },
12322           "additionalProperties": false,
12323           "required": [
12324             "results"
12325           ]
12326         },
12327         "Macaroon": {
12328           "type": "object",
12329           "additionalProperties": false
12330         },
12331         "MachineAddresses": {
12332           "type": "object",
12333           "properties": {
12334             "addresses": {
12335               "type": "array",
12336               "items": {
12337                 "$ref": "#/definitions/Address"
12338               }
12339             },
12340             "tag": {
12341               "type": "string"
12342             }
12343           },
12344           "additionalProperties": false,
12345           "required": [
12346             "tag",
12347             "addresses"
12348           ]
12349         },
12350         "NetworkConfig": {
12351           "type": "object",
12352           "properties": {
12353             "address": {
12354               "type": "string"
12355             },
12356             "cidr": {
12357               "type": "string"
12358             },
12359             "config-type": {
12360               "type": "string"
12361             },
12362             "device-index": {
12363               "type": "integer"
12364             },
12365             "disabled": {
12366               "type": "boolean"
12367             },
12368             "dns-search-domains": {
12369               "type": "array",
12370               "items": {
12371                 "type": "string"
12372               }
12373             },
12374             "dns-servers": {
12375               "type": "array",
12376               "items": {
12377                 "type": "string"
12378               }
12379             },
12380             "gateway-address": {
12381               "type": "string"
12382             },
12383             "interface-name": {
12384               "type": "string"
12385             },
12386             "interface-type": {
12387               "type": "string"
12388             },
12389             "mac-address": {
12390               "type": "string"
12391             },
12392             "mtu": {
12393               "type": "integer"
12394             },
12395             "no-auto-start": {
12396               "type": "boolean"
12397             },
12398             "parent-interface-name": {
12399               "type": "string"
12400             },
12401             "provider-address-id": {
12402               "type": "string"
12403             },
12404             "provider-id": {
12405               "type": "string"
12406             },
12407             "provider-space-id": {
12408               "type": "string"
12409             },
12410             "provider-subnet-id": {
12411               "type": "string"
12412             },
12413             "provider-vlan-id": {
12414               "type": "string"
12415             },
12416             "routes": {
12417               "type": "array",
12418               "items": {
12419                 "$ref": "#/definitions/NetworkRoute"
12420               }
12421             },
12422             "vlan-tag": {
12423               "type": "integer"
12424             }
12425           },
12426           "additionalProperties": false,
12427           "required": [
12428             "device-index",
12429             "mac-address",
12430             "cidr",
12431             "mtu",
12432             "provider-id",
12433             "provider-subnet-id",
12434             "provider-space-id",
12435             "provider-address-id",
12436             "provider-vlan-id",
12437             "vlan-tag",
12438             "interface-name",
12439             "parent-interface-name",
12440             "interface-type",
12441             "disabled"
12442           ]
12443         },
12444         "NetworkRoute": {
12445           "type": "object",
12446           "properties": {
12447             "destination-cidr": {
12448               "type": "string"
12449             },
12450             "gateway-ip": {
12451               "type": "string"
12452             },
12453             "metric": {
12454               "type": "integer"
12455             }
12456           },
12457           "additionalProperties": false,
12458           "required": [
12459             "destination-cidr",
12460             "gateway-ip",
12461             "metric"
12462           ]
12463         },
12464         "NotifyWatchResult": {
12465           "type": "object",
12466           "properties": {
12467             "NotifyWatcherId": {
12468               "type": "string"
12469             },
12470             "error": {
12471               "$ref": "#/definitions/Error"
12472             }
12473           },
12474           "additionalProperties": false,
12475           "required": [
12476             "NotifyWatcherId"
12477           ]
12478         },
12479         "NotifyWatchResults": {
12480           "type": "object",
12481           "properties": {
12482             "results": {
12483               "type": "array",
12484               "items": {
12485                 "$ref": "#/definitions/NotifyWatchResult"
12486               }
12487             }
12488           },
12489           "additionalProperties": false,
12490           "required": [
12491             "results"
12492           ]
12493         },
12494         "SetMachineNetworkConfig": {
12495           "type": "object",
12496           "properties": {
12497             "config": {
12498               "type": "array",
12499               "items": {
12500                 "$ref": "#/definitions/NetworkConfig"
12501               }
12502             },
12503             "tag": {
12504               "type": "string"
12505             }
12506           },
12507           "additionalProperties": false,
12508           "required": [
12509             "tag",
12510             "config"
12511           ]
12512         },
12513         "SetMachinesAddresses": {
12514           "type": "object",
12515           "properties": {
12516             "machine-addresses": {
12517               "type": "array",
12518               "items": {
12519                 "$ref": "#/definitions/MachineAddresses"
12520               }
12521             }
12522           },
12523           "additionalProperties": false,
12524           "required": [
12525             "machine-addresses"
12526           ]
12527         },
12528         "SetStatus": {
12529           "type": "object",
12530           "properties": {
12531             "entities": {
12532               "type": "array",
12533               "items": {
12534                 "$ref": "#/definitions/EntityStatusArgs"
12535               }
12536             }
12537           },
12538           "additionalProperties": false,
12539           "required": [
12540             "entities"
12541           ]
12542         },
12543         "StringResult": {
12544           "type": "object",
12545           "properties": {
12546             "error": {
12547               "$ref": "#/definitions/Error"
12548             },
12549             "result": {
12550               "type": "string"
12551             }
12552           },
12553           "additionalProperties": false,
12554           "required": [
12555             "result"
12556           ]
12557         },
12558         "StringsResult": {
12559           "type": "object",
12560           "properties": {
12561             "error": {
12562               "$ref": "#/definitions/Error"
12563             },
12564             "result": {
12565               "type": "array",
12566               "items": {
12567                 "type": "string"
12568               }
12569             }
12570           },
12571           "additionalProperties": false
12572         }
12573       }
12574     }
12575   },
12576   {
12577     "Name": "MeterStatus",
12578     "Version": 1,
12579     "Schema": {
12580       "type": "object",
12581       "properties": {
12582         "GetMeterStatus": {
12583           "type": "object",
12584           "properties": {
12585             "Params": {
12586               "$ref": "#/definitions/Entities"
12587             },
12588             "Result": {
12589               "$ref": "#/definitions/MeterStatusResults"
12590             }
12591           }
12592         },
12593         "WatchMeterStatus": {
12594           "type": "object",
12595           "properties": {
12596             "Params": {
12597               "$ref": "#/definitions/Entities"
12598             },
12599             "Result": {
12600               "$ref": "#/definitions/NotifyWatchResults"
12601             }
12602           }
12603         }
12604       },
12605       "definitions": {
12606         "Entities": {
12607           "type": "object",
12608           "properties": {
12609             "entities": {
12610               "type": "array",
12611               "items": {
12612                 "$ref": "#/definitions/Entity"
12613               }
12614             }
12615           },
12616           "additionalProperties": false,
12617           "required": [
12618             "entities"
12619           ]
12620         },
12621         "Entity": {
12622           "type": "object",
12623           "properties": {
12624             "tag": {
12625               "type": "string"
12626             }
12627           },
12628           "additionalProperties": false,
12629           "required": [
12630             "tag"
12631           ]
12632         },
12633         "Error": {
12634           "type": "object",
12635           "properties": {
12636             "code": {
12637               "type": "string"
12638             },
12639             "info": {
12640               "$ref": "#/definitions/ErrorInfo"
12641             },
12642             "message": {
12643               "type": "string"
12644             }
12645           },
12646           "additionalProperties": false,
12647           "required": [
12648             "message",
12649             "code"
12650           ]
12651         },
12652         "ErrorInfo": {
12653           "type": "object",
12654           "properties": {
12655             "macaroon": {
12656               "$ref": "#/definitions/Macaroon"
12657             },
12658             "macaroon-path": {
12659               "type": "string"
12660             }
12661           },
12662           "additionalProperties": false
12663         },
12664         "Macaroon": {
12665           "type": "object",
12666           "additionalProperties": false
12667         },
12668         "MeterStatusResult": {
12669           "type": "object",
12670           "properties": {
12671             "code": {
12672               "type": "string"
12673             },
12674             "error": {
12675               "$ref": "#/definitions/Error"
12676             },
12677             "info": {
12678               "type": "string"
12679             }
12680           },
12681           "additionalProperties": false,
12682           "required": [
12683             "code",
12684             "info"
12685           ]
12686         },
12687         "MeterStatusResults": {
12688           "type": "object",
12689           "properties": {
12690             "results": {
12691               "type": "array",
12692               "items": {
12693                 "$ref": "#/definitions/MeterStatusResult"
12694               }
12695             }
12696           },
12697           "additionalProperties": false,
12698           "required": [
12699             "results"
12700           ]
12701         },
12702         "NotifyWatchResult": {
12703           "type": "object",
12704           "properties": {
12705             "NotifyWatcherId": {
12706               "type": "string"
12707             },
12708             "error": {
12709               "$ref": "#/definitions/Error"
12710             }
12711           },
12712           "additionalProperties": false,
12713           "required": [
12714             "NotifyWatcherId"
12715           ]
12716         },
12717         "NotifyWatchResults": {
12718           "type": "object",
12719           "properties": {
12720             "results": {
12721               "type": "array",
12722               "items": {
12723                 "$ref": "#/definitions/NotifyWatchResult"
12724               }
12725             }
12726           },
12727           "additionalProperties": false,
12728           "required": [
12729             "results"
12730           ]
12731         }
12732       }
12733     }
12734   },
12735   {
12736     "Name": "MetricsAdder",
12737     "Version": 2,
12738     "Schema": {
12739       "type": "object",
12740       "properties": {
12741         "AddMetricBatches": {
12742           "type": "object",
12743           "properties": {
12744             "Params": {
12745               "$ref": "#/definitions/MetricBatchParams"
12746             },
12747             "Result": {
12748               "$ref": "#/definitions/ErrorResults"
12749             }
12750           }
12751         }
12752       },
12753       "definitions": {
12754         "Error": {
12755           "type": "object",
12756           "properties": {
12757             "code": {
12758               "type": "string"
12759             },
12760             "info": {
12761               "$ref": "#/definitions/ErrorInfo"
12762             },
12763             "message": {
12764               "type": "string"
12765             }
12766           },
12767           "additionalProperties": false,
12768           "required": [
12769             "message",
12770             "code"
12771           ]
12772         },
12773         "ErrorInfo": {
12774           "type": "object",
12775           "properties": {
12776             "macaroon": {
12777               "$ref": "#/definitions/Macaroon"
12778             },
12779             "macaroon-path": {
12780               "type": "string"
12781             }
12782           },
12783           "additionalProperties": false
12784         },
12785         "ErrorResult": {
12786           "type": "object",
12787           "properties": {
12788             "error": {
12789               "$ref": "#/definitions/Error"
12790             }
12791           },
12792           "additionalProperties": false
12793         },
12794         "ErrorResults": {
12795           "type": "object",
12796           "properties": {
12797             "results": {
12798               "type": "array",
12799               "items": {
12800                 "$ref": "#/definitions/ErrorResult"
12801               }
12802             }
12803           },
12804           "additionalProperties": false,
12805           "required": [
12806             "results"
12807           ]
12808         },
12809         "Macaroon": {
12810           "type": "object",
12811           "additionalProperties": false
12812         },
12813         "Metric": {
12814           "type": "object",
12815           "properties": {
12816             "key": {
12817               "type": "string"
12818             },
12819             "time": {
12820               "type": "string",
12821               "format": "date-time"
12822             },
12823             "value": {
12824               "type": "string"
12825             }
12826           },
12827           "additionalProperties": false,
12828           "required": [
12829             "key",
12830             "value",
12831             "time"
12832           ]
12833         },
12834         "MetricBatch": {
12835           "type": "object",
12836           "properties": {
12837             "charm-url": {
12838               "type": "string"
12839             },
12840             "created": {
12841               "type": "string",
12842               "format": "date-time"
12843             },
12844             "metrics": {
12845               "type": "array",
12846               "items": {
12847                 "$ref": "#/definitions/Metric"
12848               }
12849             },
12850             "uuid": {
12851               "type": "string"
12852             }
12853           },
12854           "additionalProperties": false,
12855           "required": [
12856             "uuid",
12857             "charm-url",
12858             "created",
12859             "metrics"
12860           ]
12861         },
12862         "MetricBatchParam": {
12863           "type": "object",
12864           "properties": {
12865             "batch": {
12866               "$ref": "#/definitions/MetricBatch"
12867             },
12868             "tag": {
12869               "type": "string"
12870             }
12871           },
12872           "additionalProperties": false,
12873           "required": [
12874             "tag",
12875             "batch"
12876           ]
12877         },
12878         "MetricBatchParams": {
12879           "type": "object",
12880           "properties": {
12881             "batches": {
12882               "type": "array",
12883               "items": {
12884                 "$ref": "#/definitions/MetricBatchParam"
12885               }
12886             }
12887           },
12888           "additionalProperties": false,
12889           "required": [
12890             "batches"
12891           ]
12892         }
12893       }
12894     }
12895   },
12896   {
12897     "Name": "MetricsDebug",
12898     "Version": 2,
12899     "Schema": {
12900       "type": "object",
12901       "properties": {
12902         "GetMetrics": {
12903           "type": "object",
12904           "properties": {
12905             "Params": {
12906               "$ref": "#/definitions/Entities"
12907             },
12908             "Result": {
12909               "$ref": "#/definitions/MetricResults"
12910             }
12911           }
12912         },
12913         "SetMeterStatus": {
12914           "type": "object",
12915           "properties": {
12916             "Params": {
12917               "$ref": "#/definitions/MeterStatusParams"
12918             },
12919             "Result": {
12920               "$ref": "#/definitions/ErrorResults"
12921             }
12922           }
12923         }
12924       },
12925       "definitions": {
12926         "Entities": {
12927           "type": "object",
12928           "properties": {
12929             "entities": {
12930               "type": "array",
12931               "items": {
12932                 "$ref": "#/definitions/Entity"
12933               }
12934             }
12935           },
12936           "additionalProperties": false,
12937           "required": [
12938             "entities"
12939           ]
12940         },
12941         "Entity": {
12942           "type": "object",
12943           "properties": {
12944             "tag": {
12945               "type": "string"
12946             }
12947           },
12948           "additionalProperties": false,
12949           "required": [
12950             "tag"
12951           ]
12952         },
12953         "EntityMetrics": {
12954           "type": "object",
12955           "properties": {
12956             "error": {
12957               "$ref": "#/definitions/Error"
12958             },
12959             "metrics": {
12960               "type": "array",
12961               "items": {
12962                 "$ref": "#/definitions/MetricResult"
12963               }
12964             }
12965           },
12966           "additionalProperties": false
12967         },
12968         "Error": {
12969           "type": "object",
12970           "properties": {
12971             "code": {
12972               "type": "string"
12973             },
12974             "info": {
12975               "$ref": "#/definitions/ErrorInfo"
12976             },
12977             "message": {
12978               "type": "string"
12979             }
12980           },
12981           "additionalProperties": false,
12982           "required": [
12983             "message",
12984             "code"
12985           ]
12986         },
12987         "ErrorInfo": {
12988           "type": "object",
12989           "properties": {
12990             "macaroon": {
12991               "$ref": "#/definitions/Macaroon"
12992             },
12993             "macaroon-path": {
12994               "type": "string"
12995             }
12996           },
12997           "additionalProperties": false
12998         },
12999         "ErrorResult": {
13000           "type": "object",
13001           "properties": {
13002             "error": {
13003               "$ref": "#/definitions/Error"
13004             }
13005           },
13006           "additionalProperties": false
13007         },
13008         "ErrorResults": {
13009           "type": "object",
13010           "properties": {
13011             "results": {
13012               "type": "array",
13013               "items": {
13014                 "$ref": "#/definitions/ErrorResult"
13015               }
13016             }
13017           },
13018           "additionalProperties": false,
13019           "required": [
13020             "results"
13021           ]
13022         },
13023         "Macaroon": {
13024           "type": "object",
13025           "additionalProperties": false
13026         },
13027         "MeterStatusParam": {
13028           "type": "object",
13029           "properties": {
13030             "code": {
13031               "type": "string"
13032             },
13033             "info": {
13034               "type": "string"
13035             },
13036             "tag": {
13037               "type": "string"
13038             }
13039           },
13040           "additionalProperties": false,
13041           "required": [
13042             "tag",
13043             "code",
13044             "info"
13045           ]
13046         },
13047         "MeterStatusParams": {
13048           "type": "object",
13049           "properties": {
13050             "statues": {
13051               "type": "array",
13052               "items": {
13053                 "$ref": "#/definitions/MeterStatusParam"
13054               }
13055             }
13056           },
13057           "additionalProperties": false,
13058           "required": [
13059             "statues"
13060           ]
13061         },
13062         "MetricResult": {
13063           "type": "object",
13064           "properties": {
13065             "key": {
13066               "type": "string"
13067             },
13068             "time": {
13069               "type": "string",
13070               "format": "date-time"
13071             },
13072             "unit": {
13073               "type": "string"
13074             },
13075             "value": {
13076               "type": "string"
13077             }
13078           },
13079           "additionalProperties": false,
13080           "required": [
13081             "time",
13082             "key",
13083             "value",
13084             "unit"
13085           ]
13086         },
13087         "MetricResults": {
13088           "type": "object",
13089           "properties": {
13090             "results": {
13091               "type": "array",
13092               "items": {
13093                 "$ref": "#/definitions/EntityMetrics"
13094               }
13095             }
13096           },
13097           "additionalProperties": false,
13098           "required": [
13099             "results"
13100           ]
13101         }
13102       }
13103     }
13104   },
13105   {
13106     "Name": "MetricsManager",
13107     "Version": 1,
13108     "Schema": {
13109       "type": "object",
13110       "properties": {
13111         "CleanupOldMetrics": {
13112           "type": "object",
13113           "properties": {
13114             "Params": {
13115               "$ref": "#/definitions/Entities"
13116             },
13117             "Result": {
13118               "$ref": "#/definitions/ErrorResults"
13119             }
13120           }
13121         },
13122         "SendMetrics": {
13123           "type": "object",
13124           "properties": {
13125             "Params": {
13126               "$ref": "#/definitions/Entities"
13127             },
13128             "Result": {
13129               "$ref": "#/definitions/ErrorResults"
13130             }
13131           }
13132         }
13133       },
13134       "definitions": {
13135         "Entities": {
13136           "type": "object",
13137           "properties": {
13138             "entities": {
13139               "type": "array",
13140               "items": {
13141                 "$ref": "#/definitions/Entity"
13142               }
13143             }
13144           },
13145           "additionalProperties": false,
13146           "required": [
13147             "entities"
13148           ]
13149         },
13150         "Entity": {
13151           "type": "object",
13152           "properties": {
13153             "tag": {
13154               "type": "string"
13155             }
13156           },
13157           "additionalProperties": false,
13158           "required": [
13159             "tag"
13160           ]
13161         },
13162         "Error": {
13163           "type": "object",
13164           "properties": {
13165             "code": {
13166               "type": "string"
13167             },
13168             "info": {
13169               "$ref": "#/definitions/ErrorInfo"
13170             },
13171             "message": {
13172               "type": "string"
13173             }
13174           },
13175           "additionalProperties": false,
13176           "required": [
13177             "message",
13178             "code"
13179           ]
13180         },
13181         "ErrorInfo": {
13182           "type": "object",
13183           "properties": {
13184             "macaroon": {
13185               "$ref": "#/definitions/Macaroon"
13186             },
13187             "macaroon-path": {
13188               "type": "string"
13189             }
13190           },
13191           "additionalProperties": false
13192         },
13193         "ErrorResult": {
13194           "type": "object",
13195           "properties": {
13196             "error": {
13197               "$ref": "#/definitions/Error"
13198             }
13199           },
13200           "additionalProperties": false
13201         },
13202         "ErrorResults": {
13203           "type": "object",
13204           "properties": {
13205             "results": {
13206               "type": "array",
13207               "items": {
13208                 "$ref": "#/definitions/ErrorResult"
13209               }
13210             }
13211           },
13212           "additionalProperties": false,
13213           "required": [
13214             "results"
13215           ]
13216         },
13217         "Macaroon": {
13218           "type": "object",
13219           "additionalProperties": false
13220         }
13221       }
13222     }
13223   },
13224   {
13225     "Name": "MigrationFlag",
13226     "Version": 1,
13227     "Schema": {
13228       "type": "object",
13229       "properties": {
13230         "Phase": {
13231           "type": "object",
13232           "properties": {
13233             "Params": {
13234               "$ref": "#/definitions/Entities"
13235             },
13236             "Result": {
13237               "$ref": "#/definitions/PhaseResults"
13238             }
13239           }
13240         },
13241         "Watch": {
13242           "type": "object",
13243           "properties": {
13244             "Params": {
13245               "$ref": "#/definitions/Entities"
13246             },
13247             "Result": {
13248               "$ref": "#/definitions/NotifyWatchResults"
13249             }
13250           }
13251         }
13252       },
13253       "definitions": {
13254         "Entities": {
13255           "type": "object",
13256           "properties": {
13257             "entities": {
13258               "type": "array",
13259               "items": {
13260                 "$ref": "#/definitions/Entity"
13261               }
13262             }
13263           },
13264           "additionalProperties": false,
13265           "required": [
13266             "entities"
13267           ]
13268         },
13269         "Entity": {
13270           "type": "object",
13271           "properties": {
13272             "tag": {
13273               "type": "string"
13274             }
13275           },
13276           "additionalProperties": false,
13277           "required": [
13278             "tag"
13279           ]
13280         },
13281         "Error": {
13282           "type": "object",
13283           "properties": {
13284             "code": {
13285               "type": "string"
13286             },
13287             "info": {
13288               "$ref": "#/definitions/ErrorInfo"
13289             },
13290             "message": {
13291               "type": "string"
13292             }
13293           },
13294           "additionalProperties": false,
13295           "required": [
13296             "message",
13297             "code"
13298           ]
13299         },
13300         "ErrorInfo": {
13301           "type": "object",
13302           "properties": {
13303             "macaroon": {
13304               "$ref": "#/definitions/Macaroon"
13305             },
13306             "macaroon-path": {
13307               "type": "string"
13308             }
13309           },
13310           "additionalProperties": false
13311         },
13312         "Macaroon": {
13313           "type": "object",
13314           "additionalProperties": false
13315         },
13316         "NotifyWatchResult": {
13317           "type": "object",
13318           "properties": {
13319             "NotifyWatcherId": {
13320               "type": "string"
13321             },
13322             "error": {
13323               "$ref": "#/definitions/Error"
13324             }
13325           },
13326           "additionalProperties": false,
13327           "required": [
13328             "NotifyWatcherId"
13329           ]
13330         },
13331         "NotifyWatchResults": {
13332           "type": "object",
13333           "properties": {
13334             "results": {
13335               "type": "array",
13336               "items": {
13337                 "$ref": "#/definitions/NotifyWatchResult"
13338               }
13339             }
13340           },
13341           "additionalProperties": false,
13342           "required": [
13343             "results"
13344           ]
13345         },
13346         "PhaseResult": {
13347           "type": "object",
13348           "properties": {
13349             "error": {
13350               "$ref": "#/definitions/Error"
13351             },
13352             "phase": {
13353               "type": "string"
13354             }
13355           },
13356           "additionalProperties": false
13357         },
13358         "PhaseResults": {
13359           "type": "object",
13360           "properties": {
13361             "results": {
13362               "type": "array",
13363               "items": {
13364                 "$ref": "#/definitions/PhaseResult"
13365               }
13366             }
13367           },
13368           "additionalProperties": false,
13369           "required": [
13370             "results"
13371           ]
13372         }
13373       }
13374     }
13375   },
13376   {
13377     "Name": "MigrationMaster",
13378     "Version": 1,
13379     "Schema": {
13380       "type": "object",
13381       "properties": {
13382         "Export": {
13383           "type": "object",
13384           "properties": {
13385             "Result": {
13386               "$ref": "#/definitions/SerializedModel"
13387             }
13388           }
13389         },
13390         "MigrationStatus": {
13391           "type": "object",
13392           "properties": {
13393             "Result": {
13394               "$ref": "#/definitions/MasterMigrationStatus"
13395             }
13396           }
13397         },
13398         "MinionReports": {
13399           "type": "object",
13400           "properties": {
13401             "Result": {
13402               "$ref": "#/definitions/MinionReports"
13403             }
13404           }
13405         },
13406         "ModelInfo": {
13407           "type": "object",
13408           "properties": {
13409             "Result": {
13410               "$ref": "#/definitions/MigrationModelInfo"
13411             }
13412           }
13413         },
13414         "Prechecks": {
13415           "type": "object"
13416         },
13417         "Reap": {
13418           "type": "object"
13419         },
13420         "SetPhase": {
13421           "type": "object",
13422           "properties": {
13423             "Params": {
13424               "$ref": "#/definitions/SetMigrationPhaseArgs"
13425             }
13426           }
13427         },
13428         "SetStatusMessage": {
13429           "type": "object",
13430           "properties": {
13431             "Params": {
13432               "$ref": "#/definitions/SetMigrationStatusMessageArgs"
13433             }
13434           }
13435         },
13436         "Watch": {
13437           "type": "object",
13438           "properties": {
13439             "Result": {
13440               "$ref": "#/definitions/NotifyWatchResult"
13441             }
13442           }
13443         },
13444         "WatchMinionReports": {
13445           "type": "object",
13446           "properties": {
13447             "Result": {
13448               "$ref": "#/definitions/NotifyWatchResult"
13449             }
13450           }
13451         }
13452       },
13453       "definitions": {
13454         "Error": {
13455           "type": "object",
13456           "properties": {
13457             "code": {
13458               "type": "string"
13459             },
13460             "info": {
13461               "$ref": "#/definitions/ErrorInfo"
13462             },
13463             "message": {
13464               "type": "string"
13465             }
13466           },
13467           "additionalProperties": false,
13468           "required": [
13469             "message",
13470             "code"
13471           ]
13472         },
13473         "ErrorInfo": {
13474           "type": "object",
13475           "properties": {
13476             "macaroon": {
13477               "$ref": "#/definitions/Macaroon"
13478             },
13479             "macaroon-path": {
13480               "type": "string"
13481             }
13482           },
13483           "additionalProperties": false
13484         },
13485         "Macaroon": {
13486           "type": "object",
13487           "additionalProperties": false
13488         },
13489         "MasterMigrationStatus": {
13490           "type": "object",
13491           "properties": {
13492             "migration-id": {
13493               "type": "string"
13494             },
13495             "phase": {
13496               "type": "string"
13497             },
13498             "phase-changed-time": {
13499               "type": "string",
13500               "format": "date-time"
13501             },
13502             "spec": {
13503               "$ref": "#/definitions/MigrationSpec"
13504             }
13505           },
13506           "additionalProperties": false,
13507           "required": [
13508             "spec",
13509             "migration-id",
13510             "phase",
13511             "phase-changed-time"
13512           ]
13513         },
13514         "MigrationModelInfo": {
13515           "type": "object",
13516           "properties": {
13517             "agent-version": {
13518               "$ref": "#/definitions/Number"
13519             },
13520             "controller-agent-version": {
13521               "$ref": "#/definitions/Number"
13522             },
13523             "name": {
13524               "type": "string"
13525             },
13526             "owner-tag": {
13527               "type": "string"
13528             },
13529             "uuid": {
13530               "type": "string"
13531             }
13532           },
13533           "additionalProperties": false,
13534           "required": [
13535             "uuid",
13536             "name",
13537             "owner-tag",
13538             "agent-version",
13539             "controller-agent-version"
13540           ]
13541         },
13542         "MigrationSpec": {
13543           "type": "object",
13544           "properties": {
13545             "external-control": {
13546               "type": "boolean"
13547             },
13548             "model-tag": {
13549               "type": "string"
13550             },
13551             "skip-initial-prechecks": {
13552               "type": "boolean"
13553             },
13554             "target-info": {
13555               "$ref": "#/definitions/MigrationTargetInfo"
13556             }
13557           },
13558           "additionalProperties": false,
13559           "required": [
13560             "model-tag",
13561             "target-info",
13562             "external-control",
13563             "skip-initial-prechecks"
13564           ]
13565         },
13566         "MigrationTargetInfo": {
13567           "type": "object",
13568           "properties": {
13569             "addrs": {
13570               "type": "array",
13571               "items": {
13572                 "type": "string"
13573               }
13574             },
13575             "auth-tag": {
13576               "type": "string"
13577             },
13578             "ca-cert": {
13579               "type": "string"
13580             },
13581             "controller-tag": {
13582               "type": "string"
13583             },
13584             "macaroons": {
13585               "type": "string"
13586             },
13587             "password": {
13588               "type": "string"
13589             }
13590           },
13591           "additionalProperties": false,
13592           "required": [
13593             "controller-tag",
13594             "addrs",
13595             "ca-cert",
13596             "auth-tag"
13597           ]
13598         },
13599         "MinionReports": {
13600           "type": "object",
13601           "properties": {
13602             "failed": {
13603               "type": "array",
13604               "items": {
13605                 "type": "string"
13606               }
13607             },
13608             "migration-id": {
13609               "type": "string"
13610             },
13611             "phase": {
13612               "type": "string"
13613             },
13614             "success-count": {
13615               "type": "integer"
13616             },
13617             "unknown-count": {
13618               "type": "integer"
13619             },
13620             "unknown-sample": {
13621               "type": "array",
13622               "items": {
13623                 "type": "string"
13624               }
13625             }
13626           },
13627           "additionalProperties": false,
13628           "required": [
13629             "migration-id",
13630             "phase",
13631             "success-count",
13632             "unknown-count",
13633             "unknown-sample",
13634             "failed"
13635           ]
13636         },
13637         "NotifyWatchResult": {
13638           "type": "object",
13639           "properties": {
13640             "NotifyWatcherId": {
13641               "type": "string"
13642             },
13643             "error": {
13644               "$ref": "#/definitions/Error"
13645             }
13646           },
13647           "additionalProperties": false,
13648           "required": [
13649             "NotifyWatcherId"
13650           ]
13651         },
13652         "Number": {
13653           "type": "object",
13654           "properties": {
13655             "Build": {
13656               "type": "integer"
13657             },
13658             "Major": {
13659               "type": "integer"
13660             },
13661             "Minor": {
13662               "type": "integer"
13663             },
13664             "Patch": {
13665               "type": "integer"
13666             },
13667             "Tag": {
13668               "type": "string"
13669             }
13670           },
13671           "additionalProperties": false,
13672           "required": [
13673             "Major",
13674             "Minor",
13675             "Tag",
13676             "Patch",
13677             "Build"
13678           ]
13679         },
13680         "SerializedModel": {
13681           "type": "object",
13682           "properties": {
13683             "bytes": {
13684               "type": "array",
13685               "items": {
13686                 "type": "integer"
13687               }
13688             },
13689             "charms": {
13690               "type": "array",
13691               "items": {
13692                 "type": "string"
13693               }
13694             },
13695             "resources": {
13696               "type": "array",
13697               "items": {
13698                 "$ref": "#/definitions/SerializedModelResource"
13699               }
13700             },
13701             "tools": {
13702               "type": "array",
13703               "items": {
13704                 "$ref": "#/definitions/SerializedModelTools"
13705               }
13706             }
13707           },
13708           "additionalProperties": false,
13709           "required": [
13710             "bytes",
13711             "charms",
13712             "tools",
13713             "resources"
13714           ]
13715         },
13716         "SerializedModelResource": {
13717           "type": "object",
13718           "properties": {
13719             "application": {
13720               "type": "string"
13721             },
13722             "application-revision": {
13723               "$ref": "#/definitions/SerializedModelResourceRevision"
13724             },
13725             "charmstore-revision": {
13726               "$ref": "#/definitions/SerializedModelResourceRevision"
13727             },
13728             "name": {
13729               "type": "string"
13730             },
13731             "unit-revisions": {
13732               "type": "object",
13733               "patternProperties": {
13734                 ".*": {
13735                   "$ref": "#/definitions/SerializedModelResourceRevision"
13736                 }
13737               }
13738             }
13739           },
13740           "additionalProperties": false,
13741           "required": [
13742             "application",
13743             "name",
13744             "application-revision",
13745             "charmstore-revision",
13746             "unit-revisions"
13747           ]
13748         },
13749         "SerializedModelResourceRevision": {
13750           "type": "object",
13751           "properties": {
13752             "description": {
13753               "type": "string"
13754             },
13755             "fingerprint": {
13756               "type": "string"
13757             },
13758             "origin": {
13759               "type": "string"
13760             },
13761             "path": {
13762               "type": "string"
13763             },
13764             "revision": {
13765               "type": "integer"
13766             },
13767             "size": {
13768               "type": "integer"
13769             },
13770             "timestamp": {
13771               "type": "string",
13772               "format": "date-time"
13773             },
13774             "type": {
13775               "type": "string"
13776             },
13777             "username": {
13778               "type": "string"
13779             }
13780           },
13781           "additionalProperties": false,
13782           "required": [
13783             "revision",
13784             "type",
13785             "path",
13786             "description",
13787             "origin",
13788             "fingerprint",
13789             "size",
13790             "timestamp"
13791           ]
13792         },
13793         "SerializedModelTools": {
13794           "type": "object",
13795           "properties": {
13796             "uri": {
13797               "type": "string"
13798             },
13799             "version": {
13800               "type": "string"
13801             }
13802           },
13803           "additionalProperties": false,
13804           "required": [
13805             "version",
13806             "uri"
13807           ]
13808         },
13809         "SetMigrationPhaseArgs": {
13810           "type": "object",
13811           "properties": {
13812             "phase": {
13813               "type": "string"
13814             }
13815           },
13816           "additionalProperties": false,
13817           "required": [
13818             "phase"
13819           ]
13820         },
13821         "SetMigrationStatusMessageArgs": {
13822           "type": "object",
13823           "properties": {
13824             "message": {
13825               "type": "string"
13826             }
13827           },
13828           "additionalProperties": false,
13829           "required": [
13830             "message"
13831           ]
13832         }
13833       }
13834     }
13835   },
13836   {
13837     "Name": "MigrationMinion",
13838     "Version": 1,
13839     "Schema": {
13840       "type": "object",
13841       "properties": {
13842         "Report": {
13843           "type": "object",
13844           "properties": {
13845             "Params": {
13846               "$ref": "#/definitions/MinionReport"
13847             }
13848           }
13849         },
13850         "Watch": {
13851           "type": "object",
13852           "properties": {
13853             "Result": {
13854               "$ref": "#/definitions/NotifyWatchResult"
13855             }
13856           }
13857         }
13858       },
13859       "definitions": {
13860         "Error": {
13861           "type": "object",
13862           "properties": {
13863             "code": {
13864               "type": "string"
13865             },
13866             "info": {
13867               "$ref": "#/definitions/ErrorInfo"
13868             },
13869             "message": {
13870               "type": "string"
13871             }
13872           },
13873           "additionalProperties": false,
13874           "required": [
13875             "message",
13876             "code"
13877           ]
13878         },
13879         "ErrorInfo": {
13880           "type": "object",
13881           "properties": {
13882             "macaroon": {
13883               "$ref": "#/definitions/Macaroon"
13884             },
13885             "macaroon-path": {
13886               "type": "string"
13887             }
13888           },
13889           "additionalProperties": false
13890         },
13891         "Macaroon": {
13892           "type": "object",
13893           "additionalProperties": false
13894         },
13895         "MinionReport": {
13896           "type": "object",
13897           "properties": {
13898             "migration-id": {
13899               "type": "string"
13900             },
13901             "phase": {
13902               "type": "string"
13903             },
13904             "success": {
13905               "type": "boolean"
13906             }
13907           },
13908           "additionalProperties": false,
13909           "required": [
13910             "migration-id",
13911             "phase",
13912             "success"
13913           ]
13914         },
13915         "NotifyWatchResult": {
13916           "type": "object",
13917           "properties": {
13918             "NotifyWatcherId": {
13919               "type": "string"
13920             },
13921             "error": {
13922               "$ref": "#/definitions/Error"
13923             }
13924           },
13925           "additionalProperties": false,
13926           "required": [
13927             "NotifyWatcherId"
13928           ]
13929         }
13930       }
13931     }
13932   },
13933   {
13934     "Name": "MigrationStatusWatcher",
13935     "Version": 1,
13936     "Schema": {
13937       "type": "object",
13938       "properties": {
13939         "Next": {
13940           "type": "object",
13941           "properties": {
13942             "Result": {
13943               "$ref": "#/definitions/MigrationStatus"
13944             }
13945           }
13946         },
13947         "Stop": {
13948           "type": "object"
13949         }
13950       },
13951       "definitions": {
13952         "MigrationStatus": {
13953           "type": "object",
13954           "properties": {
13955             "attempt": {
13956               "type": "integer"
13957             },
13958             "external-control": {
13959               "type": "boolean"
13960             },
13961             "migration-id": {
13962               "type": "string"
13963             },
13964             "phase": {
13965               "type": "string"
13966             },
13967             "source-api-addrs": {
13968               "type": "array",
13969               "items": {
13970                 "type": "string"
13971               }
13972             },
13973             "source-ca-cert": {
13974               "type": "string"
13975             },
13976             "target-api-addrs": {
13977               "type": "array",
13978               "items": {
13979                 "type": "string"
13980               }
13981             },
13982             "target-ca-cert": {
13983               "type": "string"
13984             }
13985           },
13986           "additionalProperties": false,
13987           "required": [
13988             "migration-id",
13989             "attempt",
13990             "phase",
13991             "external-control",
13992             "source-api-addrs",
13993             "source-ca-cert",
13994             "target-api-addrs",
13995             "target-ca-cert"
13996           ]
13997         }
13998       }
13999     }
14000   },
14001   {
14002     "Name": "MigrationTarget",
14003     "Version": 1,
14004     "Schema": {
14005       "type": "object",
14006       "properties": {
14007         "Abort": {
14008           "type": "object",
14009           "properties": {
14010             "Params": {
14011               "$ref": "#/definitions/ModelArgs"
14012             }
14013           }
14014         },
14015         "Activate": {
14016           "type": "object",
14017           "properties": {
14018             "Params": {
14019               "$ref": "#/definitions/ModelArgs"
14020             }
14021           }
14022         },
14023         "AdoptResources": {
14024           "type": "object",
14025           "properties": {
14026             "Params": {
14027               "$ref": "#/definitions/AdoptResourcesArgs"
14028             }
14029           }
14030         },
14031         "Import": {
14032           "type": "object",
14033           "properties": {
14034             "Params": {
14035               "$ref": "#/definitions/SerializedModel"
14036             }
14037           }
14038         },
14039         "LatestLogTime": {
14040           "type": "object",
14041           "properties": {
14042             "Params": {
14043               "$ref": "#/definitions/ModelArgs"
14044             },
14045             "Result": {
14046               "type": "string",
14047               "format": "date-time"
14048             }
14049           }
14050         },
14051         "Prechecks": {
14052           "type": "object",
14053           "properties": {
14054             "Params": {
14055               "$ref": "#/definitions/MigrationModelInfo"
14056             }
14057           }
14058         }
14059       },
14060       "definitions": {
14061         "AdoptResourcesArgs": {
14062           "type": "object",
14063           "properties": {
14064             "model-tag": {
14065               "type": "string"
14066             },
14067             "source-controller-version": {
14068               "$ref": "#/definitions/Number"
14069             }
14070           },
14071           "additionalProperties": false,
14072           "required": [
14073             "model-tag",
14074             "source-controller-version"
14075           ]
14076         },
14077         "MigrationModelInfo": {
14078           "type": "object",
14079           "properties": {
14080             "agent-version": {
14081               "$ref": "#/definitions/Number"
14082             },
14083             "controller-agent-version": {
14084               "$ref": "#/definitions/Number"
14085             },
14086             "name": {
14087               "type": "string"
14088             },
14089             "owner-tag": {
14090               "type": "string"
14091             },
14092             "uuid": {
14093               "type": "string"
14094             }
14095           },
14096           "additionalProperties": false,
14097           "required": [
14098             "uuid",
14099             "name",
14100             "owner-tag",
14101             "agent-version",
14102             "controller-agent-version"
14103           ]
14104         },
14105         "ModelArgs": {
14106           "type": "object",
14107           "properties": {
14108             "model-tag": {
14109               "type": "string"
14110             }
14111           },
14112           "additionalProperties": false,
14113           "required": [
14114             "model-tag"
14115           ]
14116         },
14117         "Number": {
14118           "type": "object",
14119           "properties": {
14120             "Build": {
14121               "type": "integer"
14122             },
14123             "Major": {
14124               "type": "integer"
14125             },
14126             "Minor": {
14127               "type": "integer"
14128             },
14129             "Patch": {
14130               "type": "integer"
14131             },
14132             "Tag": {
14133               "type": "string"
14134             }
14135           },
14136           "additionalProperties": false,
14137           "required": [
14138             "Major",
14139             "Minor",
14140             "Tag",
14141             "Patch",
14142             "Build"
14143           ]
14144         },
14145         "SerializedModel": {
14146           "type": "object",
14147           "properties": {
14148             "bytes": {
14149               "type": "array",
14150               "items": {
14151                 "type": "integer"
14152               }
14153             },
14154             "charms": {
14155               "type": "array",
14156               "items": {
14157                 "type": "string"
14158               }
14159             },
14160             "resources": {
14161               "type": "array",
14162               "items": {
14163                 "$ref": "#/definitions/SerializedModelResource"
14164               }
14165             },
14166             "tools": {
14167               "type": "array",
14168               "items": {
14169                 "$ref": "#/definitions/SerializedModelTools"
14170               }
14171             }
14172           },
14173           "additionalProperties": false,
14174           "required": [
14175             "bytes",
14176             "charms",
14177             "tools",
14178             "resources"
14179           ]
14180         },
14181         "SerializedModelResource": {
14182           "type": "object",
14183           "properties": {
14184             "application": {
14185               "type": "string"
14186             },
14187             "application-revision": {
14188               "$ref": "#/definitions/SerializedModelResourceRevision"
14189             },
14190             "charmstore-revision": {
14191               "$ref": "#/definitions/SerializedModelResourceRevision"
14192             },
14193             "name": {
14194               "type": "string"
14195             },
14196             "unit-revisions": {
14197               "type": "object",
14198               "patternProperties": {
14199                 ".*": {
14200                   "$ref": "#/definitions/SerializedModelResourceRevision"
14201                 }
14202               }
14203             }
14204           },
14205           "additionalProperties": false,
14206           "required": [
14207             "application",
14208             "name",
14209             "application-revision",
14210             "charmstore-revision",
14211             "unit-revisions"
14212           ]
14213         },
14214         "SerializedModelResourceRevision": {
14215           "type": "object",
14216           "properties": {
14217             "description": {
14218               "type": "string"
14219             },
14220             "fingerprint": {
14221               "type": "string"
14222             },
14223             "origin": {
14224               "type": "string"
14225             },
14226             "path": {
14227               "type": "string"
14228             },
14229             "revision": {
14230               "type": "integer"
14231             },
14232             "size": {
14233               "type": "integer"
14234             },
14235             "timestamp": {
14236               "type": "string",
14237               "format": "date-time"
14238             },
14239             "type": {
14240               "type": "string"
14241             },
14242             "username": {
14243               "type": "string"
14244             }
14245           },
14246           "additionalProperties": false,
14247           "required": [
14248             "revision",
14249             "type",
14250             "path",
14251             "description",
14252             "origin",
14253             "fingerprint",
14254             "size",
14255             "timestamp"
14256           ]
14257         },
14258         "SerializedModelTools": {
14259           "type": "object",
14260           "properties": {
14261             "uri": {
14262               "type": "string"
14263             },
14264             "version": {
14265               "type": "string"
14266             }
14267           },
14268           "additionalProperties": false,
14269           "required": [
14270             "version",
14271             "uri"
14272           ]
14273         }
14274       }
14275     }
14276   },
14277   {
14278     "Name": "ModelConfig",
14279     "Version": 1,
14280     "Schema": {
14281       "type": "object",
14282       "properties": {
14283         "ModelGet": {
14284           "type": "object",
14285           "properties": {
14286             "Result": {
14287               "$ref": "#/definitions/ModelConfigResults"
14288             }
14289           }
14290         },
14291         "ModelSet": {
14292           "type": "object",
14293           "properties": {
14294             "Params": {
14295               "$ref": "#/definitions/ModelSet"
14296             }
14297           }
14298         },
14299         "ModelUnset": {
14300           "type": "object",
14301           "properties": {
14302             "Params": {
14303               "$ref": "#/definitions/ModelUnset"
14304             }
14305           }
14306         }
14307       },
14308       "definitions": {
14309         "ConfigValue": {
14310           "type": "object",
14311           "properties": {
14312             "source": {
14313               "type": "string"
14314             },
14315             "value": {
14316               "type": "object",
14317               "additionalProperties": true
14318             }
14319           },
14320           "additionalProperties": false,
14321           "required": [
14322             "value",
14323             "source"
14324           ]
14325         },
14326         "ModelConfigResults": {
14327           "type": "object",
14328           "properties": {
14329             "config": {
14330               "type": "object",
14331               "patternProperties": {
14332                 ".*": {
14333                   "$ref": "#/definitions/ConfigValue"
14334                 }
14335               }
14336             }
14337           },
14338           "additionalProperties": false,
14339           "required": [
14340             "config"
14341           ]
14342         },
14343         "ModelSet": {
14344           "type": "object",
14345           "properties": {
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         "ModelUnset": {
14362           "type": "object",
14363           "properties": {
14364             "keys": {
14365               "type": "array",
14366               "items": {
14367                 "type": "string"
14368               }
14369             }
14370           },
14371           "additionalProperties": false,
14372           "required": [
14373             "keys"
14374           ]
14375         }
14376       }
14377     }
14378   },
14379   {
14380     "Name": "ModelManager",
14381     "Version": 2,
14382     "Schema": {
14383       "type": "object",
14384       "properties": {
14385         "CreateModel": {
14386           "type": "object",
14387           "properties": {
14388             "Params": {
14389               "$ref": "#/definitions/ModelCreateArgs"
14390             },
14391             "Result": {
14392               "$ref": "#/definitions/ModelInfo"
14393             }
14394           }
14395         },
14396         "DestroyModels": {
14397           "type": "object",
14398           "properties": {
14399             "Params": {
14400               "$ref": "#/definitions/Entities"
14401             },
14402             "Result": {
14403               "$ref": "#/definitions/ErrorResults"
14404             }
14405           }
14406         },
14407         "DumpModels": {
14408           "type": "object",
14409           "properties": {
14410             "Params": {
14411               "$ref": "#/definitions/Entities"
14412             },
14413             "Result": {
14414               "$ref": "#/definitions/MapResults"
14415             }
14416           }
14417         },
14418         "DumpModelsDB": {
14419           "type": "object",
14420           "properties": {
14421             "Params": {
14422               "$ref": "#/definitions/Entities"
14423             },
14424             "Result": {
14425               "$ref": "#/definitions/MapResults"
14426             }
14427           }
14428         },
14429         "ListModels": {
14430           "type": "object",
14431           "properties": {
14432             "Params": {
14433               "$ref": "#/definitions/Entity"
14434             },
14435             "Result": {
14436               "$ref": "#/definitions/UserModelList"
14437             }
14438           }
14439         },
14440         "ModelDefaults": {
14441           "type": "object",
14442           "properties": {
14443             "Result": {
14444               "$ref": "#/definitions/ModelDefaultsResult"
14445             }
14446           }
14447         },
14448         "ModelInfo": {
14449           "type": "object",
14450           "properties": {
14451             "Params": {
14452               "$ref": "#/definitions/Entities"
14453             },
14454             "Result": {
14455               "$ref": "#/definitions/ModelInfoResults"
14456             }
14457           }
14458         },
14459         "ModelStatus": {
14460           "type": "object",
14461           "properties": {
14462             "Params": {
14463               "$ref": "#/definitions/Entities"
14464             },
14465             "Result": {
14466               "$ref": "#/definitions/ModelStatusResults"
14467             }
14468           }
14469         },
14470         "ModifyModelAccess": {
14471           "type": "object",
14472           "properties": {
14473             "Params": {
14474               "$ref": "#/definitions/ModifyModelAccessRequest"
14475             },
14476             "Result": {
14477               "$ref": "#/definitions/ErrorResults"
14478             }
14479           }
14480         },
14481         "SetModelDefaults": {
14482           "type": "object",
14483           "properties": {
14484             "Params": {
14485               "$ref": "#/definitions/SetModelDefaults"
14486             },
14487             "Result": {
14488               "$ref": "#/definitions/ErrorResults"
14489             }
14490           }
14491         },
14492         "UnsetModelDefaults": {
14493           "type": "object",
14494           "properties": {
14495             "Params": {
14496               "$ref": "#/definitions/UnsetModelDefaults"
14497             },
14498             "Result": {
14499               "$ref": "#/definitions/ErrorResults"
14500             }
14501           }
14502         }
14503       },
14504       "definitions": {
14505         "Entities": {
14506           "type": "object",
14507           "properties": {
14508             "entities": {
14509               "type": "array",
14510               "items": {
14511                 "$ref": "#/definitions/Entity"
14512               }
14513             }
14514           },
14515           "additionalProperties": false,
14516           "required": [
14517             "entities"
14518           ]
14519         },
14520         "Entity": {
14521           "type": "object",
14522           "properties": {
14523             "tag": {
14524               "type": "string"
14525             }
14526           },
14527           "additionalProperties": false,
14528           "required": [
14529             "tag"
14530           ]
14531         },
14532         "EntityStatus": {
14533           "type": "object",
14534           "properties": {
14535             "data": {
14536               "type": "object",
14537               "patternProperties": {
14538                 ".*": {
14539                   "type": "object",
14540                   "additionalProperties": true
14541                 }
14542               }
14543             },
14544             "info": {
14545               "type": "string"
14546             },
14547             "since": {
14548               "type": "string",
14549               "format": "date-time"
14550             },
14551             "status": {
14552               "type": "string"
14553             }
14554           },
14555           "additionalProperties": false,
14556           "required": [
14557             "status",
14558             "info",
14559             "since"
14560           ]
14561         },
14562         "Error": {
14563           "type": "object",
14564           "properties": {
14565             "code": {
14566               "type": "string"
14567             },
14568             "info": {
14569               "$ref": "#/definitions/ErrorInfo"
14570             },
14571             "message": {
14572               "type": "string"
14573             }
14574           },
14575           "additionalProperties": false,
14576           "required": [
14577             "message",
14578             "code"
14579           ]
14580         },
14581         "ErrorInfo": {
14582           "type": "object",
14583           "properties": {
14584             "macaroon": {
14585               "$ref": "#/definitions/Macaroon"
14586             },
14587             "macaroon-path": {
14588               "type": "string"
14589             }
14590           },
14591           "additionalProperties": false
14592         },
14593         "ErrorResult": {
14594           "type": "object",
14595           "properties": {
14596             "error": {
14597               "$ref": "#/definitions/Error"
14598             }
14599           },
14600           "additionalProperties": false
14601         },
14602         "ErrorResults": {
14603           "type": "object",
14604           "properties": {
14605             "results": {
14606               "type": "array",
14607               "items": {
14608                 "$ref": "#/definitions/ErrorResult"
14609               }
14610             }
14611           },
14612           "additionalProperties": false,
14613           "required": [
14614             "results"
14615           ]
14616         },
14617         "Macaroon": {
14618           "type": "object",
14619           "additionalProperties": false
14620         },
14621         "MachineHardware": {
14622           "type": "object",
14623           "properties": {
14624             "arch": {
14625               "type": "string"
14626             },
14627             "availability-zone": {
14628               "type": "string"
14629             },
14630             "cores": {
14631               "type": "integer"
14632             },
14633             "cpu-power": {
14634               "type": "integer"
14635             },
14636             "mem": {
14637               "type": "integer"
14638             },
14639             "root-disk": {
14640               "type": "integer"
14641             },
14642             "tags": {
14643               "type": "array",
14644               "items": {
14645                 "type": "string"
14646               }
14647             }
14648           },
14649           "additionalProperties": false
14650         },
14651         "MapResult": {
14652           "type": "object",
14653           "properties": {
14654             "error": {
14655               "$ref": "#/definitions/Error"
14656             },
14657             "result": {
14658               "type": "object",
14659               "patternProperties": {
14660                 ".*": {
14661                   "type": "object",
14662                   "additionalProperties": true
14663                 }
14664               }
14665             }
14666           },
14667           "additionalProperties": false,
14668           "required": [
14669             "result"
14670           ]
14671         },
14672         "MapResults": {
14673           "type": "object",
14674           "properties": {
14675             "results": {
14676               "type": "array",
14677               "items": {
14678                 "$ref": "#/definitions/MapResult"
14679               }
14680             }
14681           },
14682           "additionalProperties": false,
14683           "required": [
14684             "results"
14685           ]
14686         },
14687         "Model": {
14688           "type": "object",
14689           "properties": {
14690             "name": {
14691               "type": "string"
14692             },
14693             "owner-tag": {
14694               "type": "string"
14695             },
14696             "uuid": {
14697               "type": "string"
14698             }
14699           },
14700           "additionalProperties": false,
14701           "required": [
14702             "name",
14703             "uuid",
14704             "owner-tag"
14705           ]
14706         },
14707         "ModelCreateArgs": {
14708           "type": "object",
14709           "properties": {
14710             "cloud-tag": {
14711               "type": "string"
14712             },
14713             "config": {
14714               "type": "object",
14715               "patternProperties": {
14716                 ".*": {
14717                   "type": "object",
14718                   "additionalProperties": true
14719                 }
14720               }
14721             },
14722             "credential": {
14723               "type": "string"
14724             },
14725             "name": {
14726               "type": "string"
14727             },
14728             "owner-tag": {
14729               "type": "string"
14730             },
14731             "region": {
14732               "type": "string"
14733             }
14734           },
14735           "additionalProperties": false,
14736           "required": [
14737             "name",
14738             "owner-tag"
14739           ]
14740         },
14741         "ModelDefaultValues": {
14742           "type": "object",
14743           "properties": {
14744             "cloud-region": {
14745               "type": "string"
14746             },
14747             "cloud-tag": {
14748               "type": "string"
14749             },
14750             "config": {
14751               "type": "object",
14752               "patternProperties": {
14753                 ".*": {
14754                   "type": "object",
14755                   "additionalProperties": true
14756                 }
14757               }
14758             }
14759           },
14760           "additionalProperties": false,
14761           "required": [
14762             "config"
14763           ]
14764         },
14765         "ModelDefaults": {
14766           "type": "object",
14767           "properties": {
14768             "controller": {
14769               "type": "object",
14770               "additionalProperties": true
14771             },
14772             "default": {
14773               "type": "object",
14774               "additionalProperties": true
14775             },
14776             "regions": {
14777               "type": "array",
14778               "items": {
14779                 "$ref": "#/definitions/RegionDefaults"
14780               }
14781             }
14782           },
14783           "additionalProperties": false
14784         },
14785         "ModelDefaultsResult": {
14786           "type": "object",
14787           "properties": {
14788             "config": {
14789               "type": "object",
14790               "patternProperties": {
14791                 ".*": {
14792                   "$ref": "#/definitions/ModelDefaults"
14793                 }
14794               }
14795             }
14796           },
14797           "additionalProperties": false,
14798           "required": [
14799             "config"
14800           ]
14801         },
14802         "ModelInfo": {
14803           "type": "object",
14804           "properties": {
14805             "cloud-credential-tag": {
14806               "type": "string"
14807             },
14808             "cloud-region": {
14809               "type": "string"
14810             },
14811             "cloud-tag": {
14812               "type": "string"
14813             },
14814             "controller-uuid": {
14815               "type": "string"
14816             },
14817             "default-series": {
14818               "type": "string"
14819             },
14820             "life": {
14821               "type": "string"
14822             },
14823             "machines": {
14824               "type": "array",
14825               "items": {
14826                 "$ref": "#/definitions/ModelMachineInfo"
14827               }
14828             },
14829             "migration": {
14830               "$ref": "#/definitions/ModelMigrationStatus"
14831             },
14832             "name": {
14833               "type": "string"
14834             },
14835             "owner-tag": {
14836               "type": "string"
14837             },
14838             "provider-type": {
14839               "type": "string"
14840             },
14841             "status": {
14842               "$ref": "#/definitions/EntityStatus"
14843             },
14844             "users": {
14845               "type": "array",
14846               "items": {
14847                 "$ref": "#/definitions/ModelUserInfo"
14848               }
14849             },
14850             "uuid": {
14851               "type": "string"
14852             }
14853           },
14854           "additionalProperties": false,
14855           "required": [
14856             "name",
14857             "uuid",
14858             "controller-uuid",
14859             "provider-type",
14860             "default-series",
14861             "cloud-tag",
14862             "owner-tag",
14863             "life",
14864             "status",
14865             "users",
14866             "machines"
14867           ]
14868         },
14869         "ModelInfoResult": {
14870           "type": "object",
14871           "properties": {
14872             "error": {
14873               "$ref": "#/definitions/Error"
14874             },
14875             "result": {
14876               "$ref": "#/definitions/ModelInfo"
14877             }
14878           },
14879           "additionalProperties": false
14880         },
14881         "ModelInfoResults": {
14882           "type": "object",
14883           "properties": {
14884             "results": {
14885               "type": "array",
14886               "items": {
14887                 "$ref": "#/definitions/ModelInfoResult"
14888               }
14889             }
14890           },
14891           "additionalProperties": false,
14892           "required": [
14893             "results"
14894           ]
14895         },
14896         "ModelMachineInfo": {
14897           "type": "object",
14898           "properties": {
14899             "hardware": {
14900               "$ref": "#/definitions/MachineHardware"
14901             },
14902             "has-vote": {
14903               "type": "boolean"
14904             },
14905             "id": {
14906               "type": "string"
14907             },
14908             "instance-id": {
14909               "type": "string"
14910             },
14911             "status": {
14912               "type": "string"
14913             },
14914             "wants-vote": {
14915               "type": "boolean"
14916             }
14917           },
14918           "additionalProperties": false,
14919           "required": [
14920             "id"
14921           ]
14922         },
14923         "ModelMigrationStatus": {
14924           "type": "object",
14925           "properties": {
14926             "end": {
14927               "type": "string",
14928               "format": "date-time"
14929             },
14930             "start": {
14931               "type": "string",
14932               "format": "date-time"
14933             },
14934             "status": {
14935               "type": "string"
14936             }
14937           },
14938           "additionalProperties": false,
14939           "required": [
14940             "status",
14941             "start"
14942           ]
14943         },
14944         "ModelStatus": {
14945           "type": "object",
14946           "properties": {
14947             "application-count": {
14948               "type": "integer"
14949             },
14950             "hosted-machine-count": {
14951               "type": "integer"
14952             },
14953             "life": {
14954               "type": "string"
14955             },
14956             "machines": {
14957               "type": "array",
14958               "items": {
14959                 "$ref": "#/definitions/ModelMachineInfo"
14960               }
14961             },
14962             "model-tag": {
14963               "type": "string"
14964             },
14965             "owner-tag": {
14966               "type": "string"
14967             }
14968           },
14969           "additionalProperties": false,
14970           "required": [
14971             "model-tag",
14972             "life",
14973             "hosted-machine-count",
14974             "application-count",
14975             "owner-tag"
14976           ]
14977         },
14978         "ModelStatusResults": {
14979           "type": "object",
14980           "properties": {
14981             "models": {
14982               "type": "array",
14983               "items": {
14984                 "$ref": "#/definitions/ModelStatus"
14985               }
14986             }
14987           },
14988           "additionalProperties": false,
14989           "required": [
14990             "models"
14991           ]
14992         },
14993         "ModelUnsetKeys": {
14994           "type": "object",
14995           "properties": {
14996             "cloud-region": {
14997               "type": "string"
14998             },
14999             "cloud-tag": {
15000               "type": "string"
15001             },
15002             "keys": {
15003               "type": "array",
15004               "items": {
15005                 "type": "string"
15006               }
15007             }
15008           },
15009           "additionalProperties": false,
15010           "required": [
15011             "keys"
15012           ]
15013         },
15014         "ModelUserInfo": {
15015           "type": "object",
15016           "properties": {
15017             "access": {
15018               "type": "string"
15019             },
15020             "display-name": {
15021               "type": "string"
15022             },
15023             "last-connection": {
15024               "type": "string",
15025               "format": "date-time"
15026             },
15027             "user": {
15028               "type": "string"
15029             }
15030           },
15031           "additionalProperties": false,
15032           "required": [
15033             "user",
15034             "display-name",
15035             "last-connection",
15036             "access"
15037           ]
15038         },
15039         "ModifyModelAccess": {
15040           "type": "object",
15041           "properties": {
15042             "access": {
15043               "type": "string"
15044             },
15045             "action": {
15046               "type": "string"
15047             },
15048             "model-tag": {
15049               "type": "string"
15050             },
15051             "user-tag": {
15052               "type": "string"
15053             }
15054           },
15055           "additionalProperties": false,
15056           "required": [
15057             "user-tag",
15058             "action",
15059             "access",
15060             "model-tag"
15061           ]
15062         },
15063         "ModifyModelAccessRequest": {
15064           "type": "object",
15065           "properties": {
15066             "changes": {
15067               "type": "array",
15068               "items": {
15069                 "$ref": "#/definitions/ModifyModelAccess"
15070               }
15071             }
15072           },
15073           "additionalProperties": false,
15074           "required": [
15075             "changes"
15076           ]
15077         },
15078         "RegionDefaults": {
15079           "type": "object",
15080           "properties": {
15081             "region-name": {
15082               "type": "string"
15083             },
15084             "value": {
15085               "type": "object",
15086               "additionalProperties": true
15087             }
15088           },
15089           "additionalProperties": false,
15090           "required": [
15091             "region-name",
15092             "value"
15093           ]
15094         },
15095         "SetModelDefaults": {
15096           "type": "object",
15097           "properties": {
15098             "config": {
15099               "type": "array",
15100               "items": {
15101                 "$ref": "#/definitions/ModelDefaultValues"
15102               }
15103             }
15104           },
15105           "additionalProperties": false,
15106           "required": [
15107             "config"
15108           ]
15109         },
15110         "UnsetModelDefaults": {
15111           "type": "object",
15112           "properties": {
15113             "keys": {
15114               "type": "array",
15115               "items": {
15116                 "$ref": "#/definitions/ModelUnsetKeys"
15117               }
15118             }
15119           },
15120           "additionalProperties": false,
15121           "required": [
15122             "keys"
15123           ]
15124         },
15125         "UserModel": {
15126           "type": "object",
15127           "properties": {
15128             "last-connection": {
15129               "type": "string",
15130               "format": "date-time"
15131             },
15132             "model": {
15133               "$ref": "#/definitions/Model"
15134             }
15135           },
15136           "additionalProperties": false,
15137           "required": [
15138             "model",
15139             "last-connection"
15140           ]
15141         },
15142         "UserModelList": {
15143           "type": "object",
15144           "properties": {
15145             "user-models": {
15146               "type": "array",
15147               "items": {
15148                 "$ref": "#/definitions/UserModel"
15149               }
15150             }
15151           },
15152           "additionalProperties": false,
15153           "required": [
15154             "user-models"
15155           ]
15156         }
15157       }
15158     }
15159   },
15160   {
15161     "Name": "NotifyWatcher",
15162     "Version": 1,
15163     "Schema": {
15164       "type": "object",
15165       "properties": {
15166         "Next": {
15167           "type": "object"
15168         },
15169         "Stop": {
15170           "type": "object"
15171         }
15172       }
15173     }
15174   },
15175   {
15176     "Name": "Payloads",
15177     "Version": 1,
15178     "Schema": {
15179       "type": "object",
15180       "properties": {
15181         "List": {
15182           "type": "object",
15183           "properties": {
15184             "Params": {
15185               "$ref": "#/definitions/EnvListArgs"
15186             },
15187             "Result": {
15188               "$ref": "#/definitions/EnvListResults"
15189             }
15190           }
15191         }
15192       },
15193       "definitions": {
15194         "EnvListArgs": {
15195           "type": "object",
15196           "properties": {
15197             "patterns": {
15198               "type": "array",
15199               "items": {
15200                 "type": "string"
15201               }
15202             }
15203           },
15204           "additionalProperties": false,
15205           "required": [
15206             "patterns"
15207           ]
15208         },
15209         "EnvListResults": {
15210           "type": "object",
15211           "properties": {
15212             "results": {
15213               "type": "array",
15214               "items": {
15215                 "$ref": "#/definitions/Payload"
15216               }
15217             }
15218           },
15219           "additionalProperties": false,
15220           "required": [
15221             "results"
15222           ]
15223         },
15224         "Payload": {
15225           "type": "object",
15226           "properties": {
15227             "class": {
15228               "type": "string"
15229             },
15230             "id": {
15231               "type": "string"
15232             },
15233             "labels": {
15234               "type": "array",
15235               "items": {
15236                 "type": "string"
15237               }
15238             },
15239             "machine": {
15240               "type": "string"
15241             },
15242             "status": {
15243               "type": "string"
15244             },
15245             "type": {
15246               "type": "string"
15247             },
15248             "unit": {
15249               "type": "string"
15250             }
15251           },
15252           "additionalProperties": false,
15253           "required": [
15254             "class",
15255             "type",
15256             "id",
15257             "status",
15258             "labels",
15259             "unit",
15260             "machine"
15261           ]
15262         }
15263       }
15264     }
15265   },
15266   {
15267     "Name": "PayloadsHookContext",
15268     "Version": 1,
15269     "Schema": {
15270       "type": "object",
15271       "properties": {
15272         "List": {
15273           "type": "object",
15274           "properties": {
15275             "Params": {
15276               "$ref": "#/definitions/Entities"
15277             },
15278             "Result": {
15279               "$ref": "#/definitions/PayloadResults"
15280             }
15281           }
15282         },
15283         "LookUp": {
15284           "type": "object",
15285           "properties": {
15286             "Params": {
15287               "$ref": "#/definitions/LookUpArgs"
15288             },
15289             "Result": {
15290               "$ref": "#/definitions/PayloadResults"
15291             }
15292           }
15293         },
15294         "SetStatus": {
15295           "type": "object",
15296           "properties": {
15297             "Params": {
15298               "$ref": "#/definitions/SetStatusArgs"
15299             },
15300             "Result": {
15301               "$ref": "#/definitions/PayloadResults"
15302             }
15303           }
15304         },
15305         "Track": {
15306           "type": "object",
15307           "properties": {
15308             "Params": {
15309               "$ref": "#/definitions/TrackArgs"
15310             },
15311             "Result": {
15312               "$ref": "#/definitions/PayloadResults"
15313             }
15314           }
15315         },
15316         "Untrack": {
15317           "type": "object",
15318           "properties": {
15319             "Params": {
15320               "$ref": "#/definitions/Entities"
15321             },
15322             "Result": {
15323               "$ref": "#/definitions/PayloadResults"
15324             }
15325           }
15326         }
15327       },
15328       "definitions": {
15329         "Entities": {
15330           "type": "object",
15331           "properties": {
15332             "entities": {
15333               "type": "array",
15334               "items": {
15335                 "$ref": "#/definitions/Entity"
15336               }
15337             }
15338           },
15339           "additionalProperties": false,
15340           "required": [
15341             "entities"
15342           ]
15343         },
15344         "Entity": {
15345           "type": "object",
15346           "properties": {
15347             "tag": {
15348               "type": "string"
15349             }
15350           },
15351           "additionalProperties": false,
15352           "required": [
15353             "tag"
15354           ]
15355         },
15356         "Error": {
15357           "type": "object",
15358           "properties": {
15359             "code": {
15360               "type": "string"
15361             },
15362             "info": {
15363               "$ref": "#/definitions/ErrorInfo"
15364             },
15365             "message": {
15366               "type": "string"
15367             }
15368           },
15369           "additionalProperties": false,
15370           "required": [
15371             "message",
15372             "code"
15373           ]
15374         },
15375         "ErrorInfo": {
15376           "type": "object",
15377           "properties": {
15378             "macaroon": {
15379               "$ref": "#/definitions/Macaroon"
15380             },
15381             "macaroon-path": {
15382               "type": "string"
15383             }
15384           },
15385           "additionalProperties": false
15386         },
15387         "LookUpArg": {
15388           "type": "object",
15389           "properties": {
15390             "id": {
15391               "type": "string"
15392             },
15393             "name": {
15394               "type": "string"
15395             }
15396           },
15397           "additionalProperties": false,
15398           "required": [
15399             "name",
15400             "id"
15401           ]
15402         },
15403         "LookUpArgs": {
15404           "type": "object",
15405           "properties": {
15406             "args": {
15407               "type": "array",
15408               "items": {
15409                 "$ref": "#/definitions/LookUpArg"
15410               }
15411             }
15412           },
15413           "additionalProperties": false,
15414           "required": [
15415             "args"
15416           ]
15417         },
15418         "Macaroon": {
15419           "type": "object",
15420           "additionalProperties": false
15421         },
15422         "Payload": {
15423           "type": "object",
15424           "properties": {
15425             "class": {
15426               "type": "string"
15427             },
15428             "id": {
15429               "type": "string"
15430             },
15431             "labels": {
15432               "type": "array",
15433               "items": {
15434                 "type": "string"
15435               }
15436             },
15437             "machine": {
15438               "type": "string"
15439             },
15440             "status": {
15441               "type": "string"
15442             },
15443             "type": {
15444               "type": "string"
15445             },
15446             "unit": {
15447               "type": "string"
15448             }
15449           },
15450           "additionalProperties": false,
15451           "required": [
15452             "class",
15453             "type",
15454             "id",
15455             "status",
15456             "labels",
15457             "unit",
15458             "machine"
15459           ]
15460         },
15461         "PayloadResult": {
15462           "type": "object",
15463           "properties": {
15464             "Entity": {
15465               "$ref": "#/definitions/Entity"
15466             },
15467             "error": {
15468               "$ref": "#/definitions/Error"
15469             },
15470             "not-found": {
15471               "type": "boolean"
15472             },
15473             "payload": {
15474               "$ref": "#/definitions/Payload"
15475             }
15476           },
15477           "additionalProperties": false,
15478           "required": [
15479             "Entity",
15480             "payload",
15481             "not-found"
15482           ]
15483         },
15484         "PayloadResults": {
15485           "type": "object",
15486           "properties": {
15487             "results": {
15488               "type": "array",
15489               "items": {
15490                 "$ref": "#/definitions/PayloadResult"
15491               }
15492             }
15493           },
15494           "additionalProperties": false,
15495           "required": [
15496             "results"
15497           ]
15498         },
15499         "SetStatusArg": {
15500           "type": "object",
15501           "properties": {
15502             "Entity": {
15503               "$ref": "#/definitions/Entity"
15504             },
15505             "status": {
15506               "type": "string"
15507             }
15508           },
15509           "additionalProperties": false,
15510           "required": [
15511             "Entity",
15512             "status"
15513           ]
15514         },
15515         "SetStatusArgs": {
15516           "type": "object",
15517           "properties": {
15518             "args": {
15519               "type": "array",
15520               "items": {
15521                 "$ref": "#/definitions/SetStatusArg"
15522               }
15523             }
15524           },
15525           "additionalProperties": false,
15526           "required": [
15527             "args"
15528           ]
15529         },
15530         "TrackArgs": {
15531           "type": "object",
15532           "properties": {
15533             "payloads": {
15534               "type": "array",
15535               "items": {
15536                 "$ref": "#/definitions/Payload"
15537               }
15538             }
15539           },
15540           "additionalProperties": false,
15541           "required": [
15542             "payloads"
15543           ]
15544         }
15545       }
15546     }
15547   },
15548   {
15549     "Name": "Pinger",
15550     "Version": 1,
15551     "Schema": {
15552       "type": "object",
15553       "properties": {
15554         "Ping": {
15555           "type": "object"
15556         },
15557         "Stop": {
15558           "type": "object"
15559         }
15560       }
15561     }
15562   },
15563   {
15564     "Name": "Provisioner",
15565     "Version": 3,
15566     "Schema": {
15567       "type": "object",
15568       "properties": {
15569         "APIAddresses": {
15570           "type": "object",
15571           "properties": {
15572             "Result": {
15573               "$ref": "#/definitions/StringsResult"
15574             }
15575           }
15576         },
15577         "APIHostPorts": {
15578           "type": "object",
15579           "properties": {
15580             "Result": {
15581               "$ref": "#/definitions/APIHostPortsResult"
15582             }
15583           }
15584         },
15585         "CACert": {
15586           "type": "object",
15587           "properties": {
15588             "Result": {
15589               "$ref": "#/definitions/BytesResult"
15590             }
15591           }
15592         },
15593         "Constraints": {
15594           "type": "object",
15595           "properties": {
15596             "Params": {
15597               "$ref": "#/definitions/Entities"
15598             },
15599             "Result": {
15600               "$ref": "#/definitions/ConstraintsResults"
15601             }
15602           }
15603         },
15604         "ContainerConfig": {
15605           "type": "object",
15606           "properties": {
15607             "Result": {
15608               "$ref": "#/definitions/ContainerConfig"
15609             }
15610           }
15611         },
15612         "ContainerManagerConfig": {
15613           "type": "object",
15614           "properties": {
15615             "Params": {
15616               "$ref": "#/definitions/ContainerManagerConfigParams"
15617             },
15618             "Result": {
15619               "$ref": "#/definitions/ContainerManagerConfig"
15620             }
15621           }
15622         },
15623         "ControllerConfig": {
15624           "type": "object",
15625           "properties": {
15626             "Result": {
15627               "$ref": "#/definitions/ControllerConfigResult"
15628             }
15629           }
15630         },
15631         "DistributionGroup": {
15632           "type": "object",
15633           "properties": {
15634             "Params": {
15635               "$ref": "#/definitions/Entities"
15636             },
15637             "Result": {
15638               "$ref": "#/definitions/DistributionGroupResults"
15639             }
15640           }
15641         },
15642         "EnsureDead": {
15643           "type": "object",
15644           "properties": {
15645             "Params": {
15646               "$ref": "#/definitions/Entities"
15647             },
15648             "Result": {
15649               "$ref": "#/definitions/ErrorResults"
15650             }
15651           }
15652         },
15653         "FindTools": {
15654           "type": "object",
15655           "properties": {
15656             "Params": {
15657               "$ref": "#/definitions/FindToolsParams"
15658             },
15659             "Result": {
15660               "$ref": "#/definitions/FindToolsResult"
15661             }
15662           }
15663         },
15664         "GetContainerInterfaceInfo": {
15665           "type": "object",
15666           "properties": {
15667             "Params": {
15668               "$ref": "#/definitions/Entities"
15669             },
15670             "Result": {
15671               "$ref": "#/definitions/MachineNetworkConfigResults"
15672             }
15673           }
15674         },
15675         "HostChangesForContainers": {
15676           "type": "object",
15677           "properties": {
15678             "Params": {
15679               "$ref": "#/definitions/Entities"
15680             },
15681             "Result": {
15682               "$ref": "#/definitions/HostNetworkChangeResults"
15683             }
15684           }
15685         },
15686         "InstanceId": {
15687           "type": "object",
15688           "properties": {
15689             "Params": {
15690               "$ref": "#/definitions/Entities"
15691             },
15692             "Result": {
15693               "$ref": "#/definitions/StringResults"
15694             }
15695           }
15696         },
15697         "InstanceStatus": {
15698           "type": "object",
15699           "properties": {
15700             "Params": {
15701               "$ref": "#/definitions/Entities"
15702             },
15703             "Result": {
15704               "$ref": "#/definitions/StatusResults"
15705             }
15706           }
15707         },
15708         "Life": {
15709           "type": "object",
15710           "properties": {
15711             "Params": {
15712               "$ref": "#/definitions/Entities"
15713             },
15714             "Result": {
15715               "$ref": "#/definitions/LifeResults"
15716             }
15717           }
15718         },
15719         "MachinesWithTransientErrors": {
15720           "type": "object",
15721           "properties": {
15722             "Result": {
15723               "$ref": "#/definitions/StatusResults"
15724             }
15725           }
15726         },
15727         "MarkMachinesForRemoval": {
15728           "type": "object",
15729           "properties": {
15730             "Params": {
15731               "$ref": "#/definitions/Entities"
15732             },
15733             "Result": {
15734               "$ref": "#/definitions/ErrorResults"
15735             }
15736           }
15737         },
15738         "ModelConfig": {
15739           "type": "object",
15740           "properties": {
15741             "Result": {
15742               "$ref": "#/definitions/ModelConfigResult"
15743             }
15744           }
15745         },
15746         "ModelUUID": {
15747           "type": "object",
15748           "properties": {
15749             "Result": {
15750               "$ref": "#/definitions/StringResult"
15751             }
15752           }
15753         },
15754         "PrepareContainerInterfaceInfo": {
15755           "type": "object",
15756           "properties": {
15757             "Params": {
15758               "$ref": "#/definitions/Entities"
15759             },
15760             "Result": {
15761               "$ref": "#/definitions/MachineNetworkConfigResults"
15762             }
15763           }
15764         },
15765         "ProvisioningInfo": {
15766           "type": "object",
15767           "properties": {
15768             "Params": {
15769               "$ref": "#/definitions/Entities"
15770             },
15771             "Result": {
15772               "$ref": "#/definitions/ProvisioningInfoResults"
15773             }
15774           }
15775         },
15776         "ReleaseContainerAddresses": {
15777           "type": "object",
15778           "properties": {
15779             "Params": {
15780               "$ref": "#/definitions/Entities"
15781             },
15782             "Result": {
15783               "$ref": "#/definitions/ErrorResults"
15784             }
15785           }
15786         },
15787         "Remove": {
15788           "type": "object",
15789           "properties": {
15790             "Params": {
15791               "$ref": "#/definitions/Entities"
15792             },
15793             "Result": {
15794               "$ref": "#/definitions/ErrorResults"
15795             }
15796           }
15797         },
15798         "Series": {
15799           "type": "object",
15800           "properties": {
15801             "Params": {
15802               "$ref": "#/definitions/Entities"
15803             },
15804             "Result": {
15805               "$ref": "#/definitions/StringResults"
15806             }
15807           }
15808         },
15809         "SetHostMachineNetworkConfig": {
15810           "type": "object",
15811           "properties": {
15812             "Params": {
15813               "$ref": "#/definitions/SetMachineNetworkConfig"
15814             }
15815           }
15816         },
15817         "SetInstanceInfo": {
15818           "type": "object",
15819           "properties": {
15820             "Params": {
15821               "$ref": "#/definitions/InstancesInfo"
15822             },
15823             "Result": {
15824               "$ref": "#/definitions/ErrorResults"
15825             }
15826           }
15827         },
15828         "SetInstanceStatus": {
15829           "type": "object",
15830           "properties": {
15831             "Params": {
15832               "$ref": "#/definitions/SetStatus"
15833             },
15834             "Result": {
15835               "$ref": "#/definitions/ErrorResults"
15836             }
15837           }
15838         },
15839         "SetObservedNetworkConfig": {
15840           "type": "object",
15841           "properties": {
15842             "Params": {
15843               "$ref": "#/definitions/SetMachineNetworkConfig"
15844             }
15845           }
15846         },
15847         "SetPasswords": {
15848           "type": "object",
15849           "properties": {
15850             "Params": {
15851               "$ref": "#/definitions/EntityPasswords"
15852             },
15853             "Result": {
15854               "$ref": "#/definitions/ErrorResults"
15855             }
15856           }
15857         },
15858         "SetStatus": {
15859           "type": "object",
15860           "properties": {
15861             "Params": {
15862               "$ref": "#/definitions/SetStatus"
15863             },
15864             "Result": {
15865               "$ref": "#/definitions/ErrorResults"
15866             }
15867           }
15868         },
15869         "SetSupportedContainers": {
15870           "type": "object",
15871           "properties": {
15872             "Params": {
15873               "$ref": "#/definitions/MachineContainersParams"
15874             },
15875             "Result": {
15876               "$ref": "#/definitions/ErrorResults"
15877             }
15878           }
15879         },
15880         "StateAddresses": {
15881           "type": "object",
15882           "properties": {
15883             "Result": {
15884               "$ref": "#/definitions/StringsResult"
15885             }
15886           }
15887         },
15888         "Status": {
15889           "type": "object",
15890           "properties": {
15891             "Params": {
15892               "$ref": "#/definitions/Entities"
15893             },
15894             "Result": {
15895               "$ref": "#/definitions/StatusResults"
15896             }
15897           }
15898         },
15899         "Tools": {
15900           "type": "object",
15901           "properties": {
15902             "Params": {
15903               "$ref": "#/definitions/Entities"
15904             },
15905             "Result": {
15906               "$ref": "#/definitions/ToolsResults"
15907             }
15908           }
15909         },
15910         "UpdateStatus": {
15911           "type": "object",
15912           "properties": {
15913             "Params": {
15914               "$ref": "#/definitions/SetStatus"
15915             },
15916             "Result": {
15917               "$ref": "#/definitions/ErrorResults"
15918             }
15919           }
15920         },
15921         "WatchAPIHostPorts": {
15922           "type": "object",
15923           "properties": {
15924             "Result": {
15925               "$ref": "#/definitions/NotifyWatchResult"
15926             }
15927           }
15928         },
15929         "WatchAllContainers": {
15930           "type": "object",
15931           "properties": {
15932             "Params": {
15933               "$ref": "#/definitions/WatchContainers"
15934             },
15935             "Result": {
15936               "$ref": "#/definitions/StringsWatchResults"
15937             }
15938           }
15939         },
15940         "WatchContainers": {
15941           "type": "object",
15942           "properties": {
15943             "Params": {
15944               "$ref": "#/definitions/WatchContainers"
15945             },
15946             "Result": {
15947               "$ref": "#/definitions/StringsWatchResults"
15948             }
15949           }
15950         },
15951         "WatchForModelConfigChanges": {
15952           "type": "object",
15953           "properties": {
15954             "Result": {
15955               "$ref": "#/definitions/NotifyWatchResult"
15956             }
15957           }
15958         },
15959         "WatchMachineErrorRetry": {
15960           "type": "object",
15961           "properties": {
15962             "Result": {
15963               "$ref": "#/definitions/NotifyWatchResult"
15964             }
15965           }
15966         },
15967         "WatchModelMachines": {
15968           "type": "object",
15969           "properties": {
15970             "Result": {
15971               "$ref": "#/definitions/StringsWatchResult"
15972             }
15973           }
15974         }
15975       },
15976       "definitions": {
15977         "APIHostPortsResult": {
15978           "type": "object",
15979           "properties": {
15980             "servers": {
15981               "type": "array",
15982               "items": {
15983                 "type": "array",
15984                 "items": {
15985                   "$ref": "#/definitions/HostPort"
15986                 }
15987               }
15988             }
15989           },
15990           "additionalProperties": false,
15991           "required": [
15992             "servers"
15993           ]
15994         },
15995         "Address": {
15996           "type": "object",
15997           "properties": {
15998             "scope": {
15999               "type": "string"
16000             },
16001             "space-name": {
16002               "type": "string"
16003             },
16004             "type": {
16005               "type": "string"
16006             },
16007             "value": {
16008               "type": "string"
16009             }
16010           },
16011           "additionalProperties": false,
16012           "required": [
16013             "value",
16014             "type",
16015             "scope"
16016           ]
16017         },
16018         "Binary": {
16019           "type": "object",
16020           "properties": {
16021             "Arch": {
16022               "type": "string"
16023             },
16024             "Number": {
16025               "$ref": "#/definitions/Number"
16026             },
16027             "Series": {
16028               "type": "string"
16029             }
16030           },
16031           "additionalProperties": false,
16032           "required": [
16033             "Number",
16034             "Series",
16035             "Arch"
16036           ]
16037         },
16038         "BytesResult": {
16039           "type": "object",
16040           "properties": {
16041             "result": {
16042               "type": "array",
16043               "items": {
16044                 "type": "integer"
16045               }
16046             }
16047           },
16048           "additionalProperties": false,
16049           "required": [
16050             "result"
16051           ]
16052         },
16053         "CloudImageMetadata": {
16054           "type": "object",
16055           "properties": {
16056             "arch": {
16057               "type": "string"
16058             },
16059             "image-id": {
16060               "type": "string"
16061             },
16062             "priority": {
16063               "type": "integer"
16064             },
16065             "region": {
16066               "type": "string"
16067             },
16068             "root-storage-size": {
16069               "type": "integer"
16070             },
16071             "root-storage-type": {
16072               "type": "string"
16073             },
16074             "series": {
16075               "type": "string"
16076             },
16077             "source": {
16078               "type": "string"
16079             },
16080             "stream": {
16081               "type": "string"
16082             },
16083             "version": {
16084               "type": "string"
16085             },
16086             "virt-type": {
16087               "type": "string"
16088             }
16089           },
16090           "additionalProperties": false,
16091           "required": [
16092             "image-id",
16093             "region",
16094             "version",
16095             "series",
16096             "arch",
16097             "source",
16098             "priority"
16099           ]
16100         },
16101         "ConstraintsResult": {
16102           "type": "object",
16103           "properties": {
16104             "constraints": {
16105               "$ref": "#/definitions/Value"
16106             },
16107             "error": {
16108               "$ref": "#/definitions/Error"
16109             }
16110           },
16111           "additionalProperties": false,
16112           "required": [
16113             "constraints"
16114           ]
16115         },
16116         "ConstraintsResults": {
16117           "type": "object",
16118           "properties": {
16119             "results": {
16120               "type": "array",
16121               "items": {
16122                 "$ref": "#/definitions/ConstraintsResult"
16123               }
16124             }
16125           },
16126           "additionalProperties": false,
16127           "required": [
16128             "results"
16129           ]
16130         },
16131         "ContainerConfig": {
16132           "type": "object",
16133           "properties": {
16134             "UpdateBehavior": {
16135               "$ref": "#/definitions/UpdateBehavior"
16136             },
16137             "apt-mirror": {
16138               "type": "string"
16139             },
16140             "apt-proxy": {
16141               "$ref": "#/definitions/Settings"
16142             },
16143             "authorized-keys": {
16144               "type": "string"
16145             },
16146             "provider-type": {
16147               "type": "string"
16148             },
16149             "proxy": {
16150               "$ref": "#/definitions/Settings"
16151             },
16152             "ssl-hostname-verification": {
16153               "type": "boolean"
16154             }
16155           },
16156           "additionalProperties": false,
16157           "required": [
16158             "provider-type",
16159             "authorized-keys",
16160             "ssl-hostname-verification",
16161             "proxy",
16162             "apt-proxy",
16163             "apt-mirror",
16164             "UpdateBehavior"
16165           ]
16166         },
16167         "ContainerManagerConfig": {
16168           "type": "object",
16169           "properties": {
16170             "config": {
16171               "type": "object",
16172               "patternProperties": {
16173                 ".*": {
16174                   "type": "string"
16175                 }
16176               }
16177             }
16178           },
16179           "additionalProperties": false,
16180           "required": [
16181             "config"
16182           ]
16183         },
16184         "ContainerManagerConfigParams": {
16185           "type": "object",
16186           "properties": {
16187             "type": {
16188               "type": "string"
16189             }
16190           },
16191           "additionalProperties": false,
16192           "required": [
16193             "type"
16194           ]
16195         },
16196         "ControllerConfigResult": {
16197           "type": "object",
16198           "properties": {
16199             "config": {
16200               "type": "object",
16201               "patternProperties": {
16202                 ".*": {
16203                   "type": "object",
16204                   "additionalProperties": true
16205                 }
16206               }
16207             }
16208           },
16209           "additionalProperties": false,
16210           "required": [
16211             "config"
16212           ]
16213         },
16214         "DeviceBridgeInfo": {
16215           "type": "object",
16216           "properties": {
16217             "bridge-name": {
16218               "type": "string"
16219             },
16220             "host-device-name": {
16221               "type": "string"
16222             }
16223           },
16224           "additionalProperties": false,
16225           "required": [
16226             "host-device-name",
16227             "bridge-name"
16228           ]
16229         },
16230         "DistributionGroupResult": {
16231           "type": "object",
16232           "properties": {
16233             "error": {
16234               "$ref": "#/definitions/Error"
16235             },
16236             "result": {
16237               "type": "array",
16238               "items": {
16239                 "type": "string"
16240               }
16241             }
16242           },
16243           "additionalProperties": false,
16244           "required": [
16245             "result"
16246           ]
16247         },
16248         "DistributionGroupResults": {
16249           "type": "object",
16250           "properties": {
16251             "results": {
16252               "type": "array",
16253               "items": {
16254                 "$ref": "#/definitions/DistributionGroupResult"
16255               }
16256             }
16257           },
16258           "additionalProperties": false,
16259           "required": [
16260             "results"
16261           ]
16262         },
16263         "Entities": {
16264           "type": "object",
16265           "properties": {
16266             "entities": {
16267               "type": "array",
16268               "items": {
16269                 "$ref": "#/definitions/Entity"
16270               }
16271             }
16272           },
16273           "additionalProperties": false,
16274           "required": [
16275             "entities"
16276           ]
16277         },
16278         "Entity": {
16279           "type": "object",
16280           "properties": {
16281             "tag": {
16282               "type": "string"
16283             }
16284           },
16285           "additionalProperties": false,
16286           "required": [
16287             "tag"
16288           ]
16289         },
16290         "EntityPassword": {
16291           "type": "object",
16292           "properties": {
16293             "password": {
16294               "type": "string"
16295             },
16296             "tag": {
16297               "type": "string"
16298             }
16299           },
16300           "additionalProperties": false,
16301           "required": [
16302             "tag",
16303             "password"
16304           ]
16305         },
16306         "EntityPasswords": {
16307           "type": "object",
16308           "properties": {
16309             "changes": {
16310               "type": "array",
16311               "items": {
16312                 "$ref": "#/definitions/EntityPassword"
16313               }
16314             }
16315           },
16316           "additionalProperties": false,
16317           "required": [
16318             "changes"
16319           ]
16320         },
16321         "EntityStatusArgs": {
16322           "type": "object",
16323           "properties": {
16324             "data": {
16325               "type": "object",
16326               "patternProperties": {
16327                 ".*": {
16328                   "type": "object",
16329                   "additionalProperties": true
16330                 }
16331               }
16332             },
16333             "info": {
16334               "type": "string"
16335             },
16336             "status": {
16337               "type": "string"
16338             },
16339             "tag": {
16340               "type": "string"
16341             }
16342           },
16343           "additionalProperties": false,
16344           "required": [
16345             "tag",
16346             "status",
16347             "info",
16348             "data"
16349           ]
16350         },
16351         "Error": {
16352           "type": "object",
16353           "properties": {
16354             "code": {
16355               "type": "string"
16356             },
16357             "info": {
16358               "$ref": "#/definitions/ErrorInfo"
16359             },
16360             "message": {
16361               "type": "string"
16362             }
16363           },
16364           "additionalProperties": false,
16365           "required": [
16366             "message",
16367             "code"
16368           ]
16369         },
16370         "ErrorInfo": {
16371           "type": "object",
16372           "properties": {
16373             "macaroon": {
16374               "$ref": "#/definitions/Macaroon"
16375             },
16376             "macaroon-path": {
16377               "type": "string"
16378             }
16379           },
16380           "additionalProperties": false
16381         },
16382         "ErrorResult": {
16383           "type": "object",
16384           "properties": {
16385             "error": {
16386               "$ref": "#/definitions/Error"
16387             }
16388           },
16389           "additionalProperties": false
16390         },
16391         "ErrorResults": {
16392           "type": "object",
16393           "properties": {
16394             "results": {
16395               "type": "array",
16396               "items": {
16397                 "$ref": "#/definitions/ErrorResult"
16398               }
16399             }
16400           },
16401           "additionalProperties": false,
16402           "required": [
16403             "results"
16404           ]
16405         },
16406         "FindToolsParams": {
16407           "type": "object",
16408           "properties": {
16409             "arch": {
16410               "type": "string"
16411             },
16412             "major": {
16413               "type": "integer"
16414             },
16415             "minor": {
16416               "type": "integer"
16417             },
16418             "number": {
16419               "$ref": "#/definitions/Number"
16420             },
16421             "series": {
16422               "type": "string"
16423             }
16424           },
16425           "additionalProperties": false,
16426           "required": [
16427             "number",
16428             "major",
16429             "minor",
16430             "arch",
16431             "series"
16432           ]
16433         },
16434         "FindToolsResult": {
16435           "type": "object",
16436           "properties": {
16437             "error": {
16438               "$ref": "#/definitions/Error"
16439             },
16440             "list": {
16441               "type": "array",
16442               "items": {
16443                 "$ref": "#/definitions/Tools"
16444               }
16445             }
16446           },
16447           "additionalProperties": false,
16448           "required": [
16449             "list"
16450           ]
16451         },
16452         "HardwareCharacteristics": {
16453           "type": "object",
16454           "properties": {
16455             "arch": {
16456               "type": "string"
16457             },
16458             "availability-zone": {
16459               "type": "string"
16460             },
16461             "cpu-cores": {
16462               "type": "integer"
16463             },
16464             "cpu-power": {
16465               "type": "integer"
16466             },
16467             "mem": {
16468               "type": "integer"
16469             },
16470             "root-disk": {
16471               "type": "integer"
16472             },
16473             "tags": {
16474               "type": "array",
16475               "items": {
16476                 "type": "string"
16477               }
16478             }
16479           },
16480           "additionalProperties": false
16481         },
16482         "HostNetworkChange": {
16483           "type": "object",
16484           "properties": {
16485             "error": {
16486               "$ref": "#/definitions/Error"
16487             },
16488             "new-bridges": {
16489               "type": "array",
16490               "items": {
16491                 "$ref": "#/definitions/DeviceBridgeInfo"
16492               }
16493             },
16494             "reconfigure-delay": {
16495               "type": "integer"
16496             }
16497           },
16498           "additionalProperties": false,
16499           "required": [
16500             "new-bridges",
16501             "reconfigure-delay"
16502           ]
16503         },
16504         "HostNetworkChangeResults": {
16505           "type": "object",
16506           "properties": {
16507             "results": {
16508               "type": "array",
16509               "items": {
16510                 "$ref": "#/definitions/HostNetworkChange"
16511               }
16512             }
16513           },
16514           "additionalProperties": false,
16515           "required": [
16516             "results"
16517           ]
16518         },
16519         "HostPort": {
16520           "type": "object",
16521           "properties": {
16522             "Address": {
16523               "$ref": "#/definitions/Address"
16524             },
16525             "port": {
16526               "type": "integer"
16527             }
16528           },
16529           "additionalProperties": false,
16530           "required": [
16531             "Address",
16532             "port"
16533           ]
16534         },
16535         "InstanceInfo": {
16536           "type": "object",
16537           "properties": {
16538             "characteristics": {
16539               "$ref": "#/definitions/HardwareCharacteristics"
16540             },
16541             "instance-id": {
16542               "type": "string"
16543             },
16544             "network-config": {
16545               "type": "array",
16546               "items": {
16547                 "$ref": "#/definitions/NetworkConfig"
16548               }
16549             },
16550             "nonce": {
16551               "type": "string"
16552             },
16553             "tag": {
16554               "type": "string"
16555             },
16556             "volume-attachments": {
16557               "type": "object",
16558               "patternProperties": {
16559                 ".*": {
16560                   "$ref": "#/definitions/VolumeAttachmentInfo"
16561                 }
16562               }
16563             },
16564             "volumes": {
16565               "type": "array",
16566               "items": {
16567                 "$ref": "#/definitions/Volume"
16568               }
16569             }
16570           },
16571           "additionalProperties": false,
16572           "required": [
16573             "tag",
16574             "instance-id",
16575             "nonce",
16576             "characteristics",
16577             "volumes",
16578             "volume-attachments",
16579             "network-config"
16580           ]
16581         },
16582         "InstancesInfo": {
16583           "type": "object",
16584           "properties": {
16585             "machines": {
16586               "type": "array",
16587               "items": {
16588                 "$ref": "#/definitions/InstanceInfo"
16589               }
16590             }
16591           },
16592           "additionalProperties": false,
16593           "required": [
16594             "machines"
16595           ]
16596         },
16597         "LifeResult": {
16598           "type": "object",
16599           "properties": {
16600             "error": {
16601               "$ref": "#/definitions/Error"
16602             },
16603             "life": {
16604               "type": "string"
16605             }
16606           },
16607           "additionalProperties": false,
16608           "required": [
16609             "life"
16610           ]
16611         },
16612         "LifeResults": {
16613           "type": "object",
16614           "properties": {
16615             "results": {
16616               "type": "array",
16617               "items": {
16618                 "$ref": "#/definitions/LifeResult"
16619               }
16620             }
16621           },
16622           "additionalProperties": false,
16623           "required": [
16624             "results"
16625           ]
16626         },
16627         "Macaroon": {
16628           "type": "object",
16629           "additionalProperties": false
16630         },
16631         "MachineContainers": {
16632           "type": "object",
16633           "properties": {
16634             "container-types": {
16635               "type": "array",
16636               "items": {
16637                 "type": "string"
16638               }
16639             },
16640             "machine-tag": {
16641               "type": "string"
16642             }
16643           },
16644           "additionalProperties": false,
16645           "required": [
16646             "machine-tag",
16647             "container-types"
16648           ]
16649         },
16650         "MachineContainersParams": {
16651           "type": "object",
16652           "properties": {
16653             "params": {
16654               "type": "array",
16655               "items": {
16656                 "$ref": "#/definitions/MachineContainers"
16657               }
16658             }
16659           },
16660           "additionalProperties": false,
16661           "required": [
16662             "params"
16663           ]
16664         },
16665         "MachineNetworkConfigResult": {
16666           "type": "object",
16667           "properties": {
16668             "error": {
16669               "$ref": "#/definitions/Error"
16670             },
16671             "info": {
16672               "type": "array",
16673               "items": {
16674                 "$ref": "#/definitions/NetworkConfig"
16675               }
16676             }
16677           },
16678           "additionalProperties": false,
16679           "required": [
16680             "info"
16681           ]
16682         },
16683         "MachineNetworkConfigResults": {
16684           "type": "object",
16685           "properties": {
16686             "results": {
16687               "type": "array",
16688               "items": {
16689                 "$ref": "#/definitions/MachineNetworkConfigResult"
16690               }
16691             }
16692           },
16693           "additionalProperties": false,
16694           "required": [
16695             "results"
16696           ]
16697         },
16698         "ModelConfigResult": {
16699           "type": "object",
16700           "properties": {
16701             "config": {
16702               "type": "object",
16703               "patternProperties": {
16704                 ".*": {
16705                   "type": "object",
16706                   "additionalProperties": true
16707                 }
16708               }
16709             }
16710           },
16711           "additionalProperties": false,
16712           "required": [
16713             "config"
16714           ]
16715         },
16716         "NetworkConfig": {
16717           "type": "object",
16718           "properties": {
16719             "address": {
16720               "type": "string"
16721             },
16722             "cidr": {
16723               "type": "string"
16724             },
16725             "config-type": {
16726               "type": "string"
16727             },
16728             "device-index": {
16729               "type": "integer"
16730             },
16731             "disabled": {
16732               "type": "boolean"
16733             },
16734             "dns-search-domains": {
16735               "type": "array",
16736               "items": {
16737                 "type": "string"
16738               }
16739             },
16740             "dns-servers": {
16741               "type": "array",
16742               "items": {
16743                 "type": "string"
16744               }
16745             },
16746             "gateway-address": {
16747               "type": "string"
16748             },
16749             "interface-name": {
16750               "type": "string"
16751             },
16752             "interface-type": {
16753               "type": "string"
16754             },
16755             "mac-address": {
16756               "type": "string"
16757             },
16758             "mtu": {
16759               "type": "integer"
16760             },
16761             "no-auto-start": {
16762               "type": "boolean"
16763             },
16764             "parent-interface-name": {
16765               "type": "string"
16766             },
16767             "provider-address-id": {
16768               "type": "string"
16769             },
16770             "provider-id": {
16771               "type": "string"
16772             },
16773             "provider-space-id": {
16774               "type": "string"
16775             },
16776             "provider-subnet-id": {
16777               "type": "string"
16778             },
16779             "provider-vlan-id": {
16780               "type": "string"
16781             },
16782             "routes": {
16783               "type": "array",
16784               "items": {
16785                 "$ref": "#/definitions/NetworkRoute"
16786               }
16787             },
16788             "vlan-tag": {
16789               "type": "integer"
16790             }
16791           },
16792           "additionalProperties": false,
16793           "required": [
16794             "device-index",
16795             "mac-address",
16796             "cidr",
16797             "mtu",
16798             "provider-id",
16799             "provider-subnet-id",
16800             "provider-space-id",
16801             "provider-address-id",
16802             "provider-vlan-id",
16803             "vlan-tag",
16804             "interface-name",
16805             "parent-interface-name",
16806             "interface-type",
16807             "disabled"
16808           ]
16809         },
16810         "NetworkRoute": {
16811           "type": "object",
16812           "properties": {
16813             "destination-cidr": {
16814               "type": "string"
16815             },
16816             "gateway-ip": {
16817               "type": "string"
16818             },
16819             "metric": {
16820               "type": "integer"
16821             }
16822           },
16823           "additionalProperties": false,
16824           "required": [
16825             "destination-cidr",
16826             "gateway-ip",
16827             "metric"
16828           ]
16829         },
16830         "NotifyWatchResult": {
16831           "type": "object",
16832           "properties": {
16833             "NotifyWatcherId": {
16834               "type": "string"
16835             },
16836             "error": {
16837               "$ref": "#/definitions/Error"
16838             }
16839           },
16840           "additionalProperties": false,
16841           "required": [
16842             "NotifyWatcherId"
16843           ]
16844         },
16845         "Number": {
16846           "type": "object",
16847           "properties": {
16848             "Build": {
16849               "type": "integer"
16850             },
16851             "Major": {
16852               "type": "integer"
16853             },
16854             "Minor": {
16855               "type": "integer"
16856             },
16857             "Patch": {
16858               "type": "integer"
16859             },
16860             "Tag": {
16861               "type": "string"
16862             }
16863           },
16864           "additionalProperties": false,
16865           "required": [
16866             "Major",
16867             "Minor",
16868             "Tag",
16869             "Patch",
16870             "Build"
16871           ]
16872         },
16873         "ProvisioningInfo": {
16874           "type": "object",
16875           "properties": {
16876             "constraints": {
16877               "$ref": "#/definitions/Value"
16878             },
16879             "controller-config": {
16880               "type": "object",
16881               "patternProperties": {
16882                 ".*": {
16883                   "type": "object",
16884                   "additionalProperties": true
16885                 }
16886               }
16887             },
16888             "endpoint-bindings": {
16889               "type": "object",
16890               "patternProperties": {
16891                 ".*": {
16892                   "type": "string"
16893                 }
16894               }
16895             },
16896             "image-metadata": {
16897               "type": "array",
16898               "items": {
16899                 "$ref": "#/definitions/CloudImageMetadata"
16900               }
16901             },
16902             "jobs": {
16903               "type": "array",
16904               "items": {
16905                 "type": "string"
16906               }
16907             },
16908             "placement": {
16909               "type": "string"
16910             },
16911             "series": {
16912               "type": "string"
16913             },
16914             "subnets-to-zones": {
16915               "type": "object",
16916               "patternProperties": {
16917                 ".*": {
16918                   "type": "array",
16919                   "items": {
16920                     "type": "string"
16921                   }
16922                 }
16923               }
16924             },
16925             "tags": {
16926               "type": "object",
16927               "patternProperties": {
16928                 ".*": {
16929                   "type": "string"
16930                 }
16931               }
16932             },
16933             "volumes": {
16934               "type": "array",
16935               "items": {
16936                 "$ref": "#/definitions/VolumeParams"
16937               }
16938             }
16939           },
16940           "additionalProperties": false,
16941           "required": [
16942             "constraints",
16943             "series",
16944             "placement",
16945             "jobs"
16946           ]
16947         },
16948         "ProvisioningInfoResult": {
16949           "type": "object",
16950           "properties": {
16951             "error": {
16952               "$ref": "#/definitions/Error"
16953             },
16954             "result": {
16955               "$ref": "#/definitions/ProvisioningInfo"
16956             }
16957           },
16958           "additionalProperties": false,
16959           "required": [
16960             "result"
16961           ]
16962         },
16963         "ProvisioningInfoResults": {
16964           "type": "object",
16965           "properties": {
16966             "results": {
16967               "type": "array",
16968               "items": {
16969                 "$ref": "#/definitions/ProvisioningInfoResult"
16970               }
16971             }
16972           },
16973           "additionalProperties": false,
16974           "required": [
16975             "results"
16976           ]
16977         },
16978         "SetMachineNetworkConfig": {
16979           "type": "object",
16980           "properties": {
16981             "config": {
16982               "type": "array",
16983               "items": {
16984                 "$ref": "#/definitions/NetworkConfig"
16985               }
16986             },
16987             "tag": {
16988               "type": "string"
16989             }
16990           },
16991           "additionalProperties": false,
16992           "required": [
16993             "tag",
16994             "config"
16995           ]
16996         },
16997         "SetStatus": {
16998           "type": "object",
16999           "properties": {
17000             "entities": {
17001               "type": "array",
17002               "items": {
17003                 "$ref": "#/definitions/EntityStatusArgs"
17004               }
17005             }
17006           },
17007           "additionalProperties": false,
17008           "required": [
17009             "entities"
17010           ]
17011         },
17012         "Settings": {
17013           "type": "object",
17014           "properties": {
17015             "Ftp": {
17016               "type": "string"
17017             },
17018             "Http": {
17019               "type": "string"
17020             },
17021             "Https": {
17022               "type": "string"
17023             },
17024             "NoProxy": {
17025               "type": "string"
17026             }
17027           },
17028           "additionalProperties": false,
17029           "required": [
17030             "Http",
17031             "Https",
17032             "Ftp",
17033             "NoProxy"
17034           ]
17035         },
17036         "StatusResult": {
17037           "type": "object",
17038           "properties": {
17039             "data": {
17040               "type": "object",
17041               "patternProperties": {
17042                 ".*": {
17043                   "type": "object",
17044                   "additionalProperties": true
17045                 }
17046               }
17047             },
17048             "error": {
17049               "$ref": "#/definitions/Error"
17050             },
17051             "id": {
17052               "type": "string"
17053             },
17054             "info": {
17055               "type": "string"
17056             },
17057             "life": {
17058               "type": "string"
17059             },
17060             "since": {
17061               "type": "string",
17062               "format": "date-time"
17063             },
17064             "status": {
17065               "type": "string"
17066             }
17067           },
17068           "additionalProperties": false,
17069           "required": [
17070             "id",
17071             "life",
17072             "status",
17073             "info",
17074             "data",
17075             "since"
17076           ]
17077         },
17078         "StatusResults": {
17079           "type": "object",
17080           "properties": {
17081             "results": {
17082               "type": "array",
17083               "items": {
17084                 "$ref": "#/definitions/StatusResult"
17085               }
17086             }
17087           },
17088           "additionalProperties": false,
17089           "required": [
17090             "results"
17091           ]
17092         },
17093         "StringResult": {
17094           "type": "object",
17095           "properties": {
17096             "error": {
17097               "$ref": "#/definitions/Error"
17098             },
17099             "result": {
17100               "type": "string"
17101             }
17102           },
17103           "additionalProperties": false,
17104           "required": [
17105             "result"
17106           ]
17107         },
17108         "StringResults": {
17109           "type": "object",
17110           "properties": {
17111             "results": {
17112               "type": "array",
17113               "items": {
17114                 "$ref": "#/definitions/StringResult"
17115               }
17116             }
17117           },
17118           "additionalProperties": false,
17119           "required": [
17120             "results"
17121           ]
17122         },
17123         "StringsResult": {
17124           "type": "object",
17125           "properties": {
17126             "error": {
17127               "$ref": "#/definitions/Error"
17128             },
17129             "result": {
17130               "type": "array",
17131               "items": {
17132                 "type": "string"
17133               }
17134             }
17135           },
17136           "additionalProperties": false
17137         },
17138         "StringsWatchResult": {
17139           "type": "object",
17140           "properties": {
17141             "changes": {
17142               "type": "array",
17143               "items": {
17144                 "type": "string"
17145               }
17146             },
17147             "error": {
17148               "$ref": "#/definitions/Error"
17149             },
17150             "watcher-id": {
17151               "type": "string"
17152             }
17153           },
17154           "additionalProperties": false,
17155           "required": [
17156             "watcher-id"
17157           ]
17158         },
17159         "StringsWatchResults": {
17160           "type": "object",
17161           "properties": {
17162             "results": {
17163               "type": "array",
17164               "items": {
17165                 "$ref": "#/definitions/StringsWatchResult"
17166               }
17167             }
17168           },
17169           "additionalProperties": false,
17170           "required": [
17171             "results"
17172           ]
17173         },
17174         "Tools": {
17175           "type": "object",
17176           "properties": {
17177             "sha256": {
17178               "type": "string"
17179             },
17180             "size": {
17181               "type": "integer"
17182             },
17183             "url": {
17184               "type": "string"
17185             },
17186             "version": {
17187               "$ref": "#/definitions/Binary"
17188             }
17189           },
17190           "additionalProperties": false,
17191           "required": [
17192             "version",
17193             "url",
17194             "size"
17195           ]
17196         },
17197         "ToolsResult": {
17198           "type": "object",
17199           "properties": {
17200             "disable-ssl-hostname-verification": {
17201               "type": "boolean"
17202             },
17203             "error": {
17204               "$ref": "#/definitions/Error"
17205             },
17206             "tools": {
17207               "type": "array",
17208               "items": {
17209                 "$ref": "#/definitions/Tools"
17210               }
17211             }
17212           },
17213           "additionalProperties": false,
17214           "required": [
17215             "tools",
17216             "disable-ssl-hostname-verification"
17217           ]
17218         },
17219         "ToolsResults": {
17220           "type": "object",
17221           "properties": {
17222             "results": {
17223               "type": "array",
17224               "items": {
17225                 "$ref": "#/definitions/ToolsResult"
17226               }
17227             }
17228           },
17229           "additionalProperties": false,
17230           "required": [
17231             "results"
17232           ]
17233         },
17234         "UpdateBehavior": {
17235           "type": "object",
17236           "properties": {
17237             "enable-os-refresh-update": {
17238               "type": "boolean"
17239             },
17240             "enable-os-upgrade": {
17241               "type": "boolean"
17242             }
17243           },
17244           "additionalProperties": false,
17245           "required": [
17246             "enable-os-refresh-update",
17247             "enable-os-upgrade"
17248           ]
17249         },
17250         "Value": {
17251           "type": "object",
17252           "properties": {
17253             "arch": {
17254               "type": "string"
17255             },
17256             "container": {
17257               "type": "string"
17258             },
17259             "cores": {
17260               "type": "integer"
17261             },
17262             "cpu-power": {
17263               "type": "integer"
17264             },
17265             "instance-type": {
17266               "type": "string"
17267             },
17268             "mem": {
17269               "type": "integer"
17270             },
17271             "root-disk": {
17272               "type": "integer"
17273             },
17274             "spaces": {
17275               "type": "array",
17276               "items": {
17277                 "type": "string"
17278               }
17279             },
17280             "tags": {
17281               "type": "array",
17282               "items": {
17283                 "type": "string"
17284               }
17285             },
17286             "virt-type": {
17287               "type": "string"
17288             }
17289           },
17290           "additionalProperties": false
17291         },
17292         "Volume": {
17293           "type": "object",
17294           "properties": {
17295             "info": {
17296               "$ref": "#/definitions/VolumeInfo"
17297             },
17298             "volume-tag": {
17299               "type": "string"
17300             }
17301           },
17302           "additionalProperties": false,
17303           "required": [
17304             "volume-tag",
17305             "info"
17306           ]
17307         },
17308         "VolumeAttachmentInfo": {
17309           "type": "object",
17310           "properties": {
17311             "bus-address": {
17312               "type": "string"
17313             },
17314             "device-link": {
17315               "type": "string"
17316             },
17317             "device-name": {
17318               "type": "string"
17319             },
17320             "read-only": {
17321               "type": "boolean"
17322             }
17323           },
17324           "additionalProperties": false
17325         },
17326         "VolumeAttachmentParams": {
17327           "type": "object",
17328           "properties": {
17329             "instance-id": {
17330               "type": "string"
17331             },
17332             "machine-tag": {
17333               "type": "string"
17334             },
17335             "provider": {
17336               "type": "string"
17337             },
17338             "read-only": {
17339               "type": "boolean"
17340             },
17341             "volume-id": {
17342               "type": "string"
17343             },
17344             "volume-tag": {
17345               "type": "string"
17346             }
17347           },
17348           "additionalProperties": false,
17349           "required": [
17350             "volume-tag",
17351             "machine-tag",
17352             "provider"
17353           ]
17354         },
17355         "VolumeInfo": {
17356           "type": "object",
17357           "properties": {
17358             "hardware-id": {
17359               "type": "string"
17360             },
17361             "persistent": {
17362               "type": "boolean"
17363             },
17364             "size": {
17365               "type": "integer"
17366             },
17367             "volume-id": {
17368               "type": "string"
17369             }
17370           },
17371           "additionalProperties": false,
17372           "required": [
17373             "volume-id",
17374             "size",
17375             "persistent"
17376           ]
17377         },
17378         "VolumeParams": {
17379           "type": "object",
17380           "properties": {
17381             "attachment": {
17382               "$ref": "#/definitions/VolumeAttachmentParams"
17383             },
17384             "attributes": {
17385               "type": "object",
17386               "patternProperties": {
17387                 ".*": {
17388                   "type": "object",
17389                   "additionalProperties": true
17390                 }
17391               }
17392             },
17393             "provider": {
17394               "type": "string"
17395             },
17396             "size": {
17397               "type": "integer"
17398             },
17399             "tags": {
17400               "type": "object",
17401               "patternProperties": {
17402                 ".*": {
17403                   "type": "string"
17404                 }
17405               }
17406             },
17407             "volume-tag": {
17408               "type": "string"
17409             }
17410           },
17411           "additionalProperties": false,
17412           "required": [
17413             "volume-tag",
17414             "size",
17415             "provider"
17416           ]
17417         },
17418         "WatchContainer": {
17419           "type": "object",
17420           "properties": {
17421             "container-type": {
17422               "type": "string"
17423             },
17424             "machine-tag": {
17425               "type": "string"
17426             }
17427           },
17428           "additionalProperties": false,
17429           "required": [
17430             "machine-tag",
17431             "container-type"
17432           ]
17433         },
17434         "WatchContainers": {
17435           "type": "object",
17436           "properties": {
17437             "params": {
17438               "type": "array",
17439               "items": {
17440                 "$ref": "#/definitions/WatchContainer"
17441               }
17442             }
17443           },
17444           "additionalProperties": false,
17445           "required": [
17446             "params"
17447           ]
17448         }
17449       }
17450     }
17451   },
17452   {
17453     "Name": "ProxyUpdater",
17454     "Version": 1,
17455     "Schema": {
17456       "type": "object",
17457       "properties": {
17458         "ProxyConfig": {
17459           "type": "object",
17460           "properties": {
17461             "Params": {
17462               "$ref": "#/definitions/Entities"
17463             },
17464             "Result": {
17465               "$ref": "#/definitions/ProxyConfigResults"
17466             }
17467           }
17468         },
17469         "WatchForProxyConfigAndAPIHostPortChanges": {
17470           "type": "object",
17471           "properties": {
17472             "Params": {
17473               "$ref": "#/definitions/Entities"
17474             },
17475             "Result": {
17476               "$ref": "#/definitions/NotifyWatchResults"
17477             }
17478           }
17479         }
17480       },
17481       "definitions": {
17482         "Entities": {
17483           "type": "object",
17484           "properties": {
17485             "entities": {
17486               "type": "array",
17487               "items": {
17488                 "$ref": "#/definitions/Entity"
17489               }
17490             }
17491           },
17492           "additionalProperties": false,
17493           "required": [
17494             "entities"
17495           ]
17496         },
17497         "Entity": {
17498           "type": "object",
17499           "properties": {
17500             "tag": {
17501               "type": "string"
17502             }
17503           },
17504           "additionalProperties": false,
17505           "required": [
17506             "tag"
17507           ]
17508         },
17509         "Error": {
17510           "type": "object",
17511           "properties": {
17512             "code": {
17513               "type": "string"
17514             },
17515             "info": {
17516               "$ref": "#/definitions/ErrorInfo"
17517             },
17518             "message": {
17519               "type": "string"
17520             }
17521           },
17522           "additionalProperties": false,
17523           "required": [
17524             "message",
17525             "code"
17526           ]
17527         },
17528         "ErrorInfo": {
17529           "type": "object",
17530           "properties": {
17531             "macaroon": {
17532               "$ref": "#/definitions/Macaroon"
17533             },
17534             "macaroon-path": {
17535               "type": "string"
17536             }
17537           },
17538           "additionalProperties": false
17539         },
17540         "Macaroon": {
17541           "type": "object",
17542           "additionalProperties": false
17543         },
17544         "NotifyWatchResult": {
17545           "type": "object",
17546           "properties": {
17547             "NotifyWatcherId": {
17548               "type": "string"
17549             },
17550             "error": {
17551               "$ref": "#/definitions/Error"
17552             }
17553           },
17554           "additionalProperties": false,
17555           "required": [
17556             "NotifyWatcherId"
17557           ]
17558         },
17559         "NotifyWatchResults": {
17560           "type": "object",
17561           "properties": {
17562             "results": {
17563               "type": "array",
17564               "items": {
17565                 "$ref": "#/definitions/NotifyWatchResult"
17566               }
17567             }
17568           },
17569           "additionalProperties": false,
17570           "required": [
17571             "results"
17572           ]
17573         },
17574         "ProxyConfig": {
17575           "type": "object",
17576           "properties": {
17577             "ftp": {
17578               "type": "string"
17579             },
17580             "http": {
17581               "type": "string"
17582             },
17583             "https": {
17584               "type": "string"
17585             },
17586             "no-proxy": {
17587               "type": "string"
17588             }
17589           },
17590           "additionalProperties": false,
17591           "required": [
17592             "http",
17593             "https",
17594             "ftp",
17595             "no-proxy"
17596           ]
17597         },
17598         "ProxyConfigResult": {
17599           "type": "object",
17600           "properties": {
17601             "apt-proxy-settings": {
17602               "$ref": "#/definitions/ProxyConfig"
17603             },
17604             "error": {
17605               "$ref": "#/definitions/Error"
17606             },
17607             "proxy-settings": {
17608               "$ref": "#/definitions/ProxyConfig"
17609             }
17610           },
17611           "additionalProperties": false,
17612           "required": [
17613             "proxy-settings",
17614             "apt-proxy-settings"
17615           ]
17616         },
17617         "ProxyConfigResults": {
17618           "type": "object",
17619           "properties": {
17620             "results": {
17621               "type": "array",
17622               "items": {
17623                 "$ref": "#/definitions/ProxyConfigResult"
17624               }
17625             }
17626           },
17627           "additionalProperties": false,
17628           "required": [
17629             "results"
17630           ]
17631         }
17632       }
17633     }
17634   },
17635   {
17636     "Name": "Reboot",
17637     "Version": 2,
17638     "Schema": {
17639       "type": "object",
17640       "properties": {
17641         "ClearReboot": {
17642           "type": "object",
17643           "properties": {
17644             "Params": {
17645               "$ref": "#/definitions/Entities"
17646             },
17647             "Result": {
17648               "$ref": "#/definitions/ErrorResults"
17649             }
17650           }
17651         },
17652         "GetRebootAction": {
17653           "type": "object",
17654           "properties": {
17655             "Params": {
17656               "$ref": "#/definitions/Entities"
17657             },
17658             "Result": {
17659               "$ref": "#/definitions/RebootActionResults"
17660             }
17661           }
17662         },
17663         "RequestReboot": {
17664           "type": "object",
17665           "properties": {
17666             "Params": {
17667               "$ref": "#/definitions/Entities"
17668             },
17669             "Result": {
17670               "$ref": "#/definitions/ErrorResults"
17671             }
17672           }
17673         },
17674         "WatchForRebootEvent": {
17675           "type": "object",
17676           "properties": {
17677             "Result": {
17678               "$ref": "#/definitions/NotifyWatchResult"
17679             }
17680           }
17681         }
17682       },
17683       "definitions": {
17684         "Entities": {
17685           "type": "object",
17686           "properties": {
17687             "entities": {
17688               "type": "array",
17689               "items": {
17690                 "$ref": "#/definitions/Entity"
17691               }
17692             }
17693           },
17694           "additionalProperties": false,
17695           "required": [
17696             "entities"
17697           ]
17698         },
17699         "Entity": {
17700           "type": "object",
17701           "properties": {
17702             "tag": {
17703               "type": "string"
17704             }
17705           },
17706           "additionalProperties": false,
17707           "required": [
17708             "tag"
17709           ]
17710         },
17711         "Error": {
17712           "type": "object",
17713           "properties": {
17714             "code": {
17715               "type": "string"
17716             },
17717             "info": {
17718               "$ref": "#/definitions/ErrorInfo"
17719             },
17720             "message": {
17721               "type": "string"
17722             }
17723           },
17724           "additionalProperties": false,
17725           "required": [
17726             "message",
17727             "code"
17728           ]
17729         },
17730         "ErrorInfo": {
17731           "type": "object",
17732           "properties": {
17733             "macaroon": {
17734               "$ref": "#/definitions/Macaroon"
17735             },
17736             "macaroon-path": {
17737               "type": "string"
17738             }
17739           },
17740           "additionalProperties": false
17741         },
17742         "ErrorResult": {
17743           "type": "object",
17744           "properties": {
17745             "error": {
17746               "$ref": "#/definitions/Error"
17747             }
17748           },
17749           "additionalProperties": false
17750         },
17751         "ErrorResults": {
17752           "type": "object",
17753           "properties": {
17754             "results": {
17755               "type": "array",
17756               "items": {
17757                 "$ref": "#/definitions/ErrorResult"
17758               }
17759             }
17760           },
17761           "additionalProperties": false,
17762           "required": [
17763             "results"
17764           ]
17765         },
17766         "Macaroon": {
17767           "type": "object",
17768           "additionalProperties": false
17769         },
17770         "NotifyWatchResult": {
17771           "type": "object",
17772           "properties": {
17773             "NotifyWatcherId": {
17774               "type": "string"
17775             },
17776             "error": {
17777               "$ref": "#/definitions/Error"
17778             }
17779           },
17780           "additionalProperties": false,
17781           "required": [
17782             "NotifyWatcherId"
17783           ]
17784         },
17785         "RebootActionResult": {
17786           "type": "object",
17787           "properties": {
17788             "error": {
17789               "$ref": "#/definitions/Error"
17790             },
17791             "result": {
17792               "type": "string"
17793             }
17794           },
17795           "additionalProperties": false
17796         },
17797         "RebootActionResults": {
17798           "type": "object",
17799           "properties": {
17800             "results": {
17801               "type": "array",
17802               "items": {
17803                 "$ref": "#/definitions/RebootActionResult"
17804               }
17805             }
17806           },
17807           "additionalProperties": false
17808         }
17809       }
17810     }
17811   },
17812   {
17813     "Name": "RelationUnitsWatcher",
17814     "Version": 1,
17815     "Schema": {
17816       "type": "object",
17817       "properties": {
17818         "Next": {
17819           "type": "object",
17820           "properties": {
17821             "Result": {
17822               "$ref": "#/definitions/RelationUnitsWatchResult"
17823             }
17824           }
17825         },
17826         "Stop": {
17827           "type": "object"
17828         }
17829       },
17830       "definitions": {
17831         "Error": {
17832           "type": "object",
17833           "properties": {
17834             "code": {
17835               "type": "string"
17836             },
17837             "info": {
17838               "$ref": "#/definitions/ErrorInfo"
17839             },
17840             "message": {
17841               "type": "string"
17842             }
17843           },
17844           "additionalProperties": false,
17845           "required": [
17846             "message",
17847             "code"
17848           ]
17849         },
17850         "ErrorInfo": {
17851           "type": "object",
17852           "properties": {
17853             "macaroon": {
17854               "$ref": "#/definitions/Macaroon"
17855             },
17856             "macaroon-path": {
17857               "type": "string"
17858             }
17859           },
17860           "additionalProperties": false
17861         },
17862         "Macaroon": {
17863           "type": "object",
17864           "additionalProperties": false
17865         },
17866         "RelationUnitsChange": {
17867           "type": "object",
17868           "properties": {
17869             "changed": {
17870               "type": "object",
17871               "patternProperties": {
17872                 ".*": {
17873                   "$ref": "#/definitions/UnitSettings"
17874                 }
17875               }
17876             },
17877             "departed": {
17878               "type": "array",
17879               "items": {
17880                 "type": "string"
17881               }
17882             }
17883           },
17884           "additionalProperties": false,
17885           "required": [
17886             "changed"
17887           ]
17888         },
17889         "RelationUnitsWatchResult": {
17890           "type": "object",
17891           "properties": {
17892             "changes": {
17893               "$ref": "#/definitions/RelationUnitsChange"
17894             },
17895             "error": {
17896               "$ref": "#/definitions/Error"
17897             },
17898             "watcher-id": {
17899               "type": "string"
17900             }
17901           },
17902           "additionalProperties": false,
17903           "required": [
17904             "watcher-id",
17905             "changes"
17906           ]
17907         },
17908         "UnitSettings": {
17909           "type": "object",
17910           "properties": {
17911             "version": {
17912               "type": "integer"
17913             }
17914           },
17915           "additionalProperties": false,
17916           "required": [
17917             "version"
17918           ]
17919         }
17920       }
17921     }
17922   },
17923   {
17924     "Name": "RemoteApplicationWatcher",
17925     "Version": 1,
17926     "Schema": {
17927       "type": "object",
17928       "properties": {
17929         "Next": {
17930           "type": "object",
17931           "properties": {
17932             "Result": {
17933               "$ref": "#/definitions/RemoteApplicationWatchResult"
17934             }
17935           }
17936         },
17937         "Stop": {
17938           "type": "object"
17939         }
17940       },
17941       "definitions": {
17942         "Error": {
17943           "type": "object",
17944           "properties": {
17945             "code": {
17946               "type": "string"
17947             },
17948             "info": {
17949               "$ref": "#/definitions/ErrorInfo"
17950             },
17951             "message": {
17952               "type": "string"
17953             }
17954           },
17955           "additionalProperties": false,
17956           "required": [
17957             "message",
17958             "code"
17959           ]
17960         },
17961         "ErrorInfo": {
17962           "type": "object",
17963           "properties": {
17964             "macaroon": {
17965               "$ref": "#/definitions/Macaroon"
17966             },
17967             "macaroon-path": {
17968               "type": "string"
17969             }
17970           },
17971           "additionalProperties": false
17972         },
17973         "Macaroon": {
17974           "type": "object",
17975           "additionalProperties": false
17976         },
17977         "RemoteApplicationChange": {
17978           "type": "object",
17979           "properties": {
17980             "application-tag": {
17981               "type": "string"
17982             },
17983             "life": {
17984               "type": "string"
17985             },
17986             "relations": {
17987               "$ref": "#/definitions/RemoteRelationsChange"
17988             }
17989           },
17990           "additionalProperties": false,
17991           "required": [
17992             "application-tag",
17993             "life",
17994             "relations"
17995           ]
17996         },
17997         "RemoteApplicationWatchResult": {
17998           "type": "object",
17999           "properties": {
18000             "change": {
18001               "$ref": "#/definitions/RemoteApplicationChange"
18002             },
18003             "error": {
18004               "$ref": "#/definitions/Error"
18005             },
18006             "id": {
18007               "type": "string"
18008             }
18009           },
18010           "additionalProperties": false,
18011           "required": [
18012             "id"
18013           ]
18014         },
18015         "RemoteEntityId": {
18016           "type": "object",
18017           "properties": {
18018             "model-uuid": {
18019               "type": "string"
18020             },
18021             "token": {
18022               "type": "string"
18023             }
18024           },
18025           "additionalProperties": false,
18026           "required": [
18027             "model-uuid",
18028             "token"
18029           ]
18030         },
18031         "RemoteRelationChange": {
18032           "type": "object",
18033           "properties": {
18034             "changed-units": {
18035               "type": "object",
18036               "patternProperties": {
18037                 ".*": {
18038                   "$ref": "#/definitions/RemoteRelationUnitChange"
18039                 }
18040               }
18041             },
18042             "departed-units": {
18043               "type": "array",
18044               "items": {
18045                 "type": "string"
18046               }
18047             },
18048             "id": {
18049               "type": "integer"
18050             },
18051             "life": {
18052               "type": "string"
18053             }
18054           },
18055           "additionalProperties": false,
18056           "required": [
18057             "id",
18058             "life"
18059           ]
18060         },
18061         "RemoteRelationUnitChange": {
18062           "type": "object",
18063           "properties": {
18064             "settings": {
18065               "type": "object",
18066               "patternProperties": {
18067                 ".*": {
18068                   "type": "object",
18069                   "additionalProperties": true
18070                 }
18071               }
18072             },
18073             "unit-id": {
18074               "$ref": "#/definitions/RemoteEntityId"
18075             }
18076           },
18077           "additionalProperties": false,
18078           "required": [
18079             "unit-id"
18080           ]
18081         },
18082         "RemoteRelationsChange": {
18083           "type": "object",
18084           "properties": {
18085             "changed": {
18086               "type": "array",
18087               "items": {
18088                 "$ref": "#/definitions/RemoteRelationChange"
18089               }
18090             },
18091             "initial": {
18092               "type": "boolean"
18093             },
18094             "removed": {
18095               "type": "array",
18096               "items": {
18097                 "type": "integer"
18098               }
18099             }
18100           },
18101           "additionalProperties": false,
18102           "required": [
18103             "initial"
18104           ]
18105         }
18106       }
18107     }
18108   },
18109   {
18110     "Name": "RemoteRelationsWatcher",
18111     "Version": 1,
18112     "Schema": {
18113       "type": "object",
18114       "properties": {
18115         "Next": {
18116           "type": "object",
18117           "properties": {
18118             "Result": {
18119               "$ref": "#/definitions/RemoteRelationsWatchResult"
18120             }
18121           }
18122         },
18123         "Stop": {
18124           "type": "object"
18125         }
18126       },
18127       "definitions": {
18128         "Error": {
18129           "type": "object",
18130           "properties": {
18131             "code": {
18132               "type": "string"
18133             },
18134             "info": {
18135               "$ref": "#/definitions/ErrorInfo"
18136             },
18137             "message": {
18138               "type": "string"
18139             }
18140           },
18141           "additionalProperties": false,
18142           "required": [
18143             "message",
18144             "code"
18145           ]
18146         },
18147         "ErrorInfo": {
18148           "type": "object",
18149           "properties": {
18150             "macaroon": {
18151               "$ref": "#/definitions/Macaroon"
18152             },
18153             "macaroon-path": {
18154               "type": "string"
18155             }
18156           },
18157           "additionalProperties": false
18158         },
18159         "Macaroon": {
18160           "type": "object",
18161           "additionalProperties": false
18162         },
18163         "RemoteEntityId": {
18164           "type": "object",
18165           "properties": {
18166             "model-uuid": {
18167               "type": "string"
18168             },
18169             "token": {
18170               "type": "string"
18171             }
18172           },
18173           "additionalProperties": false,
18174           "required": [
18175             "model-uuid",
18176             "token"
18177           ]
18178         },
18179         "RemoteRelationChange": {
18180           "type": "object",
18181           "properties": {
18182             "changed-units": {
18183               "type": "object",
18184               "patternProperties": {
18185                 ".*": {
18186                   "$ref": "#/definitions/RemoteRelationUnitChange"
18187                 }
18188               }
18189             },
18190             "departed-units": {
18191               "type": "array",
18192               "items": {
18193                 "type": "string"
18194               }
18195             },
18196             "id": {
18197               "type": "integer"
18198             },
18199             "life": {
18200               "type": "string"
18201             }
18202           },
18203           "additionalProperties": false,
18204           "required": [
18205             "id",
18206             "life"
18207           ]
18208         },
18209         "RemoteRelationUnitChange": {
18210           "type": "object",
18211           "properties": {
18212             "settings": {
18213               "type": "object",
18214               "patternProperties": {
18215                 ".*": {
18216                   "type": "object",
18217                   "additionalProperties": true
18218                 }
18219               }
18220             },
18221             "unit-id": {
18222               "$ref": "#/definitions/RemoteEntityId"
18223             }
18224           },
18225           "additionalProperties": false,
18226           "required": [
18227             "unit-id"
18228           ]
18229         },
18230         "RemoteRelationsChange": {
18231           "type": "object",
18232           "properties": {
18233             "changed": {
18234               "type": "array",
18235               "items": {
18236                 "$ref": "#/definitions/RemoteRelationChange"
18237               }
18238             },
18239             "initial": {
18240               "type": "boolean"
18241             },
18242             "removed": {
18243               "type": "array",
18244               "items": {
18245                 "type": "integer"
18246               }
18247             }
18248           },
18249           "additionalProperties": false,
18250           "required": [
18251             "initial"
18252           ]
18253         },
18254         "RemoteRelationsWatchResult": {
18255           "type": "object",
18256           "properties": {
18257             "RemoteRelationsWatcherId": {
18258               "type": "string"
18259             },
18260             "change": {
18261               "$ref": "#/definitions/RemoteRelationsChange"
18262             },
18263             "error": {
18264               "$ref": "#/definitions/Error"
18265             }
18266           },
18267           "additionalProperties": false,
18268           "required": [
18269             "RemoteRelationsWatcherId"
18270           ]
18271         }
18272       }
18273     }
18274   },
18275   {
18276     "Name": "Resources",
18277     "Version": 1,
18278     "Schema": {
18279       "type": "object",
18280       "properties": {
18281         "AddPendingResources": {
18282           "type": "object",
18283           "properties": {
18284             "Params": {
18285               "$ref": "#/definitions/AddPendingResourcesArgs"
18286             },
18287             "Result": {
18288               "$ref": "#/definitions/AddPendingResourcesResult"
18289             }
18290           }
18291         },
18292         "ListResources": {
18293           "type": "object",
18294           "properties": {
18295             "Params": {
18296               "$ref": "#/definitions/ListResourcesArgs"
18297             },
18298             "Result": {
18299               "$ref": "#/definitions/ResourcesResults"
18300             }
18301           }
18302         }
18303       },
18304       "definitions": {
18305         "AddCharmWithAuthorization": {
18306           "type": "object",
18307           "properties": {
18308             "channel": {
18309               "type": "string"
18310             },
18311             "macaroon": {
18312               "$ref": "#/definitions/Macaroon"
18313             },
18314             "url": {
18315               "type": "string"
18316             }
18317           },
18318           "additionalProperties": false,
18319           "required": [
18320             "url",
18321             "channel",
18322             "macaroon"
18323           ]
18324         },
18325         "AddPendingResourcesArgs": {
18326           "type": "object",
18327           "properties": {
18328             "AddCharmWithAuthorization": {
18329               "$ref": "#/definitions/AddCharmWithAuthorization"
18330             },
18331             "Entity": {
18332               "$ref": "#/definitions/Entity"
18333             },
18334             "Resources": {
18335               "type": "array",
18336               "items": {
18337                 "$ref": "#/definitions/CharmResource"
18338               }
18339             }
18340           },
18341           "additionalProperties": false,
18342           "required": [
18343             "Entity",
18344             "AddCharmWithAuthorization",
18345             "Resources"
18346           ]
18347         },
18348         "AddPendingResourcesResult": {
18349           "type": "object",
18350           "properties": {
18351             "ErrorResult": {
18352               "$ref": "#/definitions/ErrorResult"
18353             },
18354             "pending-ids": {
18355               "type": "array",
18356               "items": {
18357                 "type": "string"
18358               }
18359             }
18360           },
18361           "additionalProperties": false,
18362           "required": [
18363             "ErrorResult",
18364             "pending-ids"
18365           ]
18366         },
18367         "CharmResource": {
18368           "type": "object",
18369           "properties": {
18370             "description": {
18371               "type": "string"
18372             },
18373             "fingerprint": {
18374               "type": "array",
18375               "items": {
18376                 "type": "integer"
18377               }
18378             },
18379             "name": {
18380               "type": "string"
18381             },
18382             "origin": {
18383               "type": "string"
18384             },
18385             "path": {
18386               "type": "string"
18387             },
18388             "revision": {
18389               "type": "integer"
18390             },
18391             "size": {
18392               "type": "integer"
18393             },
18394             "type": {
18395               "type": "string"
18396             }
18397           },
18398           "additionalProperties": false,
18399           "required": [
18400             "name",
18401             "type",
18402             "path",
18403             "origin",
18404             "revision",
18405             "fingerprint",
18406             "size"
18407           ]
18408         },
18409         "Entity": {
18410           "type": "object",
18411           "properties": {
18412             "tag": {
18413               "type": "string"
18414             }
18415           },
18416           "additionalProperties": false,
18417           "required": [
18418             "tag"
18419           ]
18420         },
18421         "Error": {
18422           "type": "object",
18423           "properties": {
18424             "code": {
18425               "type": "string"
18426             },
18427             "info": {
18428               "$ref": "#/definitions/ErrorInfo"
18429             },
18430             "message": {
18431               "type": "string"
18432             }
18433           },
18434           "additionalProperties": false,
18435           "required": [
18436             "message",
18437             "code"
18438           ]
18439         },
18440         "ErrorInfo": {
18441           "type": "object",
18442           "properties": {
18443             "macaroon": {
18444               "$ref": "#/definitions/Macaroon"
18445             },
18446             "macaroon-path": {
18447               "type": "string"
18448             }
18449           },
18450           "additionalProperties": false
18451         },
18452         "ErrorResult": {
18453           "type": "object",
18454           "properties": {
18455             "error": {
18456               "$ref": "#/definitions/Error"
18457             }
18458           },
18459           "additionalProperties": false
18460         },
18461         "ListResourcesArgs": {
18462           "type": "object",
18463           "properties": {
18464             "entities": {
18465               "type": "array",
18466               "items": {
18467                 "$ref": "#/definitions/Entity"
18468               }
18469             }
18470           },
18471           "additionalProperties": false,
18472           "required": [
18473             "entities"
18474           ]
18475         },
18476         "Macaroon": {
18477           "type": "object",
18478           "additionalProperties": false
18479         },
18480         "Resource": {
18481           "type": "object",
18482           "properties": {
18483             "CharmResource": {
18484               "$ref": "#/definitions/CharmResource"
18485             },
18486             "application": {
18487               "type": "string"
18488             },
18489             "id": {
18490               "type": "string"
18491             },
18492             "pending-id": {
18493               "type": "string"
18494             },
18495             "timestamp": {
18496               "type": "string",
18497               "format": "date-time"
18498             },
18499             "username": {
18500               "type": "string"
18501             }
18502           },
18503           "additionalProperties": false,
18504           "required": [
18505             "CharmResource",
18506             "id",
18507             "pending-id",
18508             "application",
18509             "username",
18510             "timestamp"
18511           ]
18512         },
18513         "ResourcesResult": {
18514           "type": "object",
18515           "properties": {
18516             "ErrorResult": {
18517               "$ref": "#/definitions/ErrorResult"
18518             },
18519             "charm-store-resources": {
18520               "type": "array",
18521               "items": {
18522                 "$ref": "#/definitions/CharmResource"
18523               }
18524             },
18525             "resources": {
18526               "type": "array",
18527               "items": {
18528                 "$ref": "#/definitions/Resource"
18529               }
18530             },
18531             "unit-resources": {
18532               "type": "array",
18533               "items": {
18534                 "$ref": "#/definitions/UnitResources"
18535               }
18536             }
18537           },
18538           "additionalProperties": false,
18539           "required": [
18540             "ErrorResult",
18541             "resources",
18542             "charm-store-resources",
18543             "unit-resources"
18544           ]
18545         },
18546         "ResourcesResults": {
18547           "type": "object",
18548           "properties": {
18549             "results": {
18550               "type": "array",
18551               "items": {
18552                 "$ref": "#/definitions/ResourcesResult"
18553               }
18554             }
18555           },
18556           "additionalProperties": false,
18557           "required": [
18558             "results"
18559           ]
18560         },
18561         "UnitResources": {
18562           "type": "object",
18563           "properties": {
18564             "Entity": {
18565               "$ref": "#/definitions/Entity"
18566             },
18567             "download-progress": {
18568               "type": "object",
18569               "patternProperties": {
18570                 ".*": {
18571                   "type": "integer"
18572                 }
18573               }
18574             },
18575             "resources": {
18576               "type": "array",
18577               "items": {
18578                 "$ref": "#/definitions/Resource"
18579               }
18580             }
18581           },
18582           "additionalProperties": false,
18583           "required": [
18584             "Entity",
18585             "resources",
18586             "download-progress"
18587           ]
18588         }
18589       }
18590     }
18591   },
18592   {
18593     "Name": "ResourcesHookContext",
18594     "Version": 1,
18595     "Schema": {
18596       "type": "object",
18597       "properties": {
18598         "GetResourceInfo": {
18599           "type": "object",
18600           "properties": {
18601             "Params": {
18602               "$ref": "#/definitions/ListResourcesArgs"
18603             },
18604             "Result": {
18605               "$ref": "#/definitions/ResourcesResult"
18606             }
18607           }
18608         }
18609       },
18610       "definitions": {
18611         "CharmResource": {
18612           "type": "object",
18613           "properties": {
18614             "description": {
18615               "type": "string"
18616             },
18617             "fingerprint": {
18618               "type": "array",
18619               "items": {
18620                 "type": "integer"
18621               }
18622             },
18623             "name": {
18624               "type": "string"
18625             },
18626             "origin": {
18627               "type": "string"
18628             },
18629             "path": {
18630               "type": "string"
18631             },
18632             "revision": {
18633               "type": "integer"
18634             },
18635             "size": {
18636               "type": "integer"
18637             },
18638             "type": {
18639               "type": "string"
18640             }
18641           },
18642           "additionalProperties": false,
18643           "required": [
18644             "name",
18645             "type",
18646             "path",
18647             "origin",
18648             "revision",
18649             "fingerprint",
18650             "size"
18651           ]
18652         },
18653         "Error": {
18654           "type": "object",
18655           "properties": {
18656             "code": {
18657               "type": "string"
18658             },
18659             "info": {
18660               "$ref": "#/definitions/ErrorInfo"
18661             },
18662             "message": {
18663               "type": "string"
18664             }
18665           },
18666           "additionalProperties": false,
18667           "required": [
18668             "message",
18669             "code"
18670           ]
18671         },
18672         "ErrorInfo": {
18673           "type": "object",
18674           "properties": {
18675             "macaroon": {
18676               "$ref": "#/definitions/Macaroon"
18677             },
18678             "macaroon-path": {
18679               "type": "string"
18680             }
18681           },
18682           "additionalProperties": false
18683         },
18684         "ErrorResult": {
18685           "type": "object",
18686           "properties": {
18687             "error": {
18688               "$ref": "#/definitions/Error"
18689             }
18690           },
18691           "additionalProperties": false
18692         },
18693         "ListResourcesArgs": {
18694           "type": "object",
18695           "properties": {
18696             "resource-names": {
18697               "type": "array",
18698               "items": {
18699                 "type": "string"
18700               }
18701             }
18702           },
18703           "additionalProperties": false,
18704           "required": [
18705             "resource-names"
18706           ]
18707         },
18708         "Macaroon": {
18709           "type": "object",
18710           "additionalProperties": false
18711         },
18712         "Resource": {
18713           "type": "object",
18714           "properties": {
18715             "CharmResource": {
18716               "$ref": "#/definitions/CharmResource"
18717             },
18718             "application": {
18719               "type": "string"
18720             },
18721             "id": {
18722               "type": "string"
18723             },
18724             "pending-id": {
18725               "type": "string"
18726             },
18727             "timestamp": {
18728               "type": "string",
18729               "format": "date-time"
18730             },
18731             "username": {
18732               "type": "string"
18733             }
18734           },
18735           "additionalProperties": false,
18736           "required": [
18737             "CharmResource",
18738             "id",
18739             "pending-id",
18740             "application",
18741             "username",
18742             "timestamp"
18743           ]
18744         },
18745         "ResourceResult": {
18746           "type": "object",
18747           "properties": {
18748             "ErrorResult": {
18749               "$ref": "#/definitions/ErrorResult"
18750             },
18751             "resource": {
18752               "$ref": "#/definitions/Resource"
18753             }
18754           },
18755           "additionalProperties": false,
18756           "required": [
18757             "ErrorResult",
18758             "resource"
18759           ]
18760         },
18761         "ResourcesResult": {
18762           "type": "object",
18763           "properties": {
18764             "ErrorResult": {
18765               "$ref": "#/definitions/ErrorResult"
18766             },
18767             "resources": {
18768               "type": "array",
18769               "items": {
18770                 "$ref": "#/definitions/ResourceResult"
18771               }
18772             }
18773           },
18774           "additionalProperties": false,
18775           "required": [
18776             "ErrorResult",
18777             "resources"
18778           ]
18779         }
18780       }
18781     }
18782   },
18783   {
18784     "Name": "Resumer",
18785     "Version": 2,
18786     "Schema": {
18787       "type": "object",
18788       "properties": {
18789         "ResumeTransactions": {
18790           "type": "object"
18791         }
18792       }
18793     }
18794   },
18795   {
18796     "Name": "RetryStrategy",
18797     "Version": 1,
18798     "Schema": {
18799       "type": "object",
18800       "properties": {
18801         "RetryStrategy": {
18802           "type": "object",
18803           "properties": {
18804             "Params": {
18805               "$ref": "#/definitions/Entities"
18806             },
18807             "Result": {
18808               "$ref": "#/definitions/RetryStrategyResults"
18809             }
18810           }
18811         },
18812         "WatchRetryStrategy": {
18813           "type": "object",
18814           "properties": {
18815             "Params": {
18816               "$ref": "#/definitions/Entities"
18817             },
18818             "Result": {
18819               "$ref": "#/definitions/NotifyWatchResults"
18820             }
18821           }
18822         }
18823       },
18824       "definitions": {
18825         "Entities": {
18826           "type": "object",
18827           "properties": {
18828             "entities": {
18829               "type": "array",
18830               "items": {
18831                 "$ref": "#/definitions/Entity"
18832               }
18833             }
18834           },
18835           "additionalProperties": false,
18836           "required": [
18837             "entities"
18838           ]
18839         },
18840         "Entity": {
18841           "type": "object",
18842           "properties": {
18843             "tag": {
18844               "type": "string"
18845             }
18846           },
18847           "additionalProperties": false,
18848           "required": [
18849             "tag"
18850           ]
18851         },
18852         "Error": {
18853           "type": "object",
18854           "properties": {
18855             "code": {
18856               "type": "string"
18857             },
18858             "info": {
18859               "$ref": "#/definitions/ErrorInfo"
18860             },
18861             "message": {
18862               "type": "string"
18863             }
18864           },
18865           "additionalProperties": false,
18866           "required": [
18867             "message",
18868             "code"
18869           ]
18870         },
18871         "ErrorInfo": {
18872           "type": "object",
18873           "properties": {
18874             "macaroon": {
18875               "$ref": "#/definitions/Macaroon"
18876             },
18877             "macaroon-path": {
18878               "type": "string"
18879             }
18880           },
18881           "additionalProperties": false
18882         },
18883         "Macaroon": {
18884           "type": "object",
18885           "additionalProperties": false
18886         },
18887         "NotifyWatchResult": {
18888           "type": "object",
18889           "properties": {
18890             "NotifyWatcherId": {
18891               "type": "string"
18892             },
18893             "error": {
18894               "$ref": "#/definitions/Error"
18895             }
18896           },
18897           "additionalProperties": false,
18898           "required": [
18899             "NotifyWatcherId"
18900           ]
18901         },
18902         "NotifyWatchResults": {
18903           "type": "object",
18904           "properties": {
18905             "results": {
18906               "type": "array",
18907               "items": {
18908                 "$ref": "#/definitions/NotifyWatchResult"
18909               }
18910             }
18911           },
18912           "additionalProperties": false,
18913           "required": [
18914             "results"
18915           ]
18916         },
18917         "RetryStrategy": {
18918           "type": "object",
18919           "properties": {
18920             "jitter-retry-time": {
18921               "type": "boolean"
18922             },
18923             "max-retry-time": {
18924               "type": "integer"
18925             },
18926             "min-retry-time": {
18927               "type": "integer"
18928             },
18929             "retry-time-factor": {
18930               "type": "integer"
18931             },
18932             "should-retry": {
18933               "type": "boolean"
18934             }
18935           },
18936           "additionalProperties": false,
18937           "required": [
18938             "should-retry",
18939             "min-retry-time",
18940             "max-retry-time",
18941             "jitter-retry-time",
18942             "retry-time-factor"
18943           ]
18944         },
18945         "RetryStrategyResult": {
18946           "type": "object",
18947           "properties": {
18948             "error": {
18949               "$ref": "#/definitions/Error"
18950             },
18951             "result": {
18952               "$ref": "#/definitions/RetryStrategy"
18953             }
18954           },
18955           "additionalProperties": false
18956         },
18957         "RetryStrategyResults": {
18958           "type": "object",
18959           "properties": {
18960             "results": {
18961               "type": "array",
18962               "items": {
18963                 "$ref": "#/definitions/RetryStrategyResult"
18964               }
18965             }
18966           },
18967           "additionalProperties": false,
18968           "required": [
18969             "results"
18970           ]
18971         }
18972       }
18973     }
18974   },
18975   {
18976     "Name": "SSHClient",
18977     "Version": 2,
18978     "Schema": {
18979       "type": "object",
18980       "properties": {
18981         "AllAddresses": {
18982           "type": "object",
18983           "properties": {
18984             "Params": {
18985               "$ref": "#/definitions/Entities"
18986             },
18987             "Result": {
18988               "$ref": "#/definitions/SSHAddressesResults"
18989             }
18990           }
18991         },
18992         "PrivateAddress": {
18993           "type": "object",
18994           "properties": {
18995             "Params": {
18996               "$ref": "#/definitions/Entities"
18997             },
18998             "Result": {
18999               "$ref": "#/definitions/SSHAddressResults"
19000             }
19001           }
19002         },
19003         "Proxy": {
19004           "type": "object",
19005           "properties": {
19006             "Result": {
19007               "$ref": "#/definitions/SSHProxyResult"
19008             }
19009           }
19010         },
19011         "PublicAddress": {
19012           "type": "object",
19013           "properties": {
19014             "Params": {
19015               "$ref": "#/definitions/Entities"
19016             },
19017             "Result": {
19018               "$ref": "#/definitions/SSHAddressResults"
19019             }
19020           }
19021         },
19022         "PublicKeys": {
19023           "type": "object",
19024           "properties": {
19025             "Params": {
19026               "$ref": "#/definitions/Entities"
19027             },
19028             "Result": {
19029               "$ref": "#/definitions/SSHPublicKeysResults"
19030             }
19031           }
19032         }
19033       },
19034       "definitions": {
19035         "Entities": {
19036           "type": "object",
19037           "properties": {
19038             "entities": {
19039               "type": "array",
19040               "items": {
19041                 "$ref": "#/definitions/Entity"
19042               }
19043             }
19044           },
19045           "additionalProperties": false,
19046           "required": [
19047             "entities"
19048           ]
19049         },
19050         "Entity": {
19051           "type": "object",
19052           "properties": {
19053             "tag": {
19054               "type": "string"
19055             }
19056           },
19057           "additionalProperties": false,
19058           "required": [
19059             "tag"
19060           ]
19061         },
19062         "Error": {
19063           "type": "object",
19064           "properties": {
19065             "code": {
19066               "type": "string"
19067             },
19068             "info": {
19069               "$ref": "#/definitions/ErrorInfo"
19070             },
19071             "message": {
19072               "type": "string"
19073             }
19074           },
19075           "additionalProperties": false,
19076           "required": [
19077             "message",
19078             "code"
19079           ]
19080         },
19081         "ErrorInfo": {
19082           "type": "object",
19083           "properties": {
19084             "macaroon": {
19085               "$ref": "#/definitions/Macaroon"
19086             },
19087             "macaroon-path": {
19088               "type": "string"
19089             }
19090           },
19091           "additionalProperties": false
19092         },
19093         "Macaroon": {
19094           "type": "object",
19095           "additionalProperties": false
19096         },
19097         "SSHAddressResult": {
19098           "type": "object",
19099           "properties": {
19100             "address": {
19101               "type": "string"
19102             },
19103             "error": {
19104               "$ref": "#/definitions/Error"
19105             }
19106           },
19107           "additionalProperties": false
19108         },
19109         "SSHAddressResults": {
19110           "type": "object",
19111           "properties": {
19112             "results": {
19113               "type": "array",
19114               "items": {
19115                 "$ref": "#/definitions/SSHAddressResult"
19116               }
19117             }
19118           },
19119           "additionalProperties": false,
19120           "required": [
19121             "results"
19122           ]
19123         },
19124         "SSHAddressesResult": {
19125           "type": "object",
19126           "properties": {
19127             "addresses": {
19128               "type": "array",
19129               "items": {
19130                 "type": "string"
19131               }
19132             },
19133             "error": {
19134               "$ref": "#/definitions/Error"
19135             }
19136           },
19137           "additionalProperties": false,
19138           "required": [
19139             "addresses"
19140           ]
19141         },
19142         "SSHAddressesResults": {
19143           "type": "object",
19144           "properties": {
19145             "results": {
19146               "type": "array",
19147               "items": {
19148                 "$ref": "#/definitions/SSHAddressesResult"
19149               }
19150             }
19151           },
19152           "additionalProperties": false,
19153           "required": [
19154             "results"
19155           ]
19156         },
19157         "SSHProxyResult": {
19158           "type": "object",
19159           "properties": {
19160             "use-proxy": {
19161               "type": "boolean"
19162             }
19163           },
19164           "additionalProperties": false,
19165           "required": [
19166             "use-proxy"
19167           ]
19168         },
19169         "SSHPublicKeysResult": {
19170           "type": "object",
19171           "properties": {
19172             "error": {
19173               "$ref": "#/definitions/Error"
19174             },
19175             "public-keys": {
19176               "type": "array",
19177               "items": {
19178                 "type": "string"
19179               }
19180             }
19181           },
19182           "additionalProperties": false
19183         },
19184         "SSHPublicKeysResults": {
19185           "type": "object",
19186           "properties": {
19187             "results": {
19188               "type": "array",
19189               "items": {
19190                 "$ref": "#/definitions/SSHPublicKeysResult"
19191               }
19192             }
19193           },
19194           "additionalProperties": false,
19195           "required": [
19196             "results"
19197           ]
19198         }
19199       }
19200     }
19201   },
19202   {
19203     "Name": "Singular",
19204     "Version": 1,
19205     "Schema": {
19206       "type": "object",
19207       "properties": {
19208         "Claim": {
19209           "type": "object",
19210           "properties": {
19211             "Params": {
19212               "$ref": "#/definitions/SingularClaims"
19213             },
19214             "Result": {
19215               "$ref": "#/definitions/ErrorResults"
19216             }
19217           }
19218         },
19219         "Wait": {
19220           "type": "object",
19221           "properties": {
19222             "Params": {
19223               "$ref": "#/definitions/Entities"
19224             },
19225             "Result": {
19226               "$ref": "#/definitions/ErrorResults"
19227             }
19228           }
19229         }
19230       },
19231       "definitions": {
19232         "Entities": {
19233           "type": "object",
19234           "properties": {
19235             "entities": {
19236               "type": "array",
19237               "items": {
19238                 "$ref": "#/definitions/Entity"
19239               }
19240             }
19241           },
19242           "additionalProperties": false,
19243           "required": [
19244             "entities"
19245           ]
19246         },
19247         "Entity": {
19248           "type": "object",
19249           "properties": {
19250             "tag": {
19251               "type": "string"
19252             }
19253           },
19254           "additionalProperties": false,
19255           "required": [
19256             "tag"
19257           ]
19258         },
19259         "Error": {
19260           "type": "object",
19261           "properties": {
19262             "code": {
19263               "type": "string"
19264             },
19265             "info": {
19266               "$ref": "#/definitions/ErrorInfo"
19267             },
19268             "message": {
19269               "type": "string"
19270             }
19271           },
19272           "additionalProperties": false,
19273           "required": [
19274             "message",
19275             "code"
19276           ]
19277         },
19278         "ErrorInfo": {
19279           "type": "object",
19280           "properties": {
19281             "macaroon": {
19282               "$ref": "#/definitions/Macaroon"
19283             },
19284             "macaroon-path": {
19285               "type": "string"
19286             }
19287           },
19288           "additionalProperties": false
19289         },
19290         "ErrorResult": {
19291           "type": "object",
19292           "properties": {
19293             "error": {
19294               "$ref": "#/definitions/Error"
19295             }
19296           },
19297           "additionalProperties": false
19298         },
19299         "ErrorResults": {
19300           "type": "object",
19301           "properties": {
19302             "results": {
19303               "type": "array",
19304               "items": {
19305                 "$ref": "#/definitions/ErrorResult"
19306               }
19307             }
19308           },
19309           "additionalProperties": false,
19310           "required": [
19311             "results"
19312           ]
19313         },
19314         "Macaroon": {
19315           "type": "object",
19316           "additionalProperties": false
19317         },
19318         "SingularClaim": {
19319           "type": "object",
19320           "properties": {
19321             "controller-tag": {
19322               "type": "string"
19323             },
19324             "duration": {
19325               "type": "integer"
19326             },
19327             "model-tag": {
19328               "type": "string"
19329             }
19330           },
19331           "additionalProperties": false,
19332           "required": [
19333             "model-tag",
19334             "controller-tag",
19335             "duration"
19336           ]
19337         },
19338         "SingularClaims": {
19339           "type": "object",
19340           "properties": {
19341             "claims": {
19342               "type": "array",
19343               "items": {
19344                 "$ref": "#/definitions/SingularClaim"
19345               }
19346             }
19347           },
19348           "additionalProperties": false,
19349           "required": [
19350             "claims"
19351           ]
19352         }
19353       }
19354     }
19355   },
19356   {
19357     "Name": "Spaces",
19358     "Version": 2,
19359     "Schema": {
19360       "type": "object",
19361       "properties": {
19362         "CreateSpaces": {
19363           "type": "object",
19364           "properties": {
19365             "Params": {
19366               "$ref": "#/definitions/CreateSpacesParams"
19367             },
19368             "Result": {
19369               "$ref": "#/definitions/ErrorResults"
19370             }
19371           }
19372         },
19373         "ListSpaces": {
19374           "type": "object",
19375           "properties": {
19376             "Result": {
19377               "$ref": "#/definitions/ListSpacesResults"
19378             }
19379           }
19380         }
19381       },
19382       "definitions": {
19383         "CreateSpaceParams": {
19384           "type": "object",
19385           "properties": {
19386             "provider-id": {
19387               "type": "string"
19388             },
19389             "public": {
19390               "type": "boolean"
19391             },
19392             "space-tag": {
19393               "type": "string"
19394             },
19395             "subnet-tags": {
19396               "type": "array",
19397               "items": {
19398                 "type": "string"
19399               }
19400             }
19401           },
19402           "additionalProperties": false,
19403           "required": [
19404             "subnet-tags",
19405             "space-tag",
19406             "public"
19407           ]
19408         },
19409         "CreateSpacesParams": {
19410           "type": "object",
19411           "properties": {
19412             "spaces": {
19413               "type": "array",
19414               "items": {
19415                 "$ref": "#/definitions/CreateSpaceParams"
19416               }
19417             }
19418           },
19419           "additionalProperties": false,
19420           "required": [
19421             "spaces"
19422           ]
19423         },
19424         "Error": {
19425           "type": "object",
19426           "properties": {
19427             "code": {
19428               "type": "string"
19429             },
19430             "info": {
19431               "$ref": "#/definitions/ErrorInfo"
19432             },
19433             "message": {
19434               "type": "string"
19435             }
19436           },
19437           "additionalProperties": false,
19438           "required": [
19439             "message",
19440             "code"
19441           ]
19442         },
19443         "ErrorInfo": {
19444           "type": "object",
19445           "properties": {
19446             "macaroon": {
19447               "$ref": "#/definitions/Macaroon"
19448             },
19449             "macaroon-path": {
19450               "type": "string"
19451             }
19452           },
19453           "additionalProperties": false
19454         },
19455         "ErrorResult": {
19456           "type": "object",
19457           "properties": {
19458             "error": {
19459               "$ref": "#/definitions/Error"
19460             }
19461           },
19462           "additionalProperties": false
19463         },
19464         "ErrorResults": {
19465           "type": "object",
19466           "properties": {
19467             "results": {
19468               "type": "array",
19469               "items": {
19470                 "$ref": "#/definitions/ErrorResult"
19471               }
19472             }
19473           },
19474           "additionalProperties": false,
19475           "required": [
19476             "results"
19477           ]
19478         },
19479         "ListSpacesResults": {
19480           "type": "object",
19481           "properties": {
19482             "results": {
19483               "type": "array",
19484               "items": {
19485                 "$ref": "#/definitions/Space"
19486               }
19487             }
19488           },
19489           "additionalProperties": false,
19490           "required": [
19491             "results"
19492           ]
19493         },
19494         "Macaroon": {
19495           "type": "object",
19496           "additionalProperties": false
19497         },
19498         "Space": {
19499           "type": "object",
19500           "properties": {
19501             "error": {
19502               "$ref": "#/definitions/Error"
19503             },
19504             "name": {
19505               "type": "string"
19506             },
19507             "subnets": {
19508               "type": "array",
19509               "items": {
19510                 "$ref": "#/definitions/Subnet"
19511               }
19512             }
19513           },
19514           "additionalProperties": false,
19515           "required": [
19516             "name",
19517             "subnets"
19518           ]
19519         },
19520         "Subnet": {
19521           "type": "object",
19522           "properties": {
19523             "cidr": {
19524               "type": "string"
19525             },
19526             "life": {
19527               "type": "string"
19528             },
19529             "provider-id": {
19530               "type": "string"
19531             },
19532             "space-tag": {
19533               "type": "string"
19534             },
19535             "status": {
19536               "type": "string"
19537             },
19538             "vlan-tag": {
19539               "type": "integer"
19540             },
19541             "zones": {
19542               "type": "array",
19543               "items": {
19544                 "type": "string"
19545               }
19546             }
19547           },
19548           "additionalProperties": false,
19549           "required": [
19550             "cidr",
19551             "vlan-tag",
19552             "life",
19553             "space-tag",
19554             "zones"
19555           ]
19556         }
19557       }
19558     }
19559   },
19560   {
19561     "Name": "StatusHistory",
19562     "Version": 2,
19563     "Schema": {
19564       "type": "object",
19565       "properties": {
19566         "Prune": {
19567           "type": "object",
19568           "properties": {
19569             "Params": {
19570               "$ref": "#/definitions/StatusHistoryPruneArgs"
19571             }
19572           }
19573         }
19574       },
19575       "definitions": {
19576         "StatusHistoryPruneArgs": {
19577           "type": "object",
19578           "properties": {
19579             "max-history-mb": {
19580               "type": "integer"
19581             },
19582             "max-history-time": {
19583               "type": "integer"
19584             }
19585           },
19586           "additionalProperties": false,
19587           "required": [
19588             "max-history-time",
19589             "max-history-mb"
19590           ]
19591         }
19592       }
19593     }
19594   },
19595   {
19596     "Name": "Storage",
19597     "Version": 3,
19598     "Schema": {
19599       "type": "object",
19600       "properties": {
19601         "AddToUnit": {
19602           "type": "object",
19603           "properties": {
19604             "Params": {
19605               "$ref": "#/definitions/StoragesAddParams"
19606             },
19607             "Result": {
19608               "$ref": "#/definitions/ErrorResults"
19609             }
19610           }
19611         },
19612         "CreatePool": {
19613           "type": "object",
19614           "properties": {
19615             "Params": {
19616               "$ref": "#/definitions/StoragePool"
19617             }
19618           }
19619         },
19620         "ListFilesystems": {
19621           "type": "object",
19622           "properties": {
19623             "Params": {
19624               "$ref": "#/definitions/FilesystemFilters"
19625             },
19626             "Result": {
19627               "$ref": "#/definitions/FilesystemDetailsListResults"
19628             }
19629           }
19630         },
19631         "ListPools": {
19632           "type": "object",
19633           "properties": {
19634             "Params": {
19635               "$ref": "#/definitions/StoragePoolFilters"
19636             },
19637             "Result": {
19638               "$ref": "#/definitions/StoragePoolsResults"
19639             }
19640           }
19641         },
19642         "ListStorageDetails": {
19643           "type": "object",
19644           "properties": {
19645             "Params": {
19646               "$ref": "#/definitions/StorageFilters"
19647             },
19648             "Result": {
19649               "$ref": "#/definitions/StorageDetailsListResults"
19650             }
19651           }
19652         },
19653         "ListVolumes": {
19654           "type": "object",
19655           "properties": {
19656             "Params": {
19657               "$ref": "#/definitions/VolumeFilters"
19658             },
19659             "Result": {
19660               "$ref": "#/definitions/VolumeDetailsListResults"
19661             }
19662           }
19663         },
19664         "StorageDetails": {
19665           "type": "object",
19666           "properties": {
19667             "Params": {
19668               "$ref": "#/definitions/Entities"
19669             },
19670             "Result": {
19671               "$ref": "#/definitions/StorageDetailsResults"
19672             }
19673           }
19674         }
19675       },
19676       "definitions": {
19677         "Entities": {
19678           "type": "object",
19679           "properties": {
19680             "entities": {
19681               "type": "array",
19682               "items": {
19683                 "$ref": "#/definitions/Entity"
19684               }
19685             }
19686           },
19687           "additionalProperties": false,
19688           "required": [
19689             "entities"
19690           ]
19691         },
19692         "Entity": {
19693           "type": "object",
19694           "properties": {
19695             "tag": {
19696               "type": "string"
19697             }
19698           },
19699           "additionalProperties": false,
19700           "required": [
19701             "tag"
19702           ]
19703         },
19704         "EntityStatus": {
19705           "type": "object",
19706           "properties": {
19707             "data": {
19708               "type": "object",
19709               "patternProperties": {
19710                 ".*": {
19711                   "type": "object",
19712                   "additionalProperties": true
19713                 }
19714               }
19715             },
19716             "info": {
19717               "type": "string"
19718             },
19719             "since": {
19720               "type": "string",
19721               "format": "date-time"
19722             },
19723             "status": {
19724               "type": "string"
19725             }
19726           },
19727           "additionalProperties": false,
19728           "required": [
19729             "status",
19730             "info",
19731             "since"
19732           ]
19733         },
19734         "Error": {
19735           "type": "object",
19736           "properties": {
19737             "code": {
19738               "type": "string"
19739             },
19740             "info": {
19741               "$ref": "#/definitions/ErrorInfo"
19742             },
19743             "message": {
19744               "type": "string"
19745             }
19746           },
19747           "additionalProperties": false,
19748           "required": [
19749             "message",
19750             "code"
19751           ]
19752         },
19753         "ErrorInfo": {
19754           "type": "object",
19755           "properties": {
19756             "macaroon": {
19757               "$ref": "#/definitions/Macaroon"
19758             },
19759             "macaroon-path": {
19760               "type": "string"
19761             }
19762           },
19763           "additionalProperties": false
19764         },
19765         "ErrorResult": {
19766           "type": "object",
19767           "properties": {
19768             "error": {
19769               "$ref": "#/definitions/Error"
19770             }
19771           },
19772           "additionalProperties": false
19773         },
19774         "ErrorResults": {
19775           "type": "object",
19776           "properties": {
19777             "results": {
19778               "type": "array",
19779               "items": {
19780                 "$ref": "#/definitions/ErrorResult"
19781               }
19782             }
19783           },
19784           "additionalProperties": false,
19785           "required": [
19786             "results"
19787           ]
19788         },
19789         "FilesystemAttachmentInfo": {
19790           "type": "object",
19791           "properties": {
19792             "mount-point": {
19793               "type": "string"
19794             },
19795             "read-only": {
19796               "type": "boolean"
19797             }
19798           },
19799           "additionalProperties": false
19800         },
19801         "FilesystemDetails": {
19802           "type": "object",
19803           "properties": {
19804             "filesystem-tag": {
19805               "type": "string"
19806             },
19807             "info": {
19808               "$ref": "#/definitions/FilesystemInfo"
19809             },
19810             "machine-attachments": {
19811               "type": "object",
19812               "patternProperties": {
19813                 ".*": {
19814                   "$ref": "#/definitions/FilesystemAttachmentInfo"
19815                 }
19816               }
19817             },
19818             "status": {
19819               "$ref": "#/definitions/EntityStatus"
19820             },
19821             "storage": {
19822               "$ref": "#/definitions/StorageDetails"
19823             },
19824             "volume-tag": {
19825               "type": "string"
19826             }
19827           },
19828           "additionalProperties": false,
19829           "required": [
19830             "filesystem-tag",
19831             "info",
19832             "status"
19833           ]
19834         },
19835         "FilesystemDetailsListResult": {
19836           "type": "object",
19837           "properties": {
19838             "error": {
19839               "$ref": "#/definitions/Error"
19840             },
19841             "result": {
19842               "type": "array",
19843               "items": {
19844                 "$ref": "#/definitions/FilesystemDetails"
19845               }
19846             }
19847           },
19848           "additionalProperties": false
19849         },
19850         "FilesystemDetailsListResults": {
19851           "type": "object",
19852           "properties": {
19853             "results": {
19854               "type": "array",
19855               "items": {
19856                 "$ref": "#/definitions/FilesystemDetailsListResult"
19857               }
19858             }
19859           },
19860           "additionalProperties": false
19861         },
19862         "FilesystemFilter": {
19863           "type": "object",
19864           "properties": {
19865             "machines": {
19866               "type": "array",
19867               "items": {
19868                 "type": "string"
19869               }
19870             }
19871           },
19872           "additionalProperties": false
19873         },
19874         "FilesystemFilters": {
19875           "type": "object",
19876           "properties": {
19877             "filters": {
19878               "type": "array",
19879               "items": {
19880                 "$ref": "#/definitions/FilesystemFilter"
19881               }
19882             }
19883           },
19884           "additionalProperties": false
19885         },
19886         "FilesystemInfo": {
19887           "type": "object",
19888           "properties": {
19889             "filesystem-id": {
19890               "type": "string"
19891             },
19892             "size": {
19893               "type": "integer"
19894             }
19895           },
19896           "additionalProperties": false,
19897           "required": [
19898             "filesystem-id",
19899             "size"
19900           ]
19901         },
19902         "Macaroon": {
19903           "type": "object",
19904           "additionalProperties": false
19905         },
19906         "StorageAddParams": {
19907           "type": "object",
19908           "properties": {
19909             "name": {
19910               "type": "string"
19911             },
19912             "storage": {
19913               "$ref": "#/definitions/StorageConstraints"
19914             },
19915             "unit": {
19916               "type": "string"
19917             }
19918           },
19919           "additionalProperties": false,
19920           "required": [
19921             "unit",
19922             "name",
19923             "storage"
19924           ]
19925         },
19926         "StorageAttachmentDetails": {
19927           "type": "object",
19928           "properties": {
19929             "location": {
19930               "type": "string"
19931             },
19932             "machine-tag": {
19933               "type": "string"
19934             },
19935             "storage-tag": {
19936               "type": "string"
19937             },
19938             "unit-tag": {
19939               "type": "string"
19940             }
19941           },
19942           "additionalProperties": false,
19943           "required": [
19944             "storage-tag",
19945             "unit-tag",
19946             "machine-tag"
19947           ]
19948         },
19949         "StorageConstraints": {
19950           "type": "object",
19951           "properties": {
19952             "count": {
19953               "type": "integer"
19954             },
19955             "pool": {
19956               "type": "string"
19957             },
19958             "size": {
19959               "type": "integer"
19960             }
19961           },
19962           "additionalProperties": false
19963         },
19964         "StorageDetails": {
19965           "type": "object",
19966           "properties": {
19967             "attachments": {
19968               "type": "object",
19969               "patternProperties": {
19970                 ".*": {
19971                   "$ref": "#/definitions/StorageAttachmentDetails"
19972                 }
19973               }
19974             },
19975             "kind": {
19976               "type": "integer"
19977             },
19978             "owner-tag": {
19979               "type": "string"
19980             },
19981             "persistent": {
19982               "type": "boolean"
19983             },
19984             "status": {
19985               "$ref": "#/definitions/EntityStatus"
19986             },
19987             "storage-tag": {
19988               "type": "string"
19989             }
19990           },
19991           "additionalProperties": false,
19992           "required": [
19993             "storage-tag",
19994             "owner-tag",
19995             "kind",
19996             "status",
19997             "persistent"
19998           ]
19999         },
20000         "StorageDetailsListResult": {
20001           "type": "object",
20002           "properties": {
20003             "error": {
20004               "$ref": "#/definitions/Error"
20005             },
20006             "result": {
20007               "type": "array",
20008               "items": {
20009                 "$ref": "#/definitions/StorageDetails"
20010               }
20011             }
20012           },
20013           "additionalProperties": false
20014         },
20015         "StorageDetailsListResults": {
20016           "type": "object",
20017           "properties": {
20018             "results": {
20019               "type": "array",
20020               "items": {
20021                 "$ref": "#/definitions/StorageDetailsListResult"
20022               }
20023             }
20024           },
20025           "additionalProperties": false
20026         },
20027         "StorageDetailsResult": {
20028           "type": "object",
20029           "properties": {
20030             "error": {
20031               "$ref": "#/definitions/Error"
20032             },
20033             "result": {
20034               "$ref": "#/definitions/StorageDetails"
20035             }
20036           },
20037           "additionalProperties": false
20038         },
20039         "StorageDetailsResults": {
20040           "type": "object",
20041           "properties": {
20042             "results": {
20043               "type": "array",
20044               "items": {
20045                 "$ref": "#/definitions/StorageDetailsResult"
20046               }
20047             }
20048           },
20049           "additionalProperties": false
20050         },
20051         "StorageFilter": {
20052           "type": "object",
20053           "additionalProperties": false
20054         },
20055         "StorageFilters": {
20056           "type": "object",
20057           "properties": {
20058             "filters": {
20059               "type": "array",
20060               "items": {
20061                 "$ref": "#/definitions/StorageFilter"
20062               }
20063             }
20064           },
20065           "additionalProperties": false
20066         },
20067         "StoragePool": {
20068           "type": "object",
20069           "properties": {
20070             "attrs": {
20071               "type": "object",
20072               "patternProperties": {
20073                 ".*": {
20074                   "type": "object",
20075                   "additionalProperties": true
20076                 }
20077               }
20078             },
20079             "name": {
20080               "type": "string"
20081             },
20082             "provider": {
20083               "type": "string"
20084             }
20085           },
20086           "additionalProperties": false,
20087           "required": [
20088             "name",
20089             "provider",
20090             "attrs"
20091           ]
20092         },
20093         "StoragePoolFilter": {
20094           "type": "object",
20095           "properties": {
20096             "names": {
20097               "type": "array",
20098               "items": {
20099                 "type": "string"
20100               }
20101             },
20102             "providers": {
20103               "type": "array",
20104               "items": {
20105                 "type": "string"
20106               }
20107             }
20108           },
20109           "additionalProperties": false
20110         },
20111         "StoragePoolFilters": {
20112           "type": "object",
20113           "properties": {
20114             "filters": {
20115               "type": "array",
20116               "items": {
20117                 "$ref": "#/definitions/StoragePoolFilter"
20118               }
20119             }
20120           },
20121           "additionalProperties": false
20122         },
20123         "StoragePoolsResult": {
20124           "type": "object",
20125           "properties": {
20126             "error": {
20127               "$ref": "#/definitions/Error"
20128             },
20129             "storage-pools": {
20130               "type": "array",
20131               "items": {
20132                 "$ref": "#/definitions/StoragePool"
20133               }
20134             }
20135           },
20136           "additionalProperties": false
20137         },
20138         "StoragePoolsResults": {
20139           "type": "object",
20140           "properties": {
20141             "results": {
20142               "type": "array",
20143               "items": {
20144                 "$ref": "#/definitions/StoragePoolsResult"
20145               }
20146             }
20147           },
20148           "additionalProperties": false
20149         },
20150         "StoragesAddParams": {
20151           "type": "object",
20152           "properties": {
20153             "storages": {
20154               "type": "array",
20155               "items": {
20156                 "$ref": "#/definitions/StorageAddParams"
20157               }
20158             }
20159           },
20160           "additionalProperties": false,
20161           "required": [
20162             "storages"
20163           ]
20164         },
20165         "VolumeAttachmentInfo": {
20166           "type": "object",
20167           "properties": {
20168             "bus-address": {
20169               "type": "string"
20170             },
20171             "device-link": {
20172               "type": "string"
20173             },
20174             "device-name": {
20175               "type": "string"
20176             },
20177             "read-only": {
20178               "type": "boolean"
20179             }
20180           },
20181           "additionalProperties": false
20182         },
20183         "VolumeDetails": {
20184           "type": "object",
20185           "properties": {
20186             "info": {
20187               "$ref": "#/definitions/VolumeInfo"
20188             },
20189             "machine-attachments": {
20190               "type": "object",
20191               "patternProperties": {
20192                 ".*": {
20193                   "$ref": "#/definitions/VolumeAttachmentInfo"
20194                 }
20195               }
20196             },
20197             "status": {
20198               "$ref": "#/definitions/EntityStatus"
20199             },
20200             "storage": {
20201               "$ref": "#/definitions/StorageDetails"
20202             },
20203             "volume-tag": {
20204               "type": "string"
20205             }
20206           },
20207           "additionalProperties": false,
20208           "required": [
20209             "volume-tag",
20210             "info",
20211             "status"
20212           ]
20213         },
20214         "VolumeDetailsListResult": {
20215           "type": "object",
20216           "properties": {
20217             "error": {
20218               "$ref": "#/definitions/Error"
20219             },
20220             "result": {
20221               "type": "array",
20222               "items": {
20223                 "$ref": "#/definitions/VolumeDetails"
20224               }
20225             }
20226           },
20227           "additionalProperties": false
20228         },
20229         "VolumeDetailsListResults": {
20230           "type": "object",
20231           "properties": {
20232             "results": {
20233               "type": "array",
20234               "items": {
20235                 "$ref": "#/definitions/VolumeDetailsListResult"
20236               }
20237             }
20238           },
20239           "additionalProperties": false
20240         },
20241         "VolumeFilter": {
20242           "type": "object",
20243           "properties": {
20244             "machines": {
20245               "type": "array",
20246               "items": {
20247                 "type": "string"
20248               }
20249             }
20250           },
20251           "additionalProperties": false
20252         },
20253         "VolumeFilters": {
20254           "type": "object",
20255           "properties": {
20256             "filters": {
20257               "type": "array",
20258               "items": {
20259                 "$ref": "#/definitions/VolumeFilter"
20260               }
20261             }
20262           },
20263           "additionalProperties": false
20264         },
20265         "VolumeInfo": {
20266           "type": "object",
20267           "properties": {
20268             "hardware-id": {
20269               "type": "string"
20270             },
20271             "persistent": {
20272               "type": "boolean"
20273             },
20274             "size": {
20275               "type": "integer"
20276             },
20277             "volume-id": {
20278               "type": "string"
20279             }
20280           },
20281           "additionalProperties": false,
20282           "required": [
20283             "volume-id",
20284             "size",
20285             "persistent"
20286           ]
20287         }
20288       }
20289     }
20290   },
20291   {
20292     "Name": "StorageProvisioner",
20293     "Version": 3,
20294     "Schema": {
20295       "type": "object",
20296       "properties": {
20297         "AttachmentLife": {
20298           "type": "object",
20299           "properties": {
20300             "Params": {
20301               "$ref": "#/definitions/MachineStorageIds"
20302             },
20303             "Result": {
20304               "$ref": "#/definitions/LifeResults"
20305             }
20306           }
20307         },
20308         "EnsureDead": {
20309           "type": "object",
20310           "properties": {
20311             "Params": {
20312               "$ref": "#/definitions/Entities"
20313             },
20314             "Result": {
20315               "$ref": "#/definitions/ErrorResults"
20316             }
20317           }
20318         },
20319         "FilesystemAttachmentParams": {
20320           "type": "object",
20321           "properties": {
20322             "Params": {
20323               "$ref": "#/definitions/MachineStorageIds"
20324             },
20325             "Result": {
20326               "$ref": "#/definitions/FilesystemAttachmentParamsResults"
20327             }
20328           }
20329         },
20330         "FilesystemAttachments": {
20331           "type": "object",
20332           "properties": {
20333             "Params": {
20334               "$ref": "#/definitions/MachineStorageIds"
20335             },
20336             "Result": {
20337               "$ref": "#/definitions/FilesystemAttachmentResults"
20338             }
20339           }
20340         },
20341         "FilesystemParams": {
20342           "type": "object",
20343           "properties": {
20344             "Params": {
20345               "$ref": "#/definitions/Entities"
20346             },
20347             "Result": {
20348               "$ref": "#/definitions/FilesystemParamsResults"
20349             }
20350           }
20351         },
20352         "Filesystems": {
20353           "type": "object",
20354           "properties": {
20355             "Params": {
20356               "$ref": "#/definitions/Entities"
20357             },
20358             "Result": {
20359               "$ref": "#/definitions/FilesystemResults"
20360             }
20361           }
20362         },
20363         "InstanceId": {
20364           "type": "object",
20365           "properties": {
20366             "Params": {
20367               "$ref": "#/definitions/Entities"
20368             },
20369             "Result": {
20370               "$ref": "#/definitions/StringResults"
20371             }
20372           }
20373         },
20374         "Life": {
20375           "type": "object",
20376           "properties": {
20377             "Params": {
20378               "$ref": "#/definitions/Entities"
20379             },
20380             "Result": {
20381               "$ref": "#/definitions/LifeResults"
20382             }
20383           }
20384         },
20385         "Remove": {
20386           "type": "object",
20387           "properties": {
20388             "Params": {
20389               "$ref": "#/definitions/Entities"
20390             },
20391             "Result": {
20392               "$ref": "#/definitions/ErrorResults"
20393             }
20394           }
20395         },
20396         "RemoveAttachment": {
20397           "type": "object",
20398           "properties": {
20399             "Params": {
20400               "$ref": "#/definitions/MachineStorageIds"
20401             },
20402             "Result": {
20403               "$ref": "#/definitions/ErrorResults"
20404             }
20405           }
20406         },
20407         "SetFilesystemAttachmentInfo": {
20408           "type": "object",
20409           "properties": {
20410             "Params": {
20411               "$ref": "#/definitions/FilesystemAttachments"
20412             },
20413             "Result": {
20414               "$ref": "#/definitions/ErrorResults"
20415             }
20416           }
20417         },
20418         "SetFilesystemInfo": {
20419           "type": "object",
20420           "properties": {
20421             "Params": {
20422               "$ref": "#/definitions/Filesystems"
20423             },
20424             "Result": {
20425               "$ref": "#/definitions/ErrorResults"
20426             }
20427           }
20428         },
20429         "SetStatus": {
20430           "type": "object",
20431           "properties": {
20432             "Params": {
20433               "$ref": "#/definitions/SetStatus"
20434             },
20435             "Result": {
20436               "$ref": "#/definitions/ErrorResults"
20437             }
20438           }
20439         },
20440         "SetVolumeAttachmentInfo": {
20441           "type": "object",
20442           "properties": {
20443             "Params": {
20444               "$ref": "#/definitions/VolumeAttachments"
20445             },
20446             "Result": {
20447               "$ref": "#/definitions/ErrorResults"
20448             }
20449           }
20450         },
20451         "SetVolumeInfo": {
20452           "type": "object",
20453           "properties": {
20454             "Params": {
20455               "$ref": "#/definitions/Volumes"
20456             },
20457             "Result": {
20458               "$ref": "#/definitions/ErrorResults"
20459             }
20460           }
20461         },
20462         "UpdateStatus": {
20463           "type": "object",
20464           "properties": {
20465             "Params": {
20466               "$ref": "#/definitions/SetStatus"
20467             },
20468             "Result": {
20469               "$ref": "#/definitions/ErrorResults"
20470             }
20471           }
20472         },
20473         "VolumeAttachmentParams": {
20474           "type": "object",
20475           "properties": {
20476             "Params": {
20477               "$ref": "#/definitions/MachineStorageIds"
20478             },
20479             "Result": {
20480               "$ref": "#/definitions/VolumeAttachmentParamsResults"
20481             }
20482           }
20483         },
20484         "VolumeAttachments": {
20485           "type": "object",
20486           "properties": {
20487             "Params": {
20488               "$ref": "#/definitions/MachineStorageIds"
20489             },
20490             "Result": {
20491               "$ref": "#/definitions/VolumeAttachmentResults"
20492             }
20493           }
20494         },
20495         "VolumeBlockDevices": {
20496           "type": "object",
20497           "properties": {
20498             "Params": {
20499               "$ref": "#/definitions/MachineStorageIds"
20500             },
20501             "Result": {
20502               "$ref": "#/definitions/BlockDeviceResults"
20503             }
20504           }
20505         },
20506         "VolumeParams": {
20507           "type": "object",
20508           "properties": {
20509             "Params": {
20510               "$ref": "#/definitions/Entities"
20511             },
20512             "Result": {
20513               "$ref": "#/definitions/VolumeParamsResults"
20514             }
20515           }
20516         },
20517         "Volumes": {
20518           "type": "object",
20519           "properties": {
20520             "Params": {
20521               "$ref": "#/definitions/Entities"
20522             },
20523             "Result": {
20524               "$ref": "#/definitions/VolumeResults"
20525             }
20526           }
20527         },
20528         "WatchBlockDevices": {
20529           "type": "object",
20530           "properties": {
20531             "Params": {
20532               "$ref": "#/definitions/Entities"
20533             },
20534             "Result": {
20535               "$ref": "#/definitions/NotifyWatchResults"
20536             }
20537           }
20538         },
20539         "WatchFilesystemAttachments": {
20540           "type": "object",
20541           "properties": {
20542             "Params": {
20543               "$ref": "#/definitions/Entities"
20544             },
20545             "Result": {
20546               "$ref": "#/definitions/MachineStorageIdsWatchResults"
20547             }
20548           }
20549         },
20550         "WatchFilesystems": {
20551           "type": "object",
20552           "properties": {
20553             "Params": {
20554               "$ref": "#/definitions/Entities"
20555             },
20556             "Result": {
20557               "$ref": "#/definitions/StringsWatchResults"
20558             }
20559           }
20560         },
20561         "WatchMachines": {
20562           "type": "object",
20563           "properties": {
20564             "Params": {
20565               "$ref": "#/definitions/Entities"
20566             },
20567             "Result": {
20568               "$ref": "#/definitions/NotifyWatchResults"
20569             }
20570           }
20571         },
20572         "WatchVolumeAttachments": {
20573           "type": "object",
20574           "properties": {
20575             "Params": {
20576               "$ref": "#/definitions/Entities"
20577             },
20578             "Result": {
20579               "$ref": "#/definitions/MachineStorageIdsWatchResults"
20580             }
20581           }
20582         },
20583         "WatchVolumes": {
20584           "type": "object",
20585           "properties": {
20586             "Params": {
20587               "$ref": "#/definitions/Entities"
20588             },
20589             "Result": {
20590               "$ref": "#/definitions/StringsWatchResults"
20591             }
20592           }
20593         }
20594       },
20595       "definitions": {
20596         "BlockDevice": {
20597           "type": "object",
20598           "properties": {
20599             "BusAddress": {
20600               "type": "string"
20601             },
20602             "DeviceLinks": {
20603               "type": "array",
20604               "items": {
20605                 "type": "string"
20606               }
20607             },
20608             "DeviceName": {
20609               "type": "string"
20610             },
20611             "FilesystemType": {
20612               "type": "string"
20613             },
20614             "HardwareId": {
20615               "type": "string"
20616             },
20617             "InUse": {
20618               "type": "boolean"
20619             },
20620             "Label": {
20621               "type": "string"
20622             },
20623             "MountPoint": {
20624               "type": "string"
20625             },
20626             "Size": {
20627               "type": "integer"
20628             },
20629             "UUID": {
20630               "type": "string"
20631             }
20632           },
20633           "additionalProperties": false,
20634           "required": [
20635             "DeviceName",
20636             "DeviceLinks",
20637             "Label",
20638             "UUID",
20639             "HardwareId",
20640             "BusAddress",
20641             "Size",
20642             "FilesystemType",
20643             "InUse",
20644             "MountPoint"
20645           ]
20646         },
20647         "BlockDeviceResult": {
20648           "type": "object",
20649           "properties": {
20650             "error": {
20651               "$ref": "#/definitions/Error"
20652             },
20653             "result": {
20654               "$ref": "#/definitions/BlockDevice"
20655             }
20656           },
20657           "additionalProperties": false,
20658           "required": [
20659             "result"
20660           ]
20661         },
20662         "BlockDeviceResults": {
20663           "type": "object",
20664           "properties": {
20665             "results": {
20666               "type": "array",
20667               "items": {
20668                 "$ref": "#/definitions/BlockDeviceResult"
20669               }
20670             }
20671           },
20672           "additionalProperties": false
20673         },
20674         "Entities": {
20675           "type": "object",
20676           "properties": {
20677             "entities": {
20678               "type": "array",
20679               "items": {
20680                 "$ref": "#/definitions/Entity"
20681               }
20682             }
20683           },
20684           "additionalProperties": false,
20685           "required": [
20686             "entities"
20687           ]
20688         },
20689         "Entity": {
20690           "type": "object",
20691           "properties": {
20692             "tag": {
20693               "type": "string"
20694             }
20695           },
20696           "additionalProperties": false,
20697           "required": [
20698             "tag"
20699           ]
20700         },
20701         "EntityStatusArgs": {
20702           "type": "object",
20703           "properties": {
20704             "data": {
20705               "type": "object",
20706               "patternProperties": {
20707                 ".*": {
20708                   "type": "object",
20709                   "additionalProperties": true
20710                 }
20711               }
20712             },
20713             "info": {
20714               "type": "string"
20715             },
20716             "status": {
20717               "type": "string"
20718             },
20719             "tag": {
20720               "type": "string"
20721             }
20722           },
20723           "additionalProperties": false,
20724           "required": [
20725             "tag",
20726             "status",
20727             "info",
20728             "data"
20729           ]
20730         },
20731         "Error": {
20732           "type": "object",
20733           "properties": {
20734             "code": {
20735               "type": "string"
20736             },
20737             "info": {
20738               "$ref": "#/definitions/ErrorInfo"
20739             },
20740             "message": {
20741               "type": "string"
20742             }
20743           },
20744           "additionalProperties": false,
20745           "required": [
20746             "message",
20747             "code"
20748           ]
20749         },
20750         "ErrorInfo": {
20751           "type": "object",
20752           "properties": {
20753             "macaroon": {
20754               "$ref": "#/definitions/Macaroon"
20755             },
20756             "macaroon-path": {
20757               "type": "string"
20758             }
20759           },
20760           "additionalProperties": false
20761         },
20762         "ErrorResult": {
20763           "type": "object",
20764           "properties": {
20765             "error": {
20766               "$ref": "#/definitions/Error"
20767             }
20768           },
20769           "additionalProperties": false
20770         },
20771         "ErrorResults": {
20772           "type": "object",
20773           "properties": {
20774             "results": {
20775               "type": "array",
20776               "items": {
20777                 "$ref": "#/definitions/ErrorResult"
20778               }
20779             }
20780           },
20781           "additionalProperties": false,
20782           "required": [
20783             "results"
20784           ]
20785         },
20786         "Filesystem": {
20787           "type": "object",
20788           "properties": {
20789             "filesystem-tag": {
20790               "type": "string"
20791             },
20792             "info": {
20793               "$ref": "#/definitions/FilesystemInfo"
20794             },
20795             "volume-tag": {
20796               "type": "string"
20797             }
20798           },
20799           "additionalProperties": false,
20800           "required": [
20801             "filesystem-tag",
20802             "info"
20803           ]
20804         },
20805         "FilesystemAttachment": {
20806           "type": "object",
20807           "properties": {
20808             "filesystem-tag": {
20809               "type": "string"
20810             },
20811             "info": {
20812               "$ref": "#/definitions/FilesystemAttachmentInfo"
20813             },
20814             "machine-tag": {
20815               "type": "string"
20816             }
20817           },
20818           "additionalProperties": false,
20819           "required": [
20820             "filesystem-tag",
20821             "machine-tag",
20822             "info"
20823           ]
20824         },
20825         "FilesystemAttachmentInfo": {
20826           "type": "object",
20827           "properties": {
20828             "mount-point": {
20829               "type": "string"
20830             },
20831             "read-only": {
20832               "type": "boolean"
20833             }
20834           },
20835           "additionalProperties": false
20836         },
20837         "FilesystemAttachmentParams": {
20838           "type": "object",
20839           "properties": {
20840             "filesystem-id": {
20841               "type": "string"
20842             },
20843             "filesystem-tag": {
20844               "type": "string"
20845             },
20846             "instance-id": {
20847               "type": "string"
20848             },
20849             "machine-tag": {
20850               "type": "string"
20851             },
20852             "mount-point": {
20853               "type": "string"
20854             },
20855             "provider": {
20856               "type": "string"
20857             },
20858             "read-only": {
20859               "type": "boolean"
20860             }
20861           },
20862           "additionalProperties": false,
20863           "required": [
20864             "filesystem-tag",
20865             "machine-tag",
20866             "provider"
20867           ]
20868         },
20869         "FilesystemAttachmentParamsResult": {
20870           "type": "object",
20871           "properties": {
20872             "error": {
20873               "$ref": "#/definitions/Error"
20874             },
20875             "result": {
20876               "$ref": "#/definitions/FilesystemAttachmentParams"
20877             }
20878           },
20879           "additionalProperties": false,
20880           "required": [
20881             "result"
20882           ]
20883         },
20884         "FilesystemAttachmentParamsResults": {
20885           "type": "object",
20886           "properties": {
20887             "results": {
20888               "type": "array",
20889               "items": {
20890                 "$ref": "#/definitions/FilesystemAttachmentParamsResult"
20891               }
20892             }
20893           },
20894           "additionalProperties": false
20895         },
20896         "FilesystemAttachmentResult": {
20897           "type": "object",
20898           "properties": {
20899             "error": {
20900               "$ref": "#/definitions/Error"
20901             },
20902             "result": {
20903               "$ref": "#/definitions/FilesystemAttachment"
20904             }
20905           },
20906           "additionalProperties": false,
20907           "required": [
20908             "result"
20909           ]
20910         },
20911         "FilesystemAttachmentResults": {
20912           "type": "object",
20913           "properties": {
20914             "results": {
20915               "type": "array",
20916               "items": {
20917                 "$ref": "#/definitions/FilesystemAttachmentResult"
20918               }
20919             }
20920           },
20921           "additionalProperties": false
20922         },
20923         "FilesystemAttachments": {
20924           "type": "object",
20925           "properties": {
20926             "filesystem-attachments": {
20927               "type": "array",
20928               "items": {
20929                 "$ref": "#/definitions/FilesystemAttachment"
20930               }
20931             }
20932           },
20933           "additionalProperties": false,
20934           "required": [
20935             "filesystem-attachments"
20936           ]
20937         },
20938         "FilesystemInfo": {
20939           "type": "object",
20940           "properties": {
20941             "filesystem-id": {
20942               "type": "string"
20943             },
20944             "size": {
20945               "type": "integer"
20946             }
20947           },
20948           "additionalProperties": false,
20949           "required": [
20950             "filesystem-id",
20951             "size"
20952           ]
20953         },
20954         "FilesystemParams": {
20955           "type": "object",
20956           "properties": {
20957             "attachment": {
20958               "$ref": "#/definitions/FilesystemAttachmentParams"
20959             },
20960             "attributes": {
20961               "type": "object",
20962               "patternProperties": {
20963                 ".*": {
20964                   "type": "object",
20965                   "additionalProperties": true
20966                 }
20967               }
20968             },
20969             "filesystem-tag": {
20970               "type": "string"
20971             },
20972             "provider": {
20973               "type": "string"
20974             },
20975             "size": {
20976               "type": "integer"
20977             },
20978             "tags": {
20979               "type": "object",
20980               "patternProperties": {
20981                 ".*": {
20982                   "type": "string"
20983                 }
20984               }
20985             },
20986             "volume-tag": {
20987               "type": "string"
20988             }
20989           },
20990           "additionalProperties": false,
20991           "required": [
20992             "filesystem-tag",
20993             "size",
20994             "provider"
20995           ]
20996         },
20997         "FilesystemParamsResult": {
20998           "type": "object",
20999           "properties": {
21000             "error": {
21001               "$ref": "#/definitions/Error"
21002             },
21003             "result": {
21004               "$ref": "#/definitions/FilesystemParams"
21005             }
21006           },
21007           "additionalProperties": false,
21008           "required": [
21009             "result"
21010           ]
21011         },
21012         "FilesystemParamsResults": {
21013           "type": "object",
21014           "properties": {
21015             "results": {
21016               "type": "array",
21017               "items": {
21018                 "$ref": "#/definitions/FilesystemParamsResult"
21019               }
21020             }
21021           },
21022           "additionalProperties": false
21023         },
21024         "FilesystemResult": {
21025           "type": "object",
21026           "properties": {
21027             "error": {
21028               "$ref": "#/definitions/Error"
21029             },
21030             "result": {
21031               "$ref": "#/definitions/Filesystem"
21032             }
21033           },
21034           "additionalProperties": false,
21035           "required": [
21036             "result"
21037           ]
21038         },
21039         "FilesystemResults": {
21040           "type": "object",
21041           "properties": {
21042             "results": {
21043               "type": "array",
21044               "items": {
21045                 "$ref": "#/definitions/FilesystemResult"
21046               }
21047             }
21048           },
21049           "additionalProperties": false
21050         },
21051         "Filesystems": {
21052           "type": "object",
21053           "properties": {
21054             "filesystems": {
21055               "type": "array",
21056               "items": {
21057                 "$ref": "#/definitions/Filesystem"
21058               }
21059             }
21060           },
21061           "additionalProperties": false,
21062           "required": [
21063             "filesystems"
21064           ]
21065         },
21066         "LifeResult": {
21067           "type": "object",
21068           "properties": {
21069             "error": {
21070               "$ref": "#/definitions/Error"
21071             },
21072             "life": {
21073               "type": "string"
21074             }
21075           },
21076           "additionalProperties": false,
21077           "required": [
21078             "life"
21079           ]
21080         },
21081         "LifeResults": {
21082           "type": "object",
21083           "properties": {
21084             "results": {
21085               "type": "array",
21086               "items": {
21087                 "$ref": "#/definitions/LifeResult"
21088               }
21089             }
21090           },
21091           "additionalProperties": false,
21092           "required": [
21093             "results"
21094           ]
21095         },
21096         "Macaroon": {
21097           "type": "object",
21098           "additionalProperties": false
21099         },
21100         "MachineStorageId": {
21101           "type": "object",
21102           "properties": {
21103             "attachment-tag": {
21104               "type": "string"
21105             },
21106             "machine-tag": {
21107               "type": "string"
21108             }
21109           },
21110           "additionalProperties": false,
21111           "required": [
21112             "machine-tag",
21113             "attachment-tag"
21114           ]
21115         },
21116         "MachineStorageIds": {
21117           "type": "object",
21118           "properties": {
21119             "ids": {
21120               "type": "array",
21121               "items": {
21122                 "$ref": "#/definitions/MachineStorageId"
21123               }
21124             }
21125           },
21126           "additionalProperties": false,
21127           "required": [
21128             "ids"
21129           ]
21130         },
21131         "MachineStorageIdsWatchResult": {
21132           "type": "object",
21133           "properties": {
21134             "changes": {
21135               "type": "array",
21136               "items": {
21137                 "$ref": "#/definitions/MachineStorageId"
21138               }
21139             },
21140             "error": {
21141               "$ref": "#/definitions/Error"
21142             },
21143             "watcher-id": {
21144               "type": "string"
21145             }
21146           },
21147           "additionalProperties": false,
21148           "required": [
21149             "watcher-id",
21150             "changes"
21151           ]
21152         },
21153         "MachineStorageIdsWatchResults": {
21154           "type": "object",
21155           "properties": {
21156             "results": {
21157               "type": "array",
21158               "items": {
21159                 "$ref": "#/definitions/MachineStorageIdsWatchResult"
21160               }
21161             }
21162           },
21163           "additionalProperties": false,
21164           "required": [
21165             "results"
21166           ]
21167         },
21168         "NotifyWatchResult": {
21169           "type": "object",
21170           "properties": {
21171             "NotifyWatcherId": {
21172               "type": "string"
21173             },
21174             "error": {
21175               "$ref": "#/definitions/Error"
21176             }
21177           },
21178           "additionalProperties": false,
21179           "required": [
21180             "NotifyWatcherId"
21181           ]
21182         },
21183         "NotifyWatchResults": {
21184           "type": "object",
21185           "properties": {
21186             "results": {
21187               "type": "array",
21188               "items": {
21189                 "$ref": "#/definitions/NotifyWatchResult"
21190               }
21191             }
21192           },
21193           "additionalProperties": false,
21194           "required": [
21195             "results"
21196           ]
21197         },
21198         "SetStatus": {
21199           "type": "object",
21200           "properties": {
21201             "entities": {
21202               "type": "array",
21203               "items": {
21204                 "$ref": "#/definitions/EntityStatusArgs"
21205               }
21206             }
21207           },
21208           "additionalProperties": false,
21209           "required": [
21210             "entities"
21211           ]
21212         },
21213         "StringResult": {
21214           "type": "object",
21215           "properties": {
21216             "error": {
21217               "$ref": "#/definitions/Error"
21218             },
21219             "result": {
21220               "type": "string"
21221             }
21222           },
21223           "additionalProperties": false,
21224           "required": [
21225             "result"
21226           ]
21227         },
21228         "StringResults": {
21229           "type": "object",
21230           "properties": {
21231             "results": {
21232               "type": "array",
21233               "items": {
21234                 "$ref": "#/definitions/StringResult"
21235               }
21236             }
21237           },
21238           "additionalProperties": false,
21239           "required": [
21240             "results"
21241           ]
21242         },
21243         "StringsWatchResult": {
21244           "type": "object",
21245           "properties": {
21246             "changes": {
21247               "type": "array",
21248               "items": {
21249                 "type": "string"
21250               }
21251             },
21252             "error": {
21253               "$ref": "#/definitions/Error"
21254             },
21255             "watcher-id": {
21256               "type": "string"
21257             }
21258           },
21259           "additionalProperties": false,
21260           "required": [
21261             "watcher-id"
21262           ]
21263         },
21264         "StringsWatchResults": {
21265           "type": "object",
21266           "properties": {
21267             "results": {
21268               "type": "array",
21269               "items": {
21270                 "$ref": "#/definitions/StringsWatchResult"
21271               }
21272             }
21273           },
21274           "additionalProperties": false,
21275           "required": [
21276             "results"
21277           ]
21278         },
21279         "Volume": {
21280           "type": "object",
21281           "properties": {
21282             "info": {
21283               "$ref": "#/definitions/VolumeInfo"
21284             },
21285             "volume-tag": {
21286               "type": "string"
21287             }
21288           },
21289           "additionalProperties": false,
21290           "required": [
21291             "volume-tag",
21292             "info"
21293           ]
21294         },
21295         "VolumeAttachment": {
21296           "type": "object",
21297           "properties": {
21298             "info": {
21299               "$ref": "#/definitions/VolumeAttachmentInfo"
21300             },
21301             "machine-tag": {
21302               "type": "string"
21303             },
21304             "volume-tag": {
21305               "type": "string"
21306             }
21307           },
21308           "additionalProperties": false,
21309           "required": [
21310             "volume-tag",
21311             "machine-tag",
21312             "info"
21313           ]
21314         },
21315         "VolumeAttachmentInfo": {
21316           "type": "object",
21317           "properties": {
21318             "bus-address": {
21319               "type": "string"
21320             },
21321             "device-link": {
21322               "type": "string"
21323             },
21324             "device-name": {
21325               "type": "string"
21326             },
21327             "read-only": {
21328               "type": "boolean"
21329             }
21330           },
21331           "additionalProperties": false
21332         },
21333         "VolumeAttachmentParams": {
21334           "type": "object",
21335           "properties": {
21336             "instance-id": {
21337               "type": "string"
21338             },
21339             "machine-tag": {
21340               "type": "string"
21341             },
21342             "provider": {
21343               "type": "string"
21344             },
21345             "read-only": {
21346               "type": "boolean"
21347             },
21348             "volume-id": {
21349               "type": "string"
21350             },
21351             "volume-tag": {
21352               "type": "string"
21353             }
21354           },
21355           "additionalProperties": false,
21356           "required": [
21357             "volume-tag",
21358             "machine-tag",
21359             "provider"
21360           ]
21361         },
21362         "VolumeAttachmentParamsResult": {
21363           "type": "object",
21364           "properties": {
21365             "error": {
21366               "$ref": "#/definitions/Error"
21367             },
21368             "result": {
21369               "$ref": "#/definitions/VolumeAttachmentParams"
21370             }
21371           },
21372           "additionalProperties": false,
21373           "required": [
21374             "result"
21375           ]
21376         },
21377         "VolumeAttachmentParamsResults": {
21378           "type": "object",
21379           "properties": {
21380             "results": {
21381               "type": "array",
21382               "items": {
21383                 "$ref": "#/definitions/VolumeAttachmentParamsResult"
21384               }
21385             }
21386           },
21387           "additionalProperties": false
21388         },
21389         "VolumeAttachmentResult": {
21390           "type": "object",
21391           "properties": {
21392             "error": {
21393               "$ref": "#/definitions/Error"
21394             },
21395             "result": {
21396               "$ref": "#/definitions/VolumeAttachment"
21397             }
21398           },
21399           "additionalProperties": false,
21400           "required": [
21401             "result"
21402           ]
21403         },
21404         "VolumeAttachmentResults": {
21405           "type": "object",
21406           "properties": {
21407             "results": {
21408               "type": "array",
21409               "items": {
21410                 "$ref": "#/definitions/VolumeAttachmentResult"
21411               }
21412             }
21413           },
21414           "additionalProperties": false
21415         },
21416         "VolumeAttachments": {
21417           "type": "object",
21418           "properties": {
21419             "volume-attachments": {
21420               "type": "array",
21421               "items": {
21422                 "$ref": "#/definitions/VolumeAttachment"
21423               }
21424             }
21425           },
21426           "additionalProperties": false,
21427           "required": [
21428             "volume-attachments"
21429           ]
21430         },
21431         "VolumeInfo": {
21432           "type": "object",
21433           "properties": {
21434             "hardware-id": {
21435               "type": "string"
21436             },
21437             "persistent": {
21438               "type": "boolean"
21439             },
21440             "size": {
21441               "type": "integer"
21442             },
21443             "volume-id": {
21444               "type": "string"
21445             }
21446           },
21447           "additionalProperties": false,
21448           "required": [
21449             "volume-id",
21450             "size",
21451             "persistent"
21452           ]
21453         },
21454         "VolumeParams": {
21455           "type": "object",
21456           "properties": {
21457             "attachment": {
21458               "$ref": "#/definitions/VolumeAttachmentParams"
21459             },
21460             "attributes": {
21461               "type": "object",
21462               "patternProperties": {
21463                 ".*": {
21464                   "type": "object",
21465                   "additionalProperties": true
21466                 }
21467               }
21468             },
21469             "provider": {
21470               "type": "string"
21471             },
21472             "size": {
21473               "type": "integer"
21474             },
21475             "tags": {
21476               "type": "object",
21477               "patternProperties": {
21478                 ".*": {
21479                   "type": "string"
21480                 }
21481               }
21482             },
21483             "volume-tag": {
21484               "type": "string"
21485             }
21486           },
21487           "additionalProperties": false,
21488           "required": [
21489             "volume-tag",
21490             "size",
21491             "provider"
21492           ]
21493         },
21494         "VolumeParamsResult": {
21495           "type": "object",
21496           "properties": {
21497             "error": {
21498               "$ref": "#/definitions/Error"
21499             },
21500             "result": {
21501               "$ref": "#/definitions/VolumeParams"
21502             }
21503           },
21504           "additionalProperties": false,
21505           "required": [
21506             "result"
21507           ]
21508         },
21509         "VolumeParamsResults": {
21510           "type": "object",
21511           "properties": {
21512             "results": {
21513               "type": "array",
21514               "items": {
21515                 "$ref": "#/definitions/VolumeParamsResult"
21516               }
21517             }
21518           },
21519           "additionalProperties": false
21520         },
21521         "VolumeResult": {
21522           "type": "object",
21523           "properties": {
21524             "error": {
21525               "$ref": "#/definitions/Error"
21526             },
21527             "result": {
21528               "$ref": "#/definitions/Volume"
21529             }
21530           },
21531           "additionalProperties": false,
21532           "required": [
21533             "result"
21534           ]
21535         },
21536         "VolumeResults": {
21537           "type": "object",
21538           "properties": {
21539             "results": {
21540               "type": "array",
21541               "items": {
21542                 "$ref": "#/definitions/VolumeResult"
21543               }
21544             }
21545           },
21546           "additionalProperties": false
21547         },
21548         "Volumes": {
21549           "type": "object",
21550           "properties": {
21551             "volumes": {
21552               "type": "array",
21553               "items": {
21554                 "$ref": "#/definitions/Volume"
21555               }
21556             }
21557           },
21558           "additionalProperties": false,
21559           "required": [
21560             "volumes"
21561           ]
21562         }
21563       }
21564     }
21565   },
21566   {
21567     "Name": "StringsWatcher",
21568     "Version": 1,
21569     "Schema": {
21570       "type": "object",
21571       "properties": {
21572         "Next": {
21573           "type": "object",
21574           "properties": {
21575             "Result": {
21576               "$ref": "#/definitions/StringsWatchResult"
21577             }
21578           }
21579         },
21580         "Stop": {
21581           "type": "object"
21582         }
21583       },
21584       "definitions": {
21585         "Error": {
21586           "type": "object",
21587           "properties": {
21588             "code": {
21589               "type": "string"
21590             },
21591             "info": {
21592               "$ref": "#/definitions/ErrorInfo"
21593             },
21594             "message": {
21595               "type": "string"
21596             }
21597           },
21598           "additionalProperties": false,
21599           "required": [
21600             "message",
21601             "code"
21602           ]
21603         },
21604         "ErrorInfo": {
21605           "type": "object",
21606           "properties": {
21607             "macaroon": {
21608               "$ref": "#/definitions/Macaroon"
21609             },
21610             "macaroon-path": {
21611               "type": "string"
21612             }
21613           },
21614           "additionalProperties": false
21615         },
21616         "Macaroon": {
21617           "type": "object",
21618           "additionalProperties": false
21619         },
21620         "StringsWatchResult": {
21621           "type": "object",
21622           "properties": {
21623             "changes": {
21624               "type": "array",
21625               "items": {
21626                 "type": "string"
21627               }
21628             },
21629             "error": {
21630               "$ref": "#/definitions/Error"
21631             },
21632             "watcher-id": {
21633               "type": "string"
21634             }
21635           },
21636           "additionalProperties": false,
21637           "required": [
21638             "watcher-id"
21639           ]
21640         }
21641       }
21642     }
21643   },
21644   {
21645     "Name": "Subnets",
21646     "Version": 2,
21647     "Schema": {
21648       "type": "object",
21649       "properties": {
21650         "AddSubnets": {
21651           "type": "object",
21652           "properties": {
21653             "Params": {
21654               "$ref": "#/definitions/AddSubnetsParams"
21655             },
21656             "Result": {
21657               "$ref": "#/definitions/ErrorResults"
21658             }
21659           }
21660         },
21661         "AllSpaces": {
21662           "type": "object",
21663           "properties": {
21664             "Result": {
21665               "$ref": "#/definitions/SpaceResults"
21666             }
21667           }
21668         },
21669         "AllZones": {
21670           "type": "object",
21671           "properties": {
21672             "Result": {
21673               "$ref": "#/definitions/ZoneResults"
21674             }
21675           }
21676         },
21677         "ListSubnets": {
21678           "type": "object",
21679           "properties": {
21680             "Params": {
21681               "$ref": "#/definitions/SubnetsFilters"
21682             },
21683             "Result": {
21684               "$ref": "#/definitions/ListSubnetsResults"
21685             }
21686           }
21687         }
21688       },
21689       "definitions": {
21690         "AddSubnetParams": {
21691           "type": "object",
21692           "properties": {
21693             "space-tag": {
21694               "type": "string"
21695             },
21696             "subnet-provider-id": {
21697               "type": "string"
21698             },
21699             "subnet-tag": {
21700               "type": "string"
21701             },
21702             "zones": {
21703               "type": "array",
21704               "items": {
21705                 "type": "string"
21706               }
21707             }
21708           },
21709           "additionalProperties": false,
21710           "required": [
21711             "space-tag"
21712           ]
21713         },
21714         "AddSubnetsParams": {
21715           "type": "object",
21716           "properties": {
21717             "subnets": {
21718               "type": "array",
21719               "items": {
21720                 "$ref": "#/definitions/AddSubnetParams"
21721               }
21722             }
21723           },
21724           "additionalProperties": false,
21725           "required": [
21726             "subnets"
21727           ]
21728         },
21729         "Error": {
21730           "type": "object",
21731           "properties": {
21732             "code": {
21733               "type": "string"
21734             },
21735             "info": {
21736               "$ref": "#/definitions/ErrorInfo"
21737             },
21738             "message": {
21739               "type": "string"
21740             }
21741           },
21742           "additionalProperties": false,
21743           "required": [
21744             "message",
21745             "code"
21746           ]
21747         },
21748         "ErrorInfo": {
21749           "type": "object",
21750           "properties": {
21751             "macaroon": {
21752               "$ref": "#/definitions/Macaroon"
21753             },
21754             "macaroon-path": {
21755               "type": "string"
21756             }
21757           },
21758           "additionalProperties": false
21759         },
21760         "ErrorResult": {
21761           "type": "object",
21762           "properties": {
21763             "error": {
21764               "$ref": "#/definitions/Error"
21765             }
21766           },
21767           "additionalProperties": false
21768         },
21769         "ErrorResults": {
21770           "type": "object",
21771           "properties": {
21772             "results": {
21773               "type": "array",
21774               "items": {
21775                 "$ref": "#/definitions/ErrorResult"
21776               }
21777             }
21778           },
21779           "additionalProperties": false,
21780           "required": [
21781             "results"
21782           ]
21783         },
21784         "ListSubnetsResults": {
21785           "type": "object",
21786           "properties": {
21787             "results": {
21788               "type": "array",
21789               "items": {
21790                 "$ref": "#/definitions/Subnet"
21791               }
21792             }
21793           },
21794           "additionalProperties": false,
21795           "required": [
21796             "results"
21797           ]
21798         },
21799         "Macaroon": {
21800           "type": "object",
21801           "additionalProperties": false
21802         },
21803         "SpaceResult": {
21804           "type": "object",
21805           "properties": {
21806             "error": {
21807               "$ref": "#/definitions/Error"
21808             },
21809             "tag": {
21810               "type": "string"
21811             }
21812           },
21813           "additionalProperties": false,
21814           "required": [
21815             "tag"
21816           ]
21817         },
21818         "SpaceResults": {
21819           "type": "object",
21820           "properties": {
21821             "results": {
21822               "type": "array",
21823               "items": {
21824                 "$ref": "#/definitions/SpaceResult"
21825               }
21826             }
21827           },
21828           "additionalProperties": false,
21829           "required": [
21830             "results"
21831           ]
21832         },
21833         "Subnet": {
21834           "type": "object",
21835           "properties": {
21836             "cidr": {
21837               "type": "string"
21838             },
21839             "life": {
21840               "type": "string"
21841             },
21842             "provider-id": {
21843               "type": "string"
21844             },
21845             "space-tag": {
21846               "type": "string"
21847             },
21848             "status": {
21849               "type": "string"
21850             },
21851             "vlan-tag": {
21852               "type": "integer"
21853             },
21854             "zones": {
21855               "type": "array",
21856               "items": {
21857                 "type": "string"
21858               }
21859             }
21860           },
21861           "additionalProperties": false,
21862           "required": [
21863             "cidr",
21864             "vlan-tag",
21865             "life",
21866             "space-tag",
21867             "zones"
21868           ]
21869         },
21870         "SubnetsFilters": {
21871           "type": "object",
21872           "properties": {
21873             "space-tag": {
21874               "type": "string"
21875             },
21876             "zone": {
21877               "type": "string"
21878             }
21879           },
21880           "additionalProperties": false
21881         },
21882         "ZoneResult": {
21883           "type": "object",
21884           "properties": {
21885             "available": {
21886               "type": "boolean"
21887             },
21888             "error": {
21889               "$ref": "#/definitions/Error"
21890             },
21891             "name": {
21892               "type": "string"
21893             }
21894           },
21895           "additionalProperties": false,
21896           "required": [
21897             "name",
21898             "available"
21899           ]
21900         },
21901         "ZoneResults": {
21902           "type": "object",
21903           "properties": {
21904             "results": {
21905               "type": "array",
21906               "items": {
21907                 "$ref": "#/definitions/ZoneResult"
21908               }
21909             }
21910           },
21911           "additionalProperties": false,
21912           "required": [
21913             "results"
21914           ]
21915         }
21916       }
21917     }
21918   },
21919   {
21920     "Name": "Undertaker",
21921     "Version": 1,
21922     "Schema": {
21923       "type": "object",
21924       "properties": {
21925         "ModelConfig": {
21926           "type": "object",
21927           "properties": {
21928             "Result": {
21929               "$ref": "#/definitions/ModelConfigResult"
21930             }
21931           }
21932         },
21933         "ModelInfo": {
21934           "type": "object",
21935           "properties": {
21936             "Result": {
21937               "$ref": "#/definitions/UndertakerModelInfoResult"
21938             }
21939           }
21940         },
21941         "ProcessDyingModel": {
21942           "type": "object"
21943         },
21944         "RemoveModel": {
21945           "type": "object"
21946         },
21947         "SetStatus": {
21948           "type": "object",
21949           "properties": {
21950             "Params": {
21951               "$ref": "#/definitions/SetStatus"
21952             },
21953             "Result": {
21954               "$ref": "#/definitions/ErrorResults"
21955             }
21956           }
21957         },
21958         "UpdateStatus": {
21959           "type": "object",
21960           "properties": {
21961             "Params": {
21962               "$ref": "#/definitions/SetStatus"
21963             },
21964             "Result": {
21965               "$ref": "#/definitions/ErrorResults"
21966             }
21967           }
21968         },
21969         "WatchModelResources": {
21970           "type": "object",
21971           "properties": {
21972             "Result": {
21973               "$ref": "#/definitions/NotifyWatchResults"
21974             }
21975           }
21976         }
21977       },
21978       "definitions": {
21979         "EntityStatusArgs": {
21980           "type": "object",
21981           "properties": {
21982             "data": {
21983               "type": "object",
21984               "patternProperties": {
21985                 ".*": {
21986                   "type": "object",
21987                   "additionalProperties": true
21988                 }
21989               }
21990             },
21991             "info": {
21992               "type": "string"
21993             },
21994             "status": {
21995               "type": "string"
21996             },
21997             "tag": {
21998               "type": "string"
21999             }
22000           },
22001           "additionalProperties": false,
22002           "required": [
22003             "tag",
22004             "status",
22005             "info",
22006             "data"
22007           ]
22008         },
22009         "Error": {
22010           "type": "object",
22011           "properties": {
22012             "code": {
22013               "type": "string"
22014             },
22015             "info": {
22016               "$ref": "#/definitions/ErrorInfo"
22017             },
22018             "message": {
22019               "type": "string"
22020             }
22021           },
22022           "additionalProperties": false,
22023           "required": [
22024             "message",
22025             "code"
22026           ]
22027         },
22028         "ErrorInfo": {
22029           "type": "object",
22030           "properties": {
22031             "macaroon": {
22032               "$ref": "#/definitions/Macaroon"
22033             },
22034             "macaroon-path": {
22035               "type": "string"
22036             }
22037           },
22038           "additionalProperties": false
22039         },
22040         "ErrorResult": {
22041           "type": "object",
22042           "properties": {
22043             "error": {
22044               "$ref": "#/definitions/Error"
22045             }
22046           },
22047           "additionalProperties": false
22048         },
22049         "ErrorResults": {
22050           "type": "object",
22051           "properties": {
22052             "results": {
22053               "type": "array",
22054               "items": {
22055                 "$ref": "#/definitions/ErrorResult"
22056               }
22057             }
22058           },
22059           "additionalProperties": false,
22060           "required": [
22061             "results"
22062           ]
22063         },
22064         "Macaroon": {
22065           "type": "object",
22066           "additionalProperties": false
22067         },
22068         "ModelConfigResult": {
22069           "type": "object",
22070           "properties": {
22071             "config": {
22072               "type": "object",
22073               "patternProperties": {
22074                 ".*": {
22075                   "type": "object",
22076                   "additionalProperties": true
22077                 }
22078               }
22079             }
22080           },
22081           "additionalProperties": false,
22082           "required": [
22083             "config"
22084           ]
22085         },
22086         "NotifyWatchResult": {
22087           "type": "object",
22088           "properties": {
22089             "NotifyWatcherId": {
22090               "type": "string"
22091             },
22092             "error": {
22093               "$ref": "#/definitions/Error"
22094             }
22095           },
22096           "additionalProperties": false,
22097           "required": [
22098             "NotifyWatcherId"
22099           ]
22100         },
22101         "NotifyWatchResults": {
22102           "type": "object",
22103           "properties": {
22104             "results": {
22105               "type": "array",
22106               "items": {
22107                 "$ref": "#/definitions/NotifyWatchResult"
22108               }
22109             }
22110           },
22111           "additionalProperties": false,
22112           "required": [
22113             "results"
22114           ]
22115         },
22116         "SetStatus": {
22117           "type": "object",
22118           "properties": {
22119             "entities": {
22120               "type": "array",
22121               "items": {
22122                 "$ref": "#/definitions/EntityStatusArgs"
22123               }
22124             }
22125           },
22126           "additionalProperties": false,
22127           "required": [
22128             "entities"
22129           ]
22130         },
22131         "UndertakerModelInfo": {
22132           "type": "object",
22133           "properties": {
22134             "global-name": {
22135               "type": "string"
22136             },
22137             "is-system": {
22138               "type": "boolean"
22139             },
22140             "life": {
22141               "type": "string"
22142             },
22143             "name": {
22144               "type": "string"
22145             },
22146             "uuid": {
22147               "type": "string"
22148             }
22149           },
22150           "additionalProperties": false,
22151           "required": [
22152             "uuid",
22153             "name",
22154             "global-name",
22155             "is-system",
22156             "life"
22157           ]
22158         },
22159         "UndertakerModelInfoResult": {
22160           "type": "object",
22161           "properties": {
22162             "error": {
22163               "$ref": "#/definitions/Error"
22164             },
22165             "result": {
22166               "$ref": "#/definitions/UndertakerModelInfo"
22167             }
22168           },
22169           "additionalProperties": false,
22170           "required": [
22171             "result"
22172           ]
22173         }
22174       }
22175     }
22176   },
22177   {
22178     "Name": "UnitAssigner",
22179     "Version": 1,
22180     "Schema": {
22181       "type": "object",
22182       "properties": {
22183         "AssignUnits": {
22184           "type": "object",
22185           "properties": {
22186             "Params": {
22187               "$ref": "#/definitions/Entities"
22188             },
22189             "Result": {
22190               "$ref": "#/definitions/ErrorResults"
22191             }
22192           }
22193         },
22194         "SetAgentStatus": {
22195           "type": "object",
22196           "properties": {
22197             "Params": {
22198               "$ref": "#/definitions/SetStatus"
22199             },
22200             "Result": {
22201               "$ref": "#/definitions/ErrorResults"
22202             }
22203           }
22204         },
22205         "WatchUnitAssignments": {
22206           "type": "object",
22207           "properties": {
22208             "Result": {
22209               "$ref": "#/definitions/StringsWatchResult"
22210             }
22211           }
22212         }
22213       },
22214       "definitions": {
22215         "Entities": {
22216           "type": "object",
22217           "properties": {
22218             "entities": {
22219               "type": "array",
22220               "items": {
22221                 "$ref": "#/definitions/Entity"
22222               }
22223             }
22224           },
22225           "additionalProperties": false,
22226           "required": [
22227             "entities"
22228           ]
22229         },
22230         "Entity": {
22231           "type": "object",
22232           "properties": {
22233             "tag": {
22234               "type": "string"
22235             }
22236           },
22237           "additionalProperties": false,
22238           "required": [
22239             "tag"
22240           ]
22241         },
22242         "EntityStatusArgs": {
22243           "type": "object",
22244           "properties": {
22245             "data": {
22246               "type": "object",
22247               "patternProperties": {
22248                 ".*": {
22249                   "type": "object",
22250                   "additionalProperties": true
22251                 }
22252               }
22253             },
22254             "info": {
22255               "type": "string"
22256             },
22257             "status": {
22258               "type": "string"
22259             },
22260             "tag": {
22261               "type": "string"
22262             }
22263           },
22264           "additionalProperties": false,
22265           "required": [
22266             "tag",
22267             "status",
22268             "info",
22269             "data"
22270           ]
22271         },
22272         "Error": {
22273           "type": "object",
22274           "properties": {
22275             "code": {
22276               "type": "string"
22277             },
22278             "info": {
22279               "$ref": "#/definitions/ErrorInfo"
22280             },
22281             "message": {
22282               "type": "string"
22283             }
22284           },
22285           "additionalProperties": false,
22286           "required": [
22287             "message",
22288             "code"
22289           ]
22290         },
22291         "ErrorInfo": {
22292           "type": "object",
22293           "properties": {
22294             "macaroon": {
22295               "$ref": "#/definitions/Macaroon"
22296             },
22297             "macaroon-path": {
22298               "type": "string"
22299             }
22300           },
22301           "additionalProperties": false
22302         },
22303         "ErrorResult": {
22304           "type": "object",
22305           "properties": {
22306             "error": {
22307               "$ref": "#/definitions/Error"
22308             }
22309           },
22310           "additionalProperties": false
22311         },
22312         "ErrorResults": {
22313           "type": "object",
22314           "properties": {
22315             "results": {
22316               "type": "array",
22317               "items": {
22318                 "$ref": "#/definitions/ErrorResult"
22319               }
22320             }
22321           },
22322           "additionalProperties": false,
22323           "required": [
22324             "results"
22325           ]
22326         },
22327         "Macaroon": {
22328           "type": "object",
22329           "additionalProperties": false
22330         },
22331         "SetStatus": {
22332           "type": "object",
22333           "properties": {
22334             "entities": {
22335               "type": "array",
22336               "items": {
22337                 "$ref": "#/definitions/EntityStatusArgs"
22338               }
22339             }
22340           },
22341           "additionalProperties": false,
22342           "required": [
22343             "entities"
22344           ]
22345         },
22346         "StringsWatchResult": {
22347           "type": "object",
22348           "properties": {
22349             "changes": {
22350               "type": "array",
22351               "items": {
22352                 "type": "string"
22353               }
22354             },
22355             "error": {
22356               "$ref": "#/definitions/Error"
22357             },
22358             "watcher-id": {
22359               "type": "string"
22360             }
22361           },
22362           "additionalProperties": false,
22363           "required": [
22364             "watcher-id"
22365           ]
22366         }
22367       }
22368     }
22369   },
22370   {
22371     "Name": "Uniter",
22372     "Version": 4,
22373     "Schema": {
22374       "type": "object",
22375       "properties": {
22376         "APIAddresses": {
22377           "type": "object",
22378           "properties": {
22379             "Result": {
22380               "$ref": "#/definitions/StringsResult"
22381             }
22382           }
22383         },
22384         "APIHostPorts": {
22385           "type": "object",
22386           "properties": {
22387             "Result": {
22388               "$ref": "#/definitions/APIHostPortsResult"
22389             }
22390           }
22391         },
22392         "Actions": {
22393           "type": "object",
22394           "properties": {
22395             "Params": {
22396               "$ref": "#/definitions/Entities"
22397             },
22398             "Result": {
22399               "$ref": "#/definitions/ActionResults"
22400             }
22401           }
22402         },
22403         "AddMetricBatches": {
22404           "type": "object",
22405           "properties": {
22406             "Params": {
22407               "$ref": "#/definitions/MetricBatchParams"
22408             },
22409             "Result": {
22410               "$ref": "#/definitions/ErrorResults"
22411             }
22412           }
22413         },
22414         "AddUnitStorage": {
22415           "type": "object",
22416           "properties": {
22417             "Params": {
22418               "$ref": "#/definitions/StoragesAddParams"
22419             },
22420             "Result": {
22421               "$ref": "#/definitions/ErrorResults"
22422             }
22423           }
22424         },
22425         "AllMachinePorts": {
22426           "type": "object",
22427           "properties": {
22428             "Params": {
22429               "$ref": "#/definitions/Entities"
22430             },
22431             "Result": {
22432               "$ref": "#/definitions/MachinePortsResults"
22433             }
22434           }
22435         },
22436         "ApplicationStatus": {
22437           "type": "object",
22438           "properties": {
22439             "Params": {
22440               "$ref": "#/definitions/Entities"
22441             },
22442             "Result": {
22443               "$ref": "#/definitions/ApplicationStatusResults"
22444             }
22445           }
22446         },
22447         "AssignedMachine": {
22448           "type": "object",
22449           "properties": {
22450             "Params": {
22451               "$ref": "#/definitions/Entities"
22452             },
22453             "Result": {
22454               "$ref": "#/definitions/StringResults"
22455             }
22456           }
22457         },
22458         "AvailabilityZone": {
22459           "type": "object",
22460           "properties": {
22461             "Params": {
22462               "$ref": "#/definitions/Entities"
22463             },
22464             "Result": {
22465               "$ref": "#/definitions/StringResults"
22466             }
22467           }
22468         },
22469         "BeginActions": {
22470           "type": "object",
22471           "properties": {
22472             "Params": {
22473               "$ref": "#/definitions/Entities"
22474             },
22475             "Result": {
22476               "$ref": "#/definitions/ErrorResults"
22477             }
22478           }
22479         },
22480         "CACert": {
22481           "type": "object",
22482           "properties": {
22483             "Result": {
22484               "$ref": "#/definitions/BytesResult"
22485             }
22486           }
22487         },
22488         "CharmArchiveSha256": {
22489           "type": "object",
22490           "properties": {
22491             "Params": {
22492               "$ref": "#/definitions/CharmURLs"
22493             },
22494             "Result": {
22495               "$ref": "#/definitions/StringResults"
22496             }
22497           }
22498         },
22499         "CharmModifiedVersion": {
22500           "type": "object",
22501           "properties": {
22502             "Params": {
22503               "$ref": "#/definitions/Entities"
22504             },
22505             "Result": {
22506               "$ref": "#/definitions/IntResults"
22507             }
22508           }
22509         },
22510         "CharmURL": {
22511           "type": "object",
22512           "properties": {
22513             "Params": {
22514               "$ref": "#/definitions/Entities"
22515             },
22516             "Result": {
22517               "$ref": "#/definitions/StringBoolResults"
22518             }
22519           }
22520         },
22521         "ClearResolved": {
22522           "type": "object",
22523           "properties": {
22524             "Params": {
22525               "$ref": "#/definitions/Entities"
22526             },
22527             "Result": {
22528               "$ref": "#/definitions/ErrorResults"
22529             }
22530           }
22531         },
22532         "ClosePorts": {
22533           "type": "object",
22534           "properties": {
22535             "Params": {
22536               "$ref": "#/definitions/EntitiesPortRanges"
22537             },
22538             "Result": {
22539               "$ref": "#/definitions/ErrorResults"
22540             }
22541           }
22542         },
22543         "ConfigSettings": {
22544           "type": "object",
22545           "properties": {
22546             "Params": {
22547               "$ref": "#/definitions/Entities"
22548             },
22549             "Result": {
22550               "$ref": "#/definitions/ConfigSettingsResults"
22551             }
22552           }
22553         },
22554         "CurrentModel": {
22555           "type": "object",
22556           "properties": {
22557             "Result": {
22558               "$ref": "#/definitions/ModelResult"
22559             }
22560           }
22561         },
22562         "Destroy": {
22563           "type": "object",
22564           "properties": {
22565             "Params": {
22566               "$ref": "#/definitions/Entities"
22567             },
22568             "Result": {
22569               "$ref": "#/definitions/ErrorResults"
22570             }
22571           }
22572         },
22573         "DestroyAllSubordinates": {
22574           "type": "object",
22575           "properties": {
22576             "Params": {
22577               "$ref": "#/definitions/Entities"
22578             },
22579             "Result": {
22580               "$ref": "#/definitions/ErrorResults"
22581             }
22582           }
22583         },
22584         "DestroyUnitStorageAttachments": {
22585           "type": "object",
22586           "properties": {
22587             "Params": {
22588               "$ref": "#/definitions/Entities"
22589             },
22590             "Result": {
22591               "$ref": "#/definitions/ErrorResults"
22592             }
22593           }
22594         },
22595         "EnsureDead": {
22596           "type": "object",
22597           "properties": {
22598             "Params": {
22599               "$ref": "#/definitions/Entities"
22600             },
22601             "Result": {
22602               "$ref": "#/definitions/ErrorResults"
22603             }
22604           }
22605         },
22606         "EnterScope": {
22607           "type": "object",
22608           "properties": {
22609             "Params": {
22610               "$ref": "#/definitions/RelationUnits"
22611             },
22612             "Result": {
22613               "$ref": "#/definitions/ErrorResults"
22614             }
22615           }
22616         },
22617         "FinishActions": {
22618           "type": "object",
22619           "properties": {
22620             "Params": {
22621               "$ref": "#/definitions/ActionExecutionResults"
22622             },
22623             "Result": {
22624               "$ref": "#/definitions/ErrorResults"
22625             }
22626           }
22627         },
22628         "GetMeterStatus": {
22629           "type": "object",
22630           "properties": {
22631             "Params": {
22632               "$ref": "#/definitions/Entities"
22633             },
22634             "Result": {
22635               "$ref": "#/definitions/MeterStatusResults"
22636             }
22637           }
22638         },
22639         "GetPrincipal": {
22640           "type": "object",
22641           "properties": {
22642             "Params": {
22643               "$ref": "#/definitions/Entities"
22644             },
22645             "Result": {
22646               "$ref": "#/definitions/StringBoolResults"
22647             }
22648           }
22649         },
22650         "HasSubordinates": {
22651           "type": "object",
22652           "properties": {
22653             "Params": {
22654               "$ref": "#/definitions/Entities"
22655             },
22656             "Result": {
22657               "$ref": "#/definitions/BoolResults"
22658             }
22659           }
22660         },
22661         "JoinedRelations": {
22662           "type": "object",
22663           "properties": {
22664             "Params": {
22665               "$ref": "#/definitions/Entities"
22666             },
22667             "Result": {
22668               "$ref": "#/definitions/StringsResults"
22669             }
22670           }
22671         },
22672         "LeaveScope": {
22673           "type": "object",
22674           "properties": {
22675             "Params": {
22676               "$ref": "#/definitions/RelationUnits"
22677             },
22678             "Result": {
22679               "$ref": "#/definitions/ErrorResults"
22680             }
22681           }
22682         },
22683         "Life": {
22684           "type": "object",
22685           "properties": {
22686             "Params": {
22687               "$ref": "#/definitions/Entities"
22688             },
22689             "Result": {
22690               "$ref": "#/definitions/LifeResults"
22691             }
22692           }
22693         },
22694         "Merge": {
22695           "type": "object",
22696           "properties": {
22697             "Params": {
22698               "$ref": "#/definitions/MergeLeadershipSettingsBulkParams"
22699             },
22700             "Result": {
22701               "$ref": "#/definitions/ErrorResults"
22702             }
22703           }
22704         },
22705         "ModelConfig": {
22706           "type": "object",
22707           "properties": {
22708             "Result": {
22709               "$ref": "#/definitions/ModelConfigResult"
22710             }
22711           }
22712         },
22713         "ModelUUID": {
22714           "type": "object",
22715           "properties": {
22716             "Result": {
22717               "$ref": "#/definitions/StringResult"
22718             }
22719           }
22720         },
22721         "NetworkConfig": {
22722           "type": "object",
22723           "properties": {
22724             "Params": {
22725               "$ref": "#/definitions/UnitsNetworkConfig"
22726             },
22727             "Result": {
22728               "$ref": "#/definitions/UnitNetworkConfigResults"
22729             }
22730           }
22731         },
22732         "OpenPorts": {
22733           "type": "object",
22734           "properties": {
22735             "Params": {
22736               "$ref": "#/definitions/EntitiesPortRanges"
22737             },
22738             "Result": {
22739               "$ref": "#/definitions/ErrorResults"
22740             }
22741           }
22742         },
22743         "PrivateAddress": {
22744           "type": "object",
22745           "properties": {
22746             "Params": {
22747               "$ref": "#/definitions/Entities"
22748             },
22749             "Result": {
22750               "$ref": "#/definitions/StringResults"
22751             }
22752           }
22753         },
22754         "ProviderType": {
22755           "type": "object",
22756           "properties": {
22757             "Result": {
22758               "$ref": "#/definitions/StringResult"
22759             }
22760           }
22761         },
22762         "PublicAddress": {
22763           "type": "object",
22764           "properties": {
22765             "Params": {
22766               "$ref": "#/definitions/Entities"
22767             },
22768             "Result": {
22769               "$ref": "#/definitions/StringResults"
22770             }
22771           }
22772         },
22773         "Read": {
22774           "type": "object",
22775           "properties": {
22776             "Params": {
22777               "$ref": "#/definitions/Entities"
22778             },
22779             "Result": {
22780               "$ref": "#/definitions/GetLeadershipSettingsBulkResults"
22781             }
22782           }
22783         },
22784         "ReadRemoteSettings": {
22785           "type": "object",
22786           "properties": {
22787             "Params": {
22788               "$ref": "#/definitions/RelationUnitPairs"
22789             },
22790             "Result": {
22791               "$ref": "#/definitions/SettingsResults"
22792             }
22793           }
22794         },
22795         "ReadSettings": {
22796           "type": "object",
22797           "properties": {
22798             "Params": {
22799               "$ref": "#/definitions/RelationUnits"
22800             },
22801             "Result": {
22802               "$ref": "#/definitions/SettingsResults"
22803             }
22804           }
22805         },
22806         "Relation": {
22807           "type": "object",
22808           "properties": {
22809             "Params": {
22810               "$ref": "#/definitions/RelationUnits"
22811             },
22812             "Result": {
22813               "$ref": "#/definitions/RelationResults"
22814             }
22815           }
22816         },
22817         "RelationById": {
22818           "type": "object",
22819           "properties": {
22820             "Params": {
22821               "$ref": "#/definitions/RelationIds"
22822             },
22823             "Result": {
22824               "$ref": "#/definitions/RelationResults"
22825             }
22826           }
22827         },
22828         "RemoveStorageAttachments": {
22829           "type": "object",
22830           "properties": {
22831             "Params": {
22832               "$ref": "#/definitions/StorageAttachmentIds"
22833             },
22834             "Result": {
22835               "$ref": "#/definitions/ErrorResults"
22836             }
22837           }
22838         },
22839         "RequestReboot": {
22840           "type": "object",
22841           "properties": {
22842             "Params": {
22843               "$ref": "#/definitions/Entities"
22844             },
22845             "Result": {
22846               "$ref": "#/definitions/ErrorResults"
22847             }
22848           }
22849         },
22850         "Resolved": {
22851           "type": "object",
22852           "properties": {
22853             "Params": {
22854               "$ref": "#/definitions/Entities"
22855             },
22856             "Result": {
22857               "$ref": "#/definitions/ResolvedModeResults"
22858             }
22859           }
22860         },
22861         "SetAgentStatus": {
22862           "type": "object",
22863           "properties": {
22864             "Params": {
22865               "$ref": "#/definitions/SetStatus"
22866             },
22867             "Result": {
22868               "$ref": "#/definitions/ErrorResults"
22869             }
22870           }
22871         },
22872         "SetApplicationStatus": {
22873           "type": "object",
22874           "properties": {
22875             "Params": {
22876               "$ref": "#/definitions/SetStatus"
22877             },
22878             "Result": {
22879               "$ref": "#/definitions/ErrorResults"
22880             }
22881           }
22882         },
22883         "SetCharmURL": {
22884           "type": "object",
22885           "properties": {
22886             "Params": {
22887               "$ref": "#/definitions/EntitiesCharmURL"
22888             },
22889             "Result": {
22890               "$ref": "#/definitions/ErrorResults"
22891             }
22892           }
22893         },
22894         "SetStatus": {
22895           "type": "object",
22896           "properties": {
22897             "Params": {
22898               "$ref": "#/definitions/SetStatus"
22899             },
22900             "Result": {
22901               "$ref": "#/definitions/ErrorResults"
22902             }
22903           }
22904         },
22905         "SetUnitStatus": {
22906           "type": "object",
22907           "properties": {
22908             "Params": {
22909               "$ref": "#/definitions/SetStatus"
22910             },
22911             "Result": {
22912               "$ref": "#/definitions/ErrorResults"
22913             }
22914           }
22915         },
22916         "SetWorkloadVersion": {
22917           "type": "object",
22918           "properties": {
22919             "Params": {
22920               "$ref": "#/definitions/EntityWorkloadVersions"
22921             },
22922             "Result": {
22923               "$ref": "#/definitions/ErrorResults"
22924             }
22925           }
22926         },
22927         "StorageAttachmentLife": {
22928           "type": "object",
22929           "properties": {
22930             "Params": {
22931               "$ref": "#/definitions/StorageAttachmentIds"
22932             },
22933             "Result": {
22934               "$ref": "#/definitions/LifeResults"
22935             }
22936           }
22937         },
22938         "StorageAttachments": {
22939           "type": "object",
22940           "properties": {
22941             "Params": {
22942               "$ref": "#/definitions/StorageAttachmentIds"
22943             },
22944             "Result": {
22945               "$ref": "#/definitions/StorageAttachmentResults"
22946             }
22947           }
22948         },
22949         "UnitStatus": {
22950           "type": "object",
22951           "properties": {
22952             "Params": {
22953               "$ref": "#/definitions/Entities"
22954             },
22955             "Result": {
22956               "$ref": "#/definitions/StatusResults"
22957             }
22958           }
22959         },
22960         "UnitStorageAttachments": {
22961           "type": "object",
22962           "properties": {
22963             "Params": {
22964               "$ref": "#/definitions/Entities"
22965             },
22966             "Result": {
22967               "$ref": "#/definitions/StorageAttachmentIdsResults"
22968             }
22969           }
22970         },
22971         "UpdateSettings": {
22972           "type": "object",
22973           "properties": {
22974             "Params": {
22975               "$ref": "#/definitions/RelationUnitsSettings"
22976             },
22977             "Result": {
22978               "$ref": "#/definitions/ErrorResults"
22979             }
22980           }
22981         },
22982         "Watch": {
22983           "type": "object",
22984           "properties": {
22985             "Params": {
22986               "$ref": "#/definitions/Entities"
22987             },
22988             "Result": {
22989               "$ref": "#/definitions/NotifyWatchResults"
22990             }
22991           }
22992         },
22993         "WatchAPIHostPorts": {
22994           "type": "object",
22995           "properties": {
22996             "Result": {
22997               "$ref": "#/definitions/NotifyWatchResult"
22998             }
22999           }
23000         },
23001         "WatchActionNotifications": {
23002           "type": "object",
23003           "properties": {
23004             "Params": {
23005               "$ref": "#/definitions/Entities"
23006             },
23007             "Result": {
23008               "$ref": "#/definitions/StringsWatchResults"
23009             }
23010           }
23011         },
23012         "WatchApplicationRelations": {
23013           "type": "object",
23014           "properties": {
23015             "Params": {
23016               "$ref": "#/definitions/Entities"
23017             },
23018             "Result": {
23019               "$ref": "#/definitions/StringsWatchResults"
23020             }
23021           }
23022         },
23023         "WatchConfigSettings": {
23024           "type": "object",
23025           "properties": {
23026             "Params": {
23027               "$ref": "#/definitions/Entities"
23028             },
23029             "Result": {
23030               "$ref": "#/definitions/NotifyWatchResults"
23031             }
23032           }
23033         },
23034         "WatchForModelConfigChanges": {
23035           "type": "object",
23036           "properties": {
23037             "Result": {
23038               "$ref": "#/definitions/NotifyWatchResult"
23039             }
23040           }
23041         },
23042         "WatchLeadershipSettings": {
23043           "type": "object",
23044           "properties": {
23045             "Params": {
23046               "$ref": "#/definitions/Entities"
23047             },
23048             "Result": {
23049               "$ref": "#/definitions/NotifyWatchResults"
23050             }
23051           }
23052         },
23053         "WatchMeterStatus": {
23054           "type": "object",
23055           "properties": {
23056             "Params": {
23057               "$ref": "#/definitions/Entities"
23058             },
23059             "Result": {
23060               "$ref": "#/definitions/NotifyWatchResults"
23061             }
23062           }
23063         },
23064         "WatchRelationUnits": {
23065           "type": "object",
23066           "properties": {
23067             "Params": {
23068               "$ref": "#/definitions/RelationUnits"
23069             },
23070             "Result": {
23071               "$ref": "#/definitions/RelationUnitsWatchResults"
23072             }
23073           }
23074         },
23075         "WatchStorageAttachments": {
23076           "type": "object",
23077           "properties": {
23078             "Params": {
23079               "$ref": "#/definitions/StorageAttachmentIds"
23080             },
23081             "Result": {
23082               "$ref": "#/definitions/NotifyWatchResults"
23083             }
23084           }
23085         },
23086         "WatchUnitAddresses": {
23087           "type": "object",
23088           "properties": {
23089             "Params": {
23090               "$ref": "#/definitions/Entities"
23091             },
23092             "Result": {
23093               "$ref": "#/definitions/NotifyWatchResults"
23094             }
23095           }
23096         },
23097         "WatchUnitStorageAttachments": {
23098           "type": "object",
23099           "properties": {
23100             "Params": {
23101               "$ref": "#/definitions/Entities"
23102             },
23103             "Result": {
23104               "$ref": "#/definitions/StringsWatchResults"
23105             }
23106           }
23107         },
23108         "WorkloadVersion": {
23109           "type": "object",
23110           "properties": {
23111             "Params": {
23112               "$ref": "#/definitions/Entities"
23113             },
23114             "Result": {
23115               "$ref": "#/definitions/StringResults"
23116             }
23117           }
23118         }
23119       },
23120       "definitions": {
23121         "APIHostPortsResult": {
23122           "type": "object",
23123           "properties": {
23124             "servers": {
23125               "type": "array",
23126               "items": {
23127                 "type": "array",
23128                 "items": {
23129                   "$ref": "#/definitions/HostPort"
23130                 }
23131               }
23132             }
23133           },
23134           "additionalProperties": false,
23135           "required": [
23136             "servers"
23137           ]
23138         },
23139         "Action": {
23140           "type": "object",
23141           "properties": {
23142             "name": {
23143               "type": "string"
23144             },
23145             "parameters": {
23146               "type": "object",
23147               "patternProperties": {
23148                 ".*": {
23149                   "type": "object",
23150                   "additionalProperties": true
23151                 }
23152               }
23153             },
23154             "receiver": {
23155               "type": "string"
23156             },
23157             "tag": {
23158               "type": "string"
23159             }
23160           },
23161           "additionalProperties": false,
23162           "required": [
23163             "tag",
23164             "receiver",
23165             "name"
23166           ]
23167         },
23168         "ActionExecutionResult": {
23169           "type": "object",
23170           "properties": {
23171             "action-tag": {
23172               "type": "string"
23173             },
23174             "message": {
23175               "type": "string"
23176             },
23177             "results": {
23178               "type": "object",
23179               "patternProperties": {
23180                 ".*": {
23181                   "type": "object",
23182                   "additionalProperties": true
23183                 }
23184               }
23185             },
23186             "status": {
23187               "type": "string"
23188             }
23189           },
23190           "additionalProperties": false,
23191           "required": [
23192             "action-tag",
23193             "status"
23194           ]
23195         },
23196         "ActionExecutionResults": {
23197           "type": "object",
23198           "properties": {
23199             "results": {
23200               "type": "array",
23201               "items": {
23202                 "$ref": "#/definitions/ActionExecutionResult"
23203               }
23204             }
23205           },
23206           "additionalProperties": false
23207         },
23208         "ActionResult": {
23209           "type": "object",
23210           "properties": {
23211             "action": {
23212               "$ref": "#/definitions/Action"
23213             },
23214             "completed": {
23215               "type": "string",
23216               "format": "date-time"
23217             },
23218             "enqueued": {
23219               "type": "string",
23220               "format": "date-time"
23221             },
23222             "error": {
23223               "$ref": "#/definitions/Error"
23224             },
23225             "message": {
23226               "type": "string"
23227             },
23228             "output": {
23229               "type": "object",
23230               "patternProperties": {
23231                 ".*": {
23232                   "type": "object",
23233                   "additionalProperties": true
23234                 }
23235               }
23236             },
23237             "started": {
23238               "type": "string",
23239               "format": "date-time"
23240             },
23241             "status": {
23242               "type": "string"
23243             }
23244           },
23245           "additionalProperties": false
23246         },
23247         "ActionResults": {
23248           "type": "object",
23249           "properties": {
23250             "results": {
23251               "type": "array",
23252               "items": {
23253                 "$ref": "#/definitions/ActionResult"
23254               }
23255             }
23256           },
23257           "additionalProperties": false
23258         },
23259         "Address": {
23260           "type": "object",
23261           "properties": {
23262             "scope": {
23263               "type": "string"
23264             },
23265             "space-name": {
23266               "type": "string"
23267             },
23268             "type": {
23269               "type": "string"
23270             },
23271             "value": {
23272               "type": "string"
23273             }
23274           },
23275           "additionalProperties": false,
23276           "required": [
23277             "value",
23278             "type",
23279             "scope"
23280           ]
23281         },
23282         "ApplicationStatusResult": {
23283           "type": "object",
23284           "properties": {
23285             "application": {
23286               "$ref": "#/definitions/StatusResult"
23287             },
23288             "error": {
23289               "$ref": "#/definitions/Error"
23290             },
23291             "units": {
23292               "type": "object",
23293               "patternProperties": {
23294                 ".*": {
23295                   "$ref": "#/definitions/StatusResult"
23296                 }
23297               }
23298             }
23299           },
23300           "additionalProperties": false,
23301           "required": [
23302             "application",
23303             "units"
23304           ]
23305         },
23306         "ApplicationStatusResults": {
23307           "type": "object",
23308           "properties": {
23309             "results": {
23310               "type": "array",
23311               "items": {
23312                 "$ref": "#/definitions/ApplicationStatusResult"
23313               }
23314             }
23315           },
23316           "additionalProperties": false,
23317           "required": [
23318             "results"
23319           ]
23320         },
23321         "BoolResult": {
23322           "type": "object",
23323           "properties": {
23324             "error": {
23325               "$ref": "#/definitions/Error"
23326             },
23327             "result": {
23328               "type": "boolean"
23329             }
23330           },
23331           "additionalProperties": false,
23332           "required": [
23333             "result"
23334           ]
23335         },
23336         "BoolResults": {
23337           "type": "object",
23338           "properties": {
23339             "results": {
23340               "type": "array",
23341               "items": {
23342                 "$ref": "#/definitions/BoolResult"
23343               }
23344             }
23345           },
23346           "additionalProperties": false,
23347           "required": [
23348             "results"
23349           ]
23350         },
23351         "BytesResult": {
23352           "type": "object",
23353           "properties": {
23354             "result": {
23355               "type": "array",
23356               "items": {
23357                 "type": "integer"
23358               }
23359             }
23360           },
23361           "additionalProperties": false,
23362           "required": [
23363             "result"
23364           ]
23365         },
23366         "CharmRelation": {
23367           "type": "object",
23368           "properties": {
23369             "interface": {
23370               "type": "string"
23371             },
23372             "limit": {
23373               "type": "integer"
23374             },
23375             "name": {
23376               "type": "string"
23377             },
23378             "optional": {
23379               "type": "boolean"
23380             },
23381             "role": {
23382               "type": "string"
23383             },
23384             "scope": {
23385               "type": "string"
23386             }
23387           },
23388           "additionalProperties": false,
23389           "required": [
23390             "name",
23391             "role",
23392             "interface",
23393             "optional",
23394             "limit",
23395             "scope"
23396           ]
23397         },
23398         "CharmURL": {
23399           "type": "object",
23400           "properties": {
23401             "url": {
23402               "type": "string"
23403             }
23404           },
23405           "additionalProperties": false,
23406           "required": [
23407             "url"
23408           ]
23409         },
23410         "CharmURLs": {
23411           "type": "object",
23412           "properties": {
23413             "urls": {
23414               "type": "array",
23415               "items": {
23416                 "$ref": "#/definitions/CharmURL"
23417               }
23418             }
23419           },
23420           "additionalProperties": false,
23421           "required": [
23422             "urls"
23423           ]
23424         },
23425         "ConfigSettingsResult": {
23426           "type": "object",
23427           "properties": {
23428             "error": {
23429               "$ref": "#/definitions/Error"
23430             },
23431             "settings": {
23432               "type": "object",
23433               "patternProperties": {
23434                 ".*": {
23435                   "type": "object",
23436                   "additionalProperties": true
23437                 }
23438               }
23439             }
23440           },
23441           "additionalProperties": false,
23442           "required": [
23443             "settings"
23444           ]
23445         },
23446         "ConfigSettingsResults": {
23447           "type": "object",
23448           "properties": {
23449             "results": {
23450               "type": "array",
23451               "items": {
23452                 "$ref": "#/definitions/ConfigSettingsResult"
23453               }
23454             }
23455           },
23456           "additionalProperties": false,
23457           "required": [
23458             "results"
23459           ]
23460         },
23461         "Endpoint": {
23462           "type": "object",
23463           "properties": {
23464             "application-name": {
23465               "type": "string"
23466             },
23467             "relation": {
23468               "$ref": "#/definitions/CharmRelation"
23469             }
23470           },
23471           "additionalProperties": false,
23472           "required": [
23473             "application-name",
23474             "relation"
23475           ]
23476         },
23477         "Entities": {
23478           "type": "object",
23479           "properties": {
23480             "entities": {
23481               "type": "array",
23482               "items": {
23483                 "$ref": "#/definitions/Entity"
23484               }
23485             }
23486           },
23487           "additionalProperties": false,
23488           "required": [
23489             "entities"
23490           ]
23491         },
23492         "EntitiesCharmURL": {
23493           "type": "object",
23494           "properties": {
23495             "entities": {
23496               "type": "array",
23497               "items": {
23498                 "$ref": "#/definitions/EntityCharmURL"
23499               }
23500             }
23501           },
23502           "additionalProperties": false,
23503           "required": [
23504             "entities"
23505           ]
23506         },
23507         "EntitiesPortRanges": {
23508           "type": "object",
23509           "properties": {
23510             "entities": {
23511               "type": "array",
23512               "items": {
23513                 "$ref": "#/definitions/EntityPortRange"
23514               }
23515             }
23516           },
23517           "additionalProperties": false,
23518           "required": [
23519             "entities"
23520           ]
23521         },
23522         "Entity": {
23523           "type": "object",
23524           "properties": {
23525             "tag": {
23526               "type": "string"
23527             }
23528           },
23529           "additionalProperties": false,
23530           "required": [
23531             "tag"
23532           ]
23533         },
23534         "EntityCharmURL": {
23535           "type": "object",
23536           "properties": {
23537             "charm-url": {
23538               "type": "string"
23539             },
23540             "tag": {
23541               "type": "string"
23542             }
23543           },
23544           "additionalProperties": false,
23545           "required": [
23546             "tag",
23547             "charm-url"
23548           ]
23549         },
23550         "EntityPortRange": {
23551           "type": "object",
23552           "properties": {
23553             "from-port": {
23554               "type": "integer"
23555             },
23556             "protocol": {
23557               "type": "string"
23558             },
23559             "tag": {
23560               "type": "string"
23561             },
23562             "to-port": {
23563               "type": "integer"
23564             }
23565           },
23566           "additionalProperties": false,
23567           "required": [
23568             "tag",
23569             "protocol",
23570             "from-port",
23571             "to-port"
23572           ]
23573         },
23574         "EntityStatusArgs": {
23575           "type": "object",
23576           "properties": {
23577             "data": {
23578               "type": "object",
23579               "patternProperties": {
23580                 ".*": {
23581                   "type": "object",
23582                   "additionalProperties": true
23583                 }
23584               }
23585             },
23586             "info": {
23587               "type": "string"
23588             },
23589             "status": {
23590               "type": "string"
23591             },
23592             "tag": {
23593               "type": "string"
23594             }
23595           },
23596           "additionalProperties": false,
23597           "required": [
23598             "tag",
23599             "status",
23600             "info",
23601             "data"
23602           ]
23603         },
23604         "EntityWorkloadVersion": {
23605           "type": "object",
23606           "properties": {
23607             "tag": {
23608               "type": "string"
23609             },
23610             "workload-version": {
23611               "type": "string"
23612             }
23613           },
23614           "additionalProperties": false,
23615           "required": [
23616             "tag",
23617             "workload-version"
23618           ]
23619         },
23620         "EntityWorkloadVersions": {
23621           "type": "object",
23622           "properties": {
23623             "entities": {
23624               "type": "array",
23625               "items": {
23626                 "$ref": "#/definitions/EntityWorkloadVersion"
23627               }
23628             }
23629           },
23630           "additionalProperties": false,
23631           "required": [
23632             "entities"
23633           ]
23634         },
23635         "Error": {
23636           "type": "object",
23637           "properties": {
23638             "code": {
23639               "type": "string"
23640             },
23641             "info": {
23642               "$ref": "#/definitions/ErrorInfo"
23643             },
23644             "message": {
23645               "type": "string"
23646             }
23647           },
23648           "additionalProperties": false,
23649           "required": [
23650             "message",
23651             "code"
23652           ]
23653         },
23654         "ErrorInfo": {
23655           "type": "object",
23656           "properties": {
23657             "macaroon": {
23658               "$ref": "#/definitions/Macaroon"
23659             },
23660             "macaroon-path": {
23661               "type": "string"
23662             }
23663           },
23664           "additionalProperties": false
23665         },
23666         "ErrorResult": {
23667           "type": "object",
23668           "properties": {
23669             "error": {
23670               "$ref": "#/definitions/Error"
23671             }
23672           },
23673           "additionalProperties": false
23674         },
23675         "ErrorResults": {
23676           "type": "object",
23677           "properties": {
23678             "results": {
23679               "type": "array",
23680               "items": {
23681                 "$ref": "#/definitions/ErrorResult"
23682               }
23683             }
23684           },
23685           "additionalProperties": false,
23686           "required": [
23687             "results"
23688           ]
23689         },
23690         "GetLeadershipSettingsBulkResults": {
23691           "type": "object",
23692           "properties": {
23693             "results": {
23694               "type": "array",
23695               "items": {
23696                 "$ref": "#/definitions/GetLeadershipSettingsResult"
23697               }
23698             }
23699           },
23700           "additionalProperties": false,
23701           "required": [
23702             "results"
23703           ]
23704         },
23705         "GetLeadershipSettingsResult": {
23706           "type": "object",
23707           "properties": {
23708             "error": {
23709               "$ref": "#/definitions/Error"
23710             },
23711             "settings": {
23712               "type": "object",
23713               "patternProperties": {
23714                 ".*": {
23715                   "type": "string"
23716                 }
23717               }
23718             }
23719           },
23720           "additionalProperties": false,
23721           "required": [
23722             "settings"
23723           ]
23724         },
23725         "HostPort": {
23726           "type": "object",
23727           "properties": {
23728             "Address": {
23729               "$ref": "#/definitions/Address"
23730             },
23731             "port": {
23732               "type": "integer"
23733             }
23734           },
23735           "additionalProperties": false,
23736           "required": [
23737             "Address",
23738             "port"
23739           ]
23740         },
23741         "IntResult": {
23742           "type": "object",
23743           "properties": {
23744             "error": {
23745               "$ref": "#/definitions/Error"
23746             },
23747             "result": {
23748               "type": "integer"
23749             }
23750           },
23751           "additionalProperties": false,
23752           "required": [
23753             "result"
23754           ]
23755         },
23756         "IntResults": {
23757           "type": "object",
23758           "properties": {
23759             "results": {
23760               "type": "array",
23761               "items": {
23762                 "$ref": "#/definitions/IntResult"
23763               }
23764             }
23765           },
23766           "additionalProperties": false,
23767           "required": [
23768             "results"
23769           ]
23770         },
23771         "LifeResult": {
23772           "type": "object",
23773           "properties": {
23774             "error": {
23775               "$ref": "#/definitions/Error"
23776             },
23777             "life": {
23778               "type": "string"
23779             }
23780           },
23781           "additionalProperties": false,
23782           "required": [
23783             "life"
23784           ]
23785         },
23786         "LifeResults": {
23787           "type": "object",
23788           "properties": {
23789             "results": {
23790               "type": "array",
23791               "items": {
23792                 "$ref": "#/definitions/LifeResult"
23793               }
23794             }
23795           },
23796           "additionalProperties": false,
23797           "required": [
23798             "results"
23799           ]
23800         },
23801         "Macaroon": {
23802           "type": "object",
23803           "additionalProperties": false
23804         },
23805         "MachinePortRange": {
23806           "type": "object",
23807           "properties": {
23808             "port-range": {
23809               "$ref": "#/definitions/PortRange"
23810             },
23811             "relation-tag": {
23812               "type": "string"
23813             },
23814             "unit-tag": {
23815               "type": "string"
23816             }
23817           },
23818           "additionalProperties": false,
23819           "required": [
23820             "unit-tag",
23821             "relation-tag",
23822             "port-range"
23823           ]
23824         },
23825         "MachinePortsResult": {
23826           "type": "object",
23827           "properties": {
23828             "error": {
23829               "$ref": "#/definitions/Error"
23830             },
23831             "ports": {
23832               "type": "array",
23833               "items": {
23834                 "$ref": "#/definitions/MachinePortRange"
23835               }
23836             }
23837           },
23838           "additionalProperties": false,
23839           "required": [
23840             "ports"
23841           ]
23842         },
23843         "MachinePortsResults": {
23844           "type": "object",
23845           "properties": {
23846             "results": {
23847               "type": "array",
23848               "items": {
23849                 "$ref": "#/definitions/MachinePortsResult"
23850               }
23851             }
23852           },
23853           "additionalProperties": false,
23854           "required": [
23855             "results"
23856           ]
23857         },
23858         "MergeLeadershipSettingsBulkParams": {
23859           "type": "object",
23860           "properties": {
23861             "params": {
23862               "type": "array",
23863               "items": {
23864                 "$ref": "#/definitions/MergeLeadershipSettingsParam"
23865               }
23866             }
23867           },
23868           "additionalProperties": false,
23869           "required": [
23870             "params"
23871           ]
23872         },
23873         "MergeLeadershipSettingsParam": {
23874           "type": "object",
23875           "properties": {
23876             "application-tag": {
23877               "type": "string"
23878             },
23879             "settings": {
23880               "type": "object",
23881               "patternProperties": {
23882                 ".*": {
23883                   "type": "string"
23884                 }
23885               }
23886             }
23887           },
23888           "additionalProperties": false,
23889           "required": [
23890             "application-tag",
23891             "settings"
23892           ]
23893         },
23894         "MeterStatusResult": {
23895           "type": "object",
23896           "properties": {
23897             "code": {
23898               "type": "string"
23899             },
23900             "error": {
23901               "$ref": "#/definitions/Error"
23902             },
23903             "info": {
23904               "type": "string"
23905             }
23906           },
23907           "additionalProperties": false,
23908           "required": [
23909             "code",
23910             "info"
23911           ]
23912         },
23913         "MeterStatusResults": {
23914           "type": "object",
23915           "properties": {
23916             "results": {
23917               "type": "array",
23918               "items": {
23919                 "$ref": "#/definitions/MeterStatusResult"
23920               }
23921             }
23922           },
23923           "additionalProperties": false,
23924           "required": [
23925             "results"
23926           ]
23927         },
23928         "Metric": {
23929           "type": "object",
23930           "properties": {
23931             "key": {
23932               "type": "string"
23933             },
23934             "time": {
23935               "type": "string",
23936               "format": "date-time"
23937             },
23938             "value": {
23939               "type": "string"
23940             }
23941           },
23942           "additionalProperties": false,
23943           "required": [
23944             "key",
23945             "value",
23946             "time"
23947           ]
23948         },
23949         "MetricBatch": {
23950           "type": "object",
23951           "properties": {
23952             "charm-url": {
23953               "type": "string"
23954             },
23955             "created": {
23956               "type": "string",
23957               "format": "date-time"
23958             },
23959             "metrics": {
23960               "type": "array",
23961               "items": {
23962                 "$ref": "#/definitions/Metric"
23963               }
23964             },
23965             "uuid": {
23966               "type": "string"
23967             }
23968           },
23969           "additionalProperties": false,
23970           "required": [
23971             "uuid",
23972             "charm-url",
23973             "created",
23974             "metrics"
23975           ]
23976         },
23977         "MetricBatchParam": {
23978           "type": "object",
23979           "properties": {
23980             "batch": {
23981               "$ref": "#/definitions/MetricBatch"
23982             },
23983             "tag": {
23984               "type": "string"
23985             }
23986           },
23987           "additionalProperties": false,
23988           "required": [
23989             "tag",
23990             "batch"
23991           ]
23992         },
23993         "MetricBatchParams": {
23994           "type": "object",
23995           "properties": {
23996             "batches": {
23997               "type": "array",
23998               "items": {
23999                 "$ref": "#/definitions/MetricBatchParam"
24000               }
24001             }
24002           },
24003           "additionalProperties": false,
24004           "required": [
24005             "batches"
24006           ]
24007         },
24008         "ModelConfigResult": {
24009           "type": "object",
24010           "properties": {
24011             "config": {
24012               "type": "object",
24013               "patternProperties": {
24014                 ".*": {
24015                   "type": "object",
24016                   "additionalProperties": true
24017                 }
24018               }
24019             }
24020           },
24021           "additionalProperties": false,
24022           "required": [
24023             "config"
24024           ]
24025         },
24026         "ModelResult": {
24027           "type": "object",
24028           "properties": {
24029             "error": {
24030               "$ref": "#/definitions/Error"
24031             },
24032             "name": {
24033               "type": "string"
24034             },
24035             "uuid": {
24036               "type": "string"
24037             }
24038           },
24039           "additionalProperties": false,
24040           "required": [
24041             "name",
24042             "uuid"
24043           ]
24044         },
24045         "NetworkConfig": {
24046           "type": "object",
24047           "properties": {
24048             "address": {
24049               "type": "string"
24050             },
24051             "cidr": {
24052               "type": "string"
24053             },
24054             "config-type": {
24055               "type": "string"
24056             },
24057             "device-index": {
24058               "type": "integer"
24059             },
24060             "disabled": {
24061               "type": "boolean"
24062             },
24063             "dns-search-domains": {
24064               "type": "array",
24065               "items": {
24066                 "type": "string"
24067               }
24068             },
24069             "dns-servers": {
24070               "type": "array",
24071               "items": {
24072                 "type": "string"
24073               }
24074             },
24075             "gateway-address": {
24076               "type": "string"
24077             },
24078             "interface-name": {
24079               "type": "string"
24080             },
24081             "interface-type": {
24082               "type": "string"
24083             },
24084             "mac-address": {
24085               "type": "string"
24086             },
24087             "mtu": {
24088               "type": "integer"
24089             },
24090             "no-auto-start": {
24091               "type": "boolean"
24092             },
24093             "parent-interface-name": {
24094               "type": "string"
24095             },
24096             "provider-address-id": {
24097               "type": "string"
24098             },
24099             "provider-id": {
24100               "type": "string"
24101             },
24102             "provider-space-id": {
24103               "type": "string"
24104             },
24105             "provider-subnet-id": {
24106               "type": "string"
24107             },
24108             "provider-vlan-id": {
24109               "type": "string"
24110             },
24111             "routes": {
24112               "type": "array",
24113               "items": {
24114                 "$ref": "#/definitions/NetworkRoute"
24115               }
24116             },
24117             "vlan-tag": {
24118               "type": "integer"
24119             }
24120           },
24121           "additionalProperties": false,
24122           "required": [
24123             "device-index",
24124             "mac-address",
24125             "cidr",
24126             "mtu",
24127             "provider-id",
24128             "provider-subnet-id",
24129             "provider-space-id",
24130             "provider-address-id",
24131             "provider-vlan-id",
24132             "vlan-tag",
24133             "interface-name",
24134             "parent-interface-name",
24135             "interface-type",
24136             "disabled"
24137           ]
24138         },
24139         "NetworkRoute": {
24140           "type": "object",
24141           "properties": {
24142             "destination-cidr": {
24143               "type": "string"
24144             },
24145             "gateway-ip": {
24146               "type": "string"
24147             },
24148             "metric": {
24149               "type": "integer"
24150             }
24151           },
24152           "additionalProperties": false,
24153           "required": [
24154             "destination-cidr",
24155             "gateway-ip",
24156             "metric"
24157           ]
24158         },
24159         "NotifyWatchResult": {
24160           "type": "object",
24161           "properties": {
24162             "NotifyWatcherId": {
24163               "type": "string"
24164             },
24165             "error": {
24166               "$ref": "#/definitions/Error"
24167             }
24168           },
24169           "additionalProperties": false,
24170           "required": [
24171             "NotifyWatcherId"
24172           ]
24173         },
24174         "NotifyWatchResults": {
24175           "type": "object",
24176           "properties": {
24177             "results": {
24178               "type": "array",
24179               "items": {
24180                 "$ref": "#/definitions/NotifyWatchResult"
24181               }
24182             }
24183           },
24184           "additionalProperties": false,
24185           "required": [
24186             "results"
24187           ]
24188         },
24189         "PortRange": {
24190           "type": "object",
24191           "properties": {
24192             "from-port": {
24193               "type": "integer"
24194             },
24195             "protocol": {
24196               "type": "string"
24197             },
24198             "to-port": {
24199               "type": "integer"
24200             }
24201           },
24202           "additionalProperties": false,
24203           "required": [
24204             "from-port",
24205             "to-port",
24206             "protocol"
24207           ]
24208         },
24209         "RelationIds": {
24210           "type": "object",
24211           "properties": {
24212             "relation-ids": {
24213               "type": "array",
24214               "items": {
24215                 "type": "integer"
24216               }
24217             }
24218           },
24219           "additionalProperties": false,
24220           "required": [
24221             "relation-ids"
24222           ]
24223         },
24224         "RelationResult": {
24225           "type": "object",
24226           "properties": {
24227             "endpoint": {
24228               "$ref": "#/definitions/Endpoint"
24229             },
24230             "error": {
24231               "$ref": "#/definitions/Error"
24232             },
24233             "id": {
24234               "type": "integer"
24235             },
24236             "key": {
24237               "type": "string"
24238             },
24239             "life": {
24240               "type": "string"
24241             }
24242           },
24243           "additionalProperties": false,
24244           "required": [
24245             "life",
24246             "id",
24247             "key",
24248             "endpoint"
24249           ]
24250         },
24251         "RelationResults": {
24252           "type": "object",
24253           "properties": {
24254             "results": {
24255               "type": "array",
24256               "items": {
24257                 "$ref": "#/definitions/RelationResult"
24258               }
24259             }
24260           },
24261           "additionalProperties": false,
24262           "required": [
24263             "results"
24264           ]
24265         },
24266         "RelationUnit": {
24267           "type": "object",
24268           "properties": {
24269             "relation": {
24270               "type": "string"
24271             },
24272             "unit": {
24273               "type": "string"
24274             }
24275           },
24276           "additionalProperties": false,
24277           "required": [
24278             "relation",
24279             "unit"
24280           ]
24281         },
24282         "RelationUnitPair": {
24283           "type": "object",
24284           "properties": {
24285             "local-unit": {
24286               "type": "string"
24287             },
24288             "relation": {
24289               "type": "string"
24290             },
24291             "remote-unit": {
24292               "type": "string"
24293             }
24294           },
24295           "additionalProperties": false,
24296           "required": [
24297             "relation",
24298             "local-unit",
24299             "remote-unit"
24300           ]
24301         },
24302         "RelationUnitPairs": {
24303           "type": "object",
24304           "properties": {
24305             "relation-unit-pairs": {
24306               "type": "array",
24307               "items": {
24308                 "$ref": "#/definitions/RelationUnitPair"
24309               }
24310             }
24311           },
24312           "additionalProperties": false,
24313           "required": [
24314             "relation-unit-pairs"
24315           ]
24316         },
24317         "RelationUnitSettings": {
24318           "type": "object",
24319           "properties": {
24320             "relation": {
24321               "type": "string"
24322             },
24323             "settings": {
24324               "type": "object",
24325               "patternProperties": {
24326                 ".*": {
24327                   "type": "string"
24328                 }
24329               }
24330             },
24331             "unit": {
24332               "type": "string"
24333             }
24334           },
24335           "additionalProperties": false,
24336           "required": [
24337             "relation",
24338             "unit",
24339             "settings"
24340           ]
24341         },
24342         "RelationUnits": {
24343           "type": "object",
24344           "properties": {
24345             "relation-units": {
24346               "type": "array",
24347               "items": {
24348                 "$ref": "#/definitions/RelationUnit"
24349               }
24350             }
24351           },
24352           "additionalProperties": false,
24353           "required": [
24354             "relation-units"
24355           ]
24356         },
24357         "RelationUnitsChange": {
24358           "type": "object",
24359           "properties": {
24360             "changed": {
24361               "type": "object",
24362               "patternProperties": {
24363                 ".*": {
24364                   "$ref": "#/definitions/UnitSettings"
24365                 }
24366               }
24367             },
24368             "departed": {
24369               "type": "array",
24370               "items": {
24371                 "type": "string"
24372               }
24373             }
24374           },
24375           "additionalProperties": false,
24376           "required": [
24377             "changed"
24378           ]
24379         },
24380         "RelationUnitsSettings": {
24381           "type": "object",
24382           "properties": {
24383             "relation-units": {
24384               "type": "array",
24385               "items": {
24386                 "$ref": "#/definitions/RelationUnitSettings"
24387               }
24388             }
24389           },
24390           "additionalProperties": false,
24391           "required": [
24392             "relation-units"
24393           ]
24394         },
24395         "RelationUnitsWatchResult": {
24396           "type": "object",
24397           "properties": {
24398             "changes": {
24399               "$ref": "#/definitions/RelationUnitsChange"
24400             },
24401             "error": {
24402               "$ref": "#/definitions/Error"
24403             },
24404             "watcher-id": {
24405               "type": "string"
24406             }
24407           },
24408           "additionalProperties": false,
24409           "required": [
24410             "watcher-id",
24411             "changes"
24412           ]
24413         },
24414         "RelationUnitsWatchResults": {
24415           "type": "object",
24416           "properties": {
24417             "results": {
24418               "type": "array",
24419               "items": {
24420                 "$ref": "#/definitions/RelationUnitsWatchResult"
24421               }
24422             }
24423           },
24424           "additionalProperties": false,
24425           "required": [
24426             "results"
24427           ]
24428         },
24429         "ResolvedModeResult": {
24430           "type": "object",
24431           "properties": {
24432             "error": {
24433               "$ref": "#/definitions/Error"
24434             },
24435             "mode": {
24436               "type": "string"
24437             }
24438           },
24439           "additionalProperties": false,
24440           "required": [
24441             "mode"
24442           ]
24443         },
24444         "ResolvedModeResults": {
24445           "type": "object",
24446           "properties": {
24447             "results": {
24448               "type": "array",
24449               "items": {
24450                 "$ref": "#/definitions/ResolvedModeResult"
24451               }
24452             }
24453           },
24454           "additionalProperties": false,
24455           "required": [
24456             "results"
24457           ]
24458         },
24459         "SetStatus": {
24460           "type": "object",
24461           "properties": {
24462             "entities": {
24463               "type": "array",
24464               "items": {
24465                 "$ref": "#/definitions/EntityStatusArgs"
24466               }
24467             }
24468           },
24469           "additionalProperties": false,
24470           "required": [
24471             "entities"
24472           ]
24473         },
24474         "SettingsResult": {
24475           "type": "object",
24476           "properties": {
24477             "error": {
24478               "$ref": "#/definitions/Error"
24479             },
24480             "settings": {
24481               "type": "object",
24482               "patternProperties": {
24483                 ".*": {
24484                   "type": "string"
24485                 }
24486               }
24487             }
24488           },
24489           "additionalProperties": false,
24490           "required": [
24491             "settings"
24492           ]
24493         },
24494         "SettingsResults": {
24495           "type": "object",
24496           "properties": {
24497             "results": {
24498               "type": "array",
24499               "items": {
24500                 "$ref": "#/definitions/SettingsResult"
24501               }
24502             }
24503           },
24504           "additionalProperties": false,
24505           "required": [
24506             "results"
24507           ]
24508         },
24509         "StatusResult": {
24510           "type": "object",
24511           "properties": {
24512             "data": {
24513               "type": "object",
24514               "patternProperties": {
24515                 ".*": {
24516                   "type": "object",
24517                   "additionalProperties": true
24518                 }
24519               }
24520             },
24521             "error": {
24522               "$ref": "#/definitions/Error"
24523             },
24524             "id": {
24525               "type": "string"
24526             },
24527             "info": {
24528               "type": "string"
24529             },
24530             "life": {
24531               "type": "string"
24532             },
24533             "since": {
24534               "type": "string",
24535               "format": "date-time"
24536             },
24537             "status": {
24538               "type": "string"
24539             }
24540           },
24541           "additionalProperties": false,
24542           "required": [
24543             "id",
24544             "life",
24545             "status",
24546             "info",
24547             "data",
24548             "since"
24549           ]
24550         },
24551         "StatusResults": {
24552           "type": "object",
24553           "properties": {
24554             "results": {
24555               "type": "array",
24556               "items": {
24557                 "$ref": "#/definitions/StatusResult"
24558               }
24559             }
24560           },
24561           "additionalProperties": false,
24562           "required": [
24563             "results"
24564           ]
24565         },
24566         "StorageAddParams": {
24567           "type": "object",
24568           "properties": {
24569             "name": {
24570               "type": "string"
24571             },
24572             "storage": {
24573               "$ref": "#/definitions/StorageConstraints"
24574             },
24575             "unit": {
24576               "type": "string"
24577             }
24578           },
24579           "additionalProperties": false,
24580           "required": [
24581             "unit",
24582             "name",
24583             "storage"
24584           ]
24585         },
24586         "StorageAttachment": {
24587           "type": "object",
24588           "properties": {
24589             "kind": {
24590               "type": "integer"
24591             },
24592             "life": {
24593               "type": "string"
24594             },
24595             "location": {
24596               "type": "string"
24597             },
24598             "owner-tag": {
24599               "type": "string"
24600             },
24601             "storage-tag": {
24602               "type": "string"
24603             },
24604             "unit-tag": {
24605               "type": "string"
24606             }
24607           },
24608           "additionalProperties": false,
24609           "required": [
24610             "storage-tag",
24611             "owner-tag",
24612             "unit-tag",
24613             "kind",
24614             "location",
24615             "life"
24616           ]
24617         },
24618         "StorageAttachmentId": {
24619           "type": "object",
24620           "properties": {
24621             "storage-tag": {
24622               "type": "string"
24623             },
24624             "unit-tag": {
24625               "type": "string"
24626             }
24627           },
24628           "additionalProperties": false,
24629           "required": [
24630             "storage-tag",
24631             "unit-tag"
24632           ]
24633         },
24634         "StorageAttachmentIds": {
24635           "type": "object",
24636           "properties": {
24637             "ids": {
24638               "type": "array",
24639               "items": {
24640                 "$ref": "#/definitions/StorageAttachmentId"
24641               }
24642             }
24643           },
24644           "additionalProperties": false,
24645           "required": [
24646             "ids"
24647           ]
24648         },
24649         "StorageAttachmentIdsResult": {
24650           "type": "object",
24651           "properties": {
24652             "error": {
24653               "$ref": "#/definitions/Error"
24654             },
24655             "result": {
24656               "$ref": "#/definitions/StorageAttachmentIds"
24657             }
24658           },
24659           "additionalProperties": false,
24660           "required": [
24661             "result"
24662           ]
24663         },
24664         "StorageAttachmentIdsResults": {
24665           "type": "object",
24666           "properties": {
24667             "results": {
24668               "type": "array",
24669               "items": {
24670                 "$ref": "#/definitions/StorageAttachmentIdsResult"
24671               }
24672             }
24673           },
24674           "additionalProperties": false
24675         },
24676         "StorageAttachmentResult": {
24677           "type": "object",
24678           "properties": {
24679             "error": {
24680               "$ref": "#/definitions/Error"
24681             },
24682             "result": {
24683               "$ref": "#/definitions/StorageAttachment"
24684             }
24685           },
24686           "additionalProperties": false,
24687           "required": [
24688             "result"
24689           ]
24690         },
24691         "StorageAttachmentResults": {
24692           "type": "object",
24693           "properties": {
24694             "results": {
24695               "type": "array",
24696               "items": {
24697                 "$ref": "#/definitions/StorageAttachmentResult"
24698               }
24699             }
24700           },
24701           "additionalProperties": false
24702         },
24703         "StorageConstraints": {
24704           "type": "object",
24705           "properties": {
24706             "count": {
24707               "type": "integer"
24708             },
24709             "pool": {
24710               "type": "string"
24711             },
24712             "size": {
24713               "type": "integer"
24714             }
24715           },
24716           "additionalProperties": false
24717         },
24718         "StoragesAddParams": {
24719           "type": "object",
24720           "properties": {
24721             "storages": {
24722               "type": "array",
24723               "items": {
24724                 "$ref": "#/definitions/StorageAddParams"
24725               }
24726             }
24727           },
24728           "additionalProperties": false,
24729           "required": [
24730             "storages"
24731           ]
24732         },
24733         "StringBoolResult": {
24734           "type": "object",
24735           "properties": {
24736             "error": {
24737               "$ref": "#/definitions/Error"
24738             },
24739             "ok": {
24740               "type": "boolean"
24741             },
24742             "result": {
24743               "type": "string"
24744             }
24745           },
24746           "additionalProperties": false,
24747           "required": [
24748             "result",
24749             "ok"
24750           ]
24751         },
24752         "StringBoolResults": {
24753           "type": "object",
24754           "properties": {
24755             "results": {
24756               "type": "array",
24757               "items": {
24758                 "$ref": "#/definitions/StringBoolResult"
24759               }
24760             }
24761           },
24762           "additionalProperties": false,
24763           "required": [
24764             "results"
24765           ]
24766         },
24767         "StringResult": {
24768           "type": "object",
24769           "properties": {
24770             "error": {
24771               "$ref": "#/definitions/Error"
24772             },
24773             "result": {
24774               "type": "string"
24775             }
24776           },
24777           "additionalProperties": false,
24778           "required": [
24779             "result"
24780           ]
24781         },
24782         "StringResults": {
24783           "type": "object",
24784           "properties": {
24785             "results": {
24786               "type": "array",
24787               "items": {
24788                 "$ref": "#/definitions/StringResult"
24789               }
24790             }
24791           },
24792           "additionalProperties": false,
24793           "required": [
24794             "results"
24795           ]
24796         },
24797         "StringsResult": {
24798           "type": "object",
24799           "properties": {
24800             "error": {
24801               "$ref": "#/definitions/Error"
24802             },
24803             "result": {
24804               "type": "array",
24805               "items": {
24806                 "type": "string"
24807               }
24808             }
24809           },
24810           "additionalProperties": false
24811         },
24812         "StringsResults": {
24813           "type": "object",
24814           "properties": {
24815             "results": {
24816               "type": "array",
24817               "items": {
24818                 "$ref": "#/definitions/StringsResult"
24819               }
24820             }
24821           },
24822           "additionalProperties": false,
24823           "required": [
24824             "results"
24825           ]
24826         },
24827         "StringsWatchResult": {
24828           "type": "object",
24829           "properties": {
24830             "changes": {
24831               "type": "array",
24832               "items": {
24833                 "type": "string"
24834               }
24835             },
24836             "error": {
24837               "$ref": "#/definitions/Error"
24838             },
24839             "watcher-id": {
24840               "type": "string"
24841             }
24842           },
24843           "additionalProperties": false,
24844           "required": [
24845             "watcher-id"
24846           ]
24847         },
24848         "StringsWatchResults": {
24849           "type": "object",
24850           "properties": {
24851             "results": {
24852               "type": "array",
24853               "items": {
24854                 "$ref": "#/definitions/StringsWatchResult"
24855               }
24856             }
24857           },
24858           "additionalProperties": false,
24859           "required": [
24860             "results"
24861           ]
24862         },
24863         "UnitNetworkConfig": {
24864           "type": "object",
24865           "properties": {
24866             "binding-name": {
24867               "type": "string"
24868             },
24869             "unit-tag": {
24870               "type": "string"
24871             }
24872           },
24873           "additionalProperties": false,
24874           "required": [
24875             "unit-tag",
24876             "binding-name"
24877           ]
24878         },
24879         "UnitNetworkConfigResult": {
24880           "type": "object",
24881           "properties": {
24882             "error": {
24883               "$ref": "#/definitions/Error"
24884             },
24885             "info": {
24886               "type": "array",
24887               "items": {
24888                 "$ref": "#/definitions/NetworkConfig"
24889               }
24890             }
24891           },
24892           "additionalProperties": false,
24893           "required": [
24894             "info"
24895           ]
24896         },
24897         "UnitNetworkConfigResults": {
24898           "type": "object",
24899           "properties": {
24900             "results": {
24901               "type": "array",
24902               "items": {
24903                 "$ref": "#/definitions/UnitNetworkConfigResult"
24904               }
24905             }
24906           },
24907           "additionalProperties": false,
24908           "required": [
24909             "results"
24910           ]
24911         },
24912         "UnitSettings": {
24913           "type": "object",
24914           "properties": {
24915             "version": {
24916               "type": "integer"
24917             }
24918           },
24919           "additionalProperties": false,
24920           "required": [
24921             "version"
24922           ]
24923         },
24924         "UnitsNetworkConfig": {
24925           "type": "object",
24926           "properties": {
24927             "args": {
24928               "type": "array",
24929               "items": {
24930                 "$ref": "#/definitions/UnitNetworkConfig"
24931               }
24932             }
24933           },
24934           "additionalProperties": false,
24935           "required": [
24936             "args"
24937           ]
24938         }
24939       }
24940     }
24941   },
24942   {
24943     "Name": "Upgrader",
24944     "Version": 1,
24945     "Schema": {
24946       "type": "object",
24947       "properties": {
24948         "DesiredVersion": {
24949           "type": "object",
24950           "properties": {
24951             "Params": {
24952               "$ref": "#/definitions/Entities"
24953             },
24954             "Result": {
24955               "$ref": "#/definitions/VersionResults"
24956             }
24957           }
24958         },
24959         "SetTools": {
24960           "type": "object",
24961           "properties": {
24962             "Params": {
24963               "$ref": "#/definitions/EntitiesVersion"
24964             },
24965             "Result": {
24966               "$ref": "#/definitions/ErrorResults"
24967             }
24968           }
24969         },
24970         "Tools": {
24971           "type": "object",
24972           "properties": {
24973             "Params": {
24974               "$ref": "#/definitions/Entities"
24975             },
24976             "Result": {
24977               "$ref": "#/definitions/ToolsResults"
24978             }
24979           }
24980         },
24981         "WatchAPIVersion": {
24982           "type": "object",
24983           "properties": {
24984             "Params": {
24985               "$ref": "#/definitions/Entities"
24986             },
24987             "Result": {
24988               "$ref": "#/definitions/NotifyWatchResults"
24989             }
24990           }
24991         }
24992       },
24993       "definitions": {
24994         "Binary": {
24995           "type": "object",
24996           "properties": {
24997             "Arch": {
24998               "type": "string"
24999             },
25000             "Number": {
25001               "$ref": "#/definitions/Number"
25002             },
25003             "Series": {
25004               "type": "string"
25005             }
25006           },
25007           "additionalProperties": false,
25008           "required": [
25009             "Number",
25010             "Series",
25011             "Arch"
25012           ]
25013         },
25014         "Entities": {
25015           "type": "object",
25016           "properties": {
25017             "entities": {
25018               "type": "array",
25019               "items": {
25020                 "$ref": "#/definitions/Entity"
25021               }
25022             }
25023           },
25024           "additionalProperties": false,
25025           "required": [
25026             "entities"
25027           ]
25028         },
25029         "EntitiesVersion": {
25030           "type": "object",
25031           "properties": {
25032             "agent-tools": {
25033               "type": "array",
25034               "items": {
25035                 "$ref": "#/definitions/EntityVersion"
25036               }
25037             }
25038           },
25039           "additionalProperties": false,
25040           "required": [
25041             "agent-tools"
25042           ]
25043         },
25044         "Entity": {
25045           "type": "object",
25046           "properties": {
25047             "tag": {
25048               "type": "string"
25049             }
25050           },
25051           "additionalProperties": false,
25052           "required": [
25053             "tag"
25054           ]
25055         },
25056         "EntityVersion": {
25057           "type": "object",
25058           "properties": {
25059             "tag": {
25060               "type": "string"
25061             },
25062             "tools": {
25063               "$ref": "#/definitions/Version"
25064             }
25065           },
25066           "additionalProperties": false,
25067           "required": [
25068             "tag",
25069             "tools"
25070           ]
25071         },
25072         "Error": {
25073           "type": "object",
25074           "properties": {
25075             "code": {
25076               "type": "string"
25077             },
25078             "info": {
25079               "$ref": "#/definitions/ErrorInfo"
25080             },
25081             "message": {
25082               "type": "string"
25083             }
25084           },
25085           "additionalProperties": false,
25086           "required": [
25087             "message",
25088             "code"
25089           ]
25090         },
25091         "ErrorInfo": {
25092           "type": "object",
25093           "properties": {
25094             "macaroon": {
25095               "$ref": "#/definitions/Macaroon"
25096             },
25097             "macaroon-path": {
25098               "type": "string"
25099             }
25100           },
25101           "additionalProperties": false
25102         },
25103         "ErrorResult": {
25104           "type": "object",
25105           "properties": {
25106             "error": {
25107               "$ref": "#/definitions/Error"
25108             }
25109           },
25110           "additionalProperties": false
25111         },
25112         "ErrorResults": {
25113           "type": "object",
25114           "properties": {
25115             "results": {
25116               "type": "array",
25117               "items": {
25118                 "$ref": "#/definitions/ErrorResult"
25119               }
25120             }
25121           },
25122           "additionalProperties": false,
25123           "required": [
25124             "results"
25125           ]
25126         },
25127         "Macaroon": {
25128           "type": "object",
25129           "additionalProperties": false
25130         },
25131         "NotifyWatchResult": {
25132           "type": "object",
25133           "properties": {
25134             "NotifyWatcherId": {
25135               "type": "string"
25136             },
25137             "error": {
25138               "$ref": "#/definitions/Error"
25139             }
25140           },
25141           "additionalProperties": false,
25142           "required": [
25143             "NotifyWatcherId"
25144           ]
25145         },
25146         "NotifyWatchResults": {
25147           "type": "object",
25148           "properties": {
25149             "results": {
25150               "type": "array",
25151               "items": {
25152                 "$ref": "#/definitions/NotifyWatchResult"
25153               }
25154             }
25155           },
25156           "additionalProperties": false,
25157           "required": [
25158             "results"
25159           ]
25160         },
25161         "Number": {
25162           "type": "object",
25163           "properties": {
25164             "Build": {
25165               "type": "integer"
25166             },
25167             "Major": {
25168               "type": "integer"
25169             },
25170             "Minor": {
25171               "type": "integer"
25172             },
25173             "Patch": {
25174               "type": "integer"
25175             },
25176             "Tag": {
25177               "type": "string"
25178             }
25179           },
25180           "additionalProperties": false,
25181           "required": [
25182             "Major",
25183             "Minor",
25184             "Tag",
25185             "Patch",
25186             "Build"
25187           ]
25188         },
25189         "Tools": {
25190           "type": "object",
25191           "properties": {
25192             "sha256": {
25193               "type": "string"
25194             },
25195             "size": {
25196               "type": "integer"
25197             },
25198             "url": {
25199               "type": "string"
25200             },
25201             "version": {
25202               "$ref": "#/definitions/Binary"
25203             }
25204           },
25205           "additionalProperties": false,
25206           "required": [
25207             "version",
25208             "url",
25209             "size"
25210           ]
25211         },
25212         "ToolsResult": {
25213           "type": "object",
25214           "properties": {
25215             "disable-ssl-hostname-verification": {
25216               "type": "boolean"
25217             },
25218             "error": {
25219               "$ref": "#/definitions/Error"
25220             },
25221             "tools": {
25222               "type": "array",
25223               "items": {
25224                 "$ref": "#/definitions/Tools"
25225               }
25226             }
25227           },
25228           "additionalProperties": false,
25229           "required": [
25230             "tools",
25231             "disable-ssl-hostname-verification"
25232           ]
25233         },
25234         "ToolsResults": {
25235           "type": "object",
25236           "properties": {
25237             "results": {
25238               "type": "array",
25239               "items": {
25240                 "$ref": "#/definitions/ToolsResult"
25241               }
25242             }
25243           },
25244           "additionalProperties": false,
25245           "required": [
25246             "results"
25247           ]
25248         },
25249         "Version": {
25250           "type": "object",
25251           "properties": {
25252             "version": {
25253               "$ref": "#/definitions/Binary"
25254             }
25255           },
25256           "additionalProperties": false,
25257           "required": [
25258             "version"
25259           ]
25260         },
25261         "VersionResult": {
25262           "type": "object",
25263           "properties": {
25264             "error": {
25265               "$ref": "#/definitions/Error"
25266             },
25267             "version": {
25268               "$ref": "#/definitions/Number"
25269             }
25270           },
25271           "additionalProperties": false
25272         },
25273         "VersionResults": {
25274           "type": "object",
25275           "properties": {
25276             "results": {
25277               "type": "array",
25278               "items": {
25279                 "$ref": "#/definitions/VersionResult"
25280               }
25281             }
25282           },
25283           "additionalProperties": false,
25284           "required": [
25285             "results"
25286           ]
25287         }
25288       }
25289     }
25290   },
25291   {
25292     "Name": "UserManager",
25293     "Version": 1,
25294     "Schema": {
25295       "type": "object",
25296       "properties": {
25297         "AddUser": {
25298           "type": "object",
25299           "properties": {
25300             "Params": {
25301               "$ref": "#/definitions/AddUsers"
25302             },
25303             "Result": {
25304               "$ref": "#/definitions/AddUserResults"
25305             }
25306           }
25307         },
25308         "DisableUser": {
25309           "type": "object",
25310           "properties": {
25311             "Params": {
25312               "$ref": "#/definitions/Entities"
25313             },
25314             "Result": {
25315               "$ref": "#/definitions/ErrorResults"
25316             }
25317           }
25318         },
25319         "EnableUser": {
25320           "type": "object",
25321           "properties": {
25322             "Params": {
25323               "$ref": "#/definitions/Entities"
25324             },
25325             "Result": {
25326               "$ref": "#/definitions/ErrorResults"
25327             }
25328           }
25329         },
25330         "RemoveUser": {
25331           "type": "object",
25332           "properties": {
25333             "Params": {
25334               "$ref": "#/definitions/Entities"
25335             },
25336             "Result": {
25337               "$ref": "#/definitions/ErrorResults"
25338             }
25339           }
25340         },
25341         "SetPassword": {
25342           "type": "object",
25343           "properties": {
25344             "Params": {
25345               "$ref": "#/definitions/EntityPasswords"
25346             },
25347             "Result": {
25348               "$ref": "#/definitions/ErrorResults"
25349             }
25350           }
25351         },
25352         "UserInfo": {
25353           "type": "object",
25354           "properties": {
25355             "Params": {
25356               "$ref": "#/definitions/UserInfoRequest"
25357             },
25358             "Result": {
25359               "$ref": "#/definitions/UserInfoResults"
25360             }
25361           }
25362         }
25363       },
25364       "definitions": {
25365         "AddUser": {
25366           "type": "object",
25367           "properties": {
25368             "display-name": {
25369               "type": "string"
25370             },
25371             "password": {
25372               "type": "string"
25373             },
25374             "username": {
25375               "type": "string"
25376             }
25377           },
25378           "additionalProperties": false,
25379           "required": [
25380             "username",
25381             "display-name"
25382           ]
25383         },
25384         "AddUserResult": {
25385           "type": "object",
25386           "properties": {
25387             "error": {
25388               "$ref": "#/definitions/Error"
25389             },
25390             "secret-key": {
25391               "type": "array",
25392               "items": {
25393                 "type": "integer"
25394               }
25395             },
25396             "tag": {
25397               "type": "string"
25398             }
25399           },
25400           "additionalProperties": false
25401         },
25402         "AddUserResults": {
25403           "type": "object",
25404           "properties": {
25405             "results": {
25406               "type": "array",
25407               "items": {
25408                 "$ref": "#/definitions/AddUserResult"
25409               }
25410             }
25411           },
25412           "additionalProperties": false,
25413           "required": [
25414             "results"
25415           ]
25416         },
25417         "AddUsers": {
25418           "type": "object",
25419           "properties": {
25420             "users": {
25421               "type": "array",
25422               "items": {
25423                 "$ref": "#/definitions/AddUser"
25424               }
25425             }
25426           },
25427           "additionalProperties": false,
25428           "required": [
25429             "users"
25430           ]
25431         },
25432         "Entities": {
25433           "type": "object",
25434           "properties": {
25435             "entities": {
25436               "type": "array",
25437               "items": {
25438                 "$ref": "#/definitions/Entity"
25439               }
25440             }
25441           },
25442           "additionalProperties": false,
25443           "required": [
25444             "entities"
25445           ]
25446         },
25447         "Entity": {
25448           "type": "object",
25449           "properties": {
25450             "tag": {
25451               "type": "string"
25452             }
25453           },
25454           "additionalProperties": false,
25455           "required": [
25456             "tag"
25457           ]
25458         },
25459         "EntityPassword": {
25460           "type": "object",
25461           "properties": {
25462             "password": {
25463               "type": "string"
25464             },
25465             "tag": {
25466               "type": "string"
25467             }
25468           },
25469           "additionalProperties": false,
25470           "required": [
25471             "tag",
25472             "password"
25473           ]
25474         },
25475         "EntityPasswords": {
25476           "type": "object",
25477           "properties": {
25478             "changes": {
25479               "type": "array",
25480               "items": {
25481                 "$ref": "#/definitions/EntityPassword"
25482               }
25483             }
25484           },
25485           "additionalProperties": false,
25486           "required": [
25487             "changes"
25488           ]
25489         },
25490         "Error": {
25491           "type": "object",
25492           "properties": {
25493             "code": {
25494               "type": "string"
25495             },
25496             "info": {
25497               "$ref": "#/definitions/ErrorInfo"
25498             },
25499             "message": {
25500               "type": "string"
25501             }
25502           },
25503           "additionalProperties": false,
25504           "required": [
25505             "message",
25506             "code"
25507           ]
25508         },
25509         "ErrorInfo": {
25510           "type": "object",
25511           "properties": {
25512             "macaroon": {
25513               "$ref": "#/definitions/Macaroon"
25514             },
25515             "macaroon-path": {
25516               "type": "string"
25517             }
25518           },
25519           "additionalProperties": false
25520         },
25521         "ErrorResult": {
25522           "type": "object",
25523           "properties": {
25524             "error": {
25525               "$ref": "#/definitions/Error"
25526             }
25527           },
25528           "additionalProperties": false
25529         },
25530         "ErrorResults": {
25531           "type": "object",
25532           "properties": {
25533             "results": {
25534               "type": "array",
25535               "items": {
25536                 "$ref": "#/definitions/ErrorResult"
25537               }
25538             }
25539           },
25540           "additionalProperties": false,
25541           "required": [
25542             "results"
25543           ]
25544         },
25545         "Macaroon": {
25546           "type": "object",
25547           "additionalProperties": false
25548         },
25549         "UserInfo": {
25550           "type": "object",
25551           "properties": {
25552             "access": {
25553               "type": "string"
25554             },
25555             "created-by": {
25556               "type": "string"
25557             },
25558             "date-created": {
25559               "type": "string",
25560               "format": "date-time"
25561             },
25562             "disabled": {
25563               "type": "boolean"
25564             },
25565             "display-name": {
25566               "type": "string"
25567             },
25568             "last-connection": {
25569               "type": "string",
25570               "format": "date-time"
25571             },
25572             "username": {
25573               "type": "string"
25574             }
25575           },
25576           "additionalProperties": false,
25577           "required": [
25578             "username",
25579             "display-name",
25580             "access",
25581             "created-by",
25582             "date-created",
25583             "disabled"
25584           ]
25585         },
25586         "UserInfoRequest": {
25587           "type": "object",
25588           "properties": {
25589             "entities": {
25590               "type": "array",
25591               "items": {
25592                 "$ref": "#/definitions/Entity"
25593               }
25594             },
25595             "include-disabled": {
25596               "type": "boolean"
25597             }
25598           },
25599           "additionalProperties": false,
25600           "required": [
25601             "entities",
25602             "include-disabled"
25603           ]
25604         },
25605         "UserInfoResult": {
25606           "type": "object",
25607           "properties": {
25608             "error": {
25609               "$ref": "#/definitions/Error"
25610             },
25611             "result": {
25612               "$ref": "#/definitions/UserInfo"
25613             }
25614           },
25615           "additionalProperties": false
25616         },
25617         "UserInfoResults": {
25618           "type": "object",
25619           "properties": {
25620             "results": {
25621               "type": "array",
25622               "items": {
25623                 "$ref": "#/definitions/UserInfoResult"
25624               }
25625             }
25626           },
25627           "additionalProperties": false,
25628           "required": [
25629             "results"
25630           ]
25631         }
25632       }
25633     }
25634   },
25635   {
25636     "Name": "VolumeAttachmentsWatcher",
25637     "Version": 2,
25638     "Schema": {
25639       "type": "object",
25640       "properties": {
25641         "Next": {
25642           "type": "object",
25643           "properties": {
25644             "Result": {
25645               "$ref": "#/definitions/MachineStorageIdsWatchResult"
25646             }
25647           }
25648         },
25649         "Stop": {
25650           "type": "object"
25651         }
25652       },
25653       "definitions": {
25654         "Error": {
25655           "type": "object",
25656           "properties": {
25657             "code": {
25658               "type": "string"
25659             },
25660             "info": {
25661               "$ref": "#/definitions/ErrorInfo"
25662             },
25663             "message": {
25664               "type": "string"
25665             }
25666           },
25667           "additionalProperties": false,
25668           "required": [
25669             "message",
25670             "code"
25671           ]
25672         },
25673         "ErrorInfo": {
25674           "type": "object",
25675           "properties": {
25676             "macaroon": {
25677               "$ref": "#/definitions/Macaroon"
25678             },
25679             "macaroon-path": {
25680               "type": "string"
25681             }
25682           },
25683           "additionalProperties": false
25684         },
25685         "Macaroon": {
25686           "type": "object",
25687           "additionalProperties": false
25688         },
25689         "MachineStorageId": {
25690           "type": "object",
25691           "properties": {
25692             "attachment-tag": {
25693               "type": "string"
25694             },
25695             "machine-tag": {
25696               "type": "string"
25697             }
25698           },
25699           "additionalProperties": false,
25700           "required": [
25701             "machine-tag",
25702             "attachment-tag"
25703           ]
25704         },
25705         "MachineStorageIdsWatchResult": {
25706           "type": "object",
25707           "properties": {
25708             "changes": {
25709               "type": "array",
25710               "items": {
25711                 "$ref": "#/definitions/MachineStorageId"
25712               }
25713             },
25714             "error": {
25715               "$ref": "#/definitions/Error"
25716             },
25717             "watcher-id": {
25718               "type": "string"
25719             }
25720           },
25721           "additionalProperties": false,
25722           "required": [
25723             "watcher-id",
25724             "changes"
25725           ]
25726         }
25727       }
25728     }
25729   }
25730 ]