Revert "Remove vendored libjuju"
[osm/N2VC.git] / modules / libjuju / juju / client / schemas-juju-2.3-alpha1.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": 5,
1285     "Schema": {
1286       "type": "object",
1287       "properties": {
1288         "AddRelation": {
1289           "type": "object",
1290           "properties": {
1291             "Params": {
1292               "$ref": "#/definitions/AddRelation"
1293             },
1294             "Result": {
1295               "$ref": "#/definitions/AddRelationResults"
1296             }
1297           }
1298         },
1299         "AddUnits": {
1300           "type": "object",
1301           "properties": {
1302             "Params": {
1303               "$ref": "#/definitions/AddApplicationUnits"
1304             },
1305             "Result": {
1306               "$ref": "#/definitions/AddApplicationUnitsResults"
1307             }
1308           }
1309         },
1310         "CharmRelations": {
1311           "type": "object",
1312           "properties": {
1313             "Params": {
1314               "$ref": "#/definitions/ApplicationCharmRelations"
1315             },
1316             "Result": {
1317               "$ref": "#/definitions/ApplicationCharmRelationsResults"
1318             }
1319           }
1320         },
1321         "Consume": {
1322           "type": "object",
1323           "properties": {
1324             "Params": {
1325               "$ref": "#/definitions/ConsumeApplicationArgs"
1326             },
1327             "Result": {
1328               "$ref": "#/definitions/ErrorResults"
1329             }
1330           }
1331         },
1332         "Deploy": {
1333           "type": "object",
1334           "properties": {
1335             "Params": {
1336               "$ref": "#/definitions/ApplicationsDeploy"
1337             },
1338             "Result": {
1339               "$ref": "#/definitions/ErrorResults"
1340             }
1341           }
1342         },
1343         "Destroy": {
1344           "type": "object",
1345           "properties": {
1346             "Params": {
1347               "$ref": "#/definitions/ApplicationDestroy"
1348             }
1349           }
1350         },
1351         "DestroyApplication": {
1352           "type": "object",
1353           "properties": {
1354             "Params": {
1355               "$ref": "#/definitions/Entities"
1356             },
1357             "Result": {
1358               "$ref": "#/definitions/DestroyApplicationResults"
1359             }
1360           }
1361         },
1362         "DestroyRelation": {
1363           "type": "object",
1364           "properties": {
1365             "Params": {
1366               "$ref": "#/definitions/DestroyRelation"
1367             }
1368           }
1369         },
1370         "DestroyUnit": {
1371           "type": "object",
1372           "properties": {
1373             "Params": {
1374               "$ref": "#/definitions/Entities"
1375             },
1376             "Result": {
1377               "$ref": "#/definitions/DestroyUnitResults"
1378             }
1379           }
1380         },
1381         "DestroyUnits": {
1382           "type": "object",
1383           "properties": {
1384             "Params": {
1385               "$ref": "#/definitions/DestroyApplicationUnits"
1386             }
1387           }
1388         },
1389         "Expose": {
1390           "type": "object",
1391           "properties": {
1392             "Params": {
1393               "$ref": "#/definitions/ApplicationExpose"
1394             }
1395           }
1396         },
1397         "Get": {
1398           "type": "object",
1399           "properties": {
1400             "Params": {
1401               "$ref": "#/definitions/ApplicationGet"
1402             },
1403             "Result": {
1404               "$ref": "#/definitions/ApplicationGetResults"
1405             }
1406           }
1407         },
1408         "GetCharmURL": {
1409           "type": "object",
1410           "properties": {
1411             "Params": {
1412               "$ref": "#/definitions/ApplicationGet"
1413             },
1414             "Result": {
1415               "$ref": "#/definitions/StringResult"
1416             }
1417           }
1418         },
1419         "GetConstraints": {
1420           "type": "object",
1421           "properties": {
1422             "Params": {
1423               "$ref": "#/definitions/GetApplicationConstraints"
1424             },
1425             "Result": {
1426               "$ref": "#/definitions/GetConstraintsResults"
1427             }
1428           }
1429         },
1430         "Set": {
1431           "type": "object",
1432           "properties": {
1433             "Params": {
1434               "$ref": "#/definitions/ApplicationSet"
1435             }
1436           }
1437         },
1438         "SetCharm": {
1439           "type": "object",
1440           "properties": {
1441             "Params": {
1442               "$ref": "#/definitions/ApplicationSetCharm"
1443             }
1444           }
1445         },
1446         "SetConstraints": {
1447           "type": "object",
1448           "properties": {
1449             "Params": {
1450               "$ref": "#/definitions/SetConstraints"
1451             }
1452           }
1453         },
1454         "SetMetricCredentials": {
1455           "type": "object",
1456           "properties": {
1457             "Params": {
1458               "$ref": "#/definitions/ApplicationMetricCredentials"
1459             },
1460             "Result": {
1461               "$ref": "#/definitions/ErrorResults"
1462             }
1463           }
1464         },
1465         "Unexpose": {
1466           "type": "object",
1467           "properties": {
1468             "Params": {
1469               "$ref": "#/definitions/ApplicationUnexpose"
1470             }
1471           }
1472         },
1473         "Unset": {
1474           "type": "object",
1475           "properties": {
1476             "Params": {
1477               "$ref": "#/definitions/ApplicationUnset"
1478             }
1479           }
1480         },
1481         "Update": {
1482           "type": "object",
1483           "properties": {
1484             "Params": {
1485               "$ref": "#/definitions/ApplicationUpdate"
1486             }
1487           }
1488         }
1489       },
1490       "definitions": {
1491         "AddApplicationUnits": {
1492           "type": "object",
1493           "properties": {
1494             "application": {
1495               "type": "string"
1496             },
1497             "attach-storage": {
1498               "type": "array",
1499               "items": {
1500                 "type": "string"
1501               }
1502             },
1503             "num-units": {
1504               "type": "integer"
1505             },
1506             "placement": {
1507               "type": "array",
1508               "items": {
1509                 "$ref": "#/definitions/Placement"
1510               }
1511             }
1512           },
1513           "additionalProperties": false,
1514           "required": [
1515             "application",
1516             "num-units",
1517             "placement"
1518           ]
1519         },
1520         "AddApplicationUnitsResults": {
1521           "type": "object",
1522           "properties": {
1523             "units": {
1524               "type": "array",
1525               "items": {
1526                 "type": "string"
1527               }
1528             }
1529           },
1530           "additionalProperties": false,
1531           "required": [
1532             "units"
1533           ]
1534         },
1535         "AddRelation": {
1536           "type": "object",
1537           "properties": {
1538             "endpoints": {
1539               "type": "array",
1540               "items": {
1541                 "type": "string"
1542               }
1543             }
1544           },
1545           "additionalProperties": false,
1546           "required": [
1547             "endpoints"
1548           ]
1549         },
1550         "AddRelationResults": {
1551           "type": "object",
1552           "properties": {
1553             "endpoints": {
1554               "type": "object",
1555               "patternProperties": {
1556                 ".*": {
1557                   "$ref": "#/definitions/CharmRelation"
1558                 }
1559               }
1560             }
1561           },
1562           "additionalProperties": false,
1563           "required": [
1564             "endpoints"
1565           ]
1566         },
1567         "ApplicationCharmRelations": {
1568           "type": "object",
1569           "properties": {
1570             "application": {
1571               "type": "string"
1572             }
1573           },
1574           "additionalProperties": false,
1575           "required": [
1576             "application"
1577           ]
1578         },
1579         "ApplicationCharmRelationsResults": {
1580           "type": "object",
1581           "properties": {
1582             "charm-relations": {
1583               "type": "array",
1584               "items": {
1585                 "type": "string"
1586               }
1587             }
1588           },
1589           "additionalProperties": false,
1590           "required": [
1591             "charm-relations"
1592           ]
1593         },
1594         "ApplicationDeploy": {
1595           "type": "object",
1596           "properties": {
1597             "application": {
1598               "type": "string"
1599             },
1600             "attach-storage": {
1601               "type": "array",
1602               "items": {
1603                 "type": "string"
1604               }
1605             },
1606             "channel": {
1607               "type": "string"
1608             },
1609             "charm-url": {
1610               "type": "string"
1611             },
1612             "config": {
1613               "type": "object",
1614               "patternProperties": {
1615                 ".*": {
1616                   "type": "string"
1617                 }
1618               }
1619             },
1620             "config-yaml": {
1621               "type": "string"
1622             },
1623             "constraints": {
1624               "$ref": "#/definitions/Value"
1625             },
1626             "endpoint-bindings": {
1627               "type": "object",
1628               "patternProperties": {
1629                 ".*": {
1630                   "type": "string"
1631                 }
1632               }
1633             },
1634             "num-units": {
1635               "type": "integer"
1636             },
1637             "placement": {
1638               "type": "array",
1639               "items": {
1640                 "$ref": "#/definitions/Placement"
1641               }
1642             },
1643             "resources": {
1644               "type": "object",
1645               "patternProperties": {
1646                 ".*": {
1647                   "type": "string"
1648                 }
1649               }
1650             },
1651             "series": {
1652               "type": "string"
1653             },
1654             "storage": {
1655               "type": "object",
1656               "patternProperties": {
1657                 ".*": {
1658                   "$ref": "#/definitions/Constraints"
1659                 }
1660               }
1661             }
1662           },
1663           "additionalProperties": false,
1664           "required": [
1665             "application",
1666             "series",
1667             "charm-url",
1668             "channel",
1669             "num-units",
1670             "config-yaml",
1671             "constraints"
1672           ]
1673         },
1674         "ApplicationDestroy": {
1675           "type": "object",
1676           "properties": {
1677             "application": {
1678               "type": "string"
1679             }
1680           },
1681           "additionalProperties": false,
1682           "required": [
1683             "application"
1684           ]
1685         },
1686         "ApplicationExpose": {
1687           "type": "object",
1688           "properties": {
1689             "application": {
1690               "type": "string"
1691             }
1692           },
1693           "additionalProperties": false,
1694           "required": [
1695             "application"
1696           ]
1697         },
1698         "ApplicationGet": {
1699           "type": "object",
1700           "properties": {
1701             "application": {
1702               "type": "string"
1703             }
1704           },
1705           "additionalProperties": false,
1706           "required": [
1707             "application"
1708           ]
1709         },
1710         "ApplicationGetResults": {
1711           "type": "object",
1712           "properties": {
1713             "application": {
1714               "type": "string"
1715             },
1716             "charm": {
1717               "type": "string"
1718             },
1719             "config": {
1720               "type": "object",
1721               "patternProperties": {
1722                 ".*": {
1723                   "type": "object",
1724                   "additionalProperties": true
1725                 }
1726               }
1727             },
1728             "constraints": {
1729               "$ref": "#/definitions/Value"
1730             },
1731             "series": {
1732               "type": "string"
1733             }
1734           },
1735           "additionalProperties": false,
1736           "required": [
1737             "application",
1738             "charm",
1739             "config",
1740             "constraints",
1741             "series"
1742           ]
1743         },
1744         "ApplicationMetricCredential": {
1745           "type": "object",
1746           "properties": {
1747             "application": {
1748               "type": "string"
1749             },
1750             "metrics-credentials": {
1751               "type": "array",
1752               "items": {
1753                 "type": "integer"
1754               }
1755             }
1756           },
1757           "additionalProperties": false,
1758           "required": [
1759             "application",
1760             "metrics-credentials"
1761           ]
1762         },
1763         "ApplicationMetricCredentials": {
1764           "type": "object",
1765           "properties": {
1766             "creds": {
1767               "type": "array",
1768               "items": {
1769                 "$ref": "#/definitions/ApplicationMetricCredential"
1770               }
1771             }
1772           },
1773           "additionalProperties": false,
1774           "required": [
1775             "creds"
1776           ]
1777         },
1778         "ApplicationOffer": {
1779           "type": "object",
1780           "properties": {
1781             "access": {
1782               "type": "string"
1783             },
1784             "application-description": {
1785               "type": "string"
1786             },
1787             "bindings": {
1788               "type": "object",
1789               "patternProperties": {
1790                 ".*": {
1791                   "type": "string"
1792                 }
1793               }
1794             },
1795             "endpoints": {
1796               "type": "array",
1797               "items": {
1798                 "$ref": "#/definitions/RemoteEndpoint"
1799               }
1800             },
1801             "offer-name": {
1802               "type": "string"
1803             },
1804             "offer-url": {
1805               "type": "string"
1806             },
1807             "source-model-tag": {
1808               "type": "string"
1809             },
1810             "spaces": {
1811               "type": "array",
1812               "items": {
1813                 "$ref": "#/definitions/RemoteSpace"
1814               }
1815             }
1816           },
1817           "additionalProperties": false,
1818           "required": [
1819             "source-model-tag",
1820             "offer-url",
1821             "offer-name",
1822             "application-description",
1823             "endpoints",
1824             "spaces",
1825             "bindings",
1826             "access"
1827           ]
1828         },
1829         "ApplicationSet": {
1830           "type": "object",
1831           "properties": {
1832             "application": {
1833               "type": "string"
1834             },
1835             "options": {
1836               "type": "object",
1837               "patternProperties": {
1838                 ".*": {
1839                   "type": "string"
1840                 }
1841               }
1842             }
1843           },
1844           "additionalProperties": false,
1845           "required": [
1846             "application",
1847             "options"
1848           ]
1849         },
1850         "ApplicationSetCharm": {
1851           "type": "object",
1852           "properties": {
1853             "application": {
1854               "type": "string"
1855             },
1856             "channel": {
1857               "type": "string"
1858             },
1859             "charm-url": {
1860               "type": "string"
1861             },
1862             "config-settings": {
1863               "type": "object",
1864               "patternProperties": {
1865                 ".*": {
1866                   "type": "string"
1867                 }
1868               }
1869             },
1870             "config-settings-yaml": {
1871               "type": "string"
1872             },
1873             "force-series": {
1874               "type": "boolean"
1875             },
1876             "force-units": {
1877               "type": "boolean"
1878             },
1879             "resource-ids": {
1880               "type": "object",
1881               "patternProperties": {
1882                 ".*": {
1883                   "type": "string"
1884                 }
1885               }
1886             },
1887             "storage-constraints": {
1888               "type": "object",
1889               "patternProperties": {
1890                 ".*": {
1891                   "$ref": "#/definitions/StorageConstraints"
1892                 }
1893               }
1894             }
1895           },
1896           "additionalProperties": false,
1897           "required": [
1898             "application",
1899             "charm-url",
1900             "channel",
1901             "force-units",
1902             "force-series"
1903           ]
1904         },
1905         "ApplicationUnexpose": {
1906           "type": "object",
1907           "properties": {
1908             "application": {
1909               "type": "string"
1910             }
1911           },
1912           "additionalProperties": false,
1913           "required": [
1914             "application"
1915           ]
1916         },
1917         "ApplicationUnset": {
1918           "type": "object",
1919           "properties": {
1920             "application": {
1921               "type": "string"
1922             },
1923             "options": {
1924               "type": "array",
1925               "items": {
1926                 "type": "string"
1927               }
1928             }
1929           },
1930           "additionalProperties": false,
1931           "required": [
1932             "application",
1933             "options"
1934           ]
1935         },
1936         "ApplicationUpdate": {
1937           "type": "object",
1938           "properties": {
1939             "application": {
1940               "type": "string"
1941             },
1942             "charm-url": {
1943               "type": "string"
1944             },
1945             "constraints": {
1946               "$ref": "#/definitions/Value"
1947             },
1948             "force-charm-url": {
1949               "type": "boolean"
1950             },
1951             "force-series": {
1952               "type": "boolean"
1953             },
1954             "min-units": {
1955               "type": "integer"
1956             },
1957             "settings": {
1958               "type": "object",
1959               "patternProperties": {
1960                 ".*": {
1961                   "type": "string"
1962                 }
1963               }
1964             },
1965             "settings-yaml": {
1966               "type": "string"
1967             }
1968           },
1969           "additionalProperties": false,
1970           "required": [
1971             "application",
1972             "charm-url",
1973             "force-charm-url",
1974             "force-series",
1975             "settings-yaml"
1976           ]
1977         },
1978         "ApplicationsDeploy": {
1979           "type": "object",
1980           "properties": {
1981             "applications": {
1982               "type": "array",
1983               "items": {
1984                 "$ref": "#/definitions/ApplicationDeploy"
1985               }
1986             }
1987           },
1988           "additionalProperties": false,
1989           "required": [
1990             "applications"
1991           ]
1992         },
1993         "CharmRelation": {
1994           "type": "object",
1995           "properties": {
1996             "interface": {
1997               "type": "string"
1998             },
1999             "limit": {
2000               "type": "integer"
2001             },
2002             "name": {
2003               "type": "string"
2004             },
2005             "optional": {
2006               "type": "boolean"
2007             },
2008             "role": {
2009               "type": "string"
2010             },
2011             "scope": {
2012               "type": "string"
2013             }
2014           },
2015           "additionalProperties": false,
2016           "required": [
2017             "name",
2018             "role",
2019             "interface",
2020             "optional",
2021             "limit",
2022             "scope"
2023           ]
2024         },
2025         "Constraints": {
2026           "type": "object",
2027           "properties": {
2028             "Count": {
2029               "type": "integer"
2030             },
2031             "Pool": {
2032               "type": "string"
2033             },
2034             "Size": {
2035               "type": "integer"
2036             }
2037           },
2038           "additionalProperties": false,
2039           "required": [
2040             "Pool",
2041             "Size",
2042             "Count"
2043           ]
2044         },
2045         "ConsumeApplicationArg": {
2046           "type": "object",
2047           "properties": {
2048             "ApplicationOffer": {
2049               "$ref": "#/definitions/ApplicationOffer"
2050             },
2051             "application-alias": {
2052               "type": "string"
2053             },
2054             "macaroon": {
2055               "$ref": "#/definitions/Macaroon"
2056             }
2057           },
2058           "additionalProperties": false,
2059           "required": [
2060             "ApplicationOffer"
2061           ]
2062         },
2063         "ConsumeApplicationArgs": {
2064           "type": "object",
2065           "properties": {
2066             "args": {
2067               "type": "array",
2068               "items": {
2069                 "$ref": "#/definitions/ConsumeApplicationArg"
2070               }
2071             }
2072           },
2073           "additionalProperties": false
2074         },
2075         "DestroyApplicationInfo": {
2076           "type": "object",
2077           "properties": {
2078             "destroyed-storage": {
2079               "type": "array",
2080               "items": {
2081                 "$ref": "#/definitions/Entity"
2082               }
2083             },
2084             "destroyed-units": {
2085               "type": "array",
2086               "items": {
2087                 "$ref": "#/definitions/Entity"
2088               }
2089             },
2090             "detached-storage": {
2091               "type": "array",
2092               "items": {
2093                 "$ref": "#/definitions/Entity"
2094               }
2095             }
2096           },
2097           "additionalProperties": false
2098         },
2099         "DestroyApplicationResult": {
2100           "type": "object",
2101           "properties": {
2102             "error": {
2103               "$ref": "#/definitions/Error"
2104             },
2105             "info": {
2106               "$ref": "#/definitions/DestroyApplicationInfo"
2107             }
2108           },
2109           "additionalProperties": false
2110         },
2111         "DestroyApplicationResults": {
2112           "type": "object",
2113           "properties": {
2114             "results": {
2115               "type": "array",
2116               "items": {
2117                 "$ref": "#/definitions/DestroyApplicationResult"
2118               }
2119             }
2120           },
2121           "additionalProperties": false
2122         },
2123         "DestroyApplicationUnits": {
2124           "type": "object",
2125           "properties": {
2126             "unit-names": {
2127               "type": "array",
2128               "items": {
2129                 "type": "string"
2130               }
2131             }
2132           },
2133           "additionalProperties": false,
2134           "required": [
2135             "unit-names"
2136           ]
2137         },
2138         "DestroyRelation": {
2139           "type": "object",
2140           "properties": {
2141             "endpoints": {
2142               "type": "array",
2143               "items": {
2144                 "type": "string"
2145               }
2146             }
2147           },
2148           "additionalProperties": false,
2149           "required": [
2150             "endpoints"
2151           ]
2152         },
2153         "DestroyUnitInfo": {
2154           "type": "object",
2155           "properties": {
2156             "destroyed-storage": {
2157               "type": "array",
2158               "items": {
2159                 "$ref": "#/definitions/Entity"
2160               }
2161             },
2162             "detached-storage": {
2163               "type": "array",
2164               "items": {
2165                 "$ref": "#/definitions/Entity"
2166               }
2167             }
2168           },
2169           "additionalProperties": false
2170         },
2171         "DestroyUnitResult": {
2172           "type": "object",
2173           "properties": {
2174             "error": {
2175               "$ref": "#/definitions/Error"
2176             },
2177             "info": {
2178               "$ref": "#/definitions/DestroyUnitInfo"
2179             }
2180           },
2181           "additionalProperties": false
2182         },
2183         "DestroyUnitResults": {
2184           "type": "object",
2185           "properties": {
2186             "results": {
2187               "type": "array",
2188               "items": {
2189                 "$ref": "#/definitions/DestroyUnitResult"
2190               }
2191             }
2192           },
2193           "additionalProperties": false
2194         },
2195         "Entities": {
2196           "type": "object",
2197           "properties": {
2198             "entities": {
2199               "type": "array",
2200               "items": {
2201                 "$ref": "#/definitions/Entity"
2202               }
2203             }
2204           },
2205           "additionalProperties": false,
2206           "required": [
2207             "entities"
2208           ]
2209         },
2210         "Entity": {
2211           "type": "object",
2212           "properties": {
2213             "tag": {
2214               "type": "string"
2215             }
2216           },
2217           "additionalProperties": false,
2218           "required": [
2219             "tag"
2220           ]
2221         },
2222         "Error": {
2223           "type": "object",
2224           "properties": {
2225             "code": {
2226               "type": "string"
2227             },
2228             "info": {
2229               "$ref": "#/definitions/ErrorInfo"
2230             },
2231             "message": {
2232               "type": "string"
2233             }
2234           },
2235           "additionalProperties": false,
2236           "required": [
2237             "message",
2238             "code"
2239           ]
2240         },
2241         "ErrorInfo": {
2242           "type": "object",
2243           "properties": {
2244             "macaroon": {
2245               "$ref": "#/definitions/Macaroon"
2246             },
2247             "macaroon-path": {
2248               "type": "string"
2249             }
2250           },
2251           "additionalProperties": false
2252         },
2253         "ErrorResult": {
2254           "type": "object",
2255           "properties": {
2256             "error": {
2257               "$ref": "#/definitions/Error"
2258             }
2259           },
2260           "additionalProperties": false
2261         },
2262         "ErrorResults": {
2263           "type": "object",
2264           "properties": {
2265             "results": {
2266               "type": "array",
2267               "items": {
2268                 "$ref": "#/definitions/ErrorResult"
2269               }
2270             }
2271           },
2272           "additionalProperties": false,
2273           "required": [
2274             "results"
2275           ]
2276         },
2277         "GetApplicationConstraints": {
2278           "type": "object",
2279           "properties": {
2280             "application": {
2281               "type": "string"
2282             }
2283           },
2284           "additionalProperties": false,
2285           "required": [
2286             "application"
2287           ]
2288         },
2289         "GetConstraintsResults": {
2290           "type": "object",
2291           "properties": {
2292             "constraints": {
2293               "$ref": "#/definitions/Value"
2294             }
2295           },
2296           "additionalProperties": false,
2297           "required": [
2298             "constraints"
2299           ]
2300         },
2301         "Macaroon": {
2302           "type": "object",
2303           "additionalProperties": false
2304         },
2305         "Placement": {
2306           "type": "object",
2307           "properties": {
2308             "directive": {
2309               "type": "string"
2310             },
2311             "scope": {
2312               "type": "string"
2313             }
2314           },
2315           "additionalProperties": false,
2316           "required": [
2317             "scope",
2318             "directive"
2319           ]
2320         },
2321         "RemoteEndpoint": {
2322           "type": "object",
2323           "properties": {
2324             "interface": {
2325               "type": "string"
2326             },
2327             "limit": {
2328               "type": "integer"
2329             },
2330             "name": {
2331               "type": "string"
2332             },
2333             "role": {
2334               "type": "string"
2335             },
2336             "scope": {
2337               "type": "string"
2338             }
2339           },
2340           "additionalProperties": false,
2341           "required": [
2342             "name",
2343             "role",
2344             "interface",
2345             "limit",
2346             "scope"
2347           ]
2348         },
2349         "RemoteSpace": {
2350           "type": "object",
2351           "properties": {
2352             "cloud-type": {
2353               "type": "string"
2354             },
2355             "name": {
2356               "type": "string"
2357             },
2358             "provider-attributes": {
2359               "type": "object",
2360               "patternProperties": {
2361                 ".*": {
2362                   "type": "object",
2363                   "additionalProperties": true
2364                 }
2365               }
2366             },
2367             "provider-id": {
2368               "type": "string"
2369             },
2370             "subnets": {
2371               "type": "array",
2372               "items": {
2373                 "$ref": "#/definitions/Subnet"
2374               }
2375             }
2376           },
2377           "additionalProperties": false,
2378           "required": [
2379             "cloud-type",
2380             "name",
2381             "provider-id",
2382             "provider-attributes",
2383             "subnets"
2384           ]
2385         },
2386         "SetConstraints": {
2387           "type": "object",
2388           "properties": {
2389             "application": {
2390               "type": "string"
2391             },
2392             "constraints": {
2393               "$ref": "#/definitions/Value"
2394             }
2395           },
2396           "additionalProperties": false,
2397           "required": [
2398             "application",
2399             "constraints"
2400           ]
2401         },
2402         "StorageConstraints": {
2403           "type": "object",
2404           "properties": {
2405             "count": {
2406               "type": "integer"
2407             },
2408             "pool": {
2409               "type": "string"
2410             },
2411             "size": {
2412               "type": "integer"
2413             }
2414           },
2415           "additionalProperties": false
2416         },
2417         "StringResult": {
2418           "type": "object",
2419           "properties": {
2420             "error": {
2421               "$ref": "#/definitions/Error"
2422             },
2423             "result": {
2424               "type": "string"
2425             }
2426           },
2427           "additionalProperties": false,
2428           "required": [
2429             "result"
2430           ]
2431         },
2432         "Subnet": {
2433           "type": "object",
2434           "properties": {
2435             "cidr": {
2436               "type": "string"
2437             },
2438             "life": {
2439               "type": "string"
2440             },
2441             "provider-id": {
2442               "type": "string"
2443             },
2444             "provider-network-id": {
2445               "type": "string"
2446             },
2447             "provider-space-id": {
2448               "type": "string"
2449             },
2450             "space-tag": {
2451               "type": "string"
2452             },
2453             "status": {
2454               "type": "string"
2455             },
2456             "vlan-tag": {
2457               "type": "integer"
2458             },
2459             "zones": {
2460               "type": "array",
2461               "items": {
2462                 "type": "string"
2463               }
2464             }
2465           },
2466           "additionalProperties": false,
2467           "required": [
2468             "cidr",
2469             "vlan-tag",
2470             "life",
2471             "space-tag",
2472             "zones"
2473           ]
2474         },
2475         "Value": {
2476           "type": "object",
2477           "properties": {
2478             "arch": {
2479               "type": "string"
2480             },
2481             "container": {
2482               "type": "string"
2483             },
2484             "cores": {
2485               "type": "integer"
2486             },
2487             "cpu-power": {
2488               "type": "integer"
2489             },
2490             "instance-type": {
2491               "type": "string"
2492             },
2493             "mem": {
2494               "type": "integer"
2495             },
2496             "root-disk": {
2497               "type": "integer"
2498             },
2499             "spaces": {
2500               "type": "array",
2501               "items": {
2502                 "type": "string"
2503               }
2504             },
2505             "tags": {
2506               "type": "array",
2507               "items": {
2508                 "type": "string"
2509               }
2510             },
2511             "virt-type": {
2512               "type": "string"
2513             }
2514           },
2515           "additionalProperties": false
2516         }
2517       }
2518     }
2519   },
2520   {
2521     "Name": "ApplicationScaler",
2522     "Version": 1,
2523     "Schema": {
2524       "type": "object",
2525       "properties": {
2526         "Rescale": {
2527           "type": "object",
2528           "properties": {
2529             "Params": {
2530               "$ref": "#/definitions/Entities"
2531             },
2532             "Result": {
2533               "$ref": "#/definitions/ErrorResults"
2534             }
2535           }
2536         },
2537         "Watch": {
2538           "type": "object",
2539           "properties": {
2540             "Result": {
2541               "$ref": "#/definitions/StringsWatchResult"
2542             }
2543           }
2544         }
2545       },
2546       "definitions": {
2547         "Entities": {
2548           "type": "object",
2549           "properties": {
2550             "entities": {
2551               "type": "array",
2552               "items": {
2553                 "$ref": "#/definitions/Entity"
2554               }
2555             }
2556           },
2557           "additionalProperties": false,
2558           "required": [
2559             "entities"
2560           ]
2561         },
2562         "Entity": {
2563           "type": "object",
2564           "properties": {
2565             "tag": {
2566               "type": "string"
2567             }
2568           },
2569           "additionalProperties": false,
2570           "required": [
2571             "tag"
2572           ]
2573         },
2574         "Error": {
2575           "type": "object",
2576           "properties": {
2577             "code": {
2578               "type": "string"
2579             },
2580             "info": {
2581               "$ref": "#/definitions/ErrorInfo"
2582             },
2583             "message": {
2584               "type": "string"
2585             }
2586           },
2587           "additionalProperties": false,
2588           "required": [
2589             "message",
2590             "code"
2591           ]
2592         },
2593         "ErrorInfo": {
2594           "type": "object",
2595           "properties": {
2596             "macaroon": {
2597               "$ref": "#/definitions/Macaroon"
2598             },
2599             "macaroon-path": {
2600               "type": "string"
2601             }
2602           },
2603           "additionalProperties": false
2604         },
2605         "ErrorResult": {
2606           "type": "object",
2607           "properties": {
2608             "error": {
2609               "$ref": "#/definitions/Error"
2610             }
2611           },
2612           "additionalProperties": false
2613         },
2614         "ErrorResults": {
2615           "type": "object",
2616           "properties": {
2617             "results": {
2618               "type": "array",
2619               "items": {
2620                 "$ref": "#/definitions/ErrorResult"
2621               }
2622             }
2623           },
2624           "additionalProperties": false,
2625           "required": [
2626             "results"
2627           ]
2628         },
2629         "Macaroon": {
2630           "type": "object",
2631           "additionalProperties": false
2632         },
2633         "StringsWatchResult": {
2634           "type": "object",
2635           "properties": {
2636             "changes": {
2637               "type": "array",
2638               "items": {
2639                 "type": "string"
2640               }
2641             },
2642             "error": {
2643               "$ref": "#/definitions/Error"
2644             },
2645             "watcher-id": {
2646               "type": "string"
2647             }
2648           },
2649           "additionalProperties": false,
2650           "required": [
2651             "watcher-id"
2652           ]
2653         }
2654       }
2655     }
2656   },
2657   {
2658     "Name": "Backups",
2659     "Version": 1,
2660     "Schema": {
2661       "type": "object",
2662       "properties": {
2663         "Create": {
2664           "type": "object",
2665           "properties": {
2666             "Params": {
2667               "$ref": "#/definitions/BackupsCreateArgs"
2668             },
2669             "Result": {
2670               "$ref": "#/definitions/BackupsMetadataResult"
2671             }
2672           }
2673         },
2674         "FinishRestore": {
2675           "type": "object"
2676         },
2677         "Info": {
2678           "type": "object",
2679           "properties": {
2680             "Params": {
2681               "$ref": "#/definitions/BackupsInfoArgs"
2682             },
2683             "Result": {
2684               "$ref": "#/definitions/BackupsMetadataResult"
2685             }
2686           }
2687         },
2688         "List": {
2689           "type": "object",
2690           "properties": {
2691             "Params": {
2692               "$ref": "#/definitions/BackupsListArgs"
2693             },
2694             "Result": {
2695               "$ref": "#/definitions/BackupsListResult"
2696             }
2697           }
2698         },
2699         "PrepareRestore": {
2700           "type": "object"
2701         },
2702         "Remove": {
2703           "type": "object",
2704           "properties": {
2705             "Params": {
2706               "$ref": "#/definitions/BackupsRemoveArgs"
2707             }
2708           }
2709         },
2710         "Restore": {
2711           "type": "object",
2712           "properties": {
2713             "Params": {
2714               "$ref": "#/definitions/RestoreArgs"
2715             }
2716           }
2717         }
2718       },
2719       "definitions": {
2720         "BackupsCreateArgs": {
2721           "type": "object",
2722           "properties": {
2723             "notes": {
2724               "type": "string"
2725             }
2726           },
2727           "additionalProperties": false,
2728           "required": [
2729             "notes"
2730           ]
2731         },
2732         "BackupsInfoArgs": {
2733           "type": "object",
2734           "properties": {
2735             "id": {
2736               "type": "string"
2737             }
2738           },
2739           "additionalProperties": false,
2740           "required": [
2741             "id"
2742           ]
2743         },
2744         "BackupsListArgs": {
2745           "type": "object",
2746           "additionalProperties": false
2747         },
2748         "BackupsListResult": {
2749           "type": "object",
2750           "properties": {
2751             "list": {
2752               "type": "array",
2753               "items": {
2754                 "$ref": "#/definitions/BackupsMetadataResult"
2755               }
2756             }
2757           },
2758           "additionalProperties": false,
2759           "required": [
2760             "list"
2761           ]
2762         },
2763         "BackupsMetadataResult": {
2764           "type": "object",
2765           "properties": {
2766             "ca-cert": {
2767               "type": "string"
2768             },
2769             "ca-private-key": {
2770               "type": "string"
2771             },
2772             "checksum": {
2773               "type": "string"
2774             },
2775             "checksum-format": {
2776               "type": "string"
2777             },
2778             "finished": {
2779               "type": "string",
2780               "format": "date-time"
2781             },
2782             "hostname": {
2783               "type": "string"
2784             },
2785             "id": {
2786               "type": "string"
2787             },
2788             "machine": {
2789               "type": "string"
2790             },
2791             "model": {
2792               "type": "string"
2793             },
2794             "notes": {
2795               "type": "string"
2796             },
2797             "series": {
2798               "type": "string"
2799             },
2800             "size": {
2801               "type": "integer"
2802             },
2803             "started": {
2804               "type": "string",
2805               "format": "date-time"
2806             },
2807             "stored": {
2808               "type": "string",
2809               "format": "date-time"
2810             },
2811             "version": {
2812               "$ref": "#/definitions/Number"
2813             }
2814           },
2815           "additionalProperties": false,
2816           "required": [
2817             "id",
2818             "checksum",
2819             "checksum-format",
2820             "size",
2821             "stored",
2822             "started",
2823             "finished",
2824             "notes",
2825             "model",
2826             "machine",
2827             "hostname",
2828             "version",
2829             "series",
2830             "ca-cert",
2831             "ca-private-key"
2832           ]
2833         },
2834         "BackupsRemoveArgs": {
2835           "type": "object",
2836           "properties": {
2837             "id": {
2838               "type": "string"
2839             }
2840           },
2841           "additionalProperties": false,
2842           "required": [
2843             "id"
2844           ]
2845         },
2846         "Number": {
2847           "type": "object",
2848           "properties": {
2849             "Build": {
2850               "type": "integer"
2851             },
2852             "Major": {
2853               "type": "integer"
2854             },
2855             "Minor": {
2856               "type": "integer"
2857             },
2858             "Patch": {
2859               "type": "integer"
2860             },
2861             "Tag": {
2862               "type": "string"
2863             }
2864           },
2865           "additionalProperties": false,
2866           "required": [
2867             "Major",
2868             "Minor",
2869             "Tag",
2870             "Patch",
2871             "Build"
2872           ]
2873         },
2874         "RestoreArgs": {
2875           "type": "object",
2876           "properties": {
2877             "backup-id": {
2878               "type": "string"
2879             }
2880           },
2881           "additionalProperties": false,
2882           "required": [
2883             "backup-id"
2884           ]
2885         }
2886       }
2887     }
2888   },
2889   {
2890     "Name": "Block",
2891     "Version": 2,
2892     "Schema": {
2893       "type": "object",
2894       "properties": {
2895         "List": {
2896           "type": "object",
2897           "properties": {
2898             "Result": {
2899               "$ref": "#/definitions/BlockResults"
2900             }
2901           }
2902         },
2903         "SwitchBlockOff": {
2904           "type": "object",
2905           "properties": {
2906             "Params": {
2907               "$ref": "#/definitions/BlockSwitchParams"
2908             },
2909             "Result": {
2910               "$ref": "#/definitions/ErrorResult"
2911             }
2912           }
2913         },
2914         "SwitchBlockOn": {
2915           "type": "object",
2916           "properties": {
2917             "Params": {
2918               "$ref": "#/definitions/BlockSwitchParams"
2919             },
2920             "Result": {
2921               "$ref": "#/definitions/ErrorResult"
2922             }
2923           }
2924         }
2925       },
2926       "definitions": {
2927         "Block": {
2928           "type": "object",
2929           "properties": {
2930             "id": {
2931               "type": "string"
2932             },
2933             "message": {
2934               "type": "string"
2935             },
2936             "tag": {
2937               "type": "string"
2938             },
2939             "type": {
2940               "type": "string"
2941             }
2942           },
2943           "additionalProperties": false,
2944           "required": [
2945             "id",
2946             "tag",
2947             "type"
2948           ]
2949         },
2950         "BlockResult": {
2951           "type": "object",
2952           "properties": {
2953             "error": {
2954               "$ref": "#/definitions/Error"
2955             },
2956             "result": {
2957               "$ref": "#/definitions/Block"
2958             }
2959           },
2960           "additionalProperties": false,
2961           "required": [
2962             "result"
2963           ]
2964         },
2965         "BlockResults": {
2966           "type": "object",
2967           "properties": {
2968             "results": {
2969               "type": "array",
2970               "items": {
2971                 "$ref": "#/definitions/BlockResult"
2972               }
2973             }
2974           },
2975           "additionalProperties": false
2976         },
2977         "BlockSwitchParams": {
2978           "type": "object",
2979           "properties": {
2980             "message": {
2981               "type": "string"
2982             },
2983             "type": {
2984               "type": "string"
2985             }
2986           },
2987           "additionalProperties": false,
2988           "required": [
2989             "type"
2990           ]
2991         },
2992         "Error": {
2993           "type": "object",
2994           "properties": {
2995             "code": {
2996               "type": "string"
2997             },
2998             "info": {
2999               "$ref": "#/definitions/ErrorInfo"
3000             },
3001             "message": {
3002               "type": "string"
3003             }
3004           },
3005           "additionalProperties": false,
3006           "required": [
3007             "message",
3008             "code"
3009           ]
3010         },
3011         "ErrorInfo": {
3012           "type": "object",
3013           "properties": {
3014             "macaroon": {
3015               "$ref": "#/definitions/Macaroon"
3016             },
3017             "macaroon-path": {
3018               "type": "string"
3019             }
3020           },
3021           "additionalProperties": false
3022         },
3023         "ErrorResult": {
3024           "type": "object",
3025           "properties": {
3026             "error": {
3027               "$ref": "#/definitions/Error"
3028             }
3029           },
3030           "additionalProperties": false
3031         },
3032         "Macaroon": {
3033           "type": "object",
3034           "additionalProperties": false
3035         }
3036       }
3037     }
3038   },
3039   {
3040     "Name": "Bundle",
3041     "Version": 1,
3042     "Schema": {
3043       "type": "object",
3044       "properties": {
3045         "GetChanges": {
3046           "type": "object",
3047           "properties": {
3048             "Params": {
3049               "$ref": "#/definitions/BundleChangesParams"
3050             },
3051             "Result": {
3052               "$ref": "#/definitions/BundleChangesResults"
3053             }
3054           }
3055         }
3056       },
3057       "definitions": {
3058         "BundleChange": {
3059           "type": "object",
3060           "properties": {
3061             "args": {
3062               "type": "array",
3063               "items": {
3064                 "type": "object",
3065                 "additionalProperties": true
3066               }
3067             },
3068             "id": {
3069               "type": "string"
3070             },
3071             "method": {
3072               "type": "string"
3073             },
3074             "requires": {
3075               "type": "array",
3076               "items": {
3077                 "type": "string"
3078               }
3079             }
3080           },
3081           "additionalProperties": false,
3082           "required": [
3083             "id",
3084             "method",
3085             "args",
3086             "requires"
3087           ]
3088         },
3089         "BundleChangesParams": {
3090           "type": "object",
3091           "properties": {
3092             "yaml": {
3093               "type": "string"
3094             }
3095           },
3096           "additionalProperties": false,
3097           "required": [
3098             "yaml"
3099           ]
3100         },
3101         "BundleChangesResults": {
3102           "type": "object",
3103           "properties": {
3104             "changes": {
3105               "type": "array",
3106               "items": {
3107                 "$ref": "#/definitions/BundleChange"
3108               }
3109             },
3110             "errors": {
3111               "type": "array",
3112               "items": {
3113                 "type": "string"
3114               }
3115             }
3116           },
3117           "additionalProperties": false
3118         }
3119       }
3120     }
3121   },
3122   {
3123     "Name": "CharmRevisionUpdater",
3124     "Version": 2,
3125     "Schema": {
3126       "type": "object",
3127       "properties": {
3128         "UpdateLatestRevisions": {
3129           "type": "object",
3130           "properties": {
3131             "Result": {
3132               "$ref": "#/definitions/ErrorResult"
3133             }
3134           }
3135         }
3136       },
3137       "definitions": {
3138         "Error": {
3139           "type": "object",
3140           "properties": {
3141             "code": {
3142               "type": "string"
3143             },
3144             "info": {
3145               "$ref": "#/definitions/ErrorInfo"
3146             },
3147             "message": {
3148               "type": "string"
3149             }
3150           },
3151           "additionalProperties": false,
3152           "required": [
3153             "message",
3154             "code"
3155           ]
3156         },
3157         "ErrorInfo": {
3158           "type": "object",
3159           "properties": {
3160             "macaroon": {
3161               "$ref": "#/definitions/Macaroon"
3162             },
3163             "macaroon-path": {
3164               "type": "string"
3165             }
3166           },
3167           "additionalProperties": false
3168         },
3169         "ErrorResult": {
3170           "type": "object",
3171           "properties": {
3172             "error": {
3173               "$ref": "#/definitions/Error"
3174             }
3175           },
3176           "additionalProperties": false
3177         },
3178         "Macaroon": {
3179           "type": "object",
3180           "additionalProperties": false
3181         }
3182       }
3183     }
3184   },
3185   {
3186     "Name": "Charms",
3187     "Version": 2,
3188     "Schema": {
3189       "type": "object",
3190       "properties": {
3191         "CharmInfo": {
3192           "type": "object",
3193           "properties": {
3194             "Params": {
3195               "$ref": "#/definitions/CharmURL"
3196             },
3197             "Result": {
3198               "$ref": "#/definitions/CharmInfo"
3199             }
3200           }
3201         },
3202         "IsMetered": {
3203           "type": "object",
3204           "properties": {
3205             "Params": {
3206               "$ref": "#/definitions/CharmURL"
3207             },
3208             "Result": {
3209               "$ref": "#/definitions/IsMeteredResult"
3210             }
3211           }
3212         },
3213         "List": {
3214           "type": "object",
3215           "properties": {
3216             "Params": {
3217               "$ref": "#/definitions/CharmsList"
3218             },
3219             "Result": {
3220               "$ref": "#/definitions/CharmsListResult"
3221             }
3222           }
3223         }
3224       },
3225       "definitions": {
3226         "CharmActionSpec": {
3227           "type": "object",
3228           "properties": {
3229             "description": {
3230               "type": "string"
3231             },
3232             "params": {
3233               "type": "object",
3234               "patternProperties": {
3235                 ".*": {
3236                   "type": "object",
3237                   "additionalProperties": true
3238                 }
3239               }
3240             }
3241           },
3242           "additionalProperties": false,
3243           "required": [
3244             "description",
3245             "params"
3246           ]
3247         },
3248         "CharmActions": {
3249           "type": "object",
3250           "properties": {
3251             "specs": {
3252               "type": "object",
3253               "patternProperties": {
3254                 ".*": {
3255                   "$ref": "#/definitions/CharmActionSpec"
3256                 }
3257               }
3258             }
3259           },
3260           "additionalProperties": false
3261         },
3262         "CharmInfo": {
3263           "type": "object",
3264           "properties": {
3265             "actions": {
3266               "$ref": "#/definitions/CharmActions"
3267             },
3268             "config": {
3269               "type": "object",
3270               "patternProperties": {
3271                 ".*": {
3272                   "$ref": "#/definitions/CharmOption"
3273                 }
3274               }
3275             },
3276             "meta": {
3277               "$ref": "#/definitions/CharmMeta"
3278             },
3279             "metrics": {
3280               "$ref": "#/definitions/CharmMetrics"
3281             },
3282             "revision": {
3283               "type": "integer"
3284             },
3285             "url": {
3286               "type": "string"
3287             }
3288           },
3289           "additionalProperties": false,
3290           "required": [
3291             "revision",
3292             "url",
3293             "config"
3294           ]
3295         },
3296         "CharmMeta": {
3297           "type": "object",
3298           "properties": {
3299             "categories": {
3300               "type": "array",
3301               "items": {
3302                 "type": "string"
3303               }
3304             },
3305             "description": {
3306               "type": "string"
3307             },
3308             "extra-bindings": {
3309               "type": "object",
3310               "patternProperties": {
3311                 ".*": {
3312                   "type": "string"
3313                 }
3314               }
3315             },
3316             "min-juju-version": {
3317               "type": "string"
3318             },
3319             "name": {
3320               "type": "string"
3321             },
3322             "payload-classes": {
3323               "type": "object",
3324               "patternProperties": {
3325                 ".*": {
3326                   "$ref": "#/definitions/CharmPayloadClass"
3327                 }
3328               }
3329             },
3330             "peers": {
3331               "type": "object",
3332               "patternProperties": {
3333                 ".*": {
3334                   "$ref": "#/definitions/CharmRelation"
3335                 }
3336               }
3337             },
3338             "provides": {
3339               "type": "object",
3340               "patternProperties": {
3341                 ".*": {
3342                   "$ref": "#/definitions/CharmRelation"
3343                 }
3344               }
3345             },
3346             "requires": {
3347               "type": "object",
3348               "patternProperties": {
3349                 ".*": {
3350                   "$ref": "#/definitions/CharmRelation"
3351                 }
3352               }
3353             },
3354             "resources": {
3355               "type": "object",
3356               "patternProperties": {
3357                 ".*": {
3358                   "$ref": "#/definitions/CharmResourceMeta"
3359                 }
3360               }
3361             },
3362             "series": {
3363               "type": "array",
3364               "items": {
3365                 "type": "string"
3366               }
3367             },
3368             "storage": {
3369               "type": "object",
3370               "patternProperties": {
3371                 ".*": {
3372                   "$ref": "#/definitions/CharmStorage"
3373                 }
3374               }
3375             },
3376             "subordinate": {
3377               "type": "boolean"
3378             },
3379             "summary": {
3380               "type": "string"
3381             },
3382             "tags": {
3383               "type": "array",
3384               "items": {
3385                 "type": "string"
3386               }
3387             },
3388             "terms": {
3389               "type": "array",
3390               "items": {
3391                 "type": "string"
3392               }
3393             }
3394           },
3395           "additionalProperties": false,
3396           "required": [
3397             "name",
3398             "summary",
3399             "description",
3400             "subordinate"
3401           ]
3402         },
3403         "CharmMetric": {
3404           "type": "object",
3405           "properties": {
3406             "description": {
3407               "type": "string"
3408             },
3409             "type": {
3410               "type": "string"
3411             }
3412           },
3413           "additionalProperties": false,
3414           "required": [
3415             "type",
3416             "description"
3417           ]
3418         },
3419         "CharmMetrics": {
3420           "type": "object",
3421           "properties": {
3422             "metrics": {
3423               "type": "object",
3424               "patternProperties": {
3425                 ".*": {
3426                   "$ref": "#/definitions/CharmMetric"
3427                 }
3428               }
3429             },
3430             "plan": {
3431               "$ref": "#/definitions/CharmPlan"
3432             }
3433           },
3434           "additionalProperties": false,
3435           "required": [
3436             "metrics",
3437             "plan"
3438           ]
3439         },
3440         "CharmOption": {
3441           "type": "object",
3442           "properties": {
3443             "default": {
3444               "type": "object",
3445               "additionalProperties": true
3446             },
3447             "description": {
3448               "type": "string"
3449             },
3450             "type": {
3451               "type": "string"
3452             }
3453           },
3454           "additionalProperties": false,
3455           "required": [
3456             "type"
3457           ]
3458         },
3459         "CharmPayloadClass": {
3460           "type": "object",
3461           "properties": {
3462             "name": {
3463               "type": "string"
3464             },
3465             "type": {
3466               "type": "string"
3467             }
3468           },
3469           "additionalProperties": false,
3470           "required": [
3471             "name",
3472             "type"
3473           ]
3474         },
3475         "CharmPlan": {
3476           "type": "object",
3477           "properties": {
3478             "required": {
3479               "type": "boolean"
3480             }
3481           },
3482           "additionalProperties": false,
3483           "required": [
3484             "required"
3485           ]
3486         },
3487         "CharmRelation": {
3488           "type": "object",
3489           "properties": {
3490             "interface": {
3491               "type": "string"
3492             },
3493             "limit": {
3494               "type": "integer"
3495             },
3496             "name": {
3497               "type": "string"
3498             },
3499             "optional": {
3500               "type": "boolean"
3501             },
3502             "role": {
3503               "type": "string"
3504             },
3505             "scope": {
3506               "type": "string"
3507             }
3508           },
3509           "additionalProperties": false,
3510           "required": [
3511             "name",
3512             "role",
3513             "interface",
3514             "optional",
3515             "limit",
3516             "scope"
3517           ]
3518         },
3519         "CharmResourceMeta": {
3520           "type": "object",
3521           "properties": {
3522             "description": {
3523               "type": "string"
3524             },
3525             "name": {
3526               "type": "string"
3527             },
3528             "path": {
3529               "type": "string"
3530             },
3531             "type": {
3532               "type": "string"
3533             }
3534           },
3535           "additionalProperties": false,
3536           "required": [
3537             "name",
3538             "type",
3539             "path",
3540             "description"
3541           ]
3542         },
3543         "CharmStorage": {
3544           "type": "object",
3545           "properties": {
3546             "count-max": {
3547               "type": "integer"
3548             },
3549             "count-min": {
3550               "type": "integer"
3551             },
3552             "description": {
3553               "type": "string"
3554             },
3555             "location": {
3556               "type": "string"
3557             },
3558             "minimum-size": {
3559               "type": "integer"
3560             },
3561             "name": {
3562               "type": "string"
3563             },
3564             "properties": {
3565               "type": "array",
3566               "items": {
3567                 "type": "string"
3568               }
3569             },
3570             "read-only": {
3571               "type": "boolean"
3572             },
3573             "shared": {
3574               "type": "boolean"
3575             },
3576             "type": {
3577               "type": "string"
3578             }
3579           },
3580           "additionalProperties": false,
3581           "required": [
3582             "name",
3583             "description",
3584             "type",
3585             "shared",
3586             "read-only",
3587             "count-min",
3588             "count-max",
3589             "minimum-size"
3590           ]
3591         },
3592         "CharmURL": {
3593           "type": "object",
3594           "properties": {
3595             "url": {
3596               "type": "string"
3597             }
3598           },
3599           "additionalProperties": false,
3600           "required": [
3601             "url"
3602           ]
3603         },
3604         "CharmsList": {
3605           "type": "object",
3606           "properties": {
3607             "names": {
3608               "type": "array",
3609               "items": {
3610                 "type": "string"
3611               }
3612             }
3613           },
3614           "additionalProperties": false,
3615           "required": [
3616             "names"
3617           ]
3618         },
3619         "CharmsListResult": {
3620           "type": "object",
3621           "properties": {
3622             "charm-urls": {
3623               "type": "array",
3624               "items": {
3625                 "type": "string"
3626               }
3627             }
3628           },
3629           "additionalProperties": false,
3630           "required": [
3631             "charm-urls"
3632           ]
3633         },
3634         "IsMeteredResult": {
3635           "type": "object",
3636           "properties": {
3637             "metered": {
3638               "type": "boolean"
3639             }
3640           },
3641           "additionalProperties": false,
3642           "required": [
3643             "metered"
3644           ]
3645         }
3646       }
3647     }
3648   },
3649   {
3650     "Name": "Cleaner",
3651     "Version": 2,
3652     "Schema": {
3653       "type": "object",
3654       "properties": {
3655         "Cleanup": {
3656           "type": "object"
3657         },
3658         "WatchCleanups": {
3659           "type": "object",
3660           "properties": {
3661             "Result": {
3662               "$ref": "#/definitions/NotifyWatchResult"
3663             }
3664           }
3665         }
3666       },
3667       "definitions": {
3668         "Error": {
3669           "type": "object",
3670           "properties": {
3671             "code": {
3672               "type": "string"
3673             },
3674             "info": {
3675               "$ref": "#/definitions/ErrorInfo"
3676             },
3677             "message": {
3678               "type": "string"
3679             }
3680           },
3681           "additionalProperties": false,
3682           "required": [
3683             "message",
3684             "code"
3685           ]
3686         },
3687         "ErrorInfo": {
3688           "type": "object",
3689           "properties": {
3690             "macaroon": {
3691               "$ref": "#/definitions/Macaroon"
3692             },
3693             "macaroon-path": {
3694               "type": "string"
3695             }
3696           },
3697           "additionalProperties": false
3698         },
3699         "Macaroon": {
3700           "type": "object",
3701           "additionalProperties": false
3702         },
3703         "NotifyWatchResult": {
3704           "type": "object",
3705           "properties": {
3706             "NotifyWatcherId": {
3707               "type": "string"
3708             },
3709             "error": {
3710               "$ref": "#/definitions/Error"
3711             }
3712           },
3713           "additionalProperties": false,
3714           "required": [
3715             "NotifyWatcherId"
3716           ]
3717         }
3718       }
3719     }
3720   },
3721   {
3722     "Name": "Client",
3723     "Version": 1,
3724     "Schema": {
3725       "type": "object",
3726       "properties": {
3727         "APIHostPorts": {
3728           "type": "object",
3729           "properties": {
3730             "Result": {
3731               "$ref": "#/definitions/APIHostPortsResult"
3732             }
3733           }
3734         },
3735         "AbortCurrentUpgrade": {
3736           "type": "object"
3737         },
3738         "AddCharm": {
3739           "type": "object",
3740           "properties": {
3741             "Params": {
3742               "$ref": "#/definitions/AddCharm"
3743             }
3744           }
3745         },
3746         "AddCharmWithAuthorization": {
3747           "type": "object",
3748           "properties": {
3749             "Params": {
3750               "$ref": "#/definitions/AddCharmWithAuthorization"
3751             }
3752           }
3753         },
3754         "AddMachines": {
3755           "type": "object",
3756           "properties": {
3757             "Params": {
3758               "$ref": "#/definitions/AddMachines"
3759             },
3760             "Result": {
3761               "$ref": "#/definitions/AddMachinesResults"
3762             }
3763           }
3764         },
3765         "AddMachinesV2": {
3766           "type": "object",
3767           "properties": {
3768             "Params": {
3769               "$ref": "#/definitions/AddMachines"
3770             },
3771             "Result": {
3772               "$ref": "#/definitions/AddMachinesResults"
3773             }
3774           }
3775         },
3776         "AgentVersion": {
3777           "type": "object",
3778           "properties": {
3779             "Result": {
3780               "$ref": "#/definitions/AgentVersionResult"
3781             }
3782           }
3783         },
3784         "CACert": {
3785           "type": "object",
3786           "properties": {
3787             "Result": {
3788               "$ref": "#/definitions/BytesResult"
3789             }
3790           }
3791         },
3792         "DestroyMachines": {
3793           "type": "object",
3794           "properties": {
3795             "Params": {
3796               "$ref": "#/definitions/DestroyMachines"
3797             }
3798           }
3799         },
3800         "FindTools": {
3801           "type": "object",
3802           "properties": {
3803             "Params": {
3804               "$ref": "#/definitions/FindToolsParams"
3805             },
3806             "Result": {
3807               "$ref": "#/definitions/FindToolsResult"
3808             }
3809           }
3810         },
3811         "FullStatus": {
3812           "type": "object",
3813           "properties": {
3814             "Params": {
3815               "$ref": "#/definitions/StatusParams"
3816             },
3817             "Result": {
3818               "$ref": "#/definitions/FullStatus"
3819             }
3820           }
3821         },
3822         "GetBundleChanges": {
3823           "type": "object",
3824           "properties": {
3825             "Params": {
3826               "$ref": "#/definitions/BundleChangesParams"
3827             },
3828             "Result": {
3829               "$ref": "#/definitions/BundleChangesResults"
3830             }
3831           }
3832         },
3833         "GetModelConstraints": {
3834           "type": "object",
3835           "properties": {
3836             "Result": {
3837               "$ref": "#/definitions/GetConstraintsResults"
3838             }
3839           }
3840         },
3841         "InjectMachines": {
3842           "type": "object",
3843           "properties": {
3844             "Params": {
3845               "$ref": "#/definitions/AddMachines"
3846             },
3847             "Result": {
3848               "$ref": "#/definitions/AddMachinesResults"
3849             }
3850           }
3851         },
3852         "ModelGet": {
3853           "type": "object",
3854           "properties": {
3855             "Result": {
3856               "$ref": "#/definitions/ModelConfigResults"
3857             }
3858           }
3859         },
3860         "ModelInfo": {
3861           "type": "object",
3862           "properties": {
3863             "Result": {
3864               "$ref": "#/definitions/ModelInfo"
3865             }
3866           }
3867         },
3868         "ModelSet": {
3869           "type": "object",
3870           "properties": {
3871             "Params": {
3872               "$ref": "#/definitions/ModelSet"
3873             }
3874           }
3875         },
3876         "ModelUnset": {
3877           "type": "object",
3878           "properties": {
3879             "Params": {
3880               "$ref": "#/definitions/ModelUnset"
3881             }
3882           }
3883         },
3884         "ModelUserInfo": {
3885           "type": "object",
3886           "properties": {
3887             "Result": {
3888               "$ref": "#/definitions/ModelUserInfoResults"
3889             }
3890           }
3891         },
3892         "PrivateAddress": {
3893           "type": "object",
3894           "properties": {
3895             "Params": {
3896               "$ref": "#/definitions/PrivateAddress"
3897             },
3898             "Result": {
3899               "$ref": "#/definitions/PrivateAddressResults"
3900             }
3901           }
3902         },
3903         "ProvisioningScript": {
3904           "type": "object",
3905           "properties": {
3906             "Params": {
3907               "$ref": "#/definitions/ProvisioningScriptParams"
3908             },
3909             "Result": {
3910               "$ref": "#/definitions/ProvisioningScriptResult"
3911             }
3912           }
3913         },
3914         "PublicAddress": {
3915           "type": "object",
3916           "properties": {
3917             "Params": {
3918               "$ref": "#/definitions/PublicAddress"
3919             },
3920             "Result": {
3921               "$ref": "#/definitions/PublicAddressResults"
3922             }
3923           }
3924         },
3925         "ResolveCharms": {
3926           "type": "object",
3927           "properties": {
3928             "Params": {
3929               "$ref": "#/definitions/ResolveCharms"
3930             },
3931             "Result": {
3932               "$ref": "#/definitions/ResolveCharmResults"
3933             }
3934           }
3935         },
3936         "Resolved": {
3937           "type": "object",
3938           "properties": {
3939             "Params": {
3940               "$ref": "#/definitions/Resolved"
3941             }
3942           }
3943         },
3944         "RetryProvisioning": {
3945           "type": "object",
3946           "properties": {
3947             "Params": {
3948               "$ref": "#/definitions/Entities"
3949             },
3950             "Result": {
3951               "$ref": "#/definitions/ErrorResults"
3952             }
3953           }
3954         },
3955         "SLALevel": {
3956           "type": "object",
3957           "properties": {
3958             "Result": {
3959               "$ref": "#/definitions/StringResult"
3960             }
3961           }
3962         },
3963         "SetModelAgentVersion": {
3964           "type": "object",
3965           "properties": {
3966             "Params": {
3967               "$ref": "#/definitions/SetModelAgentVersion"
3968             }
3969           }
3970         },
3971         "SetModelConstraints": {
3972           "type": "object",
3973           "properties": {
3974             "Params": {
3975               "$ref": "#/definitions/SetConstraints"
3976             }
3977           }
3978         },
3979         "SetSLALevel": {
3980           "type": "object",
3981           "properties": {
3982             "Params": {
3983               "$ref": "#/definitions/ModelSLA"
3984             }
3985           }
3986         },
3987         "StatusHistory": {
3988           "type": "object",
3989           "properties": {
3990             "Params": {
3991               "$ref": "#/definitions/StatusHistoryRequests"
3992             },
3993             "Result": {
3994               "$ref": "#/definitions/StatusHistoryResults"
3995             }
3996           }
3997         },
3998         "WatchAll": {
3999           "type": "object",
4000           "properties": {
4001             "Result": {
4002               "$ref": "#/definitions/AllWatcherId"
4003             }
4004           }
4005         }
4006       },
4007       "definitions": {
4008         "APIHostPortsResult": {
4009           "type": "object",
4010           "properties": {
4011             "servers": {
4012               "type": "array",
4013               "items": {
4014                 "type": "array",
4015                 "items": {
4016                   "$ref": "#/definitions/HostPort"
4017                 }
4018               }
4019             }
4020           },
4021           "additionalProperties": false,
4022           "required": [
4023             "servers"
4024           ]
4025         },
4026         "AddCharm": {
4027           "type": "object",
4028           "properties": {
4029             "channel": {
4030               "type": "string"
4031             },
4032             "url": {
4033               "type": "string"
4034             }
4035           },
4036           "additionalProperties": false,
4037           "required": [
4038             "url",
4039             "channel"
4040           ]
4041         },
4042         "AddCharmWithAuthorization": {
4043           "type": "object",
4044           "properties": {
4045             "channel": {
4046               "type": "string"
4047             },
4048             "macaroon": {
4049               "$ref": "#/definitions/Macaroon"
4050             },
4051             "url": {
4052               "type": "string"
4053             }
4054           },
4055           "additionalProperties": false,
4056           "required": [
4057             "url",
4058             "channel",
4059             "macaroon"
4060           ]
4061         },
4062         "AddMachineParams": {
4063           "type": "object",
4064           "properties": {
4065             "addresses": {
4066               "type": "array",
4067               "items": {
4068                 "$ref": "#/definitions/Address"
4069               }
4070             },
4071             "constraints": {
4072               "$ref": "#/definitions/Value"
4073             },
4074             "container-type": {
4075               "type": "string"
4076             },
4077             "disks": {
4078               "type": "array",
4079               "items": {
4080                 "$ref": "#/definitions/Constraints"
4081               }
4082             },
4083             "hardware-characteristics": {
4084               "$ref": "#/definitions/HardwareCharacteristics"
4085             },
4086             "instance-id": {
4087               "type": "string"
4088             },
4089             "jobs": {
4090               "type": "array",
4091               "items": {
4092                 "type": "string"
4093               }
4094             },
4095             "nonce": {
4096               "type": "string"
4097             },
4098             "parent-id": {
4099               "type": "string"
4100             },
4101             "placement": {
4102               "$ref": "#/definitions/Placement"
4103             },
4104             "series": {
4105               "type": "string"
4106             }
4107           },
4108           "additionalProperties": false,
4109           "required": [
4110             "series",
4111             "constraints",
4112             "jobs",
4113             "parent-id",
4114             "container-type",
4115             "instance-id",
4116             "nonce",
4117             "hardware-characteristics",
4118             "addresses"
4119           ]
4120         },
4121         "AddMachines": {
4122           "type": "object",
4123           "properties": {
4124             "params": {
4125               "type": "array",
4126               "items": {
4127                 "$ref": "#/definitions/AddMachineParams"
4128               }
4129             }
4130           },
4131           "additionalProperties": false,
4132           "required": [
4133             "params"
4134           ]
4135         },
4136         "AddMachinesResult": {
4137           "type": "object",
4138           "properties": {
4139             "error": {
4140               "$ref": "#/definitions/Error"
4141             },
4142             "machine": {
4143               "type": "string"
4144             }
4145           },
4146           "additionalProperties": false,
4147           "required": [
4148             "machine"
4149           ]
4150         },
4151         "AddMachinesResults": {
4152           "type": "object",
4153           "properties": {
4154             "machines": {
4155               "type": "array",
4156               "items": {
4157                 "$ref": "#/definitions/AddMachinesResult"
4158               }
4159             }
4160           },
4161           "additionalProperties": false,
4162           "required": [
4163             "machines"
4164           ]
4165         },
4166         "Address": {
4167           "type": "object",
4168           "properties": {
4169             "scope": {
4170               "type": "string"
4171             },
4172             "space-name": {
4173               "type": "string"
4174             },
4175             "type": {
4176               "type": "string"
4177             },
4178             "value": {
4179               "type": "string"
4180             }
4181           },
4182           "additionalProperties": false,
4183           "required": [
4184             "value",
4185             "type",
4186             "scope"
4187           ]
4188         },
4189         "AgentVersionResult": {
4190           "type": "object",
4191           "properties": {
4192             "version": {
4193               "$ref": "#/definitions/Number"
4194             }
4195           },
4196           "additionalProperties": false,
4197           "required": [
4198             "version"
4199           ]
4200         },
4201         "AllWatcherId": {
4202           "type": "object",
4203           "properties": {
4204             "watcher-id": {
4205               "type": "string"
4206             }
4207           },
4208           "additionalProperties": false,
4209           "required": [
4210             "watcher-id"
4211           ]
4212         },
4213         "ApplicationStatus": {
4214           "type": "object",
4215           "properties": {
4216             "can-upgrade-to": {
4217               "type": "string"
4218             },
4219             "charm": {
4220               "type": "string"
4221             },
4222             "err": {
4223               "type": "object",
4224               "additionalProperties": true
4225             },
4226             "exposed": {
4227               "type": "boolean"
4228             },
4229             "life": {
4230               "type": "string"
4231             },
4232             "meter-statuses": {
4233               "type": "object",
4234               "patternProperties": {
4235                 ".*": {
4236                   "$ref": "#/definitions/MeterStatus"
4237                 }
4238               }
4239             },
4240             "relations": {
4241               "type": "object",
4242               "patternProperties": {
4243                 ".*": {
4244                   "type": "array",
4245                   "items": {
4246                     "type": "string"
4247                   }
4248                 }
4249               }
4250             },
4251             "series": {
4252               "type": "string"
4253             },
4254             "status": {
4255               "$ref": "#/definitions/DetailedStatus"
4256             },
4257             "subordinate-to": {
4258               "type": "array",
4259               "items": {
4260                 "type": "string"
4261               }
4262             },
4263             "units": {
4264               "type": "object",
4265               "patternProperties": {
4266                 ".*": {
4267                   "$ref": "#/definitions/UnitStatus"
4268                 }
4269               }
4270             },
4271             "workload-version": {
4272               "type": "string"
4273             }
4274           },
4275           "additionalProperties": false,
4276           "required": [
4277             "charm",
4278             "series",
4279             "exposed",
4280             "life",
4281             "relations",
4282             "can-upgrade-to",
4283             "subordinate-to",
4284             "units",
4285             "meter-statuses",
4286             "status",
4287             "workload-version"
4288           ]
4289         },
4290         "Binary": {
4291           "type": "object",
4292           "properties": {
4293             "Arch": {
4294               "type": "string"
4295             },
4296             "Number": {
4297               "$ref": "#/definitions/Number"
4298             },
4299             "Series": {
4300               "type": "string"
4301             }
4302           },
4303           "additionalProperties": false,
4304           "required": [
4305             "Number",
4306             "Series",
4307             "Arch"
4308           ]
4309         },
4310         "BundleChange": {
4311           "type": "object",
4312           "properties": {
4313             "args": {
4314               "type": "array",
4315               "items": {
4316                 "type": "object",
4317                 "additionalProperties": true
4318               }
4319             },
4320             "id": {
4321               "type": "string"
4322             },
4323             "method": {
4324               "type": "string"
4325             },
4326             "requires": {
4327               "type": "array",
4328               "items": {
4329                 "type": "string"
4330               }
4331             }
4332           },
4333           "additionalProperties": false,
4334           "required": [
4335             "id",
4336             "method",
4337             "args",
4338             "requires"
4339           ]
4340         },
4341         "BundleChangesParams": {
4342           "type": "object",
4343           "properties": {
4344             "yaml": {
4345               "type": "string"
4346             }
4347           },
4348           "additionalProperties": false,
4349           "required": [
4350             "yaml"
4351           ]
4352         },
4353         "BundleChangesResults": {
4354           "type": "object",
4355           "properties": {
4356             "changes": {
4357               "type": "array",
4358               "items": {
4359                 "$ref": "#/definitions/BundleChange"
4360               }
4361             },
4362             "errors": {
4363               "type": "array",
4364               "items": {
4365                 "type": "string"
4366               }
4367             }
4368           },
4369           "additionalProperties": false
4370         },
4371         "BytesResult": {
4372           "type": "object",
4373           "properties": {
4374             "result": {
4375               "type": "array",
4376               "items": {
4377                 "type": "integer"
4378               }
4379             }
4380           },
4381           "additionalProperties": false,
4382           "required": [
4383             "result"
4384           ]
4385         },
4386         "ConfigValue": {
4387           "type": "object",
4388           "properties": {
4389             "source": {
4390               "type": "string"
4391             },
4392             "value": {
4393               "type": "object",
4394               "additionalProperties": true
4395             }
4396           },
4397           "additionalProperties": false,
4398           "required": [
4399             "value",
4400             "source"
4401           ]
4402         },
4403         "Constraints": {
4404           "type": "object",
4405           "properties": {
4406             "Count": {
4407               "type": "integer"
4408             },
4409             "Pool": {
4410               "type": "string"
4411             },
4412             "Size": {
4413               "type": "integer"
4414             }
4415           },
4416           "additionalProperties": false,
4417           "required": [
4418             "Pool",
4419             "Size",
4420             "Count"
4421           ]
4422         },
4423         "DestroyMachines": {
4424           "type": "object",
4425           "properties": {
4426             "force": {
4427               "type": "boolean"
4428             },
4429             "machine-names": {
4430               "type": "array",
4431               "items": {
4432                 "type": "string"
4433               }
4434             }
4435           },
4436           "additionalProperties": false,
4437           "required": [
4438             "machine-names",
4439             "force"
4440           ]
4441         },
4442         "DetailedStatus": {
4443           "type": "object",
4444           "properties": {
4445             "data": {
4446               "type": "object",
4447               "patternProperties": {
4448                 ".*": {
4449                   "type": "object",
4450                   "additionalProperties": true
4451                 }
4452               }
4453             },
4454             "err": {
4455               "type": "object",
4456               "additionalProperties": true
4457             },
4458             "info": {
4459               "type": "string"
4460             },
4461             "kind": {
4462               "type": "string"
4463             },
4464             "life": {
4465               "type": "string"
4466             },
4467             "since": {
4468               "type": "string",
4469               "format": "date-time"
4470             },
4471             "status": {
4472               "type": "string"
4473             },
4474             "version": {
4475               "type": "string"
4476             }
4477           },
4478           "additionalProperties": false,
4479           "required": [
4480             "status",
4481             "info",
4482             "data",
4483             "since",
4484             "kind",
4485             "version",
4486             "life"
4487           ]
4488         },
4489         "EndpointStatus": {
4490           "type": "object",
4491           "properties": {
4492             "application": {
4493               "type": "string"
4494             },
4495             "name": {
4496               "type": "string"
4497             },
4498             "role": {
4499               "type": "string"
4500             },
4501             "subordinate": {
4502               "type": "boolean"
4503             }
4504           },
4505           "additionalProperties": false,
4506           "required": [
4507             "application",
4508             "name",
4509             "role",
4510             "subordinate"
4511           ]
4512         },
4513         "Entities": {
4514           "type": "object",
4515           "properties": {
4516             "entities": {
4517               "type": "array",
4518               "items": {
4519                 "$ref": "#/definitions/Entity"
4520               }
4521             }
4522           },
4523           "additionalProperties": false,
4524           "required": [
4525             "entities"
4526           ]
4527         },
4528         "Entity": {
4529           "type": "object",
4530           "properties": {
4531             "tag": {
4532               "type": "string"
4533             }
4534           },
4535           "additionalProperties": false,
4536           "required": [
4537             "tag"
4538           ]
4539         },
4540         "EntityStatus": {
4541           "type": "object",
4542           "properties": {
4543             "data": {
4544               "type": "object",
4545               "patternProperties": {
4546                 ".*": {
4547                   "type": "object",
4548                   "additionalProperties": true
4549                 }
4550               }
4551             },
4552             "info": {
4553               "type": "string"
4554             },
4555             "since": {
4556               "type": "string",
4557               "format": "date-time"
4558             },
4559             "status": {
4560               "type": "string"
4561             }
4562           },
4563           "additionalProperties": false,
4564           "required": [
4565             "status",
4566             "info",
4567             "since"
4568           ]
4569         },
4570         "Error": {
4571           "type": "object",
4572           "properties": {
4573             "code": {
4574               "type": "string"
4575             },
4576             "info": {
4577               "$ref": "#/definitions/ErrorInfo"
4578             },
4579             "message": {
4580               "type": "string"
4581             }
4582           },
4583           "additionalProperties": false,
4584           "required": [
4585             "message",
4586             "code"
4587           ]
4588         },
4589         "ErrorInfo": {
4590           "type": "object",
4591           "properties": {
4592             "macaroon": {
4593               "$ref": "#/definitions/Macaroon"
4594             },
4595             "macaroon-path": {
4596               "type": "string"
4597             }
4598           },
4599           "additionalProperties": false
4600         },
4601         "ErrorResult": {
4602           "type": "object",
4603           "properties": {
4604             "error": {
4605               "$ref": "#/definitions/Error"
4606             }
4607           },
4608           "additionalProperties": false
4609         },
4610         "ErrorResults": {
4611           "type": "object",
4612           "properties": {
4613             "results": {
4614               "type": "array",
4615               "items": {
4616                 "$ref": "#/definitions/ErrorResult"
4617               }
4618             }
4619           },
4620           "additionalProperties": false,
4621           "required": [
4622             "results"
4623           ]
4624         },
4625         "FindToolsParams": {
4626           "type": "object",
4627           "properties": {
4628             "arch": {
4629               "type": "string"
4630             },
4631             "major": {
4632               "type": "integer"
4633             },
4634             "minor": {
4635               "type": "integer"
4636             },
4637             "number": {
4638               "$ref": "#/definitions/Number"
4639             },
4640             "series": {
4641               "type": "string"
4642             }
4643           },
4644           "additionalProperties": false,
4645           "required": [
4646             "number",
4647             "major",
4648             "minor",
4649             "arch",
4650             "series"
4651           ]
4652         },
4653         "FindToolsResult": {
4654           "type": "object",
4655           "properties": {
4656             "error": {
4657               "$ref": "#/definitions/Error"
4658             },
4659             "list": {
4660               "type": "array",
4661               "items": {
4662                 "$ref": "#/definitions/Tools"
4663               }
4664             }
4665           },
4666           "additionalProperties": false,
4667           "required": [
4668             "list"
4669           ]
4670         },
4671         "FullStatus": {
4672           "type": "object",
4673           "properties": {
4674             "applications": {
4675               "type": "object",
4676               "patternProperties": {
4677                 ".*": {
4678                   "$ref": "#/definitions/ApplicationStatus"
4679                 }
4680               }
4681             },
4682             "machines": {
4683               "type": "object",
4684               "patternProperties": {
4685                 ".*": {
4686                   "$ref": "#/definitions/MachineStatus"
4687                 }
4688               }
4689             },
4690             "model": {
4691               "$ref": "#/definitions/ModelStatusInfo"
4692             },
4693             "relations": {
4694               "type": "array",
4695               "items": {
4696                 "$ref": "#/definitions/RelationStatus"
4697               }
4698             },
4699             "remote-applications": {
4700               "type": "object",
4701               "patternProperties": {
4702                 ".*": {
4703                   "$ref": "#/definitions/RemoteApplicationStatus"
4704                 }
4705               }
4706             }
4707           },
4708           "additionalProperties": false,
4709           "required": [
4710             "model",
4711             "machines",
4712             "applications",
4713             "remote-applications",
4714             "relations"
4715           ]
4716         },
4717         "GetConstraintsResults": {
4718           "type": "object",
4719           "properties": {
4720             "constraints": {
4721               "$ref": "#/definitions/Value"
4722             }
4723           },
4724           "additionalProperties": false,
4725           "required": [
4726             "constraints"
4727           ]
4728         },
4729         "HardwareCharacteristics": {
4730           "type": "object",
4731           "properties": {
4732             "arch": {
4733               "type": "string"
4734             },
4735             "availability-zone": {
4736               "type": "string"
4737             },
4738             "cpu-cores": {
4739               "type": "integer"
4740             },
4741             "cpu-power": {
4742               "type": "integer"
4743             },
4744             "mem": {
4745               "type": "integer"
4746             },
4747             "root-disk": {
4748               "type": "integer"
4749             },
4750             "tags": {
4751               "type": "array",
4752               "items": {
4753                 "type": "string"
4754               }
4755             }
4756           },
4757           "additionalProperties": false
4758         },
4759         "History": {
4760           "type": "object",
4761           "properties": {
4762             "error": {
4763               "$ref": "#/definitions/Error"
4764             },
4765             "statuses": {
4766               "type": "array",
4767               "items": {
4768                 "$ref": "#/definitions/DetailedStatus"
4769               }
4770             }
4771           },
4772           "additionalProperties": false,
4773           "required": [
4774             "statuses"
4775           ]
4776         },
4777         "HostPort": {
4778           "type": "object",
4779           "properties": {
4780             "Address": {
4781               "$ref": "#/definitions/Address"
4782             },
4783             "port": {
4784               "type": "integer"
4785             }
4786           },
4787           "additionalProperties": false,
4788           "required": [
4789             "Address",
4790             "port"
4791           ]
4792         },
4793         "Macaroon": {
4794           "type": "object",
4795           "additionalProperties": false
4796         },
4797         "MachineHardware": {
4798           "type": "object",
4799           "properties": {
4800             "arch": {
4801               "type": "string"
4802             },
4803             "availability-zone": {
4804               "type": "string"
4805             },
4806             "cores": {
4807               "type": "integer"
4808             },
4809             "cpu-power": {
4810               "type": "integer"
4811             },
4812             "mem": {
4813               "type": "integer"
4814             },
4815             "root-disk": {
4816               "type": "integer"
4817             },
4818             "tags": {
4819               "type": "array",
4820               "items": {
4821                 "type": "string"
4822               }
4823             }
4824           },
4825           "additionalProperties": false
4826         },
4827         "MachineStatus": {
4828           "type": "object",
4829           "properties": {
4830             "agent-status": {
4831               "$ref": "#/definitions/DetailedStatus"
4832             },
4833             "constraints": {
4834               "type": "string"
4835             },
4836             "containers": {
4837               "type": "object",
4838               "patternProperties": {
4839                 ".*": {
4840                   "$ref": "#/definitions/MachineStatus"
4841                 }
4842               }
4843             },
4844             "dns-name": {
4845               "type": "string"
4846             },
4847             "hardware": {
4848               "type": "string"
4849             },
4850             "has-vote": {
4851               "type": "boolean"
4852             },
4853             "id": {
4854               "type": "string"
4855             },
4856             "instance-id": {
4857               "type": "string"
4858             },
4859             "instance-status": {
4860               "$ref": "#/definitions/DetailedStatus"
4861             },
4862             "ip-addresses": {
4863               "type": "array",
4864               "items": {
4865                 "type": "string"
4866               }
4867             },
4868             "jobs": {
4869               "type": "array",
4870               "items": {
4871                 "type": "string"
4872               }
4873             },
4874             "network-interfaces": {
4875               "type": "object",
4876               "patternProperties": {
4877                 ".*": {
4878                   "$ref": "#/definitions/NetworkInterface"
4879                 }
4880               }
4881             },
4882             "series": {
4883               "type": "string"
4884             },
4885             "wants-vote": {
4886               "type": "boolean"
4887             }
4888           },
4889           "additionalProperties": false,
4890           "required": [
4891             "agent-status",
4892             "instance-status",
4893             "dns-name",
4894             "instance-id",
4895             "series",
4896             "id",
4897             "containers",
4898             "constraints",
4899             "hardware",
4900             "jobs",
4901             "has-vote",
4902             "wants-vote"
4903           ]
4904         },
4905         "MeterStatus": {
4906           "type": "object",
4907           "properties": {
4908             "color": {
4909               "type": "string"
4910             },
4911             "message": {
4912               "type": "string"
4913             }
4914           },
4915           "additionalProperties": false,
4916           "required": [
4917             "color",
4918             "message"
4919           ]
4920         },
4921         "ModelConfigResults": {
4922           "type": "object",
4923           "properties": {
4924             "config": {
4925               "type": "object",
4926               "patternProperties": {
4927                 ".*": {
4928                   "$ref": "#/definitions/ConfigValue"
4929                 }
4930               }
4931             }
4932           },
4933           "additionalProperties": false,
4934           "required": [
4935             "config"
4936           ]
4937         },
4938         "ModelInfo": {
4939           "type": "object",
4940           "properties": {
4941             "agent-version": {
4942               "$ref": "#/definitions/Number"
4943             },
4944             "cloud-credential-tag": {
4945               "type": "string"
4946             },
4947             "cloud-region": {
4948               "type": "string"
4949             },
4950             "cloud-tag": {
4951               "type": "string"
4952             },
4953             "controller-uuid": {
4954               "type": "string"
4955             },
4956             "default-series": {
4957               "type": "string"
4958             },
4959             "life": {
4960               "type": "string"
4961             },
4962             "machines": {
4963               "type": "array",
4964               "items": {
4965                 "$ref": "#/definitions/ModelMachineInfo"
4966               }
4967             },
4968             "migration": {
4969               "$ref": "#/definitions/ModelMigrationStatus"
4970             },
4971             "name": {
4972               "type": "string"
4973             },
4974             "owner-tag": {
4975               "type": "string"
4976             },
4977             "provider-type": {
4978               "type": "string"
4979             },
4980             "sla": {
4981               "$ref": "#/definitions/ModelSLAInfo"
4982             },
4983             "status": {
4984               "$ref": "#/definitions/EntityStatus"
4985             },
4986             "users": {
4987               "type": "array",
4988               "items": {
4989                 "$ref": "#/definitions/ModelUserInfo"
4990               }
4991             },
4992             "uuid": {
4993               "type": "string"
4994             }
4995           },
4996           "additionalProperties": false,
4997           "required": [
4998             "name",
4999             "uuid",
5000             "controller-uuid",
5001             "cloud-tag",
5002             "owner-tag",
5003             "life",
5004             "users",
5005             "machines",
5006             "sla",
5007             "agent-version"
5008           ]
5009         },
5010         "ModelMachineInfo": {
5011           "type": "object",
5012           "properties": {
5013             "hardware": {
5014               "$ref": "#/definitions/MachineHardware"
5015             },
5016             "has-vote": {
5017               "type": "boolean"
5018             },
5019             "id": {
5020               "type": "string"
5021             },
5022             "instance-id": {
5023               "type": "string"
5024             },
5025             "status": {
5026               "type": "string"
5027             },
5028             "wants-vote": {
5029               "type": "boolean"
5030             }
5031           },
5032           "additionalProperties": false,
5033           "required": [
5034             "id"
5035           ]
5036         },
5037         "ModelMigrationStatus": {
5038           "type": "object",
5039           "properties": {
5040             "end": {
5041               "type": "string",
5042               "format": "date-time"
5043             },
5044             "start": {
5045               "type": "string",
5046               "format": "date-time"
5047             },
5048             "status": {
5049               "type": "string"
5050             }
5051           },
5052           "additionalProperties": false,
5053           "required": [
5054             "status",
5055             "start"
5056           ]
5057         },
5058         "ModelSLA": {
5059           "type": "object",
5060           "properties": {
5061             "ModelSLAInfo": {
5062               "$ref": "#/definitions/ModelSLAInfo"
5063             },
5064             "creds": {
5065               "type": "array",
5066               "items": {
5067                 "type": "integer"
5068               }
5069             }
5070           },
5071           "additionalProperties": false,
5072           "required": [
5073             "ModelSLAInfo",
5074             "creds"
5075           ]
5076         },
5077         "ModelSLAInfo": {
5078           "type": "object",
5079           "properties": {
5080             "level": {
5081               "type": "string"
5082             },
5083             "owner": {
5084               "type": "string"
5085             }
5086           },
5087           "additionalProperties": false,
5088           "required": [
5089             "level",
5090             "owner"
5091           ]
5092         },
5093         "ModelSet": {
5094           "type": "object",
5095           "properties": {
5096             "config": {
5097               "type": "object",
5098               "patternProperties": {
5099                 ".*": {
5100                   "type": "object",
5101                   "additionalProperties": true
5102                 }
5103               }
5104             }
5105           },
5106           "additionalProperties": false,
5107           "required": [
5108             "config"
5109           ]
5110         },
5111         "ModelStatusInfo": {
5112           "type": "object",
5113           "properties": {
5114             "available-version": {
5115               "type": "string"
5116             },
5117             "cloud-tag": {
5118               "type": "string"
5119             },
5120             "meter-status": {
5121               "$ref": "#/definitions/MeterStatus"
5122             },
5123             "model-status": {
5124               "$ref": "#/definitions/DetailedStatus"
5125             },
5126             "name": {
5127               "type": "string"
5128             },
5129             "region": {
5130               "type": "string"
5131             },
5132             "sla": {
5133               "type": "string"
5134             },
5135             "version": {
5136               "type": "string"
5137             }
5138           },
5139           "additionalProperties": false,
5140           "required": [
5141             "name",
5142             "cloud-tag",
5143             "version",
5144             "available-version",
5145             "model-status",
5146             "meter-status",
5147             "sla"
5148           ]
5149         },
5150         "ModelUnset": {
5151           "type": "object",
5152           "properties": {
5153             "keys": {
5154               "type": "array",
5155               "items": {
5156                 "type": "string"
5157               }
5158             }
5159           },
5160           "additionalProperties": false,
5161           "required": [
5162             "keys"
5163           ]
5164         },
5165         "ModelUserInfo": {
5166           "type": "object",
5167           "properties": {
5168             "access": {
5169               "type": "string"
5170             },
5171             "display-name": {
5172               "type": "string"
5173             },
5174             "last-connection": {
5175               "type": "string",
5176               "format": "date-time"
5177             },
5178             "user": {
5179               "type": "string"
5180             }
5181           },
5182           "additionalProperties": false,
5183           "required": [
5184             "user",
5185             "display-name",
5186             "last-connection",
5187             "access"
5188           ]
5189         },
5190         "ModelUserInfoResult": {
5191           "type": "object",
5192           "properties": {
5193             "error": {
5194               "$ref": "#/definitions/Error"
5195             },
5196             "result": {
5197               "$ref": "#/definitions/ModelUserInfo"
5198             }
5199           },
5200           "additionalProperties": false
5201         },
5202         "ModelUserInfoResults": {
5203           "type": "object",
5204           "properties": {
5205             "results": {
5206               "type": "array",
5207               "items": {
5208                 "$ref": "#/definitions/ModelUserInfoResult"
5209               }
5210             }
5211           },
5212           "additionalProperties": false,
5213           "required": [
5214             "results"
5215           ]
5216         },
5217         "NetworkInterface": {
5218           "type": "object",
5219           "properties": {
5220             "dns-nameservers": {
5221               "type": "array",
5222               "items": {
5223                 "type": "string"
5224               }
5225             },
5226             "gateway": {
5227               "type": "string"
5228             },
5229             "ip-addresses": {
5230               "type": "array",
5231               "items": {
5232                 "type": "string"
5233               }
5234             },
5235             "is-up": {
5236               "type": "boolean"
5237             },
5238             "mac-address": {
5239               "type": "string"
5240             },
5241             "space": {
5242               "type": "string"
5243             }
5244           },
5245           "additionalProperties": false,
5246           "required": [
5247             "ip-addresses",
5248             "mac-address",
5249             "is-up"
5250           ]
5251         },
5252         "Number": {
5253           "type": "object",
5254           "properties": {
5255             "Build": {
5256               "type": "integer"
5257             },
5258             "Major": {
5259               "type": "integer"
5260             },
5261             "Minor": {
5262               "type": "integer"
5263             },
5264             "Patch": {
5265               "type": "integer"
5266             },
5267             "Tag": {
5268               "type": "string"
5269             }
5270           },
5271           "additionalProperties": false,
5272           "required": [
5273             "Major",
5274             "Minor",
5275             "Tag",
5276             "Patch",
5277             "Build"
5278           ]
5279         },
5280         "Placement": {
5281           "type": "object",
5282           "properties": {
5283             "directive": {
5284               "type": "string"
5285             },
5286             "scope": {
5287               "type": "string"
5288             }
5289           },
5290           "additionalProperties": false,
5291           "required": [
5292             "scope",
5293             "directive"
5294           ]
5295         },
5296         "PrivateAddress": {
5297           "type": "object",
5298           "properties": {
5299             "target": {
5300               "type": "string"
5301             }
5302           },
5303           "additionalProperties": false,
5304           "required": [
5305             "target"
5306           ]
5307         },
5308         "PrivateAddressResults": {
5309           "type": "object",
5310           "properties": {
5311             "private-address": {
5312               "type": "string"
5313             }
5314           },
5315           "additionalProperties": false,
5316           "required": [
5317             "private-address"
5318           ]
5319         },
5320         "ProvisioningScriptParams": {
5321           "type": "object",
5322           "properties": {
5323             "data-dir": {
5324               "type": "string"
5325             },
5326             "disable-package-commands": {
5327               "type": "boolean"
5328             },
5329             "machine-id": {
5330               "type": "string"
5331             },
5332             "nonce": {
5333               "type": "string"
5334             }
5335           },
5336           "additionalProperties": false,
5337           "required": [
5338             "machine-id",
5339             "nonce",
5340             "data-dir",
5341             "disable-package-commands"
5342           ]
5343         },
5344         "ProvisioningScriptResult": {
5345           "type": "object",
5346           "properties": {
5347             "script": {
5348               "type": "string"
5349             }
5350           },
5351           "additionalProperties": false,
5352           "required": [
5353             "script"
5354           ]
5355         },
5356         "PublicAddress": {
5357           "type": "object",
5358           "properties": {
5359             "target": {
5360               "type": "string"
5361             }
5362           },
5363           "additionalProperties": false,
5364           "required": [
5365             "target"
5366           ]
5367         },
5368         "PublicAddressResults": {
5369           "type": "object",
5370           "properties": {
5371             "public-address": {
5372               "type": "string"
5373             }
5374           },
5375           "additionalProperties": false,
5376           "required": [
5377             "public-address"
5378           ]
5379         },
5380         "RelationStatus": {
5381           "type": "object",
5382           "properties": {
5383             "endpoints": {
5384               "type": "array",
5385               "items": {
5386                 "$ref": "#/definitions/EndpointStatus"
5387               }
5388             },
5389             "id": {
5390               "type": "integer"
5391             },
5392             "interface": {
5393               "type": "string"
5394             },
5395             "key": {
5396               "type": "string"
5397             },
5398             "scope": {
5399               "type": "string"
5400             }
5401           },
5402           "additionalProperties": false,
5403           "required": [
5404             "id",
5405             "key",
5406             "interface",
5407             "scope",
5408             "endpoints"
5409           ]
5410         },
5411         "RemoteApplicationStatus": {
5412           "type": "object",
5413           "properties": {
5414             "application-name": {
5415               "type": "string"
5416             },
5417             "application-url": {
5418               "type": "string"
5419             },
5420             "endpoints": {
5421               "type": "array",
5422               "items": {
5423                 "$ref": "#/definitions/RemoteEndpoint"
5424               }
5425             },
5426             "err": {
5427               "type": "object",
5428               "additionalProperties": true
5429             },
5430             "life": {
5431               "type": "string"
5432             },
5433             "relations": {
5434               "type": "object",
5435               "patternProperties": {
5436                 ".*": {
5437                   "type": "array",
5438                   "items": {
5439                     "type": "string"
5440                   }
5441                 }
5442               }
5443             },
5444             "status": {
5445               "$ref": "#/definitions/DetailedStatus"
5446             }
5447           },
5448           "additionalProperties": false,
5449           "required": [
5450             "application-url",
5451             "application-name",
5452             "endpoints",
5453             "life",
5454             "relations",
5455             "status"
5456           ]
5457         },
5458         "RemoteEndpoint": {
5459           "type": "object",
5460           "properties": {
5461             "interface": {
5462               "type": "string"
5463             },
5464             "limit": {
5465               "type": "integer"
5466             },
5467             "name": {
5468               "type": "string"
5469             },
5470             "role": {
5471               "type": "string"
5472             },
5473             "scope": {
5474               "type": "string"
5475             }
5476           },
5477           "additionalProperties": false,
5478           "required": [
5479             "name",
5480             "role",
5481             "interface",
5482             "limit",
5483             "scope"
5484           ]
5485         },
5486         "ResolveCharmResult": {
5487           "type": "object",
5488           "properties": {
5489             "error": {
5490               "type": "string"
5491             },
5492             "url": {
5493               "type": "string"
5494             }
5495           },
5496           "additionalProperties": false
5497         },
5498         "ResolveCharmResults": {
5499           "type": "object",
5500           "properties": {
5501             "urls": {
5502               "type": "array",
5503               "items": {
5504                 "$ref": "#/definitions/ResolveCharmResult"
5505               }
5506             }
5507           },
5508           "additionalProperties": false,
5509           "required": [
5510             "urls"
5511           ]
5512         },
5513         "ResolveCharms": {
5514           "type": "object",
5515           "properties": {
5516             "references": {
5517               "type": "array",
5518               "items": {
5519                 "type": "string"
5520               }
5521             }
5522           },
5523           "additionalProperties": false,
5524           "required": [
5525             "references"
5526           ]
5527         },
5528         "Resolved": {
5529           "type": "object",
5530           "properties": {
5531             "retry": {
5532               "type": "boolean"
5533             },
5534             "unit-name": {
5535               "type": "string"
5536             }
5537           },
5538           "additionalProperties": false,
5539           "required": [
5540             "unit-name",
5541             "retry"
5542           ]
5543         },
5544         "SetConstraints": {
5545           "type": "object",
5546           "properties": {
5547             "application": {
5548               "type": "string"
5549             },
5550             "constraints": {
5551               "$ref": "#/definitions/Value"
5552             }
5553           },
5554           "additionalProperties": false,
5555           "required": [
5556             "application",
5557             "constraints"
5558           ]
5559         },
5560         "SetModelAgentVersion": {
5561           "type": "object",
5562           "properties": {
5563             "version": {
5564               "$ref": "#/definitions/Number"
5565             }
5566           },
5567           "additionalProperties": false,
5568           "required": [
5569             "version"
5570           ]
5571         },
5572         "StatusHistoryFilter": {
5573           "type": "object",
5574           "properties": {
5575             "date": {
5576               "type": "string",
5577               "format": "date-time"
5578             },
5579             "delta": {
5580               "type": "integer"
5581             },
5582             "exclude": {
5583               "type": "array",
5584               "items": {
5585                 "type": "string"
5586               }
5587             },
5588             "size": {
5589               "type": "integer"
5590             }
5591           },
5592           "additionalProperties": false,
5593           "required": [
5594             "size",
5595             "date",
5596             "delta",
5597             "exclude"
5598           ]
5599         },
5600         "StatusHistoryRequest": {
5601           "type": "object",
5602           "properties": {
5603             "filter": {
5604               "$ref": "#/definitions/StatusHistoryFilter"
5605             },
5606             "historyKind": {
5607               "type": "string"
5608             },
5609             "size": {
5610               "type": "integer"
5611             },
5612             "tag": {
5613               "type": "string"
5614             }
5615           },
5616           "additionalProperties": false,
5617           "required": [
5618             "historyKind",
5619             "size",
5620             "filter",
5621             "tag"
5622           ]
5623         },
5624         "StatusHistoryRequests": {
5625           "type": "object",
5626           "properties": {
5627             "requests": {
5628               "type": "array",
5629               "items": {
5630                 "$ref": "#/definitions/StatusHistoryRequest"
5631               }
5632             }
5633           },
5634           "additionalProperties": false,
5635           "required": [
5636             "requests"
5637           ]
5638         },
5639         "StatusHistoryResult": {
5640           "type": "object",
5641           "properties": {
5642             "error": {
5643               "$ref": "#/definitions/Error"
5644             },
5645             "history": {
5646               "$ref": "#/definitions/History"
5647             }
5648           },
5649           "additionalProperties": false,
5650           "required": [
5651             "history"
5652           ]
5653         },
5654         "StatusHistoryResults": {
5655           "type": "object",
5656           "properties": {
5657             "results": {
5658               "type": "array",
5659               "items": {
5660                 "$ref": "#/definitions/StatusHistoryResult"
5661               }
5662             }
5663           },
5664           "additionalProperties": false,
5665           "required": [
5666             "results"
5667           ]
5668         },
5669         "StatusParams": {
5670           "type": "object",
5671           "properties": {
5672             "patterns": {
5673               "type": "array",
5674               "items": {
5675                 "type": "string"
5676               }
5677             }
5678           },
5679           "additionalProperties": false,
5680           "required": [
5681             "patterns"
5682           ]
5683         },
5684         "StringResult": {
5685           "type": "object",
5686           "properties": {
5687             "error": {
5688               "$ref": "#/definitions/Error"
5689             },
5690             "result": {
5691               "type": "string"
5692             }
5693           },
5694           "additionalProperties": false,
5695           "required": [
5696             "result"
5697           ]
5698         },
5699         "Tools": {
5700           "type": "object",
5701           "properties": {
5702             "sha256": {
5703               "type": "string"
5704             },
5705             "size": {
5706               "type": "integer"
5707             },
5708             "url": {
5709               "type": "string"
5710             },
5711             "version": {
5712               "$ref": "#/definitions/Binary"
5713             }
5714           },
5715           "additionalProperties": false,
5716           "required": [
5717             "version",
5718             "url",
5719             "size"
5720           ]
5721         },
5722         "UnitStatus": {
5723           "type": "object",
5724           "properties": {
5725             "agent-status": {
5726               "$ref": "#/definitions/DetailedStatus"
5727             },
5728             "charm": {
5729               "type": "string"
5730             },
5731             "leader": {
5732               "type": "boolean"
5733             },
5734             "machine": {
5735               "type": "string"
5736             },
5737             "opened-ports": {
5738               "type": "array",
5739               "items": {
5740                 "type": "string"
5741               }
5742             },
5743             "public-address": {
5744               "type": "string"
5745             },
5746             "subordinates": {
5747               "type": "object",
5748               "patternProperties": {
5749                 ".*": {
5750                   "$ref": "#/definitions/UnitStatus"
5751                 }
5752               }
5753             },
5754             "workload-status": {
5755               "$ref": "#/definitions/DetailedStatus"
5756             },
5757             "workload-version": {
5758               "type": "string"
5759             }
5760           },
5761           "additionalProperties": false,
5762           "required": [
5763             "agent-status",
5764             "workload-status",
5765             "workload-version",
5766             "machine",
5767             "opened-ports",
5768             "public-address",
5769             "charm",
5770             "subordinates"
5771           ]
5772         },
5773         "Value": {
5774           "type": "object",
5775           "properties": {
5776             "arch": {
5777               "type": "string"
5778             },
5779             "container": {
5780               "type": "string"
5781             },
5782             "cores": {
5783               "type": "integer"
5784             },
5785             "cpu-power": {
5786               "type": "integer"
5787             },
5788             "instance-type": {
5789               "type": "string"
5790             },
5791             "mem": {
5792               "type": "integer"
5793             },
5794             "root-disk": {
5795               "type": "integer"
5796             },
5797             "spaces": {
5798               "type": "array",
5799               "items": {
5800                 "type": "string"
5801               }
5802             },
5803             "tags": {
5804               "type": "array",
5805               "items": {
5806                 "type": "string"
5807               }
5808             },
5809             "virt-type": {
5810               "type": "string"
5811             }
5812           },
5813           "additionalProperties": false
5814         }
5815       }
5816     }
5817   },
5818   {
5819     "Name": "Cloud",
5820     "Version": 1,
5821     "Schema": {
5822       "type": "object",
5823       "properties": {
5824         "Cloud": {
5825           "type": "object",
5826           "properties": {
5827             "Params": {
5828               "$ref": "#/definitions/Entities"
5829             },
5830             "Result": {
5831               "$ref": "#/definitions/CloudResults"
5832             }
5833           }
5834         },
5835         "Clouds": {
5836           "type": "object",
5837           "properties": {
5838             "Result": {
5839               "$ref": "#/definitions/CloudsResult"
5840             }
5841           }
5842         },
5843         "Credential": {
5844           "type": "object",
5845           "properties": {
5846             "Params": {
5847               "$ref": "#/definitions/Entities"
5848             },
5849             "Result": {
5850               "$ref": "#/definitions/CloudCredentialResults"
5851             }
5852           }
5853         },
5854         "DefaultCloud": {
5855           "type": "object",
5856           "properties": {
5857             "Result": {
5858               "$ref": "#/definitions/StringResult"
5859             }
5860           }
5861         },
5862         "InstanceTypes": {
5863           "type": "object",
5864           "properties": {
5865             "Params": {
5866               "$ref": "#/definitions/CloudInstanceTypesConstraints"
5867             },
5868             "Result": {
5869               "$ref": "#/definitions/InstanceTypesResults"
5870             }
5871           }
5872         },
5873         "RevokeCredentials": {
5874           "type": "object",
5875           "properties": {
5876             "Params": {
5877               "$ref": "#/definitions/Entities"
5878             },
5879             "Result": {
5880               "$ref": "#/definitions/ErrorResults"
5881             }
5882           }
5883         },
5884         "UpdateCredentials": {
5885           "type": "object",
5886           "properties": {
5887             "Params": {
5888               "$ref": "#/definitions/UpdateCloudCredentials"
5889             },
5890             "Result": {
5891               "$ref": "#/definitions/ErrorResults"
5892             }
5893           }
5894         },
5895         "UserCredentials": {
5896           "type": "object",
5897           "properties": {
5898             "Params": {
5899               "$ref": "#/definitions/UserClouds"
5900             },
5901             "Result": {
5902               "$ref": "#/definitions/StringsResults"
5903             }
5904           }
5905         }
5906       },
5907       "definitions": {
5908         "Cloud": {
5909           "type": "object",
5910           "properties": {
5911             "auth-types": {
5912               "type": "array",
5913               "items": {
5914                 "type": "string"
5915               }
5916             },
5917             "endpoint": {
5918               "type": "string"
5919             },
5920             "identity-endpoint": {
5921               "type": "string"
5922             },
5923             "regions": {
5924               "type": "array",
5925               "items": {
5926                 "$ref": "#/definitions/CloudRegion"
5927               }
5928             },
5929             "storage-endpoint": {
5930               "type": "string"
5931             },
5932             "type": {
5933               "type": "string"
5934             }
5935           },
5936           "additionalProperties": false,
5937           "required": [
5938             "type"
5939           ]
5940         },
5941         "CloudCredential": {
5942           "type": "object",
5943           "properties": {
5944             "attrs": {
5945               "type": "object",
5946               "patternProperties": {
5947                 ".*": {
5948                   "type": "string"
5949                 }
5950               }
5951             },
5952             "auth-type": {
5953               "type": "string"
5954             },
5955             "redacted": {
5956               "type": "array",
5957               "items": {
5958                 "type": "string"
5959               }
5960             }
5961           },
5962           "additionalProperties": false,
5963           "required": [
5964             "auth-type"
5965           ]
5966         },
5967         "CloudCredentialResult": {
5968           "type": "object",
5969           "properties": {
5970             "error": {
5971               "$ref": "#/definitions/Error"
5972             },
5973             "result": {
5974               "$ref": "#/definitions/CloudCredential"
5975             }
5976           },
5977           "additionalProperties": false
5978         },
5979         "CloudCredentialResults": {
5980           "type": "object",
5981           "properties": {
5982             "results": {
5983               "type": "array",
5984               "items": {
5985                 "$ref": "#/definitions/CloudCredentialResult"
5986               }
5987             }
5988           },
5989           "additionalProperties": false
5990         },
5991         "CloudInstanceTypesConstraint": {
5992           "type": "object",
5993           "properties": {
5994             "cloud-tag": {
5995               "type": "string"
5996             },
5997             "constraints": {
5998               "$ref": "#/definitions/Value"
5999             },
6000             "region": {
6001               "type": "string"
6002             }
6003           },
6004           "additionalProperties": false,
6005           "required": [
6006             "cloud-tag",
6007             "region"
6008           ]
6009         },
6010         "CloudInstanceTypesConstraints": {
6011           "type": "object",
6012           "properties": {
6013             "constraints": {
6014               "type": "array",
6015               "items": {
6016                 "$ref": "#/definitions/CloudInstanceTypesConstraint"
6017               }
6018             }
6019           },
6020           "additionalProperties": false,
6021           "required": [
6022             "constraints"
6023           ]
6024         },
6025         "CloudRegion": {
6026           "type": "object",
6027           "properties": {
6028             "endpoint": {
6029               "type": "string"
6030             },
6031             "identity-endpoint": {
6032               "type": "string"
6033             },
6034             "name": {
6035               "type": "string"
6036             },
6037             "storage-endpoint": {
6038               "type": "string"
6039             }
6040           },
6041           "additionalProperties": false,
6042           "required": [
6043             "name"
6044           ]
6045         },
6046         "CloudResult": {
6047           "type": "object",
6048           "properties": {
6049             "cloud": {
6050               "$ref": "#/definitions/Cloud"
6051             },
6052             "error": {
6053               "$ref": "#/definitions/Error"
6054             }
6055           },
6056           "additionalProperties": false
6057         },
6058         "CloudResults": {
6059           "type": "object",
6060           "properties": {
6061             "results": {
6062               "type": "array",
6063               "items": {
6064                 "$ref": "#/definitions/CloudResult"
6065               }
6066             }
6067           },
6068           "additionalProperties": false
6069         },
6070         "CloudsResult": {
6071           "type": "object",
6072           "properties": {
6073             "clouds": {
6074               "type": "object",
6075               "patternProperties": {
6076                 ".*": {
6077                   "$ref": "#/definitions/Cloud"
6078                 }
6079               }
6080             }
6081           },
6082           "additionalProperties": false
6083         },
6084         "Entities": {
6085           "type": "object",
6086           "properties": {
6087             "entities": {
6088               "type": "array",
6089               "items": {
6090                 "$ref": "#/definitions/Entity"
6091               }
6092             }
6093           },
6094           "additionalProperties": false,
6095           "required": [
6096             "entities"
6097           ]
6098         },
6099         "Entity": {
6100           "type": "object",
6101           "properties": {
6102             "tag": {
6103               "type": "string"
6104             }
6105           },
6106           "additionalProperties": false,
6107           "required": [
6108             "tag"
6109           ]
6110         },
6111         "Error": {
6112           "type": "object",
6113           "properties": {
6114             "code": {
6115               "type": "string"
6116             },
6117             "info": {
6118               "$ref": "#/definitions/ErrorInfo"
6119             },
6120             "message": {
6121               "type": "string"
6122             }
6123           },
6124           "additionalProperties": false,
6125           "required": [
6126             "message",
6127             "code"
6128           ]
6129         },
6130         "ErrorInfo": {
6131           "type": "object",
6132           "properties": {
6133             "macaroon": {
6134               "$ref": "#/definitions/Macaroon"
6135             },
6136             "macaroon-path": {
6137               "type": "string"
6138             }
6139           },
6140           "additionalProperties": false
6141         },
6142         "ErrorResult": {
6143           "type": "object",
6144           "properties": {
6145             "error": {
6146               "$ref": "#/definitions/Error"
6147             }
6148           },
6149           "additionalProperties": false
6150         },
6151         "ErrorResults": {
6152           "type": "object",
6153           "properties": {
6154             "results": {
6155               "type": "array",
6156               "items": {
6157                 "$ref": "#/definitions/ErrorResult"
6158               }
6159             }
6160           },
6161           "additionalProperties": false,
6162           "required": [
6163             "results"
6164           ]
6165         },
6166         "InstanceType": {
6167           "type": "object",
6168           "properties": {
6169             "arches": {
6170               "type": "array",
6171               "items": {
6172                 "type": "string"
6173               }
6174             },
6175             "cost": {
6176               "type": "integer"
6177             },
6178             "cpu-cores": {
6179               "type": "integer"
6180             },
6181             "deprecated": {
6182               "type": "boolean"
6183             },
6184             "memory": {
6185               "type": "integer"
6186             },
6187             "name": {
6188               "type": "string"
6189             },
6190             "root-disk": {
6191               "type": "integer"
6192             },
6193             "virt-type": {
6194               "type": "string"
6195             }
6196           },
6197           "additionalProperties": false,
6198           "required": [
6199             "arches",
6200             "cpu-cores",
6201             "memory"
6202           ]
6203         },
6204         "InstanceTypesResult": {
6205           "type": "object",
6206           "properties": {
6207             "cost-currency": {
6208               "type": "string"
6209             },
6210             "cost-divisor": {
6211               "type": "integer"
6212             },
6213             "cost-unit": {
6214               "type": "string"
6215             },
6216             "error": {
6217               "$ref": "#/definitions/Error"
6218             },
6219             "instance-types": {
6220               "type": "array",
6221               "items": {
6222                 "$ref": "#/definitions/InstanceType"
6223               }
6224             }
6225           },
6226           "additionalProperties": false
6227         },
6228         "InstanceTypesResults": {
6229           "type": "object",
6230           "properties": {
6231             "results": {
6232               "type": "array",
6233               "items": {
6234                 "$ref": "#/definitions/InstanceTypesResult"
6235               }
6236             }
6237           },
6238           "additionalProperties": false,
6239           "required": [
6240             "results"
6241           ]
6242         },
6243         "Macaroon": {
6244           "type": "object",
6245           "additionalProperties": false
6246         },
6247         "StringResult": {
6248           "type": "object",
6249           "properties": {
6250             "error": {
6251               "$ref": "#/definitions/Error"
6252             },
6253             "result": {
6254               "type": "string"
6255             }
6256           },
6257           "additionalProperties": false,
6258           "required": [
6259             "result"
6260           ]
6261         },
6262         "StringsResult": {
6263           "type": "object",
6264           "properties": {
6265             "error": {
6266               "$ref": "#/definitions/Error"
6267             },
6268             "result": {
6269               "type": "array",
6270               "items": {
6271                 "type": "string"
6272               }
6273             }
6274           },
6275           "additionalProperties": false
6276         },
6277         "StringsResults": {
6278           "type": "object",
6279           "properties": {
6280             "results": {
6281               "type": "array",
6282               "items": {
6283                 "$ref": "#/definitions/StringsResult"
6284               }
6285             }
6286           },
6287           "additionalProperties": false,
6288           "required": [
6289             "results"
6290           ]
6291         },
6292         "UpdateCloudCredential": {
6293           "type": "object",
6294           "properties": {
6295             "credential": {
6296               "$ref": "#/definitions/CloudCredential"
6297             },
6298             "tag": {
6299               "type": "string"
6300             }
6301           },
6302           "additionalProperties": false,
6303           "required": [
6304             "tag",
6305             "credential"
6306           ]
6307         },
6308         "UpdateCloudCredentials": {
6309           "type": "object",
6310           "properties": {
6311             "credentials": {
6312               "type": "array",
6313               "items": {
6314                 "$ref": "#/definitions/UpdateCloudCredential"
6315               }
6316             }
6317           },
6318           "additionalProperties": false
6319         },
6320         "UserCloud": {
6321           "type": "object",
6322           "properties": {
6323             "cloud-tag": {
6324               "type": "string"
6325             },
6326             "user-tag": {
6327               "type": "string"
6328             }
6329           },
6330           "additionalProperties": false,
6331           "required": [
6332             "user-tag",
6333             "cloud-tag"
6334           ]
6335         },
6336         "UserClouds": {
6337           "type": "object",
6338           "properties": {
6339             "user-clouds": {
6340               "type": "array",
6341               "items": {
6342                 "$ref": "#/definitions/UserCloud"
6343               }
6344             }
6345           },
6346           "additionalProperties": false
6347         },
6348         "Value": {
6349           "type": "object",
6350           "properties": {
6351             "arch": {
6352               "type": "string"
6353             },
6354             "container": {
6355               "type": "string"
6356             },
6357             "cores": {
6358               "type": "integer"
6359             },
6360             "cpu-power": {
6361               "type": "integer"
6362             },
6363             "instance-type": {
6364               "type": "string"
6365             },
6366             "mem": {
6367               "type": "integer"
6368             },
6369             "root-disk": {
6370               "type": "integer"
6371             },
6372             "spaces": {
6373               "type": "array",
6374               "items": {
6375                 "type": "string"
6376               }
6377             },
6378             "tags": {
6379               "type": "array",
6380               "items": {
6381                 "type": "string"
6382               }
6383             },
6384             "virt-type": {
6385               "type": "string"
6386             }
6387           },
6388           "additionalProperties": false
6389         }
6390       }
6391     }
6392   },
6393   {
6394     "Name": "Controller",
6395     "Version": 3,
6396     "Schema": {
6397       "type": "object",
6398       "properties": {
6399         "AllModels": {
6400           "type": "object",
6401           "properties": {
6402             "Result": {
6403               "$ref": "#/definitions/UserModelList"
6404             }
6405           }
6406         },
6407         "CloudSpec": {
6408           "type": "object",
6409           "properties": {
6410             "Params": {
6411               "$ref": "#/definitions/Entities"
6412             },
6413             "Result": {
6414               "$ref": "#/definitions/CloudSpecResults"
6415             }
6416           }
6417         },
6418         "ControllerConfig": {
6419           "type": "object",
6420           "properties": {
6421             "Result": {
6422               "$ref": "#/definitions/ControllerConfigResult"
6423             }
6424           }
6425         },
6426         "DestroyController": {
6427           "type": "object",
6428           "properties": {
6429             "Params": {
6430               "$ref": "#/definitions/DestroyControllerArgs"
6431             }
6432           }
6433         },
6434         "GetCloudSpec": {
6435           "type": "object",
6436           "properties": {
6437             "Params": {
6438               "$ref": "#/definitions/ModelTag"
6439             },
6440             "Result": {
6441               "$ref": "#/definitions/CloudSpecResult"
6442             }
6443           }
6444         },
6445         "GetControllerAccess": {
6446           "type": "object",
6447           "properties": {
6448             "Params": {
6449               "$ref": "#/definitions/Entities"
6450             },
6451             "Result": {
6452               "$ref": "#/definitions/UserAccessResults"
6453             }
6454           }
6455         },
6456         "HostedModelConfigs": {
6457           "type": "object",
6458           "properties": {
6459             "Result": {
6460               "$ref": "#/definitions/HostedModelConfigsResults"
6461             }
6462           }
6463         },
6464         "InitiateMigration": {
6465           "type": "object",
6466           "properties": {
6467             "Params": {
6468               "$ref": "#/definitions/InitiateMigrationArgs"
6469             },
6470             "Result": {
6471               "$ref": "#/definitions/InitiateMigrationResults"
6472             }
6473           }
6474         },
6475         "ListBlockedModels": {
6476           "type": "object",
6477           "properties": {
6478             "Result": {
6479               "$ref": "#/definitions/ModelBlockInfoList"
6480             }
6481           }
6482         },
6483         "ModelConfig": {
6484           "type": "object",
6485           "properties": {
6486             "Result": {
6487               "$ref": "#/definitions/ModelConfigResults"
6488             }
6489           }
6490         },
6491         "ModelStatus": {
6492           "type": "object",
6493           "properties": {
6494             "Params": {
6495               "$ref": "#/definitions/Entities"
6496             },
6497             "Result": {
6498               "$ref": "#/definitions/ModelStatusResults"
6499             }
6500           }
6501         },
6502         "ModifyControllerAccess": {
6503           "type": "object",
6504           "properties": {
6505             "Params": {
6506               "$ref": "#/definitions/ModifyControllerAccessRequest"
6507             },
6508             "Result": {
6509               "$ref": "#/definitions/ErrorResults"
6510             }
6511           }
6512         },
6513         "RemoveBlocks": {
6514           "type": "object",
6515           "properties": {
6516             "Params": {
6517               "$ref": "#/definitions/RemoveBlocksArgs"
6518             }
6519           }
6520         },
6521         "WatchAllModels": {
6522           "type": "object",
6523           "properties": {
6524             "Result": {
6525               "$ref": "#/definitions/AllWatcherId"
6526             }
6527           }
6528         }
6529       },
6530       "definitions": {
6531         "AllWatcherId": {
6532           "type": "object",
6533           "properties": {
6534             "watcher-id": {
6535               "type": "string"
6536             }
6537           },
6538           "additionalProperties": false,
6539           "required": [
6540             "watcher-id"
6541           ]
6542         },
6543         "CloudCredential": {
6544           "type": "object",
6545           "properties": {
6546             "attrs": {
6547               "type": "object",
6548               "patternProperties": {
6549                 ".*": {
6550                   "type": "string"
6551                 }
6552               }
6553             },
6554             "auth-type": {
6555               "type": "string"
6556             },
6557             "redacted": {
6558               "type": "array",
6559               "items": {
6560                 "type": "string"
6561               }
6562             }
6563           },
6564           "additionalProperties": false,
6565           "required": [
6566             "auth-type"
6567           ]
6568         },
6569         "CloudSpec": {
6570           "type": "object",
6571           "properties": {
6572             "credential": {
6573               "$ref": "#/definitions/CloudCredential"
6574             },
6575             "endpoint": {
6576               "type": "string"
6577             },
6578             "identity-endpoint": {
6579               "type": "string"
6580             },
6581             "name": {
6582               "type": "string"
6583             },
6584             "region": {
6585               "type": "string"
6586             },
6587             "storage-endpoint": {
6588               "type": "string"
6589             },
6590             "type": {
6591               "type": "string"
6592             }
6593           },
6594           "additionalProperties": false,
6595           "required": [
6596             "type",
6597             "name"
6598           ]
6599         },
6600         "CloudSpecResult": {
6601           "type": "object",
6602           "properties": {
6603             "error": {
6604               "$ref": "#/definitions/Error"
6605             },
6606             "result": {
6607               "$ref": "#/definitions/CloudSpec"
6608             }
6609           },
6610           "additionalProperties": false
6611         },
6612         "CloudSpecResults": {
6613           "type": "object",
6614           "properties": {
6615             "results": {
6616               "type": "array",
6617               "items": {
6618                 "$ref": "#/definitions/CloudSpecResult"
6619               }
6620             }
6621           },
6622           "additionalProperties": false
6623         },
6624         "ConfigValue": {
6625           "type": "object",
6626           "properties": {
6627             "source": {
6628               "type": "string"
6629             },
6630             "value": {
6631               "type": "object",
6632               "additionalProperties": true
6633             }
6634           },
6635           "additionalProperties": false,
6636           "required": [
6637             "value",
6638             "source"
6639           ]
6640         },
6641         "ControllerConfigResult": {
6642           "type": "object",
6643           "properties": {
6644             "config": {
6645               "type": "object",
6646               "patternProperties": {
6647                 ".*": {
6648                   "type": "object",
6649                   "additionalProperties": true
6650                 }
6651               }
6652             }
6653           },
6654           "additionalProperties": false,
6655           "required": [
6656             "config"
6657           ]
6658         },
6659         "DestroyControllerArgs": {
6660           "type": "object",
6661           "properties": {
6662             "destroy-models": {
6663               "type": "boolean"
6664             }
6665           },
6666           "additionalProperties": false,
6667           "required": [
6668             "destroy-models"
6669           ]
6670         },
6671         "Entities": {
6672           "type": "object",
6673           "properties": {
6674             "entities": {
6675               "type": "array",
6676               "items": {
6677                 "$ref": "#/definitions/Entity"
6678               }
6679             }
6680           },
6681           "additionalProperties": false,
6682           "required": [
6683             "entities"
6684           ]
6685         },
6686         "Entity": {
6687           "type": "object",
6688           "properties": {
6689             "tag": {
6690               "type": "string"
6691             }
6692           },
6693           "additionalProperties": false,
6694           "required": [
6695             "tag"
6696           ]
6697         },
6698         "Error": {
6699           "type": "object",
6700           "properties": {
6701             "code": {
6702               "type": "string"
6703             },
6704             "info": {
6705               "$ref": "#/definitions/ErrorInfo"
6706             },
6707             "message": {
6708               "type": "string"
6709             }
6710           },
6711           "additionalProperties": false,
6712           "required": [
6713             "message",
6714             "code"
6715           ]
6716         },
6717         "ErrorInfo": {
6718           "type": "object",
6719           "properties": {
6720             "macaroon": {
6721               "$ref": "#/definitions/Macaroon"
6722             },
6723             "macaroon-path": {
6724               "type": "string"
6725             }
6726           },
6727           "additionalProperties": false
6728         },
6729         "ErrorResult": {
6730           "type": "object",
6731           "properties": {
6732             "error": {
6733               "$ref": "#/definitions/Error"
6734             }
6735           },
6736           "additionalProperties": false
6737         },
6738         "ErrorResults": {
6739           "type": "object",
6740           "properties": {
6741             "results": {
6742               "type": "array",
6743               "items": {
6744                 "$ref": "#/definitions/ErrorResult"
6745               }
6746             }
6747           },
6748           "additionalProperties": false,
6749           "required": [
6750             "results"
6751           ]
6752         },
6753         "HostedModelConfig": {
6754           "type": "object",
6755           "properties": {
6756             "cloud-spec": {
6757               "$ref": "#/definitions/CloudSpec"
6758             },
6759             "config": {
6760               "type": "object",
6761               "patternProperties": {
6762                 ".*": {
6763                   "type": "object",
6764                   "additionalProperties": true
6765                 }
6766               }
6767             },
6768             "error": {
6769               "$ref": "#/definitions/Error"
6770             },
6771             "name": {
6772               "type": "string"
6773             },
6774             "owner": {
6775               "type": "string"
6776             }
6777           },
6778           "additionalProperties": false,
6779           "required": [
6780             "name",
6781             "owner"
6782           ]
6783         },
6784         "HostedModelConfigsResults": {
6785           "type": "object",
6786           "properties": {
6787             "models": {
6788               "type": "array",
6789               "items": {
6790                 "$ref": "#/definitions/HostedModelConfig"
6791               }
6792             }
6793           },
6794           "additionalProperties": false,
6795           "required": [
6796             "models"
6797           ]
6798         },
6799         "InitiateMigrationArgs": {
6800           "type": "object",
6801           "properties": {
6802             "specs": {
6803               "type": "array",
6804               "items": {
6805                 "$ref": "#/definitions/MigrationSpec"
6806               }
6807             }
6808           },
6809           "additionalProperties": false,
6810           "required": [
6811             "specs"
6812           ]
6813         },
6814         "InitiateMigrationResult": {
6815           "type": "object",
6816           "properties": {
6817             "error": {
6818               "$ref": "#/definitions/Error"
6819             },
6820             "migration-id": {
6821               "type": "string"
6822             },
6823             "model-tag": {
6824               "type": "string"
6825             }
6826           },
6827           "additionalProperties": false,
6828           "required": [
6829             "model-tag",
6830             "migration-id"
6831           ]
6832         },
6833         "InitiateMigrationResults": {
6834           "type": "object",
6835           "properties": {
6836             "results": {
6837               "type": "array",
6838               "items": {
6839                 "$ref": "#/definitions/InitiateMigrationResult"
6840               }
6841             }
6842           },
6843           "additionalProperties": false,
6844           "required": [
6845             "results"
6846           ]
6847         },
6848         "Macaroon": {
6849           "type": "object",
6850           "additionalProperties": false
6851         },
6852         "MachineHardware": {
6853           "type": "object",
6854           "properties": {
6855             "arch": {
6856               "type": "string"
6857             },
6858             "availability-zone": {
6859               "type": "string"
6860             },
6861             "cores": {
6862               "type": "integer"
6863             },
6864             "cpu-power": {
6865               "type": "integer"
6866             },
6867             "mem": {
6868               "type": "integer"
6869             },
6870             "root-disk": {
6871               "type": "integer"
6872             },
6873             "tags": {
6874               "type": "array",
6875               "items": {
6876                 "type": "string"
6877               }
6878             }
6879           },
6880           "additionalProperties": false
6881         },
6882         "MigrationSpec": {
6883           "type": "object",
6884           "properties": {
6885             "model-tag": {
6886               "type": "string"
6887             },
6888             "target-info": {
6889               "$ref": "#/definitions/MigrationTargetInfo"
6890             }
6891           },
6892           "additionalProperties": false,
6893           "required": [
6894             "model-tag",
6895             "target-info"
6896           ]
6897         },
6898         "MigrationTargetInfo": {
6899           "type": "object",
6900           "properties": {
6901             "addrs": {
6902               "type": "array",
6903               "items": {
6904                 "type": "string"
6905               }
6906             },
6907             "auth-tag": {
6908               "type": "string"
6909             },
6910             "ca-cert": {
6911               "type": "string"
6912             },
6913             "controller-tag": {
6914               "type": "string"
6915             },
6916             "macaroons": {
6917               "type": "string"
6918             },
6919             "password": {
6920               "type": "string"
6921             }
6922           },
6923           "additionalProperties": false,
6924           "required": [
6925             "controller-tag",
6926             "addrs",
6927             "ca-cert",
6928             "auth-tag"
6929           ]
6930         },
6931         "Model": {
6932           "type": "object",
6933           "properties": {
6934             "name": {
6935               "type": "string"
6936             },
6937             "owner-tag": {
6938               "type": "string"
6939             },
6940             "uuid": {
6941               "type": "string"
6942             }
6943           },
6944           "additionalProperties": false,
6945           "required": [
6946             "name",
6947             "uuid",
6948             "owner-tag"
6949           ]
6950         },
6951         "ModelBlockInfo": {
6952           "type": "object",
6953           "properties": {
6954             "blocks": {
6955               "type": "array",
6956               "items": {
6957                 "type": "string"
6958               }
6959             },
6960             "model-uuid": {
6961               "type": "string"
6962             },
6963             "name": {
6964               "type": "string"
6965             },
6966             "owner-tag": {
6967               "type": "string"
6968             }
6969           },
6970           "additionalProperties": false,
6971           "required": [
6972             "name",
6973             "model-uuid",
6974             "owner-tag",
6975             "blocks"
6976           ]
6977         },
6978         "ModelBlockInfoList": {
6979           "type": "object",
6980           "properties": {
6981             "models": {
6982               "type": "array",
6983               "items": {
6984                 "$ref": "#/definitions/ModelBlockInfo"
6985               }
6986             }
6987           },
6988           "additionalProperties": false
6989         },
6990         "ModelConfigResults": {
6991           "type": "object",
6992           "properties": {
6993             "config": {
6994               "type": "object",
6995               "patternProperties": {
6996                 ".*": {
6997                   "$ref": "#/definitions/ConfigValue"
6998                 }
6999               }
7000             }
7001           },
7002           "additionalProperties": false,
7003           "required": [
7004             "config"
7005           ]
7006         },
7007         "ModelMachineInfo": {
7008           "type": "object",
7009           "properties": {
7010             "hardware": {
7011               "$ref": "#/definitions/MachineHardware"
7012             },
7013             "has-vote": {
7014               "type": "boolean"
7015             },
7016             "id": {
7017               "type": "string"
7018             },
7019             "instance-id": {
7020               "type": "string"
7021             },
7022             "status": {
7023               "type": "string"
7024             },
7025             "wants-vote": {
7026               "type": "boolean"
7027             }
7028           },
7029           "additionalProperties": false,
7030           "required": [
7031             "id"
7032           ]
7033         },
7034         "ModelStatus": {
7035           "type": "object",
7036           "properties": {
7037             "application-count": {
7038               "type": "integer"
7039             },
7040             "hosted-machine-count": {
7041               "type": "integer"
7042             },
7043             "life": {
7044               "type": "string"
7045             },
7046             "machines": {
7047               "type": "array",
7048               "items": {
7049                 "$ref": "#/definitions/ModelMachineInfo"
7050               }
7051             },
7052             "model-tag": {
7053               "type": "string"
7054             },
7055             "owner-tag": {
7056               "type": "string"
7057             }
7058           },
7059           "additionalProperties": false,
7060           "required": [
7061             "model-tag",
7062             "life",
7063             "hosted-machine-count",
7064             "application-count",
7065             "owner-tag"
7066           ]
7067         },
7068         "ModelStatusResults": {
7069           "type": "object",
7070           "properties": {
7071             "models": {
7072               "type": "array",
7073               "items": {
7074                 "$ref": "#/definitions/ModelStatus"
7075               }
7076             }
7077           },
7078           "additionalProperties": false,
7079           "required": [
7080             "models"
7081           ]
7082         },
7083         "ModelTag": {
7084           "type": "object",
7085           "additionalProperties": false
7086         },
7087         "ModifyControllerAccess": {
7088           "type": "object",
7089           "properties": {
7090             "access": {
7091               "type": "string"
7092             },
7093             "action": {
7094               "type": "string"
7095             },
7096             "user-tag": {
7097               "type": "string"
7098             }
7099           },
7100           "additionalProperties": false,
7101           "required": [
7102             "user-tag",
7103             "action",
7104             "access"
7105           ]
7106         },
7107         "ModifyControllerAccessRequest": {
7108           "type": "object",
7109           "properties": {
7110             "changes": {
7111               "type": "array",
7112               "items": {
7113                 "$ref": "#/definitions/ModifyControllerAccess"
7114               }
7115             }
7116           },
7117           "additionalProperties": false,
7118           "required": [
7119             "changes"
7120           ]
7121         },
7122         "RemoveBlocksArgs": {
7123           "type": "object",
7124           "properties": {
7125             "all": {
7126               "type": "boolean"
7127             }
7128           },
7129           "additionalProperties": false,
7130           "required": [
7131             "all"
7132           ]
7133         },
7134         "UserAccess": {
7135           "type": "object",
7136           "properties": {
7137             "access": {
7138               "type": "string"
7139             },
7140             "user-tag": {
7141               "type": "string"
7142             }
7143           },
7144           "additionalProperties": false,
7145           "required": [
7146             "user-tag",
7147             "access"
7148           ]
7149         },
7150         "UserAccessResult": {
7151           "type": "object",
7152           "properties": {
7153             "error": {
7154               "$ref": "#/definitions/Error"
7155             },
7156             "result": {
7157               "$ref": "#/definitions/UserAccess"
7158             }
7159           },
7160           "additionalProperties": false
7161         },
7162         "UserAccessResults": {
7163           "type": "object",
7164           "properties": {
7165             "results": {
7166               "type": "array",
7167               "items": {
7168                 "$ref": "#/definitions/UserAccessResult"
7169               }
7170             }
7171           },
7172           "additionalProperties": false
7173         },
7174         "UserModel": {
7175           "type": "object",
7176           "properties": {
7177             "last-connection": {
7178               "type": "string",
7179               "format": "date-time"
7180             },
7181             "model": {
7182               "$ref": "#/definitions/Model"
7183             }
7184           },
7185           "additionalProperties": false,
7186           "required": [
7187             "model",
7188             "last-connection"
7189           ]
7190         },
7191         "UserModelList": {
7192           "type": "object",
7193           "properties": {
7194             "user-models": {
7195               "type": "array",
7196               "items": {
7197                 "$ref": "#/definitions/UserModel"
7198               }
7199             }
7200           },
7201           "additionalProperties": false,
7202           "required": [
7203             "user-models"
7204           ]
7205         }
7206       }
7207     }
7208   },
7209   {
7210     "Name": "Deployer",
7211     "Version": 1,
7212     "Schema": {
7213       "type": "object",
7214       "properties": {
7215         "APIAddresses": {
7216           "type": "object",
7217           "properties": {
7218             "Result": {
7219               "$ref": "#/definitions/StringsResult"
7220             }
7221           }
7222         },
7223         "APIHostPorts": {
7224           "type": "object",
7225           "properties": {
7226             "Result": {
7227               "$ref": "#/definitions/APIHostPortsResult"
7228             }
7229           }
7230         },
7231         "CACert": {
7232           "type": "object",
7233           "properties": {
7234             "Result": {
7235               "$ref": "#/definitions/BytesResult"
7236             }
7237           }
7238         },
7239         "ConnectionInfo": {
7240           "type": "object",
7241           "properties": {
7242             "Result": {
7243               "$ref": "#/definitions/DeployerConnectionValues"
7244             }
7245           }
7246         },
7247         "Life": {
7248           "type": "object",
7249           "properties": {
7250             "Params": {
7251               "$ref": "#/definitions/Entities"
7252             },
7253             "Result": {
7254               "$ref": "#/definitions/LifeResults"
7255             }
7256           }
7257         },
7258         "ModelUUID": {
7259           "type": "object",
7260           "properties": {
7261             "Result": {
7262               "$ref": "#/definitions/StringResult"
7263             }
7264           }
7265         },
7266         "Remove": {
7267           "type": "object",
7268           "properties": {
7269             "Params": {
7270               "$ref": "#/definitions/Entities"
7271             },
7272             "Result": {
7273               "$ref": "#/definitions/ErrorResults"
7274             }
7275           }
7276         },
7277         "SetPasswords": {
7278           "type": "object",
7279           "properties": {
7280             "Params": {
7281               "$ref": "#/definitions/EntityPasswords"
7282             },
7283             "Result": {
7284               "$ref": "#/definitions/ErrorResults"
7285             }
7286           }
7287         },
7288         "SetStatus": {
7289           "type": "object",
7290           "properties": {
7291             "Params": {
7292               "$ref": "#/definitions/SetStatus"
7293             },
7294             "Result": {
7295               "$ref": "#/definitions/ErrorResults"
7296             }
7297           }
7298         },
7299         "StateAddresses": {
7300           "type": "object",
7301           "properties": {
7302             "Result": {
7303               "$ref": "#/definitions/StringsResult"
7304             }
7305           }
7306         },
7307         "UpdateStatus": {
7308           "type": "object",
7309           "properties": {
7310             "Params": {
7311               "$ref": "#/definitions/SetStatus"
7312             },
7313             "Result": {
7314               "$ref": "#/definitions/ErrorResults"
7315             }
7316           }
7317         },
7318         "WatchAPIHostPorts": {
7319           "type": "object",
7320           "properties": {
7321             "Result": {
7322               "$ref": "#/definitions/NotifyWatchResult"
7323             }
7324           }
7325         },
7326         "WatchUnits": {
7327           "type": "object",
7328           "properties": {
7329             "Params": {
7330               "$ref": "#/definitions/Entities"
7331             },
7332             "Result": {
7333               "$ref": "#/definitions/StringsWatchResults"
7334             }
7335           }
7336         }
7337       },
7338       "definitions": {
7339         "APIHostPortsResult": {
7340           "type": "object",
7341           "properties": {
7342             "servers": {
7343               "type": "array",
7344               "items": {
7345                 "type": "array",
7346                 "items": {
7347                   "$ref": "#/definitions/HostPort"
7348                 }
7349               }
7350             }
7351           },
7352           "additionalProperties": false,
7353           "required": [
7354             "servers"
7355           ]
7356         },
7357         "Address": {
7358           "type": "object",
7359           "properties": {
7360             "scope": {
7361               "type": "string"
7362             },
7363             "space-name": {
7364               "type": "string"
7365             },
7366             "type": {
7367               "type": "string"
7368             },
7369             "value": {
7370               "type": "string"
7371             }
7372           },
7373           "additionalProperties": false,
7374           "required": [
7375             "value",
7376             "type",
7377             "scope"
7378           ]
7379         },
7380         "BytesResult": {
7381           "type": "object",
7382           "properties": {
7383             "result": {
7384               "type": "array",
7385               "items": {
7386                 "type": "integer"
7387               }
7388             }
7389           },
7390           "additionalProperties": false,
7391           "required": [
7392             "result"
7393           ]
7394         },
7395         "DeployerConnectionValues": {
7396           "type": "object",
7397           "properties": {
7398             "api-addresses": {
7399               "type": "array",
7400               "items": {
7401                 "type": "string"
7402               }
7403             },
7404             "state-addresses": {
7405               "type": "array",
7406               "items": {
7407                 "type": "string"
7408               }
7409             }
7410           },
7411           "additionalProperties": false,
7412           "required": [
7413             "state-addresses",
7414             "api-addresses"
7415           ]
7416         },
7417         "Entities": {
7418           "type": "object",
7419           "properties": {
7420             "entities": {
7421               "type": "array",
7422               "items": {
7423                 "$ref": "#/definitions/Entity"
7424               }
7425             }
7426           },
7427           "additionalProperties": false,
7428           "required": [
7429             "entities"
7430           ]
7431         },
7432         "Entity": {
7433           "type": "object",
7434           "properties": {
7435             "tag": {
7436               "type": "string"
7437             }
7438           },
7439           "additionalProperties": false,
7440           "required": [
7441             "tag"
7442           ]
7443         },
7444         "EntityPassword": {
7445           "type": "object",
7446           "properties": {
7447             "password": {
7448               "type": "string"
7449             },
7450             "tag": {
7451               "type": "string"
7452             }
7453           },
7454           "additionalProperties": false,
7455           "required": [
7456             "tag",
7457             "password"
7458           ]
7459         },
7460         "EntityPasswords": {
7461           "type": "object",
7462           "properties": {
7463             "changes": {
7464               "type": "array",
7465               "items": {
7466                 "$ref": "#/definitions/EntityPassword"
7467               }
7468             }
7469           },
7470           "additionalProperties": false,
7471           "required": [
7472             "changes"
7473           ]
7474         },
7475         "EntityStatusArgs": {
7476           "type": "object",
7477           "properties": {
7478             "data": {
7479               "type": "object",
7480               "patternProperties": {
7481                 ".*": {
7482                   "type": "object",
7483                   "additionalProperties": true
7484                 }
7485               }
7486             },
7487             "info": {
7488               "type": "string"
7489             },
7490             "status": {
7491               "type": "string"
7492             },
7493             "tag": {
7494               "type": "string"
7495             }
7496           },
7497           "additionalProperties": false,
7498           "required": [
7499             "tag",
7500             "status",
7501             "info",
7502             "data"
7503           ]
7504         },
7505         "Error": {
7506           "type": "object",
7507           "properties": {
7508             "code": {
7509               "type": "string"
7510             },
7511             "info": {
7512               "$ref": "#/definitions/ErrorInfo"
7513             },
7514             "message": {
7515               "type": "string"
7516             }
7517           },
7518           "additionalProperties": false,
7519           "required": [
7520             "message",
7521             "code"
7522           ]
7523         },
7524         "ErrorInfo": {
7525           "type": "object",
7526           "properties": {
7527             "macaroon": {
7528               "$ref": "#/definitions/Macaroon"
7529             },
7530             "macaroon-path": {
7531               "type": "string"
7532             }
7533           },
7534           "additionalProperties": false
7535         },
7536         "ErrorResult": {
7537           "type": "object",
7538           "properties": {
7539             "error": {
7540               "$ref": "#/definitions/Error"
7541             }
7542           },
7543           "additionalProperties": false
7544         },
7545         "ErrorResults": {
7546           "type": "object",
7547           "properties": {
7548             "results": {
7549               "type": "array",
7550               "items": {
7551                 "$ref": "#/definitions/ErrorResult"
7552               }
7553             }
7554           },
7555           "additionalProperties": false,
7556           "required": [
7557             "results"
7558           ]
7559         },
7560         "HostPort": {
7561           "type": "object",
7562           "properties": {
7563             "Address": {
7564               "$ref": "#/definitions/Address"
7565             },
7566             "port": {
7567               "type": "integer"
7568             }
7569           },
7570           "additionalProperties": false,
7571           "required": [
7572             "Address",
7573             "port"
7574           ]
7575         },
7576         "LifeResult": {
7577           "type": "object",
7578           "properties": {
7579             "error": {
7580               "$ref": "#/definitions/Error"
7581             },
7582             "life": {
7583               "type": "string"
7584             }
7585           },
7586           "additionalProperties": false,
7587           "required": [
7588             "life"
7589           ]
7590         },
7591         "LifeResults": {
7592           "type": "object",
7593           "properties": {
7594             "results": {
7595               "type": "array",
7596               "items": {
7597                 "$ref": "#/definitions/LifeResult"
7598               }
7599             }
7600           },
7601           "additionalProperties": false,
7602           "required": [
7603             "results"
7604           ]
7605         },
7606         "Macaroon": {
7607           "type": "object",
7608           "additionalProperties": false
7609         },
7610         "NotifyWatchResult": {
7611           "type": "object",
7612           "properties": {
7613             "NotifyWatcherId": {
7614               "type": "string"
7615             },
7616             "error": {
7617               "$ref": "#/definitions/Error"
7618             }
7619           },
7620           "additionalProperties": false,
7621           "required": [
7622             "NotifyWatcherId"
7623           ]
7624         },
7625         "SetStatus": {
7626           "type": "object",
7627           "properties": {
7628             "entities": {
7629               "type": "array",
7630               "items": {
7631                 "$ref": "#/definitions/EntityStatusArgs"
7632               }
7633             }
7634           },
7635           "additionalProperties": false,
7636           "required": [
7637             "entities"
7638           ]
7639         },
7640         "StringResult": {
7641           "type": "object",
7642           "properties": {
7643             "error": {
7644               "$ref": "#/definitions/Error"
7645             },
7646             "result": {
7647               "type": "string"
7648             }
7649           },
7650           "additionalProperties": false,
7651           "required": [
7652             "result"
7653           ]
7654         },
7655         "StringsResult": {
7656           "type": "object",
7657           "properties": {
7658             "error": {
7659               "$ref": "#/definitions/Error"
7660             },
7661             "result": {
7662               "type": "array",
7663               "items": {
7664                 "type": "string"
7665               }
7666             }
7667           },
7668           "additionalProperties": false
7669         },
7670         "StringsWatchResult": {
7671           "type": "object",
7672           "properties": {
7673             "changes": {
7674               "type": "array",
7675               "items": {
7676                 "type": "string"
7677               }
7678             },
7679             "error": {
7680               "$ref": "#/definitions/Error"
7681             },
7682             "watcher-id": {
7683               "type": "string"
7684             }
7685           },
7686           "additionalProperties": false,
7687           "required": [
7688             "watcher-id"
7689           ]
7690         },
7691         "StringsWatchResults": {
7692           "type": "object",
7693           "properties": {
7694             "results": {
7695               "type": "array",
7696               "items": {
7697                 "$ref": "#/definitions/StringsWatchResult"
7698               }
7699             }
7700           },
7701           "additionalProperties": false,
7702           "required": [
7703             "results"
7704           ]
7705         }
7706       }
7707     }
7708   },
7709   {
7710     "Name": "DiskManager",
7711     "Version": 2,
7712     "Schema": {
7713       "type": "object",
7714       "properties": {
7715         "SetMachineBlockDevices": {
7716           "type": "object",
7717           "properties": {
7718             "Params": {
7719               "$ref": "#/definitions/SetMachineBlockDevices"
7720             },
7721             "Result": {
7722               "$ref": "#/definitions/ErrorResults"
7723             }
7724           }
7725         }
7726       },
7727       "definitions": {
7728         "BlockDevice": {
7729           "type": "object",
7730           "properties": {
7731             "BusAddress": {
7732               "type": "string"
7733             },
7734             "DeviceLinks": {
7735               "type": "array",
7736               "items": {
7737                 "type": "string"
7738               }
7739             },
7740             "DeviceName": {
7741               "type": "string"
7742             },
7743             "FilesystemType": {
7744               "type": "string"
7745             },
7746             "HardwareId": {
7747               "type": "string"
7748             },
7749             "InUse": {
7750               "type": "boolean"
7751             },
7752             "Label": {
7753               "type": "string"
7754             },
7755             "MountPoint": {
7756               "type": "string"
7757             },
7758             "Size": {
7759               "type": "integer"
7760             },
7761             "UUID": {
7762               "type": "string"
7763             },
7764             "WWN": {
7765               "type": "string"
7766             }
7767           },
7768           "additionalProperties": false,
7769           "required": [
7770             "DeviceName",
7771             "DeviceLinks",
7772             "Label",
7773             "UUID",
7774             "HardwareId",
7775             "WWN",
7776             "BusAddress",
7777             "Size",
7778             "FilesystemType",
7779             "InUse",
7780             "MountPoint"
7781           ]
7782         },
7783         "Error": {
7784           "type": "object",
7785           "properties": {
7786             "code": {
7787               "type": "string"
7788             },
7789             "info": {
7790               "$ref": "#/definitions/ErrorInfo"
7791             },
7792             "message": {
7793               "type": "string"
7794             }
7795           },
7796           "additionalProperties": false,
7797           "required": [
7798             "message",
7799             "code"
7800           ]
7801         },
7802         "ErrorInfo": {
7803           "type": "object",
7804           "properties": {
7805             "macaroon": {
7806               "$ref": "#/definitions/Macaroon"
7807             },
7808             "macaroon-path": {
7809               "type": "string"
7810             }
7811           },
7812           "additionalProperties": false
7813         },
7814         "ErrorResult": {
7815           "type": "object",
7816           "properties": {
7817             "error": {
7818               "$ref": "#/definitions/Error"
7819             }
7820           },
7821           "additionalProperties": false
7822         },
7823         "ErrorResults": {
7824           "type": "object",
7825           "properties": {
7826             "results": {
7827               "type": "array",
7828               "items": {
7829                 "$ref": "#/definitions/ErrorResult"
7830               }
7831             }
7832           },
7833           "additionalProperties": false,
7834           "required": [
7835             "results"
7836           ]
7837         },
7838         "Macaroon": {
7839           "type": "object",
7840           "additionalProperties": false
7841         },
7842         "MachineBlockDevices": {
7843           "type": "object",
7844           "properties": {
7845             "block-devices": {
7846               "type": "array",
7847               "items": {
7848                 "$ref": "#/definitions/BlockDevice"
7849               }
7850             },
7851             "machine": {
7852               "type": "string"
7853             }
7854           },
7855           "additionalProperties": false,
7856           "required": [
7857             "machine"
7858           ]
7859         },
7860         "SetMachineBlockDevices": {
7861           "type": "object",
7862           "properties": {
7863             "machine-block-devices": {
7864               "type": "array",
7865               "items": {
7866                 "$ref": "#/definitions/MachineBlockDevices"
7867               }
7868             }
7869           },
7870           "additionalProperties": false,
7871           "required": [
7872             "machine-block-devices"
7873           ]
7874         }
7875       }
7876     }
7877   },
7878   {
7879     "Name": "EntityWatcher",
7880     "Version": 2,
7881     "Schema": {
7882       "type": "object",
7883       "properties": {
7884         "Next": {
7885           "type": "object",
7886           "properties": {
7887             "Result": {
7888               "$ref": "#/definitions/EntitiesWatchResult"
7889             }
7890           }
7891         },
7892         "Stop": {
7893           "type": "object"
7894         }
7895       },
7896       "definitions": {
7897         "EntitiesWatchResult": {
7898           "type": "object",
7899           "properties": {
7900             "changes": {
7901               "type": "array",
7902               "items": {
7903                 "type": "string"
7904               }
7905             },
7906             "error": {
7907               "$ref": "#/definitions/Error"
7908             },
7909             "watcher-id": {
7910               "type": "string"
7911             }
7912           },
7913           "additionalProperties": false,
7914           "required": [
7915             "watcher-id"
7916           ]
7917         },
7918         "Error": {
7919           "type": "object",
7920           "properties": {
7921             "code": {
7922               "type": "string"
7923             },
7924             "info": {
7925               "$ref": "#/definitions/ErrorInfo"
7926             },
7927             "message": {
7928               "type": "string"
7929             }
7930           },
7931           "additionalProperties": false,
7932           "required": [
7933             "message",
7934             "code"
7935           ]
7936         },
7937         "ErrorInfo": {
7938           "type": "object",
7939           "properties": {
7940             "macaroon": {
7941               "$ref": "#/definitions/Macaroon"
7942             },
7943             "macaroon-path": {
7944               "type": "string"
7945             }
7946           },
7947           "additionalProperties": false
7948         },
7949         "Macaroon": {
7950           "type": "object",
7951           "additionalProperties": false
7952         }
7953       }
7954     }
7955   },
7956   {
7957     "Name": "FilesystemAttachmentsWatcher",
7958     "Version": 2,
7959     "Schema": {
7960       "type": "object",
7961       "properties": {
7962         "Next": {
7963           "type": "object",
7964           "properties": {
7965             "Result": {
7966               "$ref": "#/definitions/MachineStorageIdsWatchResult"
7967             }
7968           }
7969         },
7970         "Stop": {
7971           "type": "object"
7972         }
7973       },
7974       "definitions": {
7975         "Error": {
7976           "type": "object",
7977           "properties": {
7978             "code": {
7979               "type": "string"
7980             },
7981             "info": {
7982               "$ref": "#/definitions/ErrorInfo"
7983             },
7984             "message": {
7985               "type": "string"
7986             }
7987           },
7988           "additionalProperties": false,
7989           "required": [
7990             "message",
7991             "code"
7992           ]
7993         },
7994         "ErrorInfo": {
7995           "type": "object",
7996           "properties": {
7997             "macaroon": {
7998               "$ref": "#/definitions/Macaroon"
7999             },
8000             "macaroon-path": {
8001               "type": "string"
8002             }
8003           },
8004           "additionalProperties": false
8005         },
8006         "Macaroon": {
8007           "type": "object",
8008           "additionalProperties": false
8009         },
8010         "MachineStorageId": {
8011           "type": "object",
8012           "properties": {
8013             "attachment-tag": {
8014               "type": "string"
8015             },
8016             "machine-tag": {
8017               "type": "string"
8018             }
8019           },
8020           "additionalProperties": false,
8021           "required": [
8022             "machine-tag",
8023             "attachment-tag"
8024           ]
8025         },
8026         "MachineStorageIdsWatchResult": {
8027           "type": "object",
8028           "properties": {
8029             "changes": {
8030               "type": "array",
8031               "items": {
8032                 "$ref": "#/definitions/MachineStorageId"
8033               }
8034             },
8035             "error": {
8036               "$ref": "#/definitions/Error"
8037             },
8038             "watcher-id": {
8039               "type": "string"
8040             }
8041           },
8042           "additionalProperties": false,
8043           "required": [
8044             "watcher-id",
8045             "changes"
8046           ]
8047         }
8048       }
8049     }
8050   },
8051   {
8052     "Name": "Firewaller",
8053     "Version": 3,
8054     "Schema": {
8055       "type": "object",
8056       "properties": {
8057         "CloudSpec": {
8058           "type": "object",
8059           "properties": {
8060             "Params": {
8061               "$ref": "#/definitions/Entities"
8062             },
8063             "Result": {
8064               "$ref": "#/definitions/CloudSpecResults"
8065             }
8066           }
8067         },
8068         "GetAssignedMachine": {
8069           "type": "object",
8070           "properties": {
8071             "Params": {
8072               "$ref": "#/definitions/Entities"
8073             },
8074             "Result": {
8075               "$ref": "#/definitions/StringResults"
8076             }
8077           }
8078         },
8079         "GetCloudSpec": {
8080           "type": "object",
8081           "properties": {
8082             "Params": {
8083               "$ref": "#/definitions/ModelTag"
8084             },
8085             "Result": {
8086               "$ref": "#/definitions/CloudSpecResult"
8087             }
8088           }
8089         },
8090         "GetExposed": {
8091           "type": "object",
8092           "properties": {
8093             "Params": {
8094               "$ref": "#/definitions/Entities"
8095             },
8096             "Result": {
8097               "$ref": "#/definitions/BoolResults"
8098             }
8099           }
8100         },
8101         "GetMachineActiveSubnets": {
8102           "type": "object",
8103           "properties": {
8104             "Params": {
8105               "$ref": "#/definitions/Entities"
8106             },
8107             "Result": {
8108               "$ref": "#/definitions/StringsResults"
8109             }
8110           }
8111         },
8112         "GetMachinePorts": {
8113           "type": "object",
8114           "properties": {
8115             "Params": {
8116               "$ref": "#/definitions/MachinePortsParams"
8117             },
8118             "Result": {
8119               "$ref": "#/definitions/MachinePortsResults"
8120             }
8121           }
8122         },
8123         "InstanceId": {
8124           "type": "object",
8125           "properties": {
8126             "Params": {
8127               "$ref": "#/definitions/Entities"
8128             },
8129             "Result": {
8130               "$ref": "#/definitions/StringResults"
8131             }
8132           }
8133         },
8134         "Life": {
8135           "type": "object",
8136           "properties": {
8137             "Params": {
8138               "$ref": "#/definitions/Entities"
8139             },
8140             "Result": {
8141               "$ref": "#/definitions/LifeResults"
8142             }
8143           }
8144         },
8145         "ModelConfig": {
8146           "type": "object",
8147           "properties": {
8148             "Result": {
8149               "$ref": "#/definitions/ModelConfigResult"
8150             }
8151           }
8152         },
8153         "Watch": {
8154           "type": "object",
8155           "properties": {
8156             "Params": {
8157               "$ref": "#/definitions/Entities"
8158             },
8159             "Result": {
8160               "$ref": "#/definitions/NotifyWatchResults"
8161             }
8162           }
8163         },
8164         "WatchForModelConfigChanges": {
8165           "type": "object",
8166           "properties": {
8167             "Result": {
8168               "$ref": "#/definitions/NotifyWatchResult"
8169             }
8170           }
8171         },
8172         "WatchModelMachines": {
8173           "type": "object",
8174           "properties": {
8175             "Result": {
8176               "$ref": "#/definitions/StringsWatchResult"
8177             }
8178           }
8179         },
8180         "WatchOpenedPorts": {
8181           "type": "object",
8182           "properties": {
8183             "Params": {
8184               "$ref": "#/definitions/Entities"
8185             },
8186             "Result": {
8187               "$ref": "#/definitions/StringsWatchResults"
8188             }
8189           }
8190         },
8191         "WatchUnits": {
8192           "type": "object",
8193           "properties": {
8194             "Params": {
8195               "$ref": "#/definitions/Entities"
8196             },
8197             "Result": {
8198               "$ref": "#/definitions/StringsWatchResults"
8199             }
8200           }
8201         }
8202       },
8203       "definitions": {
8204         "BoolResult": {
8205           "type": "object",
8206           "properties": {
8207             "error": {
8208               "$ref": "#/definitions/Error"
8209             },
8210             "result": {
8211               "type": "boolean"
8212             }
8213           },
8214           "additionalProperties": false,
8215           "required": [
8216             "result"
8217           ]
8218         },
8219         "BoolResults": {
8220           "type": "object",
8221           "properties": {
8222             "results": {
8223               "type": "array",
8224               "items": {
8225                 "$ref": "#/definitions/BoolResult"
8226               }
8227             }
8228           },
8229           "additionalProperties": false,
8230           "required": [
8231             "results"
8232           ]
8233         },
8234         "CloudCredential": {
8235           "type": "object",
8236           "properties": {
8237             "attrs": {
8238               "type": "object",
8239               "patternProperties": {
8240                 ".*": {
8241                   "type": "string"
8242                 }
8243               }
8244             },
8245             "auth-type": {
8246               "type": "string"
8247             },
8248             "redacted": {
8249               "type": "array",
8250               "items": {
8251                 "type": "string"
8252               }
8253             }
8254           },
8255           "additionalProperties": false,
8256           "required": [
8257             "auth-type"
8258           ]
8259         },
8260         "CloudSpec": {
8261           "type": "object",
8262           "properties": {
8263             "credential": {
8264               "$ref": "#/definitions/CloudCredential"
8265             },
8266             "endpoint": {
8267               "type": "string"
8268             },
8269             "identity-endpoint": {
8270               "type": "string"
8271             },
8272             "name": {
8273               "type": "string"
8274             },
8275             "region": {
8276               "type": "string"
8277             },
8278             "storage-endpoint": {
8279               "type": "string"
8280             },
8281             "type": {
8282               "type": "string"
8283             }
8284           },
8285           "additionalProperties": false,
8286           "required": [
8287             "type",
8288             "name"
8289           ]
8290         },
8291         "CloudSpecResult": {
8292           "type": "object",
8293           "properties": {
8294             "error": {
8295               "$ref": "#/definitions/Error"
8296             },
8297             "result": {
8298               "$ref": "#/definitions/CloudSpec"
8299             }
8300           },
8301           "additionalProperties": false
8302         },
8303         "CloudSpecResults": {
8304           "type": "object",
8305           "properties": {
8306             "results": {
8307               "type": "array",
8308               "items": {
8309                 "$ref": "#/definitions/CloudSpecResult"
8310               }
8311             }
8312           },
8313           "additionalProperties": false
8314         },
8315         "Entities": {
8316           "type": "object",
8317           "properties": {
8318             "entities": {
8319               "type": "array",
8320               "items": {
8321                 "$ref": "#/definitions/Entity"
8322               }
8323             }
8324           },
8325           "additionalProperties": false,
8326           "required": [
8327             "entities"
8328           ]
8329         },
8330         "Entity": {
8331           "type": "object",
8332           "properties": {
8333             "tag": {
8334               "type": "string"
8335             }
8336           },
8337           "additionalProperties": false,
8338           "required": [
8339             "tag"
8340           ]
8341         },
8342         "Error": {
8343           "type": "object",
8344           "properties": {
8345             "code": {
8346               "type": "string"
8347             },
8348             "info": {
8349               "$ref": "#/definitions/ErrorInfo"
8350             },
8351             "message": {
8352               "type": "string"
8353             }
8354           },
8355           "additionalProperties": false,
8356           "required": [
8357             "message",
8358             "code"
8359           ]
8360         },
8361         "ErrorInfo": {
8362           "type": "object",
8363           "properties": {
8364             "macaroon": {
8365               "$ref": "#/definitions/Macaroon"
8366             },
8367             "macaroon-path": {
8368               "type": "string"
8369             }
8370           },
8371           "additionalProperties": false
8372         },
8373         "LifeResult": {
8374           "type": "object",
8375           "properties": {
8376             "error": {
8377               "$ref": "#/definitions/Error"
8378             },
8379             "life": {
8380               "type": "string"
8381             }
8382           },
8383           "additionalProperties": false,
8384           "required": [
8385             "life"
8386           ]
8387         },
8388         "LifeResults": {
8389           "type": "object",
8390           "properties": {
8391             "results": {
8392               "type": "array",
8393               "items": {
8394                 "$ref": "#/definitions/LifeResult"
8395               }
8396             }
8397           },
8398           "additionalProperties": false,
8399           "required": [
8400             "results"
8401           ]
8402         },
8403         "Macaroon": {
8404           "type": "object",
8405           "additionalProperties": false
8406         },
8407         "MachinePortRange": {
8408           "type": "object",
8409           "properties": {
8410             "port-range": {
8411               "$ref": "#/definitions/PortRange"
8412             },
8413             "relation-tag": {
8414               "type": "string"
8415             },
8416             "unit-tag": {
8417               "type": "string"
8418             }
8419           },
8420           "additionalProperties": false,
8421           "required": [
8422             "unit-tag",
8423             "relation-tag",
8424             "port-range"
8425           ]
8426         },
8427         "MachinePorts": {
8428           "type": "object",
8429           "properties": {
8430             "machine-tag": {
8431               "type": "string"
8432             },
8433             "subnet-tag": {
8434               "type": "string"
8435             }
8436           },
8437           "additionalProperties": false,
8438           "required": [
8439             "machine-tag",
8440             "subnet-tag"
8441           ]
8442         },
8443         "MachinePortsParams": {
8444           "type": "object",
8445           "properties": {
8446             "params": {
8447               "type": "array",
8448               "items": {
8449                 "$ref": "#/definitions/MachinePorts"
8450               }
8451             }
8452           },
8453           "additionalProperties": false,
8454           "required": [
8455             "params"
8456           ]
8457         },
8458         "MachinePortsResult": {
8459           "type": "object",
8460           "properties": {
8461             "error": {
8462               "$ref": "#/definitions/Error"
8463             },
8464             "ports": {
8465               "type": "array",
8466               "items": {
8467                 "$ref": "#/definitions/MachinePortRange"
8468               }
8469             }
8470           },
8471           "additionalProperties": false,
8472           "required": [
8473             "ports"
8474           ]
8475         },
8476         "MachinePortsResults": {
8477           "type": "object",
8478           "properties": {
8479             "results": {
8480               "type": "array",
8481               "items": {
8482                 "$ref": "#/definitions/MachinePortsResult"
8483               }
8484             }
8485           },
8486           "additionalProperties": false,
8487           "required": [
8488             "results"
8489           ]
8490         },
8491         "ModelConfigResult": {
8492           "type": "object",
8493           "properties": {
8494             "config": {
8495               "type": "object",
8496               "patternProperties": {
8497                 ".*": {
8498                   "type": "object",
8499                   "additionalProperties": true
8500                 }
8501               }
8502             }
8503           },
8504           "additionalProperties": false,
8505           "required": [
8506             "config"
8507           ]
8508         },
8509         "ModelTag": {
8510           "type": "object",
8511           "additionalProperties": false
8512         },
8513         "NotifyWatchResult": {
8514           "type": "object",
8515           "properties": {
8516             "NotifyWatcherId": {
8517               "type": "string"
8518             },
8519             "error": {
8520               "$ref": "#/definitions/Error"
8521             }
8522           },
8523           "additionalProperties": false,
8524           "required": [
8525             "NotifyWatcherId"
8526           ]
8527         },
8528         "NotifyWatchResults": {
8529           "type": "object",
8530           "properties": {
8531             "results": {
8532               "type": "array",
8533               "items": {
8534                 "$ref": "#/definitions/NotifyWatchResult"
8535               }
8536             }
8537           },
8538           "additionalProperties": false,
8539           "required": [
8540             "results"
8541           ]
8542         },
8543         "PortRange": {
8544           "type": "object",
8545           "properties": {
8546             "from-port": {
8547               "type": "integer"
8548             },
8549             "protocol": {
8550               "type": "string"
8551             },
8552             "to-port": {
8553               "type": "integer"
8554             }
8555           },
8556           "additionalProperties": false,
8557           "required": [
8558             "from-port",
8559             "to-port",
8560             "protocol"
8561           ]
8562         },
8563         "StringResult": {
8564           "type": "object",
8565           "properties": {
8566             "error": {
8567               "$ref": "#/definitions/Error"
8568             },
8569             "result": {
8570               "type": "string"
8571             }
8572           },
8573           "additionalProperties": false,
8574           "required": [
8575             "result"
8576           ]
8577         },
8578         "StringResults": {
8579           "type": "object",
8580           "properties": {
8581             "results": {
8582               "type": "array",
8583               "items": {
8584                 "$ref": "#/definitions/StringResult"
8585               }
8586             }
8587           },
8588           "additionalProperties": false,
8589           "required": [
8590             "results"
8591           ]
8592         },
8593         "StringsResult": {
8594           "type": "object",
8595           "properties": {
8596             "error": {
8597               "$ref": "#/definitions/Error"
8598             },
8599             "result": {
8600               "type": "array",
8601               "items": {
8602                 "type": "string"
8603               }
8604             }
8605           },
8606           "additionalProperties": false
8607         },
8608         "StringsResults": {
8609           "type": "object",
8610           "properties": {
8611             "results": {
8612               "type": "array",
8613               "items": {
8614                 "$ref": "#/definitions/StringsResult"
8615               }
8616             }
8617           },
8618           "additionalProperties": false,
8619           "required": [
8620             "results"
8621           ]
8622         },
8623         "StringsWatchResult": {
8624           "type": "object",
8625           "properties": {
8626             "changes": {
8627               "type": "array",
8628               "items": {
8629                 "type": "string"
8630               }
8631             },
8632             "error": {
8633               "$ref": "#/definitions/Error"
8634             },
8635             "watcher-id": {
8636               "type": "string"
8637             }
8638           },
8639           "additionalProperties": false,
8640           "required": [
8641             "watcher-id"
8642           ]
8643         },
8644         "StringsWatchResults": {
8645           "type": "object",
8646           "properties": {
8647             "results": {
8648               "type": "array",
8649               "items": {
8650                 "$ref": "#/definitions/StringsWatchResult"
8651               }
8652             }
8653           },
8654           "additionalProperties": false,
8655           "required": [
8656             "results"
8657           ]
8658         }
8659       }
8660     }
8661   },
8662   {
8663     "Name": "HighAvailability",
8664     "Version": 2,
8665     "Schema": {
8666       "type": "object",
8667       "properties": {
8668         "EnableHA": {
8669           "type": "object",
8670           "properties": {
8671             "Params": {
8672               "$ref": "#/definitions/ControllersSpecs"
8673             },
8674             "Result": {
8675               "$ref": "#/definitions/ControllersChangeResults"
8676             }
8677           }
8678         },
8679         "ResumeHAReplicationAfterUpgrade": {
8680           "type": "object",
8681           "properties": {
8682             "Params": {
8683               "$ref": "#/definitions/ResumeReplicationParams"
8684             }
8685           }
8686         },
8687         "StopHAReplicationForUpgrade": {
8688           "type": "object",
8689           "properties": {
8690             "Params": {
8691               "$ref": "#/definitions/UpgradeMongoParams"
8692             },
8693             "Result": {
8694               "$ref": "#/definitions/MongoUpgradeResults"
8695             }
8696           }
8697         }
8698       },
8699       "definitions": {
8700         "Address": {
8701           "type": "object",
8702           "properties": {
8703             "Scope": {
8704               "type": "string"
8705             },
8706             "SpaceName": {
8707               "type": "string"
8708             },
8709             "SpaceProviderId": {
8710               "type": "string"
8711             },
8712             "Type": {
8713               "type": "string"
8714             },
8715             "Value": {
8716               "type": "string"
8717             }
8718           },
8719           "additionalProperties": false,
8720           "required": [
8721             "Value",
8722             "Type",
8723             "Scope",
8724             "SpaceName",
8725             "SpaceProviderId"
8726           ]
8727         },
8728         "ControllersChangeResult": {
8729           "type": "object",
8730           "properties": {
8731             "error": {
8732               "$ref": "#/definitions/Error"
8733             },
8734             "result": {
8735               "$ref": "#/definitions/ControllersChanges"
8736             }
8737           },
8738           "additionalProperties": false,
8739           "required": [
8740             "result"
8741           ]
8742         },
8743         "ControllersChangeResults": {
8744           "type": "object",
8745           "properties": {
8746             "results": {
8747               "type": "array",
8748               "items": {
8749                 "$ref": "#/definitions/ControllersChangeResult"
8750               }
8751             }
8752           },
8753           "additionalProperties": false,
8754           "required": [
8755             "results"
8756           ]
8757         },
8758         "ControllersChanges": {
8759           "type": "object",
8760           "properties": {
8761             "added": {
8762               "type": "array",
8763               "items": {
8764                 "type": "string"
8765               }
8766             },
8767             "converted": {
8768               "type": "array",
8769               "items": {
8770                 "type": "string"
8771               }
8772             },
8773             "demoted": {
8774               "type": "array",
8775               "items": {
8776                 "type": "string"
8777               }
8778             },
8779             "maintained": {
8780               "type": "array",
8781               "items": {
8782                 "type": "string"
8783               }
8784             },
8785             "promoted": {
8786               "type": "array",
8787               "items": {
8788                 "type": "string"
8789               }
8790             },
8791             "removed": {
8792               "type": "array",
8793               "items": {
8794                 "type": "string"
8795               }
8796             }
8797           },
8798           "additionalProperties": false
8799         },
8800         "ControllersSpec": {
8801           "type": "object",
8802           "properties": {
8803             "constraints": {
8804               "$ref": "#/definitions/Value"
8805             },
8806             "num-controllers": {
8807               "type": "integer"
8808             },
8809             "placement": {
8810               "type": "array",
8811               "items": {
8812                 "type": "string"
8813               }
8814             },
8815             "series": {
8816               "type": "string"
8817             }
8818           },
8819           "additionalProperties": false,
8820           "required": [
8821             "num-controllers"
8822           ]
8823         },
8824         "ControllersSpecs": {
8825           "type": "object",
8826           "properties": {
8827             "specs": {
8828               "type": "array",
8829               "items": {
8830                 "$ref": "#/definitions/ControllersSpec"
8831               }
8832             }
8833           },
8834           "additionalProperties": false,
8835           "required": [
8836             "specs"
8837           ]
8838         },
8839         "Error": {
8840           "type": "object",
8841           "properties": {
8842             "code": {
8843               "type": "string"
8844             },
8845             "info": {
8846               "$ref": "#/definitions/ErrorInfo"
8847             },
8848             "message": {
8849               "type": "string"
8850             }
8851           },
8852           "additionalProperties": false,
8853           "required": [
8854             "message",
8855             "code"
8856           ]
8857         },
8858         "ErrorInfo": {
8859           "type": "object",
8860           "properties": {
8861             "macaroon": {
8862               "$ref": "#/definitions/Macaroon"
8863             },
8864             "macaroon-path": {
8865               "type": "string"
8866             }
8867           },
8868           "additionalProperties": false
8869         },
8870         "HAMember": {
8871           "type": "object",
8872           "properties": {
8873             "public-address": {
8874               "$ref": "#/definitions/Address"
8875             },
8876             "series": {
8877               "type": "string"
8878             },
8879             "tag": {
8880               "type": "string"
8881             }
8882           },
8883           "additionalProperties": false,
8884           "required": [
8885             "tag",
8886             "public-address",
8887             "series"
8888           ]
8889         },
8890         "Macaroon": {
8891           "type": "object",
8892           "additionalProperties": false
8893         },
8894         "Member": {
8895           "type": "object",
8896           "properties": {
8897             "Address": {
8898               "type": "string"
8899             },
8900             "Arbiter": {
8901               "type": "boolean"
8902             },
8903             "BuildIndexes": {
8904               "type": "boolean"
8905             },
8906             "Hidden": {
8907               "type": "boolean"
8908             },
8909             "Id": {
8910               "type": "integer"
8911             },
8912             "Priority": {
8913               "type": "number"
8914             },
8915             "SlaveDelay": {
8916               "type": "integer"
8917             },
8918             "Tags": {
8919               "type": "object",
8920               "patternProperties": {
8921                 ".*": {
8922                   "type": "string"
8923                 }
8924               }
8925             },
8926             "Votes": {
8927               "type": "integer"
8928             }
8929           },
8930           "additionalProperties": false,
8931           "required": [
8932             "Id",
8933             "Address",
8934             "Arbiter",
8935             "BuildIndexes",
8936             "Hidden",
8937             "Priority",
8938             "Tags",
8939             "SlaveDelay",
8940             "Votes"
8941           ]
8942         },
8943         "MongoUpgradeResults": {
8944           "type": "object",
8945           "properties": {
8946             "ha-members": {
8947               "type": "array",
8948               "items": {
8949                 "$ref": "#/definitions/HAMember"
8950               }
8951             },
8952             "master": {
8953               "$ref": "#/definitions/HAMember"
8954             },
8955             "rs-members": {
8956               "type": "array",
8957               "items": {
8958                 "$ref": "#/definitions/Member"
8959               }
8960             }
8961           },
8962           "additionalProperties": false,
8963           "required": [
8964             "rs-members",
8965             "master",
8966             "ha-members"
8967           ]
8968         },
8969         "MongoVersion": {
8970           "type": "object",
8971           "properties": {
8972             "engine": {
8973               "type": "string"
8974             },
8975             "major": {
8976               "type": "integer"
8977             },
8978             "minor": {
8979               "type": "integer"
8980             },
8981             "patch": {
8982               "type": "string"
8983             }
8984           },
8985           "additionalProperties": false,
8986           "required": [
8987             "major",
8988             "minor",
8989             "patch",
8990             "engine"
8991           ]
8992         },
8993         "ResumeReplicationParams": {
8994           "type": "object",
8995           "properties": {
8996             "members": {
8997               "type": "array",
8998               "items": {
8999                 "$ref": "#/definitions/Member"
9000               }
9001             }
9002           },
9003           "additionalProperties": false,
9004           "required": [
9005             "members"
9006           ]
9007         },
9008         "UpgradeMongoParams": {
9009           "type": "object",
9010           "properties": {
9011             "target": {
9012               "$ref": "#/definitions/MongoVersion"
9013             }
9014           },
9015           "additionalProperties": false,
9016           "required": [
9017             "target"
9018           ]
9019         },
9020         "Value": {
9021           "type": "object",
9022           "properties": {
9023             "arch": {
9024               "type": "string"
9025             },
9026             "container": {
9027               "type": "string"
9028             },
9029             "cores": {
9030               "type": "integer"
9031             },
9032             "cpu-power": {
9033               "type": "integer"
9034             },
9035             "instance-type": {
9036               "type": "string"
9037             },
9038             "mem": {
9039               "type": "integer"
9040             },
9041             "root-disk": {
9042               "type": "integer"
9043             },
9044             "spaces": {
9045               "type": "array",
9046               "items": {
9047                 "type": "string"
9048               }
9049             },
9050             "tags": {
9051               "type": "array",
9052               "items": {
9053                 "type": "string"
9054               }
9055             },
9056             "virt-type": {
9057               "type": "string"
9058             }
9059           },
9060           "additionalProperties": false
9061         }
9062       }
9063     }
9064   },
9065   {
9066     "Name": "HostKeyReporter",
9067     "Version": 1,
9068     "Schema": {
9069       "type": "object",
9070       "properties": {
9071         "ReportKeys": {
9072           "type": "object",
9073           "properties": {
9074             "Params": {
9075               "$ref": "#/definitions/SSHHostKeySet"
9076             },
9077             "Result": {
9078               "$ref": "#/definitions/ErrorResults"
9079             }
9080           }
9081         }
9082       },
9083       "definitions": {
9084         "Error": {
9085           "type": "object",
9086           "properties": {
9087             "code": {
9088               "type": "string"
9089             },
9090             "info": {
9091               "$ref": "#/definitions/ErrorInfo"
9092             },
9093             "message": {
9094               "type": "string"
9095             }
9096           },
9097           "additionalProperties": false,
9098           "required": [
9099             "message",
9100             "code"
9101           ]
9102         },
9103         "ErrorInfo": {
9104           "type": "object",
9105           "properties": {
9106             "macaroon": {
9107               "$ref": "#/definitions/Macaroon"
9108             },
9109             "macaroon-path": {
9110               "type": "string"
9111             }
9112           },
9113           "additionalProperties": false
9114         },
9115         "ErrorResult": {
9116           "type": "object",
9117           "properties": {
9118             "error": {
9119               "$ref": "#/definitions/Error"
9120             }
9121           },
9122           "additionalProperties": false
9123         },
9124         "ErrorResults": {
9125           "type": "object",
9126           "properties": {
9127             "results": {
9128               "type": "array",
9129               "items": {
9130                 "$ref": "#/definitions/ErrorResult"
9131               }
9132             }
9133           },
9134           "additionalProperties": false,
9135           "required": [
9136             "results"
9137           ]
9138         },
9139         "Macaroon": {
9140           "type": "object",
9141           "additionalProperties": false
9142         },
9143         "SSHHostKeySet": {
9144           "type": "object",
9145           "properties": {
9146             "entity-keys": {
9147               "type": "array",
9148               "items": {
9149                 "$ref": "#/definitions/SSHHostKeys"
9150               }
9151             }
9152           },
9153           "additionalProperties": false,
9154           "required": [
9155             "entity-keys"
9156           ]
9157         },
9158         "SSHHostKeys": {
9159           "type": "object",
9160           "properties": {
9161             "public-keys": {
9162               "type": "array",
9163               "items": {
9164                 "type": "string"
9165               }
9166             },
9167             "tag": {
9168               "type": "string"
9169             }
9170           },
9171           "additionalProperties": false,
9172           "required": [
9173             "tag",
9174             "public-keys"
9175           ]
9176         }
9177       }
9178     }
9179   },
9180   {
9181     "Name": "ImageManager",
9182     "Version": 2,
9183     "Schema": {
9184       "type": "object",
9185       "properties": {
9186         "DeleteImages": {
9187           "type": "object",
9188           "properties": {
9189             "Params": {
9190               "$ref": "#/definitions/ImageFilterParams"
9191             },
9192             "Result": {
9193               "$ref": "#/definitions/ErrorResults"
9194             }
9195           }
9196         },
9197         "ListImages": {
9198           "type": "object",
9199           "properties": {
9200             "Params": {
9201               "$ref": "#/definitions/ImageFilterParams"
9202             },
9203             "Result": {
9204               "$ref": "#/definitions/ListImageResult"
9205             }
9206           }
9207         }
9208       },
9209       "definitions": {
9210         "Error": {
9211           "type": "object",
9212           "properties": {
9213             "code": {
9214               "type": "string"
9215             },
9216             "info": {
9217               "$ref": "#/definitions/ErrorInfo"
9218             },
9219             "message": {
9220               "type": "string"
9221             }
9222           },
9223           "additionalProperties": false,
9224           "required": [
9225             "message",
9226             "code"
9227           ]
9228         },
9229         "ErrorInfo": {
9230           "type": "object",
9231           "properties": {
9232             "macaroon": {
9233               "$ref": "#/definitions/Macaroon"
9234             },
9235             "macaroon-path": {
9236               "type": "string"
9237             }
9238           },
9239           "additionalProperties": false
9240         },
9241         "ErrorResult": {
9242           "type": "object",
9243           "properties": {
9244             "error": {
9245               "$ref": "#/definitions/Error"
9246             }
9247           },
9248           "additionalProperties": false
9249         },
9250         "ErrorResults": {
9251           "type": "object",
9252           "properties": {
9253             "results": {
9254               "type": "array",
9255               "items": {
9256                 "$ref": "#/definitions/ErrorResult"
9257               }
9258             }
9259           },
9260           "additionalProperties": false,
9261           "required": [
9262             "results"
9263           ]
9264         },
9265         "ImageFilterParams": {
9266           "type": "object",
9267           "properties": {
9268             "images": {
9269               "type": "array",
9270               "items": {
9271                 "$ref": "#/definitions/ImageSpec"
9272               }
9273             }
9274           },
9275           "additionalProperties": false,
9276           "required": [
9277             "images"
9278           ]
9279         },
9280         "ImageMetadata": {
9281           "type": "object",
9282           "properties": {
9283             "arch": {
9284               "type": "string"
9285             },
9286             "created": {
9287               "type": "string",
9288               "format": "date-time"
9289             },
9290             "kind": {
9291               "type": "string"
9292             },
9293             "series": {
9294               "type": "string"
9295             },
9296             "url": {
9297               "type": "string"
9298             }
9299           },
9300           "additionalProperties": false,
9301           "required": [
9302             "kind",
9303             "arch",
9304             "series",
9305             "url",
9306             "created"
9307           ]
9308         },
9309         "ImageSpec": {
9310           "type": "object",
9311           "properties": {
9312             "arch": {
9313               "type": "string"
9314             },
9315             "kind": {
9316               "type": "string"
9317             },
9318             "series": {
9319               "type": "string"
9320             }
9321           },
9322           "additionalProperties": false,
9323           "required": [
9324             "kind",
9325             "arch",
9326             "series"
9327           ]
9328         },
9329         "ListImageResult": {
9330           "type": "object",
9331           "properties": {
9332             "result": {
9333               "type": "array",
9334               "items": {
9335                 "$ref": "#/definitions/ImageMetadata"
9336               }
9337             }
9338           },
9339           "additionalProperties": false,
9340           "required": [
9341             "result"
9342           ]
9343         },
9344         "Macaroon": {
9345           "type": "object",
9346           "additionalProperties": false
9347         }
9348       }
9349     }
9350   },
9351   {
9352     "Name": "ImageMetadata",
9353     "Version": 2,
9354     "Schema": {
9355       "type": "object",
9356       "properties": {
9357         "Delete": {
9358           "type": "object",
9359           "properties": {
9360             "Params": {
9361               "$ref": "#/definitions/MetadataImageIds"
9362             },
9363             "Result": {
9364               "$ref": "#/definitions/ErrorResults"
9365             }
9366           }
9367         },
9368         "List": {
9369           "type": "object",
9370           "properties": {
9371             "Params": {
9372               "$ref": "#/definitions/ImageMetadataFilter"
9373             },
9374             "Result": {
9375               "$ref": "#/definitions/ListCloudImageMetadataResult"
9376             }
9377           }
9378         },
9379         "Save": {
9380           "type": "object",
9381           "properties": {
9382             "Params": {
9383               "$ref": "#/definitions/MetadataSaveParams"
9384             },
9385             "Result": {
9386               "$ref": "#/definitions/ErrorResults"
9387             }
9388           }
9389         },
9390         "UpdateFromPublishedImages": {
9391           "type": "object"
9392         }
9393       },
9394       "definitions": {
9395         "CloudImageMetadata": {
9396           "type": "object",
9397           "properties": {
9398             "arch": {
9399               "type": "string"
9400             },
9401             "image-id": {
9402               "type": "string"
9403             },
9404             "priority": {
9405               "type": "integer"
9406             },
9407             "region": {
9408               "type": "string"
9409             },
9410             "root-storage-size": {
9411               "type": "integer"
9412             },
9413             "root-storage-type": {
9414               "type": "string"
9415             },
9416             "series": {
9417               "type": "string"
9418             },
9419             "source": {
9420               "type": "string"
9421             },
9422             "stream": {
9423               "type": "string"
9424             },
9425             "version": {
9426               "type": "string"
9427             },
9428             "virt-type": {
9429               "type": "string"
9430             }
9431           },
9432           "additionalProperties": false,
9433           "required": [
9434             "image-id",
9435             "region",
9436             "version",
9437             "series",
9438             "arch",
9439             "source",
9440             "priority"
9441           ]
9442         },
9443         "CloudImageMetadataList": {
9444           "type": "object",
9445           "properties": {
9446             "metadata": {
9447               "type": "array",
9448               "items": {
9449                 "$ref": "#/definitions/CloudImageMetadata"
9450               }
9451             }
9452           },
9453           "additionalProperties": false
9454         },
9455         "Error": {
9456           "type": "object",
9457           "properties": {
9458             "code": {
9459               "type": "string"
9460             },
9461             "info": {
9462               "$ref": "#/definitions/ErrorInfo"
9463             },
9464             "message": {
9465               "type": "string"
9466             }
9467           },
9468           "additionalProperties": false,
9469           "required": [
9470             "message",
9471             "code"
9472           ]
9473         },
9474         "ErrorInfo": {
9475           "type": "object",
9476           "properties": {
9477             "macaroon": {
9478               "$ref": "#/definitions/Macaroon"
9479             },
9480             "macaroon-path": {
9481               "type": "string"
9482             }
9483           },
9484           "additionalProperties": false
9485         },
9486         "ErrorResult": {
9487           "type": "object",
9488           "properties": {
9489             "error": {
9490               "$ref": "#/definitions/Error"
9491             }
9492           },
9493           "additionalProperties": false
9494         },
9495         "ErrorResults": {
9496           "type": "object",
9497           "properties": {
9498             "results": {
9499               "type": "array",
9500               "items": {
9501                 "$ref": "#/definitions/ErrorResult"
9502               }
9503             }
9504           },
9505           "additionalProperties": false,
9506           "required": [
9507             "results"
9508           ]
9509         },
9510         "ImageMetadataFilter": {
9511           "type": "object",
9512           "properties": {
9513             "arches": {
9514               "type": "array",
9515               "items": {
9516                 "type": "string"
9517               }
9518             },
9519             "region": {
9520               "type": "string"
9521             },
9522             "root-storage-type": {
9523               "type": "string"
9524             },
9525             "series": {
9526               "type": "array",
9527               "items": {
9528                 "type": "string"
9529               }
9530             },
9531             "stream": {
9532               "type": "string"
9533             },
9534             "virt-type": {
9535               "type": "string"
9536             }
9537           },
9538           "additionalProperties": false
9539         },
9540         "ListCloudImageMetadataResult": {
9541           "type": "object",
9542           "properties": {
9543             "result": {
9544               "type": "array",
9545               "items": {
9546                 "$ref": "#/definitions/CloudImageMetadata"
9547               }
9548             }
9549           },
9550           "additionalProperties": false,
9551           "required": [
9552             "result"
9553           ]
9554         },
9555         "Macaroon": {
9556           "type": "object",
9557           "additionalProperties": false
9558         },
9559         "MetadataImageIds": {
9560           "type": "object",
9561           "properties": {
9562             "image-ids": {
9563               "type": "array",
9564               "items": {
9565                 "type": "string"
9566               }
9567             }
9568           },
9569           "additionalProperties": false,
9570           "required": [
9571             "image-ids"
9572           ]
9573         },
9574         "MetadataSaveParams": {
9575           "type": "object",
9576           "properties": {
9577             "metadata": {
9578               "type": "array",
9579               "items": {
9580                 "$ref": "#/definitions/CloudImageMetadataList"
9581               }
9582             }
9583           },
9584           "additionalProperties": false
9585         }
9586       }
9587     }
9588   },
9589   {
9590     "Name": "InstancePoller",
9591     "Version": 3,
9592     "Schema": {
9593       "type": "object",
9594       "properties": {
9595         "AreManuallyProvisioned": {
9596           "type": "object",
9597           "properties": {
9598             "Params": {
9599               "$ref": "#/definitions/Entities"
9600             },
9601             "Result": {
9602               "$ref": "#/definitions/BoolResults"
9603             }
9604           }
9605         },
9606         "InstanceId": {
9607           "type": "object",
9608           "properties": {
9609             "Params": {
9610               "$ref": "#/definitions/Entities"
9611             },
9612             "Result": {
9613               "$ref": "#/definitions/StringResults"
9614             }
9615           }
9616         },
9617         "InstanceStatus": {
9618           "type": "object",
9619           "properties": {
9620             "Params": {
9621               "$ref": "#/definitions/Entities"
9622             },
9623             "Result": {
9624               "$ref": "#/definitions/StatusResults"
9625             }
9626           }
9627         },
9628         "Life": {
9629           "type": "object",
9630           "properties": {
9631             "Params": {
9632               "$ref": "#/definitions/Entities"
9633             },
9634             "Result": {
9635               "$ref": "#/definitions/LifeResults"
9636             }
9637           }
9638         },
9639         "ModelConfig": {
9640           "type": "object",
9641           "properties": {
9642             "Result": {
9643               "$ref": "#/definitions/ModelConfigResult"
9644             }
9645           }
9646         },
9647         "ProviderAddresses": {
9648           "type": "object",
9649           "properties": {
9650             "Params": {
9651               "$ref": "#/definitions/Entities"
9652             },
9653             "Result": {
9654               "$ref": "#/definitions/MachineAddressesResults"
9655             }
9656           }
9657         },
9658         "SetInstanceStatus": {
9659           "type": "object",
9660           "properties": {
9661             "Params": {
9662               "$ref": "#/definitions/SetStatus"
9663             },
9664             "Result": {
9665               "$ref": "#/definitions/ErrorResults"
9666             }
9667           }
9668         },
9669         "SetProviderAddresses": {
9670           "type": "object",
9671           "properties": {
9672             "Params": {
9673               "$ref": "#/definitions/SetMachinesAddresses"
9674             },
9675             "Result": {
9676               "$ref": "#/definitions/ErrorResults"
9677             }
9678           }
9679         },
9680         "Status": {
9681           "type": "object",
9682           "properties": {
9683             "Params": {
9684               "$ref": "#/definitions/Entities"
9685             },
9686             "Result": {
9687               "$ref": "#/definitions/StatusResults"
9688             }
9689           }
9690         },
9691         "WatchForModelConfigChanges": {
9692           "type": "object",
9693           "properties": {
9694             "Result": {
9695               "$ref": "#/definitions/NotifyWatchResult"
9696             }
9697           }
9698         },
9699         "WatchModelMachines": {
9700           "type": "object",
9701           "properties": {
9702             "Result": {
9703               "$ref": "#/definitions/StringsWatchResult"
9704             }
9705           }
9706         }
9707       },
9708       "definitions": {
9709         "Address": {
9710           "type": "object",
9711           "properties": {
9712             "scope": {
9713               "type": "string"
9714             },
9715             "space-name": {
9716               "type": "string"
9717             },
9718             "type": {
9719               "type": "string"
9720             },
9721             "value": {
9722               "type": "string"
9723             }
9724           },
9725           "additionalProperties": false,
9726           "required": [
9727             "value",
9728             "type",
9729             "scope"
9730           ]
9731         },
9732         "BoolResult": {
9733           "type": "object",
9734           "properties": {
9735             "error": {
9736               "$ref": "#/definitions/Error"
9737             },
9738             "result": {
9739               "type": "boolean"
9740             }
9741           },
9742           "additionalProperties": false,
9743           "required": [
9744             "result"
9745           ]
9746         },
9747         "BoolResults": {
9748           "type": "object",
9749           "properties": {
9750             "results": {
9751               "type": "array",
9752               "items": {
9753                 "$ref": "#/definitions/BoolResult"
9754               }
9755             }
9756           },
9757           "additionalProperties": false,
9758           "required": [
9759             "results"
9760           ]
9761         },
9762         "Entities": {
9763           "type": "object",
9764           "properties": {
9765             "entities": {
9766               "type": "array",
9767               "items": {
9768                 "$ref": "#/definitions/Entity"
9769               }
9770             }
9771           },
9772           "additionalProperties": false,
9773           "required": [
9774             "entities"
9775           ]
9776         },
9777         "Entity": {
9778           "type": "object",
9779           "properties": {
9780             "tag": {
9781               "type": "string"
9782             }
9783           },
9784           "additionalProperties": false,
9785           "required": [
9786             "tag"
9787           ]
9788         },
9789         "EntityStatusArgs": {
9790           "type": "object",
9791           "properties": {
9792             "data": {
9793               "type": "object",
9794               "patternProperties": {
9795                 ".*": {
9796                   "type": "object",
9797                   "additionalProperties": true
9798                 }
9799               }
9800             },
9801             "info": {
9802               "type": "string"
9803             },
9804             "status": {
9805               "type": "string"
9806             },
9807             "tag": {
9808               "type": "string"
9809             }
9810           },
9811           "additionalProperties": false,
9812           "required": [
9813             "tag",
9814             "status",
9815             "info",
9816             "data"
9817           ]
9818         },
9819         "Error": {
9820           "type": "object",
9821           "properties": {
9822             "code": {
9823               "type": "string"
9824             },
9825             "info": {
9826               "$ref": "#/definitions/ErrorInfo"
9827             },
9828             "message": {
9829               "type": "string"
9830             }
9831           },
9832           "additionalProperties": false,
9833           "required": [
9834             "message",
9835             "code"
9836           ]
9837         },
9838         "ErrorInfo": {
9839           "type": "object",
9840           "properties": {
9841             "macaroon": {
9842               "$ref": "#/definitions/Macaroon"
9843             },
9844             "macaroon-path": {
9845               "type": "string"
9846             }
9847           },
9848           "additionalProperties": false
9849         },
9850         "ErrorResult": {
9851           "type": "object",
9852           "properties": {
9853             "error": {
9854               "$ref": "#/definitions/Error"
9855             }
9856           },
9857           "additionalProperties": false
9858         },
9859         "ErrorResults": {
9860           "type": "object",
9861           "properties": {
9862             "results": {
9863               "type": "array",
9864               "items": {
9865                 "$ref": "#/definitions/ErrorResult"
9866               }
9867             }
9868           },
9869           "additionalProperties": false,
9870           "required": [
9871             "results"
9872           ]
9873         },
9874         "LifeResult": {
9875           "type": "object",
9876           "properties": {
9877             "error": {
9878               "$ref": "#/definitions/Error"
9879             },
9880             "life": {
9881               "type": "string"
9882             }
9883           },
9884           "additionalProperties": false,
9885           "required": [
9886             "life"
9887           ]
9888         },
9889         "LifeResults": {
9890           "type": "object",
9891           "properties": {
9892             "results": {
9893               "type": "array",
9894               "items": {
9895                 "$ref": "#/definitions/LifeResult"
9896               }
9897             }
9898           },
9899           "additionalProperties": false,
9900           "required": [
9901             "results"
9902           ]
9903         },
9904         "Macaroon": {
9905           "type": "object",
9906           "additionalProperties": false
9907         },
9908         "MachineAddresses": {
9909           "type": "object",
9910           "properties": {
9911             "addresses": {
9912               "type": "array",
9913               "items": {
9914                 "$ref": "#/definitions/Address"
9915               }
9916             },
9917             "tag": {
9918               "type": "string"
9919             }
9920           },
9921           "additionalProperties": false,
9922           "required": [
9923             "tag",
9924             "addresses"
9925           ]
9926         },
9927         "MachineAddressesResult": {
9928           "type": "object",
9929           "properties": {
9930             "addresses": {
9931               "type": "array",
9932               "items": {
9933                 "$ref": "#/definitions/Address"
9934               }
9935             },
9936             "error": {
9937               "$ref": "#/definitions/Error"
9938             }
9939           },
9940           "additionalProperties": false,
9941           "required": [
9942             "addresses"
9943           ]
9944         },
9945         "MachineAddressesResults": {
9946           "type": "object",
9947           "properties": {
9948             "results": {
9949               "type": "array",
9950               "items": {
9951                 "$ref": "#/definitions/MachineAddressesResult"
9952               }
9953             }
9954           },
9955           "additionalProperties": false,
9956           "required": [
9957             "results"
9958           ]
9959         },
9960         "ModelConfigResult": {
9961           "type": "object",
9962           "properties": {
9963             "config": {
9964               "type": "object",
9965               "patternProperties": {
9966                 ".*": {
9967                   "type": "object",
9968                   "additionalProperties": true
9969                 }
9970               }
9971             }
9972           },
9973           "additionalProperties": false,
9974           "required": [
9975             "config"
9976           ]
9977         },
9978         "NotifyWatchResult": {
9979           "type": "object",
9980           "properties": {
9981             "NotifyWatcherId": {
9982               "type": "string"
9983             },
9984             "error": {
9985               "$ref": "#/definitions/Error"
9986             }
9987           },
9988           "additionalProperties": false,
9989           "required": [
9990             "NotifyWatcherId"
9991           ]
9992         },
9993         "SetMachinesAddresses": {
9994           "type": "object",
9995           "properties": {
9996             "machine-addresses": {
9997               "type": "array",
9998               "items": {
9999                 "$ref": "#/definitions/MachineAddresses"
10000               }
10001             }
10002           },
10003           "additionalProperties": false,
10004           "required": [
10005             "machine-addresses"
10006           ]
10007         },
10008         "SetStatus": {
10009           "type": "object",
10010           "properties": {
10011             "entities": {
10012               "type": "array",
10013               "items": {
10014                 "$ref": "#/definitions/EntityStatusArgs"
10015               }
10016             }
10017           },
10018           "additionalProperties": false,
10019           "required": [
10020             "entities"
10021           ]
10022         },
10023         "StatusResult": {
10024           "type": "object",
10025           "properties": {
10026             "data": {
10027               "type": "object",
10028               "patternProperties": {
10029                 ".*": {
10030                   "type": "object",
10031                   "additionalProperties": true
10032                 }
10033               }
10034             },
10035             "error": {
10036               "$ref": "#/definitions/Error"
10037             },
10038             "id": {
10039               "type": "string"
10040             },
10041             "info": {
10042               "type": "string"
10043             },
10044             "life": {
10045               "type": "string"
10046             },
10047             "since": {
10048               "type": "string",
10049               "format": "date-time"
10050             },
10051             "status": {
10052               "type": "string"
10053             }
10054           },
10055           "additionalProperties": false,
10056           "required": [
10057             "id",
10058             "life",
10059             "status",
10060             "info",
10061             "data",
10062             "since"
10063           ]
10064         },
10065         "StatusResults": {
10066           "type": "object",
10067           "properties": {
10068             "results": {
10069               "type": "array",
10070               "items": {
10071                 "$ref": "#/definitions/StatusResult"
10072               }
10073             }
10074           },
10075           "additionalProperties": false,
10076           "required": [
10077             "results"
10078           ]
10079         },
10080         "StringResult": {
10081           "type": "object",
10082           "properties": {
10083             "error": {
10084               "$ref": "#/definitions/Error"
10085             },
10086             "result": {
10087               "type": "string"
10088             }
10089           },
10090           "additionalProperties": false,
10091           "required": [
10092             "result"
10093           ]
10094         },
10095         "StringResults": {
10096           "type": "object",
10097           "properties": {
10098             "results": {
10099               "type": "array",
10100               "items": {
10101                 "$ref": "#/definitions/StringResult"
10102               }
10103             }
10104           },
10105           "additionalProperties": false,
10106           "required": [
10107             "results"
10108           ]
10109         },
10110         "StringsWatchResult": {
10111           "type": "object",
10112           "properties": {
10113             "changes": {
10114               "type": "array",
10115               "items": {
10116                 "type": "string"
10117               }
10118             },
10119             "error": {
10120               "$ref": "#/definitions/Error"
10121             },
10122             "watcher-id": {
10123               "type": "string"
10124             }
10125           },
10126           "additionalProperties": false,
10127           "required": [
10128             "watcher-id"
10129           ]
10130         }
10131       }
10132     }
10133   },
10134   {
10135     "Name": "KeyManager",
10136     "Version": 1,
10137     "Schema": {
10138       "type": "object",
10139       "properties": {
10140         "AddKeys": {
10141           "type": "object",
10142           "properties": {
10143             "Params": {
10144               "$ref": "#/definitions/ModifyUserSSHKeys"
10145             },
10146             "Result": {
10147               "$ref": "#/definitions/ErrorResults"
10148             }
10149           }
10150         },
10151         "DeleteKeys": {
10152           "type": "object",
10153           "properties": {
10154             "Params": {
10155               "$ref": "#/definitions/ModifyUserSSHKeys"
10156             },
10157             "Result": {
10158               "$ref": "#/definitions/ErrorResults"
10159             }
10160           }
10161         },
10162         "ImportKeys": {
10163           "type": "object",
10164           "properties": {
10165             "Params": {
10166               "$ref": "#/definitions/ModifyUserSSHKeys"
10167             },
10168             "Result": {
10169               "$ref": "#/definitions/ErrorResults"
10170             }
10171           }
10172         },
10173         "ListKeys": {
10174           "type": "object",
10175           "properties": {
10176             "Params": {
10177               "$ref": "#/definitions/ListSSHKeys"
10178             },
10179             "Result": {
10180               "$ref": "#/definitions/StringsResults"
10181             }
10182           }
10183         }
10184       },
10185       "definitions": {
10186         "Entities": {
10187           "type": "object",
10188           "properties": {
10189             "entities": {
10190               "type": "array",
10191               "items": {
10192                 "$ref": "#/definitions/Entity"
10193               }
10194             }
10195           },
10196           "additionalProperties": false,
10197           "required": [
10198             "entities"
10199           ]
10200         },
10201         "Entity": {
10202           "type": "object",
10203           "properties": {
10204             "tag": {
10205               "type": "string"
10206             }
10207           },
10208           "additionalProperties": false,
10209           "required": [
10210             "tag"
10211           ]
10212         },
10213         "Error": {
10214           "type": "object",
10215           "properties": {
10216             "code": {
10217               "type": "string"
10218             },
10219             "info": {
10220               "$ref": "#/definitions/ErrorInfo"
10221             },
10222             "message": {
10223               "type": "string"
10224             }
10225           },
10226           "additionalProperties": false,
10227           "required": [
10228             "message",
10229             "code"
10230           ]
10231         },
10232         "ErrorInfo": {
10233           "type": "object",
10234           "properties": {
10235             "macaroon": {
10236               "$ref": "#/definitions/Macaroon"
10237             },
10238             "macaroon-path": {
10239               "type": "string"
10240             }
10241           },
10242           "additionalProperties": false
10243         },
10244         "ErrorResult": {
10245           "type": "object",
10246           "properties": {
10247             "error": {
10248               "$ref": "#/definitions/Error"
10249             }
10250           },
10251           "additionalProperties": false
10252         },
10253         "ErrorResults": {
10254           "type": "object",
10255           "properties": {
10256             "results": {
10257               "type": "array",
10258               "items": {
10259                 "$ref": "#/definitions/ErrorResult"
10260               }
10261             }
10262           },
10263           "additionalProperties": false,
10264           "required": [
10265             "results"
10266           ]
10267         },
10268         "ListSSHKeys": {
10269           "type": "object",
10270           "properties": {
10271             "entities": {
10272               "$ref": "#/definitions/Entities"
10273             },
10274             "mode": {
10275               "type": "boolean"
10276             }
10277           },
10278           "additionalProperties": false,
10279           "required": [
10280             "entities",
10281             "mode"
10282           ]
10283         },
10284         "Macaroon": {
10285           "type": "object",
10286           "additionalProperties": false
10287         },
10288         "ModifyUserSSHKeys": {
10289           "type": "object",
10290           "properties": {
10291             "ssh-keys": {
10292               "type": "array",
10293               "items": {
10294                 "type": "string"
10295               }
10296             },
10297             "user": {
10298               "type": "string"
10299             }
10300           },
10301           "additionalProperties": false,
10302           "required": [
10303             "user",
10304             "ssh-keys"
10305           ]
10306         },
10307         "StringsResult": {
10308           "type": "object",
10309           "properties": {
10310             "error": {
10311               "$ref": "#/definitions/Error"
10312             },
10313             "result": {
10314               "type": "array",
10315               "items": {
10316                 "type": "string"
10317               }
10318             }
10319           },
10320           "additionalProperties": false
10321         },
10322         "StringsResults": {
10323           "type": "object",
10324           "properties": {
10325             "results": {
10326               "type": "array",
10327               "items": {
10328                 "$ref": "#/definitions/StringsResult"
10329               }
10330             }
10331           },
10332           "additionalProperties": false,
10333           "required": [
10334             "results"
10335           ]
10336         }
10337       }
10338     }
10339   },
10340   {
10341     "Name": "KeyUpdater",
10342     "Version": 1,
10343     "Schema": {
10344       "type": "object",
10345       "properties": {
10346         "AuthorisedKeys": {
10347           "type": "object",
10348           "properties": {
10349             "Params": {
10350               "$ref": "#/definitions/Entities"
10351             },
10352             "Result": {
10353               "$ref": "#/definitions/StringsResults"
10354             }
10355           }
10356         },
10357         "WatchAuthorisedKeys": {
10358           "type": "object",
10359           "properties": {
10360             "Params": {
10361               "$ref": "#/definitions/Entities"
10362             },
10363             "Result": {
10364               "$ref": "#/definitions/NotifyWatchResults"
10365             }
10366           }
10367         }
10368       },
10369       "definitions": {
10370         "Entities": {
10371           "type": "object",
10372           "properties": {
10373             "entities": {
10374               "type": "array",
10375               "items": {
10376                 "$ref": "#/definitions/Entity"
10377               }
10378             }
10379           },
10380           "additionalProperties": false,
10381           "required": [
10382             "entities"
10383           ]
10384         },
10385         "Entity": {
10386           "type": "object",
10387           "properties": {
10388             "tag": {
10389               "type": "string"
10390             }
10391           },
10392           "additionalProperties": false,
10393           "required": [
10394             "tag"
10395           ]
10396         },
10397         "Error": {
10398           "type": "object",
10399           "properties": {
10400             "code": {
10401               "type": "string"
10402             },
10403             "info": {
10404               "$ref": "#/definitions/ErrorInfo"
10405             },
10406             "message": {
10407               "type": "string"
10408             }
10409           },
10410           "additionalProperties": false,
10411           "required": [
10412             "message",
10413             "code"
10414           ]
10415         },
10416         "ErrorInfo": {
10417           "type": "object",
10418           "properties": {
10419             "macaroon": {
10420               "$ref": "#/definitions/Macaroon"
10421             },
10422             "macaroon-path": {
10423               "type": "string"
10424             }
10425           },
10426           "additionalProperties": false
10427         },
10428         "Macaroon": {
10429           "type": "object",
10430           "additionalProperties": false
10431         },
10432         "NotifyWatchResult": {
10433           "type": "object",
10434           "properties": {
10435             "NotifyWatcherId": {
10436               "type": "string"
10437             },
10438             "error": {
10439               "$ref": "#/definitions/Error"
10440             }
10441           },
10442           "additionalProperties": false,
10443           "required": [
10444             "NotifyWatcherId"
10445           ]
10446         },
10447         "NotifyWatchResults": {
10448           "type": "object",
10449           "properties": {
10450             "results": {
10451               "type": "array",
10452               "items": {
10453                 "$ref": "#/definitions/NotifyWatchResult"
10454               }
10455             }
10456           },
10457           "additionalProperties": false,
10458           "required": [
10459             "results"
10460           ]
10461         },
10462         "StringsResult": {
10463           "type": "object",
10464           "properties": {
10465             "error": {
10466               "$ref": "#/definitions/Error"
10467             },
10468             "result": {
10469               "type": "array",
10470               "items": {
10471                 "type": "string"
10472               }
10473             }
10474           },
10475           "additionalProperties": false
10476         },
10477         "StringsResults": {
10478           "type": "object",
10479           "properties": {
10480             "results": {
10481               "type": "array",
10482               "items": {
10483                 "$ref": "#/definitions/StringsResult"
10484               }
10485             }
10486           },
10487           "additionalProperties": false,
10488           "required": [
10489             "results"
10490           ]
10491         }
10492       }
10493     }
10494   },
10495   {
10496     "Name": "LeadershipService",
10497     "Version": 2,
10498     "Schema": {
10499       "type": "object",
10500       "properties": {
10501         "BlockUntilLeadershipReleased": {
10502           "type": "object",
10503           "properties": {
10504             "Params": {
10505               "$ref": "#/definitions/ApplicationTag"
10506             },
10507             "Result": {
10508               "$ref": "#/definitions/ErrorResult"
10509             }
10510           }
10511         },
10512         "ClaimLeadership": {
10513           "type": "object",
10514           "properties": {
10515             "Params": {
10516               "$ref": "#/definitions/ClaimLeadershipBulkParams"
10517             },
10518             "Result": {
10519               "$ref": "#/definitions/ClaimLeadershipBulkResults"
10520             }
10521           }
10522         }
10523       },
10524       "definitions": {
10525         "ApplicationTag": {
10526           "type": "object",
10527           "properties": {
10528             "Name": {
10529               "type": "string"
10530             }
10531           },
10532           "additionalProperties": false,
10533           "required": [
10534             "Name"
10535           ]
10536         },
10537         "ClaimLeadershipBulkParams": {
10538           "type": "object",
10539           "properties": {
10540             "params": {
10541               "type": "array",
10542               "items": {
10543                 "$ref": "#/definitions/ClaimLeadershipParams"
10544               }
10545             }
10546           },
10547           "additionalProperties": false,
10548           "required": [
10549             "params"
10550           ]
10551         },
10552         "ClaimLeadershipBulkResults": {
10553           "type": "object",
10554           "properties": {
10555             "results": {
10556               "type": "array",
10557               "items": {
10558                 "$ref": "#/definitions/ErrorResult"
10559               }
10560             }
10561           },
10562           "additionalProperties": false,
10563           "required": [
10564             "results"
10565           ]
10566         },
10567         "ClaimLeadershipParams": {
10568           "type": "object",
10569           "properties": {
10570             "application-tag": {
10571               "type": "string"
10572             },
10573             "duration": {
10574               "type": "number"
10575             },
10576             "unit-tag": {
10577               "type": "string"
10578             }
10579           },
10580           "additionalProperties": false,
10581           "required": [
10582             "application-tag",
10583             "unit-tag",
10584             "duration"
10585           ]
10586         },
10587         "Error": {
10588           "type": "object",
10589           "properties": {
10590             "code": {
10591               "type": "string"
10592             },
10593             "info": {
10594               "$ref": "#/definitions/ErrorInfo"
10595             },
10596             "message": {
10597               "type": "string"
10598             }
10599           },
10600           "additionalProperties": false,
10601           "required": [
10602             "message",
10603             "code"
10604           ]
10605         },
10606         "ErrorInfo": {
10607           "type": "object",
10608           "properties": {
10609             "macaroon": {
10610               "$ref": "#/definitions/Macaroon"
10611             },
10612             "macaroon-path": {
10613               "type": "string"
10614             }
10615           },
10616           "additionalProperties": false
10617         },
10618         "ErrorResult": {
10619           "type": "object",
10620           "properties": {
10621             "error": {
10622               "$ref": "#/definitions/Error"
10623             }
10624           },
10625           "additionalProperties": false
10626         },
10627         "Macaroon": {
10628           "type": "object",
10629           "additionalProperties": false
10630         }
10631       }
10632     }
10633   },
10634   {
10635     "Name": "LifeFlag",
10636     "Version": 1,
10637     "Schema": {
10638       "type": "object",
10639       "properties": {
10640         "Life": {
10641           "type": "object",
10642           "properties": {
10643             "Params": {
10644               "$ref": "#/definitions/Entities"
10645             },
10646             "Result": {
10647               "$ref": "#/definitions/LifeResults"
10648             }
10649           }
10650         },
10651         "Watch": {
10652           "type": "object",
10653           "properties": {
10654             "Params": {
10655               "$ref": "#/definitions/Entities"
10656             },
10657             "Result": {
10658               "$ref": "#/definitions/NotifyWatchResults"
10659             }
10660           }
10661         }
10662       },
10663       "definitions": {
10664         "Entities": {
10665           "type": "object",
10666           "properties": {
10667             "entities": {
10668               "type": "array",
10669               "items": {
10670                 "$ref": "#/definitions/Entity"
10671               }
10672             }
10673           },
10674           "additionalProperties": false,
10675           "required": [
10676             "entities"
10677           ]
10678         },
10679         "Entity": {
10680           "type": "object",
10681           "properties": {
10682             "tag": {
10683               "type": "string"
10684             }
10685           },
10686           "additionalProperties": false,
10687           "required": [
10688             "tag"
10689           ]
10690         },
10691         "Error": {
10692           "type": "object",
10693           "properties": {
10694             "code": {
10695               "type": "string"
10696             },
10697             "info": {
10698               "$ref": "#/definitions/ErrorInfo"
10699             },
10700             "message": {
10701               "type": "string"
10702             }
10703           },
10704           "additionalProperties": false,
10705           "required": [
10706             "message",
10707             "code"
10708           ]
10709         },
10710         "ErrorInfo": {
10711           "type": "object",
10712           "properties": {
10713             "macaroon": {
10714               "$ref": "#/definitions/Macaroon"
10715             },
10716             "macaroon-path": {
10717               "type": "string"
10718             }
10719           },
10720           "additionalProperties": false
10721         },
10722         "LifeResult": {
10723           "type": "object",
10724           "properties": {
10725             "error": {
10726               "$ref": "#/definitions/Error"
10727             },
10728             "life": {
10729               "type": "string"
10730             }
10731           },
10732           "additionalProperties": false,
10733           "required": [
10734             "life"
10735           ]
10736         },
10737         "LifeResults": {
10738           "type": "object",
10739           "properties": {
10740             "results": {
10741               "type": "array",
10742               "items": {
10743                 "$ref": "#/definitions/LifeResult"
10744               }
10745             }
10746           },
10747           "additionalProperties": false,
10748           "required": [
10749             "results"
10750           ]
10751         },
10752         "Macaroon": {
10753           "type": "object",
10754           "additionalProperties": false
10755         },
10756         "NotifyWatchResult": {
10757           "type": "object",
10758           "properties": {
10759             "NotifyWatcherId": {
10760               "type": "string"
10761             },
10762             "error": {
10763               "$ref": "#/definitions/Error"
10764             }
10765           },
10766           "additionalProperties": false,
10767           "required": [
10768             "NotifyWatcherId"
10769           ]
10770         },
10771         "NotifyWatchResults": {
10772           "type": "object",
10773           "properties": {
10774             "results": {
10775               "type": "array",
10776               "items": {
10777                 "$ref": "#/definitions/NotifyWatchResult"
10778               }
10779             }
10780           },
10781           "additionalProperties": false,
10782           "required": [
10783             "results"
10784           ]
10785         }
10786       }
10787     }
10788   },
10789   {
10790     "Name": "LogForwarding",
10791     "Version": 1,
10792     "Schema": {
10793       "type": "object",
10794       "properties": {
10795         "GetLastSent": {
10796           "type": "object",
10797           "properties": {
10798             "Params": {
10799               "$ref": "#/definitions/LogForwardingGetLastSentParams"
10800             },
10801             "Result": {
10802               "$ref": "#/definitions/LogForwardingGetLastSentResults"
10803             }
10804           }
10805         },
10806         "SetLastSent": {
10807           "type": "object",
10808           "properties": {
10809             "Params": {
10810               "$ref": "#/definitions/LogForwardingSetLastSentParams"
10811             },
10812             "Result": {
10813               "$ref": "#/definitions/ErrorResults"
10814             }
10815           }
10816         }
10817       },
10818       "definitions": {
10819         "Error": {
10820           "type": "object",
10821           "properties": {
10822             "code": {
10823               "type": "string"
10824             },
10825             "info": {
10826               "$ref": "#/definitions/ErrorInfo"
10827             },
10828             "message": {
10829               "type": "string"
10830             }
10831           },
10832           "additionalProperties": false,
10833           "required": [
10834             "message",
10835             "code"
10836           ]
10837         },
10838         "ErrorInfo": {
10839           "type": "object",
10840           "properties": {
10841             "macaroon": {
10842               "$ref": "#/definitions/Macaroon"
10843             },
10844             "macaroon-path": {
10845               "type": "string"
10846             }
10847           },
10848           "additionalProperties": false
10849         },
10850         "ErrorResult": {
10851           "type": "object",
10852           "properties": {
10853             "error": {
10854               "$ref": "#/definitions/Error"
10855             }
10856           },
10857           "additionalProperties": false
10858         },
10859         "ErrorResults": {
10860           "type": "object",
10861           "properties": {
10862             "results": {
10863               "type": "array",
10864               "items": {
10865                 "$ref": "#/definitions/ErrorResult"
10866               }
10867             }
10868           },
10869           "additionalProperties": false,
10870           "required": [
10871             "results"
10872           ]
10873         },
10874         "LogForwardingGetLastSentParams": {
10875           "type": "object",
10876           "properties": {
10877             "ids": {
10878               "type": "array",
10879               "items": {
10880                 "$ref": "#/definitions/LogForwardingID"
10881               }
10882             }
10883           },
10884           "additionalProperties": false,
10885           "required": [
10886             "ids"
10887           ]
10888         },
10889         "LogForwardingGetLastSentResult": {
10890           "type": "object",
10891           "properties": {
10892             "err": {
10893               "$ref": "#/definitions/Error"
10894             },
10895             "record-id": {
10896               "type": "integer"
10897             },
10898             "record-timestamp": {
10899               "type": "integer"
10900             }
10901           },
10902           "additionalProperties": false,
10903           "required": [
10904             "record-id",
10905             "record-timestamp",
10906             "err"
10907           ]
10908         },
10909         "LogForwardingGetLastSentResults": {
10910           "type": "object",
10911           "properties": {
10912             "results": {
10913               "type": "array",
10914               "items": {
10915                 "$ref": "#/definitions/LogForwardingGetLastSentResult"
10916               }
10917             }
10918           },
10919           "additionalProperties": false,
10920           "required": [
10921             "results"
10922           ]
10923         },
10924         "LogForwardingID": {
10925           "type": "object",
10926           "properties": {
10927             "model": {
10928               "type": "string"
10929             },
10930             "sink": {
10931               "type": "string"
10932             }
10933           },
10934           "additionalProperties": false,
10935           "required": [
10936             "model",
10937             "sink"
10938           ]
10939         },
10940         "LogForwardingSetLastSentParam": {
10941           "type": "object",
10942           "properties": {
10943             "LogForwardingID": {
10944               "$ref": "#/definitions/LogForwardingID"
10945             },
10946             "record-id": {
10947               "type": "integer"
10948             },
10949             "record-timestamp": {
10950               "type": "integer"
10951             }
10952           },
10953           "additionalProperties": false,
10954           "required": [
10955             "LogForwardingID",
10956             "record-id",
10957             "record-timestamp"
10958           ]
10959         },
10960         "LogForwardingSetLastSentParams": {
10961           "type": "object",
10962           "properties": {
10963             "params": {
10964               "type": "array",
10965               "items": {
10966                 "$ref": "#/definitions/LogForwardingSetLastSentParam"
10967               }
10968             }
10969           },
10970           "additionalProperties": false,
10971           "required": [
10972             "params"
10973           ]
10974         },
10975         "Macaroon": {
10976           "type": "object",
10977           "additionalProperties": false
10978         }
10979       }
10980     }
10981   },
10982   {
10983     "Name": "Logger",
10984     "Version": 1,
10985     "Schema": {
10986       "type": "object",
10987       "properties": {
10988         "LoggingConfig": {
10989           "type": "object",
10990           "properties": {
10991             "Params": {
10992               "$ref": "#/definitions/Entities"
10993             },
10994             "Result": {
10995               "$ref": "#/definitions/StringResults"
10996             }
10997           }
10998         },
10999         "WatchLoggingConfig": {
11000           "type": "object",
11001           "properties": {
11002             "Params": {
11003               "$ref": "#/definitions/Entities"
11004             },
11005             "Result": {
11006               "$ref": "#/definitions/NotifyWatchResults"
11007             }
11008           }
11009         }
11010       },
11011       "definitions": {
11012         "Entities": {
11013           "type": "object",
11014           "properties": {
11015             "entities": {
11016               "type": "array",
11017               "items": {
11018                 "$ref": "#/definitions/Entity"
11019               }
11020             }
11021           },
11022           "additionalProperties": false,
11023           "required": [
11024             "entities"
11025           ]
11026         },
11027         "Entity": {
11028           "type": "object",
11029           "properties": {
11030             "tag": {
11031               "type": "string"
11032             }
11033           },
11034           "additionalProperties": false,
11035           "required": [
11036             "tag"
11037           ]
11038         },
11039         "Error": {
11040           "type": "object",
11041           "properties": {
11042             "code": {
11043               "type": "string"
11044             },
11045             "info": {
11046               "$ref": "#/definitions/ErrorInfo"
11047             },
11048             "message": {
11049               "type": "string"
11050             }
11051           },
11052           "additionalProperties": false,
11053           "required": [
11054             "message",
11055             "code"
11056           ]
11057         },
11058         "ErrorInfo": {
11059           "type": "object",
11060           "properties": {
11061             "macaroon": {
11062               "$ref": "#/definitions/Macaroon"
11063             },
11064             "macaroon-path": {
11065               "type": "string"
11066             }
11067           },
11068           "additionalProperties": false
11069         },
11070         "Macaroon": {
11071           "type": "object",
11072           "additionalProperties": false
11073         },
11074         "NotifyWatchResult": {
11075           "type": "object",
11076           "properties": {
11077             "NotifyWatcherId": {
11078               "type": "string"
11079             },
11080             "error": {
11081               "$ref": "#/definitions/Error"
11082             }
11083           },
11084           "additionalProperties": false,
11085           "required": [
11086             "NotifyWatcherId"
11087           ]
11088         },
11089         "NotifyWatchResults": {
11090           "type": "object",
11091           "properties": {
11092             "results": {
11093               "type": "array",
11094               "items": {
11095                 "$ref": "#/definitions/NotifyWatchResult"
11096               }
11097             }
11098           },
11099           "additionalProperties": false,
11100           "required": [
11101             "results"
11102           ]
11103         },
11104         "StringResult": {
11105           "type": "object",
11106           "properties": {
11107             "error": {
11108               "$ref": "#/definitions/Error"
11109             },
11110             "result": {
11111               "type": "string"
11112             }
11113           },
11114           "additionalProperties": false,
11115           "required": [
11116             "result"
11117           ]
11118         },
11119         "StringResults": {
11120           "type": "object",
11121           "properties": {
11122             "results": {
11123               "type": "array",
11124               "items": {
11125                 "$ref": "#/definitions/StringResult"
11126               }
11127             }
11128           },
11129           "additionalProperties": false,
11130           "required": [
11131             "results"
11132           ]
11133         }
11134       }
11135     }
11136   },
11137   {
11138     "Name": "MachineActions",
11139     "Version": 1,
11140     "Schema": {
11141       "type": "object",
11142       "properties": {
11143         "Actions": {
11144           "type": "object",
11145           "properties": {
11146             "Params": {
11147               "$ref": "#/definitions/Entities"
11148             },
11149             "Result": {
11150               "$ref": "#/definitions/ActionResults"
11151             }
11152           }
11153         },
11154         "BeginActions": {
11155           "type": "object",
11156           "properties": {
11157             "Params": {
11158               "$ref": "#/definitions/Entities"
11159             },
11160             "Result": {
11161               "$ref": "#/definitions/ErrorResults"
11162             }
11163           }
11164         },
11165         "FinishActions": {
11166           "type": "object",
11167           "properties": {
11168             "Params": {
11169               "$ref": "#/definitions/ActionExecutionResults"
11170             },
11171             "Result": {
11172               "$ref": "#/definitions/ErrorResults"
11173             }
11174           }
11175         },
11176         "RunningActions": {
11177           "type": "object",
11178           "properties": {
11179             "Params": {
11180               "$ref": "#/definitions/Entities"
11181             },
11182             "Result": {
11183               "$ref": "#/definitions/ActionsByReceivers"
11184             }
11185           }
11186         },
11187         "WatchActionNotifications": {
11188           "type": "object",
11189           "properties": {
11190             "Params": {
11191               "$ref": "#/definitions/Entities"
11192             },
11193             "Result": {
11194               "$ref": "#/definitions/StringsWatchResults"
11195             }
11196           }
11197         }
11198       },
11199       "definitions": {
11200         "Action": {
11201           "type": "object",
11202           "properties": {
11203             "name": {
11204               "type": "string"
11205             },
11206             "parameters": {
11207               "type": "object",
11208               "patternProperties": {
11209                 ".*": {
11210                   "type": "object",
11211                   "additionalProperties": true
11212                 }
11213               }
11214             },
11215             "receiver": {
11216               "type": "string"
11217             },
11218             "tag": {
11219               "type": "string"
11220             }
11221           },
11222           "additionalProperties": false,
11223           "required": [
11224             "tag",
11225             "receiver",
11226             "name"
11227           ]
11228         },
11229         "ActionExecutionResult": {
11230           "type": "object",
11231           "properties": {
11232             "action-tag": {
11233               "type": "string"
11234             },
11235             "message": {
11236               "type": "string"
11237             },
11238             "results": {
11239               "type": "object",
11240               "patternProperties": {
11241                 ".*": {
11242                   "type": "object",
11243                   "additionalProperties": true
11244                 }
11245               }
11246             },
11247             "status": {
11248               "type": "string"
11249             }
11250           },
11251           "additionalProperties": false,
11252           "required": [
11253             "action-tag",
11254             "status"
11255           ]
11256         },
11257         "ActionExecutionResults": {
11258           "type": "object",
11259           "properties": {
11260             "results": {
11261               "type": "array",
11262               "items": {
11263                 "$ref": "#/definitions/ActionExecutionResult"
11264               }
11265             }
11266           },
11267           "additionalProperties": false
11268         },
11269         "ActionResult": {
11270           "type": "object",
11271           "properties": {
11272             "action": {
11273               "$ref": "#/definitions/Action"
11274             },
11275             "completed": {
11276               "type": "string",
11277               "format": "date-time"
11278             },
11279             "enqueued": {
11280               "type": "string",
11281               "format": "date-time"
11282             },
11283             "error": {
11284               "$ref": "#/definitions/Error"
11285             },
11286             "message": {
11287               "type": "string"
11288             },
11289             "output": {
11290               "type": "object",
11291               "patternProperties": {
11292                 ".*": {
11293                   "type": "object",
11294                   "additionalProperties": true
11295                 }
11296               }
11297             },
11298             "started": {
11299               "type": "string",
11300               "format": "date-time"
11301             },
11302             "status": {
11303               "type": "string"
11304             }
11305           },
11306           "additionalProperties": false
11307         },
11308         "ActionResults": {
11309           "type": "object",
11310           "properties": {
11311             "results": {
11312               "type": "array",
11313               "items": {
11314                 "$ref": "#/definitions/ActionResult"
11315               }
11316             }
11317           },
11318           "additionalProperties": false
11319         },
11320         "ActionsByReceiver": {
11321           "type": "object",
11322           "properties": {
11323             "actions": {
11324               "type": "array",
11325               "items": {
11326                 "$ref": "#/definitions/ActionResult"
11327               }
11328             },
11329             "error": {
11330               "$ref": "#/definitions/Error"
11331             },
11332             "receiver": {
11333               "type": "string"
11334             }
11335           },
11336           "additionalProperties": false
11337         },
11338         "ActionsByReceivers": {
11339           "type": "object",
11340           "properties": {
11341             "actions": {
11342               "type": "array",
11343               "items": {
11344                 "$ref": "#/definitions/ActionsByReceiver"
11345               }
11346             }
11347           },
11348           "additionalProperties": false
11349         },
11350         "Entities": {
11351           "type": "object",
11352           "properties": {
11353             "entities": {
11354               "type": "array",
11355               "items": {
11356                 "$ref": "#/definitions/Entity"
11357               }
11358             }
11359           },
11360           "additionalProperties": false,
11361           "required": [
11362             "entities"
11363           ]
11364         },
11365         "Entity": {
11366           "type": "object",
11367           "properties": {
11368             "tag": {
11369               "type": "string"
11370             }
11371           },
11372           "additionalProperties": false,
11373           "required": [
11374             "tag"
11375           ]
11376         },
11377         "Error": {
11378           "type": "object",
11379           "properties": {
11380             "code": {
11381               "type": "string"
11382             },
11383             "info": {
11384               "$ref": "#/definitions/ErrorInfo"
11385             },
11386             "message": {
11387               "type": "string"
11388             }
11389           },
11390           "additionalProperties": false,
11391           "required": [
11392             "message",
11393             "code"
11394           ]
11395         },
11396         "ErrorInfo": {
11397           "type": "object",
11398           "properties": {
11399             "macaroon": {
11400               "$ref": "#/definitions/Macaroon"
11401             },
11402             "macaroon-path": {
11403               "type": "string"
11404             }
11405           },
11406           "additionalProperties": false
11407         },
11408         "ErrorResult": {
11409           "type": "object",
11410           "properties": {
11411             "error": {
11412               "$ref": "#/definitions/Error"
11413             }
11414           },
11415           "additionalProperties": false
11416         },
11417         "ErrorResults": {
11418           "type": "object",
11419           "properties": {
11420             "results": {
11421               "type": "array",
11422               "items": {
11423                 "$ref": "#/definitions/ErrorResult"
11424               }
11425             }
11426           },
11427           "additionalProperties": false,
11428           "required": [
11429             "results"
11430           ]
11431         },
11432         "Macaroon": {
11433           "type": "object",
11434           "additionalProperties": false
11435         },
11436         "StringsWatchResult": {
11437           "type": "object",
11438           "properties": {
11439             "changes": {
11440               "type": "array",
11441               "items": {
11442                 "type": "string"
11443               }
11444             },
11445             "error": {
11446               "$ref": "#/definitions/Error"
11447             },
11448             "watcher-id": {
11449               "type": "string"
11450             }
11451           },
11452           "additionalProperties": false,
11453           "required": [
11454             "watcher-id"
11455           ]
11456         },
11457         "StringsWatchResults": {
11458           "type": "object",
11459           "properties": {
11460             "results": {
11461               "type": "array",
11462               "items": {
11463                 "$ref": "#/definitions/StringsWatchResult"
11464               }
11465             }
11466           },
11467           "additionalProperties": false,
11468           "required": [
11469             "results"
11470           ]
11471         }
11472       }
11473     }
11474   },
11475   {
11476     "Name": "MachineManager",
11477     "Version": 3,
11478     "Schema": {
11479       "type": "object",
11480       "properties": {
11481         "AddMachines": {
11482           "type": "object",
11483           "properties": {
11484             "Params": {
11485               "$ref": "#/definitions/AddMachines"
11486             },
11487             "Result": {
11488               "$ref": "#/definitions/AddMachinesResults"
11489             }
11490           }
11491         },
11492         "DestroyMachine": {
11493           "type": "object",
11494           "properties": {
11495             "Params": {
11496               "$ref": "#/definitions/Entities"
11497             },
11498             "Result": {
11499               "$ref": "#/definitions/DestroyMachineResults"
11500             }
11501           }
11502         },
11503         "ForceDestroyMachine": {
11504           "type": "object",
11505           "properties": {
11506             "Params": {
11507               "$ref": "#/definitions/Entities"
11508             },
11509             "Result": {
11510               "$ref": "#/definitions/DestroyMachineResults"
11511             }
11512           }
11513         },
11514         "InstanceTypes": {
11515           "type": "object",
11516           "properties": {
11517             "Params": {
11518               "$ref": "#/definitions/ModelInstanceTypesConstraints"
11519             },
11520             "Result": {
11521               "$ref": "#/definitions/InstanceTypesResults"
11522             }
11523           }
11524         }
11525       },
11526       "definitions": {
11527         "AddMachineParams": {
11528           "type": "object",
11529           "properties": {
11530             "addresses": {
11531               "type": "array",
11532               "items": {
11533                 "$ref": "#/definitions/Address"
11534               }
11535             },
11536             "constraints": {
11537               "$ref": "#/definitions/Value"
11538             },
11539             "container-type": {
11540               "type": "string"
11541             },
11542             "disks": {
11543               "type": "array",
11544               "items": {
11545                 "$ref": "#/definitions/Constraints"
11546               }
11547             },
11548             "hardware-characteristics": {
11549               "$ref": "#/definitions/HardwareCharacteristics"
11550             },
11551             "instance-id": {
11552               "type": "string"
11553             },
11554             "jobs": {
11555               "type": "array",
11556               "items": {
11557                 "type": "string"
11558               }
11559             },
11560             "nonce": {
11561               "type": "string"
11562             },
11563             "parent-id": {
11564               "type": "string"
11565             },
11566             "placement": {
11567               "$ref": "#/definitions/Placement"
11568             },
11569             "series": {
11570               "type": "string"
11571             }
11572           },
11573           "additionalProperties": false,
11574           "required": [
11575             "series",
11576             "constraints",
11577             "jobs",
11578             "parent-id",
11579             "container-type",
11580             "instance-id",
11581             "nonce",
11582             "hardware-characteristics",
11583             "addresses"
11584           ]
11585         },
11586         "AddMachines": {
11587           "type": "object",
11588           "properties": {
11589             "params": {
11590               "type": "array",
11591               "items": {
11592                 "$ref": "#/definitions/AddMachineParams"
11593               }
11594             }
11595           },
11596           "additionalProperties": false,
11597           "required": [
11598             "params"
11599           ]
11600         },
11601         "AddMachinesResult": {
11602           "type": "object",
11603           "properties": {
11604             "error": {
11605               "$ref": "#/definitions/Error"
11606             },
11607             "machine": {
11608               "type": "string"
11609             }
11610           },
11611           "additionalProperties": false,
11612           "required": [
11613             "machine"
11614           ]
11615         },
11616         "AddMachinesResults": {
11617           "type": "object",
11618           "properties": {
11619             "machines": {
11620               "type": "array",
11621               "items": {
11622                 "$ref": "#/definitions/AddMachinesResult"
11623               }
11624             }
11625           },
11626           "additionalProperties": false,
11627           "required": [
11628             "machines"
11629           ]
11630         },
11631         "Address": {
11632           "type": "object",
11633           "properties": {
11634             "scope": {
11635               "type": "string"
11636             },
11637             "space-name": {
11638               "type": "string"
11639             },
11640             "type": {
11641               "type": "string"
11642             },
11643             "value": {
11644               "type": "string"
11645             }
11646           },
11647           "additionalProperties": false,
11648           "required": [
11649             "value",
11650             "type",
11651             "scope"
11652           ]
11653         },
11654         "Constraints": {
11655           "type": "object",
11656           "properties": {
11657             "Count": {
11658               "type": "integer"
11659             },
11660             "Pool": {
11661               "type": "string"
11662             },
11663             "Size": {
11664               "type": "integer"
11665             }
11666           },
11667           "additionalProperties": false,
11668           "required": [
11669             "Pool",
11670             "Size",
11671             "Count"
11672           ]
11673         },
11674         "DestroyMachineInfo": {
11675           "type": "object",
11676           "properties": {
11677             "destroyed-storage": {
11678               "type": "array",
11679               "items": {
11680                 "$ref": "#/definitions/Entity"
11681               }
11682             },
11683             "destroyed-units": {
11684               "type": "array",
11685               "items": {
11686                 "$ref": "#/definitions/Entity"
11687               }
11688             },
11689             "detached-storage": {
11690               "type": "array",
11691               "items": {
11692                 "$ref": "#/definitions/Entity"
11693               }
11694             }
11695           },
11696           "additionalProperties": false
11697         },
11698         "DestroyMachineResult": {
11699           "type": "object",
11700           "properties": {
11701             "error": {
11702               "$ref": "#/definitions/Error"
11703             },
11704             "info": {
11705               "$ref": "#/definitions/DestroyMachineInfo"
11706             }
11707           },
11708           "additionalProperties": false
11709         },
11710         "DestroyMachineResults": {
11711           "type": "object",
11712           "properties": {
11713             "results": {
11714               "type": "array",
11715               "items": {
11716                 "$ref": "#/definitions/DestroyMachineResult"
11717               }
11718             }
11719           },
11720           "additionalProperties": false
11721         },
11722         "Entities": {
11723           "type": "object",
11724           "properties": {
11725             "entities": {
11726               "type": "array",
11727               "items": {
11728                 "$ref": "#/definitions/Entity"
11729               }
11730             }
11731           },
11732           "additionalProperties": false,
11733           "required": [
11734             "entities"
11735           ]
11736         },
11737         "Entity": {
11738           "type": "object",
11739           "properties": {
11740             "tag": {
11741               "type": "string"
11742             }
11743           },
11744           "additionalProperties": false,
11745           "required": [
11746             "tag"
11747           ]
11748         },
11749         "Error": {
11750           "type": "object",
11751           "properties": {
11752             "code": {
11753               "type": "string"
11754             },
11755             "info": {
11756               "$ref": "#/definitions/ErrorInfo"
11757             },
11758             "message": {
11759               "type": "string"
11760             }
11761           },
11762           "additionalProperties": false,
11763           "required": [
11764             "message",
11765             "code"
11766           ]
11767         },
11768         "ErrorInfo": {
11769           "type": "object",
11770           "properties": {
11771             "macaroon": {
11772               "$ref": "#/definitions/Macaroon"
11773             },
11774             "macaroon-path": {
11775               "type": "string"
11776             }
11777           },
11778           "additionalProperties": false
11779         },
11780         "HardwareCharacteristics": {
11781           "type": "object",
11782           "properties": {
11783             "arch": {
11784               "type": "string"
11785             },
11786             "availability-zone": {
11787               "type": "string"
11788             },
11789             "cpu-cores": {
11790               "type": "integer"
11791             },
11792             "cpu-power": {
11793               "type": "integer"
11794             },
11795             "mem": {
11796               "type": "integer"
11797             },
11798             "root-disk": {
11799               "type": "integer"
11800             },
11801             "tags": {
11802               "type": "array",
11803               "items": {
11804                 "type": "string"
11805               }
11806             }
11807           },
11808           "additionalProperties": false
11809         },
11810         "InstanceType": {
11811           "type": "object",
11812           "properties": {
11813             "arches": {
11814               "type": "array",
11815               "items": {
11816                 "type": "string"
11817               }
11818             },
11819             "cost": {
11820               "type": "integer"
11821             },
11822             "cpu-cores": {
11823               "type": "integer"
11824             },
11825             "deprecated": {
11826               "type": "boolean"
11827             },
11828             "memory": {
11829               "type": "integer"
11830             },
11831             "name": {
11832               "type": "string"
11833             },
11834             "root-disk": {
11835               "type": "integer"
11836             },
11837             "virt-type": {
11838               "type": "string"
11839             }
11840           },
11841           "additionalProperties": false,
11842           "required": [
11843             "arches",
11844             "cpu-cores",
11845             "memory"
11846           ]
11847         },
11848         "InstanceTypesResult": {
11849           "type": "object",
11850           "properties": {
11851             "cost-currency": {
11852               "type": "string"
11853             },
11854             "cost-divisor": {
11855               "type": "integer"
11856             },
11857             "cost-unit": {
11858               "type": "string"
11859             },
11860             "error": {
11861               "$ref": "#/definitions/Error"
11862             },
11863             "instance-types": {
11864               "type": "array",
11865               "items": {
11866                 "$ref": "#/definitions/InstanceType"
11867               }
11868             }
11869           },
11870           "additionalProperties": false
11871         },
11872         "InstanceTypesResults": {
11873           "type": "object",
11874           "properties": {
11875             "results": {
11876               "type": "array",
11877               "items": {
11878                 "$ref": "#/definitions/InstanceTypesResult"
11879               }
11880             }
11881           },
11882           "additionalProperties": false,
11883           "required": [
11884             "results"
11885           ]
11886         },
11887         "Macaroon": {
11888           "type": "object",
11889           "additionalProperties": false
11890         },
11891         "ModelInstanceTypesConstraint": {
11892           "type": "object",
11893           "properties": {
11894             "value": {
11895               "$ref": "#/definitions/Value"
11896             }
11897           },
11898           "additionalProperties": false
11899         },
11900         "ModelInstanceTypesConstraints": {
11901           "type": "object",
11902           "properties": {
11903             "constraints": {
11904               "type": "array",
11905               "items": {
11906                 "$ref": "#/definitions/ModelInstanceTypesConstraint"
11907               }
11908             }
11909           },
11910           "additionalProperties": false,
11911           "required": [
11912             "constraints"
11913           ]
11914         },
11915         "Placement": {
11916           "type": "object",
11917           "properties": {
11918             "directive": {
11919               "type": "string"
11920             },
11921             "scope": {
11922               "type": "string"
11923             }
11924           },
11925           "additionalProperties": false,
11926           "required": [
11927             "scope",
11928             "directive"
11929           ]
11930         },
11931         "Value": {
11932           "type": "object",
11933           "properties": {
11934             "arch": {
11935               "type": "string"
11936             },
11937             "container": {
11938               "type": "string"
11939             },
11940             "cores": {
11941               "type": "integer"
11942             },
11943             "cpu-power": {
11944               "type": "integer"
11945             },
11946             "instance-type": {
11947               "type": "string"
11948             },
11949             "mem": {
11950               "type": "integer"
11951             },
11952             "root-disk": {
11953               "type": "integer"
11954             },
11955             "spaces": {
11956               "type": "array",
11957               "items": {
11958                 "type": "string"
11959               }
11960             },
11961             "tags": {
11962               "type": "array",
11963               "items": {
11964                 "type": "string"
11965               }
11966             },
11967             "virt-type": {
11968               "type": "string"
11969             }
11970           },
11971           "additionalProperties": false
11972         }
11973       }
11974     }
11975   },
11976   {
11977     "Name": "MachineUndertaker",
11978     "Version": 1,
11979     "Schema": {
11980       "type": "object",
11981       "properties": {
11982         "AllMachineRemovals": {
11983           "type": "object",
11984           "properties": {
11985             "Params": {
11986               "$ref": "#/definitions/Entities"
11987             },
11988             "Result": {
11989               "$ref": "#/definitions/EntitiesResults"
11990             }
11991           }
11992         },
11993         "CompleteMachineRemovals": {
11994           "type": "object",
11995           "properties": {
11996             "Params": {
11997               "$ref": "#/definitions/Entities"
11998             }
11999           }
12000         },
12001         "GetMachineProviderInterfaceInfo": {
12002           "type": "object",
12003           "properties": {
12004             "Params": {
12005               "$ref": "#/definitions/Entities"
12006             },
12007             "Result": {
12008               "$ref": "#/definitions/ProviderInterfaceInfoResults"
12009             }
12010           }
12011         },
12012         "WatchMachineRemovals": {
12013           "type": "object",
12014           "properties": {
12015             "Params": {
12016               "$ref": "#/definitions/Entities"
12017             },
12018             "Result": {
12019               "$ref": "#/definitions/NotifyWatchResults"
12020             }
12021           }
12022         }
12023       },
12024       "definitions": {
12025         "Entities": {
12026           "type": "object",
12027           "properties": {
12028             "entities": {
12029               "type": "array",
12030               "items": {
12031                 "$ref": "#/definitions/Entity"
12032               }
12033             }
12034           },
12035           "additionalProperties": false,
12036           "required": [
12037             "entities"
12038           ]
12039         },
12040         "EntitiesResult": {
12041           "type": "object",
12042           "properties": {
12043             "entities": {
12044               "type": "array",
12045               "items": {
12046                 "$ref": "#/definitions/Entity"
12047               }
12048             },
12049             "error": {
12050               "$ref": "#/definitions/Error"
12051             }
12052           },
12053           "additionalProperties": false,
12054           "required": [
12055             "entities"
12056           ]
12057         },
12058         "EntitiesResults": {
12059           "type": "object",
12060           "properties": {
12061             "results": {
12062               "type": "array",
12063               "items": {
12064                 "$ref": "#/definitions/EntitiesResult"
12065               }
12066             }
12067           },
12068           "additionalProperties": false,
12069           "required": [
12070             "results"
12071           ]
12072         },
12073         "Entity": {
12074           "type": "object",
12075           "properties": {
12076             "tag": {
12077               "type": "string"
12078             }
12079           },
12080           "additionalProperties": false,
12081           "required": [
12082             "tag"
12083           ]
12084         },
12085         "Error": {
12086           "type": "object",
12087           "properties": {
12088             "code": {
12089               "type": "string"
12090             },
12091             "info": {
12092               "$ref": "#/definitions/ErrorInfo"
12093             },
12094             "message": {
12095               "type": "string"
12096             }
12097           },
12098           "additionalProperties": false,
12099           "required": [
12100             "message",
12101             "code"
12102           ]
12103         },
12104         "ErrorInfo": {
12105           "type": "object",
12106           "properties": {
12107             "macaroon": {
12108               "$ref": "#/definitions/Macaroon"
12109             },
12110             "macaroon-path": {
12111               "type": "string"
12112             }
12113           },
12114           "additionalProperties": false
12115         },
12116         "Macaroon": {
12117           "type": "object",
12118           "additionalProperties": false
12119         },
12120         "NotifyWatchResult": {
12121           "type": "object",
12122           "properties": {
12123             "NotifyWatcherId": {
12124               "type": "string"
12125             },
12126             "error": {
12127               "$ref": "#/definitions/Error"
12128             }
12129           },
12130           "additionalProperties": false,
12131           "required": [
12132             "NotifyWatcherId"
12133           ]
12134         },
12135         "NotifyWatchResults": {
12136           "type": "object",
12137           "properties": {
12138             "results": {
12139               "type": "array",
12140               "items": {
12141                 "$ref": "#/definitions/NotifyWatchResult"
12142               }
12143             }
12144           },
12145           "additionalProperties": false,
12146           "required": [
12147             "results"
12148           ]
12149         },
12150         "ProviderInterfaceInfo": {
12151           "type": "object",
12152           "properties": {
12153             "interface-name": {
12154               "type": "string"
12155             },
12156             "mac-address": {
12157               "type": "string"
12158             },
12159             "provider-id": {
12160               "type": "string"
12161             }
12162           },
12163           "additionalProperties": false,
12164           "required": [
12165             "interface-name",
12166             "mac-address",
12167             "provider-id"
12168           ]
12169         },
12170         "ProviderInterfaceInfoResult": {
12171           "type": "object",
12172           "properties": {
12173             "error": {
12174               "$ref": "#/definitions/Error"
12175             },
12176             "interfaces": {
12177               "type": "array",
12178               "items": {
12179                 "$ref": "#/definitions/ProviderInterfaceInfo"
12180               }
12181             },
12182             "machine-tag": {
12183               "type": "string"
12184             }
12185           },
12186           "additionalProperties": false,
12187           "required": [
12188             "machine-tag",
12189             "interfaces"
12190           ]
12191         },
12192         "ProviderInterfaceInfoResults": {
12193           "type": "object",
12194           "properties": {
12195             "results": {
12196               "type": "array",
12197               "items": {
12198                 "$ref": "#/definitions/ProviderInterfaceInfoResult"
12199               }
12200             }
12201           },
12202           "additionalProperties": false,
12203           "required": [
12204             "results"
12205           ]
12206         }
12207       }
12208     }
12209   },
12210   {
12211     "Name": "Machiner",
12212     "Version": 1,
12213     "Schema": {
12214       "type": "object",
12215       "properties": {
12216         "APIAddresses": {
12217           "type": "object",
12218           "properties": {
12219             "Result": {
12220               "$ref": "#/definitions/StringsResult"
12221             }
12222           }
12223         },
12224         "APIHostPorts": {
12225           "type": "object",
12226           "properties": {
12227             "Result": {
12228               "$ref": "#/definitions/APIHostPortsResult"
12229             }
12230           }
12231         },
12232         "CACert": {
12233           "type": "object",
12234           "properties": {
12235             "Result": {
12236               "$ref": "#/definitions/BytesResult"
12237             }
12238           }
12239         },
12240         "EnsureDead": {
12241           "type": "object",
12242           "properties": {
12243             "Params": {
12244               "$ref": "#/definitions/Entities"
12245             },
12246             "Result": {
12247               "$ref": "#/definitions/ErrorResults"
12248             }
12249           }
12250         },
12251         "Jobs": {
12252           "type": "object",
12253           "properties": {
12254             "Params": {
12255               "$ref": "#/definitions/Entities"
12256             },
12257             "Result": {
12258               "$ref": "#/definitions/JobsResults"
12259             }
12260           }
12261         },
12262         "Life": {
12263           "type": "object",
12264           "properties": {
12265             "Params": {
12266               "$ref": "#/definitions/Entities"
12267             },
12268             "Result": {
12269               "$ref": "#/definitions/LifeResults"
12270             }
12271           }
12272         },
12273         "ModelUUID": {
12274           "type": "object",
12275           "properties": {
12276             "Result": {
12277               "$ref": "#/definitions/StringResult"
12278             }
12279           }
12280         },
12281         "SetMachineAddresses": {
12282           "type": "object",
12283           "properties": {
12284             "Params": {
12285               "$ref": "#/definitions/SetMachinesAddresses"
12286             },
12287             "Result": {
12288               "$ref": "#/definitions/ErrorResults"
12289             }
12290           }
12291         },
12292         "SetObservedNetworkConfig": {
12293           "type": "object",
12294           "properties": {
12295             "Params": {
12296               "$ref": "#/definitions/SetMachineNetworkConfig"
12297             }
12298           }
12299         },
12300         "SetProviderNetworkConfig": {
12301           "type": "object",
12302           "properties": {
12303             "Params": {
12304               "$ref": "#/definitions/Entities"
12305             },
12306             "Result": {
12307               "$ref": "#/definitions/ErrorResults"
12308             }
12309           }
12310         },
12311         "SetStatus": {
12312           "type": "object",
12313           "properties": {
12314             "Params": {
12315               "$ref": "#/definitions/SetStatus"
12316             },
12317             "Result": {
12318               "$ref": "#/definitions/ErrorResults"
12319             }
12320           }
12321         },
12322         "UpdateStatus": {
12323           "type": "object",
12324           "properties": {
12325             "Params": {
12326               "$ref": "#/definitions/SetStatus"
12327             },
12328             "Result": {
12329               "$ref": "#/definitions/ErrorResults"
12330             }
12331           }
12332         },
12333         "Watch": {
12334           "type": "object",
12335           "properties": {
12336             "Params": {
12337               "$ref": "#/definitions/Entities"
12338             },
12339             "Result": {
12340               "$ref": "#/definitions/NotifyWatchResults"
12341             }
12342           }
12343         },
12344         "WatchAPIHostPorts": {
12345           "type": "object",
12346           "properties": {
12347             "Result": {
12348               "$ref": "#/definitions/NotifyWatchResult"
12349             }
12350           }
12351         }
12352       },
12353       "definitions": {
12354         "APIHostPortsResult": {
12355           "type": "object",
12356           "properties": {
12357             "servers": {
12358               "type": "array",
12359               "items": {
12360                 "type": "array",
12361                 "items": {
12362                   "$ref": "#/definitions/HostPort"
12363                 }
12364               }
12365             }
12366           },
12367           "additionalProperties": false,
12368           "required": [
12369             "servers"
12370           ]
12371         },
12372         "Address": {
12373           "type": "object",
12374           "properties": {
12375             "scope": {
12376               "type": "string"
12377             },
12378             "space-name": {
12379               "type": "string"
12380             },
12381             "type": {
12382               "type": "string"
12383             },
12384             "value": {
12385               "type": "string"
12386             }
12387           },
12388           "additionalProperties": false,
12389           "required": [
12390             "value",
12391             "type",
12392             "scope"
12393           ]
12394         },
12395         "BytesResult": {
12396           "type": "object",
12397           "properties": {
12398             "result": {
12399               "type": "array",
12400               "items": {
12401                 "type": "integer"
12402               }
12403             }
12404           },
12405           "additionalProperties": false,
12406           "required": [
12407             "result"
12408           ]
12409         },
12410         "Entities": {
12411           "type": "object",
12412           "properties": {
12413             "entities": {
12414               "type": "array",
12415               "items": {
12416                 "$ref": "#/definitions/Entity"
12417               }
12418             }
12419           },
12420           "additionalProperties": false,
12421           "required": [
12422             "entities"
12423           ]
12424         },
12425         "Entity": {
12426           "type": "object",
12427           "properties": {
12428             "tag": {
12429               "type": "string"
12430             }
12431           },
12432           "additionalProperties": false,
12433           "required": [
12434             "tag"
12435           ]
12436         },
12437         "EntityStatusArgs": {
12438           "type": "object",
12439           "properties": {
12440             "data": {
12441               "type": "object",
12442               "patternProperties": {
12443                 ".*": {
12444                   "type": "object",
12445                   "additionalProperties": true
12446                 }
12447               }
12448             },
12449             "info": {
12450               "type": "string"
12451             },
12452             "status": {
12453               "type": "string"
12454             },
12455             "tag": {
12456               "type": "string"
12457             }
12458           },
12459           "additionalProperties": false,
12460           "required": [
12461             "tag",
12462             "status",
12463             "info",
12464             "data"
12465           ]
12466         },
12467         "Error": {
12468           "type": "object",
12469           "properties": {
12470             "code": {
12471               "type": "string"
12472             },
12473             "info": {
12474               "$ref": "#/definitions/ErrorInfo"
12475             },
12476             "message": {
12477               "type": "string"
12478             }
12479           },
12480           "additionalProperties": false,
12481           "required": [
12482             "message",
12483             "code"
12484           ]
12485         },
12486         "ErrorInfo": {
12487           "type": "object",
12488           "properties": {
12489             "macaroon": {
12490               "$ref": "#/definitions/Macaroon"
12491             },
12492             "macaroon-path": {
12493               "type": "string"
12494             }
12495           },
12496           "additionalProperties": false
12497         },
12498         "ErrorResult": {
12499           "type": "object",
12500           "properties": {
12501             "error": {
12502               "$ref": "#/definitions/Error"
12503             }
12504           },
12505           "additionalProperties": false
12506         },
12507         "ErrorResults": {
12508           "type": "object",
12509           "properties": {
12510             "results": {
12511               "type": "array",
12512               "items": {
12513                 "$ref": "#/definitions/ErrorResult"
12514               }
12515             }
12516           },
12517           "additionalProperties": false,
12518           "required": [
12519             "results"
12520           ]
12521         },
12522         "HostPort": {
12523           "type": "object",
12524           "properties": {
12525             "Address": {
12526               "$ref": "#/definitions/Address"
12527             },
12528             "port": {
12529               "type": "integer"
12530             }
12531           },
12532           "additionalProperties": false,
12533           "required": [
12534             "Address",
12535             "port"
12536           ]
12537         },
12538         "JobsResult": {
12539           "type": "object",
12540           "properties": {
12541             "error": {
12542               "$ref": "#/definitions/Error"
12543             },
12544             "jobs": {
12545               "type": "array",
12546               "items": {
12547                 "type": "string"
12548               }
12549             }
12550           },
12551           "additionalProperties": false,
12552           "required": [
12553             "jobs"
12554           ]
12555         },
12556         "JobsResults": {
12557           "type": "object",
12558           "properties": {
12559             "results": {
12560               "type": "array",
12561               "items": {
12562                 "$ref": "#/definitions/JobsResult"
12563               }
12564             }
12565           },
12566           "additionalProperties": false,
12567           "required": [
12568             "results"
12569           ]
12570         },
12571         "LifeResult": {
12572           "type": "object",
12573           "properties": {
12574             "error": {
12575               "$ref": "#/definitions/Error"
12576             },
12577             "life": {
12578               "type": "string"
12579             }
12580           },
12581           "additionalProperties": false,
12582           "required": [
12583             "life"
12584           ]
12585         },
12586         "LifeResults": {
12587           "type": "object",
12588           "properties": {
12589             "results": {
12590               "type": "array",
12591               "items": {
12592                 "$ref": "#/definitions/LifeResult"
12593               }
12594             }
12595           },
12596           "additionalProperties": false,
12597           "required": [
12598             "results"
12599           ]
12600         },
12601         "Macaroon": {
12602           "type": "object",
12603           "additionalProperties": false
12604         },
12605         "MachineAddresses": {
12606           "type": "object",
12607           "properties": {
12608             "addresses": {
12609               "type": "array",
12610               "items": {
12611                 "$ref": "#/definitions/Address"
12612               }
12613             },
12614             "tag": {
12615               "type": "string"
12616             }
12617           },
12618           "additionalProperties": false,
12619           "required": [
12620             "tag",
12621             "addresses"
12622           ]
12623         },
12624         "NetworkConfig": {
12625           "type": "object",
12626           "properties": {
12627             "address": {
12628               "type": "string"
12629             },
12630             "cidr": {
12631               "type": "string"
12632             },
12633             "config-type": {
12634               "type": "string"
12635             },
12636             "device-index": {
12637               "type": "integer"
12638             },
12639             "disabled": {
12640               "type": "boolean"
12641             },
12642             "dns-search-domains": {
12643               "type": "array",
12644               "items": {
12645                 "type": "string"
12646               }
12647             },
12648             "dns-servers": {
12649               "type": "array",
12650               "items": {
12651                 "type": "string"
12652               }
12653             },
12654             "gateway-address": {
12655               "type": "string"
12656             },
12657             "interface-name": {
12658               "type": "string"
12659             },
12660             "interface-type": {
12661               "type": "string"
12662             },
12663             "mac-address": {
12664               "type": "string"
12665             },
12666             "mtu": {
12667               "type": "integer"
12668             },
12669             "no-auto-start": {
12670               "type": "boolean"
12671             },
12672             "parent-interface-name": {
12673               "type": "string"
12674             },
12675             "provider-address-id": {
12676               "type": "string"
12677             },
12678             "provider-id": {
12679               "type": "string"
12680             },
12681             "provider-space-id": {
12682               "type": "string"
12683             },
12684             "provider-subnet-id": {
12685               "type": "string"
12686             },
12687             "provider-vlan-id": {
12688               "type": "string"
12689             },
12690             "routes": {
12691               "type": "array",
12692               "items": {
12693                 "$ref": "#/definitions/NetworkRoute"
12694               }
12695             },
12696             "vlan-tag": {
12697               "type": "integer"
12698             }
12699           },
12700           "additionalProperties": false,
12701           "required": [
12702             "device-index",
12703             "mac-address",
12704             "cidr",
12705             "mtu",
12706             "provider-id",
12707             "provider-subnet-id",
12708             "provider-space-id",
12709             "provider-address-id",
12710             "provider-vlan-id",
12711             "vlan-tag",
12712             "interface-name",
12713             "parent-interface-name",
12714             "interface-type",
12715             "disabled"
12716           ]
12717         },
12718         "NetworkRoute": {
12719           "type": "object",
12720           "properties": {
12721             "destination-cidr": {
12722               "type": "string"
12723             },
12724             "gateway-ip": {
12725               "type": "string"
12726             },
12727             "metric": {
12728               "type": "integer"
12729             }
12730           },
12731           "additionalProperties": false,
12732           "required": [
12733             "destination-cidr",
12734             "gateway-ip",
12735             "metric"
12736           ]
12737         },
12738         "NotifyWatchResult": {
12739           "type": "object",
12740           "properties": {
12741             "NotifyWatcherId": {
12742               "type": "string"
12743             },
12744             "error": {
12745               "$ref": "#/definitions/Error"
12746             }
12747           },
12748           "additionalProperties": false,
12749           "required": [
12750             "NotifyWatcherId"
12751           ]
12752         },
12753         "NotifyWatchResults": {
12754           "type": "object",
12755           "properties": {
12756             "results": {
12757               "type": "array",
12758               "items": {
12759                 "$ref": "#/definitions/NotifyWatchResult"
12760               }
12761             }
12762           },
12763           "additionalProperties": false,
12764           "required": [
12765             "results"
12766           ]
12767         },
12768         "SetMachineNetworkConfig": {
12769           "type": "object",
12770           "properties": {
12771             "config": {
12772               "type": "array",
12773               "items": {
12774                 "$ref": "#/definitions/NetworkConfig"
12775               }
12776             },
12777             "tag": {
12778               "type": "string"
12779             }
12780           },
12781           "additionalProperties": false,
12782           "required": [
12783             "tag",
12784             "config"
12785           ]
12786         },
12787         "SetMachinesAddresses": {
12788           "type": "object",
12789           "properties": {
12790             "machine-addresses": {
12791               "type": "array",
12792               "items": {
12793                 "$ref": "#/definitions/MachineAddresses"
12794               }
12795             }
12796           },
12797           "additionalProperties": false,
12798           "required": [
12799             "machine-addresses"
12800           ]
12801         },
12802         "SetStatus": {
12803           "type": "object",
12804           "properties": {
12805             "entities": {
12806               "type": "array",
12807               "items": {
12808                 "$ref": "#/definitions/EntityStatusArgs"
12809               }
12810             }
12811           },
12812           "additionalProperties": false,
12813           "required": [
12814             "entities"
12815           ]
12816         },
12817         "StringResult": {
12818           "type": "object",
12819           "properties": {
12820             "error": {
12821               "$ref": "#/definitions/Error"
12822             },
12823             "result": {
12824               "type": "string"
12825             }
12826           },
12827           "additionalProperties": false,
12828           "required": [
12829             "result"
12830           ]
12831         },
12832         "StringsResult": {
12833           "type": "object",
12834           "properties": {
12835             "error": {
12836               "$ref": "#/definitions/Error"
12837             },
12838             "result": {
12839               "type": "array",
12840               "items": {
12841                 "type": "string"
12842               }
12843             }
12844           },
12845           "additionalProperties": false
12846         }
12847       }
12848     }
12849   },
12850   {
12851     "Name": "MeterStatus",
12852     "Version": 1,
12853     "Schema": {
12854       "type": "object",
12855       "properties": {
12856         "GetMeterStatus": {
12857           "type": "object",
12858           "properties": {
12859             "Params": {
12860               "$ref": "#/definitions/Entities"
12861             },
12862             "Result": {
12863               "$ref": "#/definitions/MeterStatusResults"
12864             }
12865           }
12866         },
12867         "WatchMeterStatus": {
12868           "type": "object",
12869           "properties": {
12870             "Params": {
12871               "$ref": "#/definitions/Entities"
12872             },
12873             "Result": {
12874               "$ref": "#/definitions/NotifyWatchResults"
12875             }
12876           }
12877         }
12878       },
12879       "definitions": {
12880         "Entities": {
12881           "type": "object",
12882           "properties": {
12883             "entities": {
12884               "type": "array",
12885               "items": {
12886                 "$ref": "#/definitions/Entity"
12887               }
12888             }
12889           },
12890           "additionalProperties": false,
12891           "required": [
12892             "entities"
12893           ]
12894         },
12895         "Entity": {
12896           "type": "object",
12897           "properties": {
12898             "tag": {
12899               "type": "string"
12900             }
12901           },
12902           "additionalProperties": false,
12903           "required": [
12904             "tag"
12905           ]
12906         },
12907         "Error": {
12908           "type": "object",
12909           "properties": {
12910             "code": {
12911               "type": "string"
12912             },
12913             "info": {
12914               "$ref": "#/definitions/ErrorInfo"
12915             },
12916             "message": {
12917               "type": "string"
12918             }
12919           },
12920           "additionalProperties": false,
12921           "required": [
12922             "message",
12923             "code"
12924           ]
12925         },
12926         "ErrorInfo": {
12927           "type": "object",
12928           "properties": {
12929             "macaroon": {
12930               "$ref": "#/definitions/Macaroon"
12931             },
12932             "macaroon-path": {
12933               "type": "string"
12934             }
12935           },
12936           "additionalProperties": false
12937         },
12938         "Macaroon": {
12939           "type": "object",
12940           "additionalProperties": false
12941         },
12942         "MeterStatusResult": {
12943           "type": "object",
12944           "properties": {
12945             "code": {
12946               "type": "string"
12947             },
12948             "error": {
12949               "$ref": "#/definitions/Error"
12950             },
12951             "info": {
12952               "type": "string"
12953             }
12954           },
12955           "additionalProperties": false,
12956           "required": [
12957             "code",
12958             "info"
12959           ]
12960         },
12961         "MeterStatusResults": {
12962           "type": "object",
12963           "properties": {
12964             "results": {
12965               "type": "array",
12966               "items": {
12967                 "$ref": "#/definitions/MeterStatusResult"
12968               }
12969             }
12970           },
12971           "additionalProperties": false,
12972           "required": [
12973             "results"
12974           ]
12975         },
12976         "NotifyWatchResult": {
12977           "type": "object",
12978           "properties": {
12979             "NotifyWatcherId": {
12980               "type": "string"
12981             },
12982             "error": {
12983               "$ref": "#/definitions/Error"
12984             }
12985           },
12986           "additionalProperties": false,
12987           "required": [
12988             "NotifyWatcherId"
12989           ]
12990         },
12991         "NotifyWatchResults": {
12992           "type": "object",
12993           "properties": {
12994             "results": {
12995               "type": "array",
12996               "items": {
12997                 "$ref": "#/definitions/NotifyWatchResult"
12998               }
12999             }
13000           },
13001           "additionalProperties": false,
13002           "required": [
13003             "results"
13004           ]
13005         }
13006       }
13007     }
13008   },
13009   {
13010     "Name": "MetricsAdder",
13011     "Version": 2,
13012     "Schema": {
13013       "type": "object",
13014       "properties": {
13015         "AddMetricBatches": {
13016           "type": "object",
13017           "properties": {
13018             "Params": {
13019               "$ref": "#/definitions/MetricBatchParams"
13020             },
13021             "Result": {
13022               "$ref": "#/definitions/ErrorResults"
13023             }
13024           }
13025         }
13026       },
13027       "definitions": {
13028         "Error": {
13029           "type": "object",
13030           "properties": {
13031             "code": {
13032               "type": "string"
13033             },
13034             "info": {
13035               "$ref": "#/definitions/ErrorInfo"
13036             },
13037             "message": {
13038               "type": "string"
13039             }
13040           },
13041           "additionalProperties": false,
13042           "required": [
13043             "message",
13044             "code"
13045           ]
13046         },
13047         "ErrorInfo": {
13048           "type": "object",
13049           "properties": {
13050             "macaroon": {
13051               "$ref": "#/definitions/Macaroon"
13052             },
13053             "macaroon-path": {
13054               "type": "string"
13055             }
13056           },
13057           "additionalProperties": false
13058         },
13059         "ErrorResult": {
13060           "type": "object",
13061           "properties": {
13062             "error": {
13063               "$ref": "#/definitions/Error"
13064             }
13065           },
13066           "additionalProperties": false
13067         },
13068         "ErrorResults": {
13069           "type": "object",
13070           "properties": {
13071             "results": {
13072               "type": "array",
13073               "items": {
13074                 "$ref": "#/definitions/ErrorResult"
13075               }
13076             }
13077           },
13078           "additionalProperties": false,
13079           "required": [
13080             "results"
13081           ]
13082         },
13083         "Macaroon": {
13084           "type": "object",
13085           "additionalProperties": false
13086         },
13087         "Metric": {
13088           "type": "object",
13089           "properties": {
13090             "key": {
13091               "type": "string"
13092             },
13093             "time": {
13094               "type": "string",
13095               "format": "date-time"
13096             },
13097             "value": {
13098               "type": "string"
13099             }
13100           },
13101           "additionalProperties": false,
13102           "required": [
13103             "key",
13104             "value",
13105             "time"
13106           ]
13107         },
13108         "MetricBatch": {
13109           "type": "object",
13110           "properties": {
13111             "charm-url": {
13112               "type": "string"
13113             },
13114             "created": {
13115               "type": "string",
13116               "format": "date-time"
13117             },
13118             "metrics": {
13119               "type": "array",
13120               "items": {
13121                 "$ref": "#/definitions/Metric"
13122               }
13123             },
13124             "uuid": {
13125               "type": "string"
13126             }
13127           },
13128           "additionalProperties": false,
13129           "required": [
13130             "uuid",
13131             "charm-url",
13132             "created",
13133             "metrics"
13134           ]
13135         },
13136         "MetricBatchParam": {
13137           "type": "object",
13138           "properties": {
13139             "batch": {
13140               "$ref": "#/definitions/MetricBatch"
13141             },
13142             "tag": {
13143               "type": "string"
13144             }
13145           },
13146           "additionalProperties": false,
13147           "required": [
13148             "tag",
13149             "batch"
13150           ]
13151         },
13152         "MetricBatchParams": {
13153           "type": "object",
13154           "properties": {
13155             "batches": {
13156               "type": "array",
13157               "items": {
13158                 "$ref": "#/definitions/MetricBatchParam"
13159               }
13160             }
13161           },
13162           "additionalProperties": false,
13163           "required": [
13164             "batches"
13165           ]
13166         }
13167       }
13168     }
13169   },
13170   {
13171     "Name": "MetricsDebug",
13172     "Version": 2,
13173     "Schema": {
13174       "type": "object",
13175       "properties": {
13176         "GetMetrics": {
13177           "type": "object",
13178           "properties": {
13179             "Params": {
13180               "$ref": "#/definitions/Entities"
13181             },
13182             "Result": {
13183               "$ref": "#/definitions/MetricResults"
13184             }
13185           }
13186         },
13187         "SetMeterStatus": {
13188           "type": "object",
13189           "properties": {
13190             "Params": {
13191               "$ref": "#/definitions/MeterStatusParams"
13192             },
13193             "Result": {
13194               "$ref": "#/definitions/ErrorResults"
13195             }
13196           }
13197         }
13198       },
13199       "definitions": {
13200         "Entities": {
13201           "type": "object",
13202           "properties": {
13203             "entities": {
13204               "type": "array",
13205               "items": {
13206                 "$ref": "#/definitions/Entity"
13207               }
13208             }
13209           },
13210           "additionalProperties": false,
13211           "required": [
13212             "entities"
13213           ]
13214         },
13215         "Entity": {
13216           "type": "object",
13217           "properties": {
13218             "tag": {
13219               "type": "string"
13220             }
13221           },
13222           "additionalProperties": false,
13223           "required": [
13224             "tag"
13225           ]
13226         },
13227         "EntityMetrics": {
13228           "type": "object",
13229           "properties": {
13230             "error": {
13231               "$ref": "#/definitions/Error"
13232             },
13233             "metrics": {
13234               "type": "array",
13235               "items": {
13236                 "$ref": "#/definitions/MetricResult"
13237               }
13238             }
13239           },
13240           "additionalProperties": false
13241         },
13242         "Error": {
13243           "type": "object",
13244           "properties": {
13245             "code": {
13246               "type": "string"
13247             },
13248             "info": {
13249               "$ref": "#/definitions/ErrorInfo"
13250             },
13251             "message": {
13252               "type": "string"
13253             }
13254           },
13255           "additionalProperties": false,
13256           "required": [
13257             "message",
13258             "code"
13259           ]
13260         },
13261         "ErrorInfo": {
13262           "type": "object",
13263           "properties": {
13264             "macaroon": {
13265               "$ref": "#/definitions/Macaroon"
13266             },
13267             "macaroon-path": {
13268               "type": "string"
13269             }
13270           },
13271           "additionalProperties": false
13272         },
13273         "ErrorResult": {
13274           "type": "object",
13275           "properties": {
13276             "error": {
13277               "$ref": "#/definitions/Error"
13278             }
13279           },
13280           "additionalProperties": false
13281         },
13282         "ErrorResults": {
13283           "type": "object",
13284           "properties": {
13285             "results": {
13286               "type": "array",
13287               "items": {
13288                 "$ref": "#/definitions/ErrorResult"
13289               }
13290             }
13291           },
13292           "additionalProperties": false,
13293           "required": [
13294             "results"
13295           ]
13296         },
13297         "Macaroon": {
13298           "type": "object",
13299           "additionalProperties": false
13300         },
13301         "MeterStatusParam": {
13302           "type": "object",
13303           "properties": {
13304             "code": {
13305               "type": "string"
13306             },
13307             "info": {
13308               "type": "string"
13309             },
13310             "tag": {
13311               "type": "string"
13312             }
13313           },
13314           "additionalProperties": false,
13315           "required": [
13316             "tag",
13317             "code",
13318             "info"
13319           ]
13320         },
13321         "MeterStatusParams": {
13322           "type": "object",
13323           "properties": {
13324             "statues": {
13325               "type": "array",
13326               "items": {
13327                 "$ref": "#/definitions/MeterStatusParam"
13328               }
13329             }
13330           },
13331           "additionalProperties": false,
13332           "required": [
13333             "statues"
13334           ]
13335         },
13336         "MetricResult": {
13337           "type": "object",
13338           "properties": {
13339             "key": {
13340               "type": "string"
13341             },
13342             "time": {
13343               "type": "string",
13344               "format": "date-time"
13345             },
13346             "unit": {
13347               "type": "string"
13348             },
13349             "value": {
13350               "type": "string"
13351             }
13352           },
13353           "additionalProperties": false,
13354           "required": [
13355             "time",
13356             "key",
13357             "value",
13358             "unit"
13359           ]
13360         },
13361         "MetricResults": {
13362           "type": "object",
13363           "properties": {
13364             "results": {
13365               "type": "array",
13366               "items": {
13367                 "$ref": "#/definitions/EntityMetrics"
13368               }
13369             }
13370           },
13371           "additionalProperties": false,
13372           "required": [
13373             "results"
13374           ]
13375         }
13376       }
13377     }
13378   },
13379   {
13380     "Name": "MetricsManager",
13381     "Version": 1,
13382     "Schema": {
13383       "type": "object",
13384       "properties": {
13385         "AddJujuMachineMetrics": {
13386           "type": "object"
13387         },
13388         "CleanupOldMetrics": {
13389           "type": "object",
13390           "properties": {
13391             "Params": {
13392               "$ref": "#/definitions/Entities"
13393             },
13394             "Result": {
13395               "$ref": "#/definitions/ErrorResults"
13396             }
13397           }
13398         },
13399         "SendMetrics": {
13400           "type": "object",
13401           "properties": {
13402             "Params": {
13403               "$ref": "#/definitions/Entities"
13404             },
13405             "Result": {
13406               "$ref": "#/definitions/ErrorResults"
13407             }
13408           }
13409         }
13410       },
13411       "definitions": {
13412         "Entities": {
13413           "type": "object",
13414           "properties": {
13415             "entities": {
13416               "type": "array",
13417               "items": {
13418                 "$ref": "#/definitions/Entity"
13419               }
13420             }
13421           },
13422           "additionalProperties": false,
13423           "required": [
13424             "entities"
13425           ]
13426         },
13427         "Entity": {
13428           "type": "object",
13429           "properties": {
13430             "tag": {
13431               "type": "string"
13432             }
13433           },
13434           "additionalProperties": false,
13435           "required": [
13436             "tag"
13437           ]
13438         },
13439         "Error": {
13440           "type": "object",
13441           "properties": {
13442             "code": {
13443               "type": "string"
13444             },
13445             "info": {
13446               "$ref": "#/definitions/ErrorInfo"
13447             },
13448             "message": {
13449               "type": "string"
13450             }
13451           },
13452           "additionalProperties": false,
13453           "required": [
13454             "message",
13455             "code"
13456           ]
13457         },
13458         "ErrorInfo": {
13459           "type": "object",
13460           "properties": {
13461             "macaroon": {
13462               "$ref": "#/definitions/Macaroon"
13463             },
13464             "macaroon-path": {
13465               "type": "string"
13466             }
13467           },
13468           "additionalProperties": false
13469         },
13470         "ErrorResult": {
13471           "type": "object",
13472           "properties": {
13473             "error": {
13474               "$ref": "#/definitions/Error"
13475             }
13476           },
13477           "additionalProperties": false
13478         },
13479         "ErrorResults": {
13480           "type": "object",
13481           "properties": {
13482             "results": {
13483               "type": "array",
13484               "items": {
13485                 "$ref": "#/definitions/ErrorResult"
13486               }
13487             }
13488           },
13489           "additionalProperties": false,
13490           "required": [
13491             "results"
13492           ]
13493         },
13494         "Macaroon": {
13495           "type": "object",
13496           "additionalProperties": false
13497         }
13498       }
13499     }
13500   },
13501   {
13502     "Name": "MigrationFlag",
13503     "Version": 1,
13504     "Schema": {
13505       "type": "object",
13506       "properties": {
13507         "Phase": {
13508           "type": "object",
13509           "properties": {
13510             "Params": {
13511               "$ref": "#/definitions/Entities"
13512             },
13513             "Result": {
13514               "$ref": "#/definitions/PhaseResults"
13515             }
13516           }
13517         },
13518         "Watch": {
13519           "type": "object",
13520           "properties": {
13521             "Params": {
13522               "$ref": "#/definitions/Entities"
13523             },
13524             "Result": {
13525               "$ref": "#/definitions/NotifyWatchResults"
13526             }
13527           }
13528         }
13529       },
13530       "definitions": {
13531         "Entities": {
13532           "type": "object",
13533           "properties": {
13534             "entities": {
13535               "type": "array",
13536               "items": {
13537                 "$ref": "#/definitions/Entity"
13538               }
13539             }
13540           },
13541           "additionalProperties": false,
13542           "required": [
13543             "entities"
13544           ]
13545         },
13546         "Entity": {
13547           "type": "object",
13548           "properties": {
13549             "tag": {
13550               "type": "string"
13551             }
13552           },
13553           "additionalProperties": false,
13554           "required": [
13555             "tag"
13556           ]
13557         },
13558         "Error": {
13559           "type": "object",
13560           "properties": {
13561             "code": {
13562               "type": "string"
13563             },
13564             "info": {
13565               "$ref": "#/definitions/ErrorInfo"
13566             },
13567             "message": {
13568               "type": "string"
13569             }
13570           },
13571           "additionalProperties": false,
13572           "required": [
13573             "message",
13574             "code"
13575           ]
13576         },
13577         "ErrorInfo": {
13578           "type": "object",
13579           "properties": {
13580             "macaroon": {
13581               "$ref": "#/definitions/Macaroon"
13582             },
13583             "macaroon-path": {
13584               "type": "string"
13585             }
13586           },
13587           "additionalProperties": false
13588         },
13589         "Macaroon": {
13590           "type": "object",
13591           "additionalProperties": false
13592         },
13593         "NotifyWatchResult": {
13594           "type": "object",
13595           "properties": {
13596             "NotifyWatcherId": {
13597               "type": "string"
13598             },
13599             "error": {
13600               "$ref": "#/definitions/Error"
13601             }
13602           },
13603           "additionalProperties": false,
13604           "required": [
13605             "NotifyWatcherId"
13606           ]
13607         },
13608         "NotifyWatchResults": {
13609           "type": "object",
13610           "properties": {
13611             "results": {
13612               "type": "array",
13613               "items": {
13614                 "$ref": "#/definitions/NotifyWatchResult"
13615               }
13616             }
13617           },
13618           "additionalProperties": false,
13619           "required": [
13620             "results"
13621           ]
13622         },
13623         "PhaseResult": {
13624           "type": "object",
13625           "properties": {
13626             "error": {
13627               "$ref": "#/definitions/Error"
13628             },
13629             "phase": {
13630               "type": "string"
13631             }
13632           },
13633           "additionalProperties": false
13634         },
13635         "PhaseResults": {
13636           "type": "object",
13637           "properties": {
13638             "results": {
13639               "type": "array",
13640               "items": {
13641                 "$ref": "#/definitions/PhaseResult"
13642               }
13643             }
13644           },
13645           "additionalProperties": false,
13646           "required": [
13647             "results"
13648           ]
13649         }
13650       }
13651     }
13652   },
13653   {
13654     "Name": "MigrationMaster",
13655     "Version": 1,
13656     "Schema": {
13657       "type": "object",
13658       "properties": {
13659         "Export": {
13660           "type": "object",
13661           "properties": {
13662             "Result": {
13663               "$ref": "#/definitions/SerializedModel"
13664             }
13665           }
13666         },
13667         "MigrationStatus": {
13668           "type": "object",
13669           "properties": {
13670             "Result": {
13671               "$ref": "#/definitions/MasterMigrationStatus"
13672             }
13673           }
13674         },
13675         "MinionReports": {
13676           "type": "object",
13677           "properties": {
13678             "Result": {
13679               "$ref": "#/definitions/MinionReports"
13680             }
13681           }
13682         },
13683         "ModelInfo": {
13684           "type": "object",
13685           "properties": {
13686             "Result": {
13687               "$ref": "#/definitions/MigrationModelInfo"
13688             }
13689           }
13690         },
13691         "Prechecks": {
13692           "type": "object"
13693         },
13694         "Reap": {
13695           "type": "object"
13696         },
13697         "SetPhase": {
13698           "type": "object",
13699           "properties": {
13700             "Params": {
13701               "$ref": "#/definitions/SetMigrationPhaseArgs"
13702             }
13703           }
13704         },
13705         "SetStatusMessage": {
13706           "type": "object",
13707           "properties": {
13708             "Params": {
13709               "$ref": "#/definitions/SetMigrationStatusMessageArgs"
13710             }
13711           }
13712         },
13713         "Watch": {
13714           "type": "object",
13715           "properties": {
13716             "Result": {
13717               "$ref": "#/definitions/NotifyWatchResult"
13718             }
13719           }
13720         },
13721         "WatchMinionReports": {
13722           "type": "object",
13723           "properties": {
13724             "Result": {
13725               "$ref": "#/definitions/NotifyWatchResult"
13726             }
13727           }
13728         }
13729       },
13730       "definitions": {
13731         "Error": {
13732           "type": "object",
13733           "properties": {
13734             "code": {
13735               "type": "string"
13736             },
13737             "info": {
13738               "$ref": "#/definitions/ErrorInfo"
13739             },
13740             "message": {
13741               "type": "string"
13742             }
13743           },
13744           "additionalProperties": false,
13745           "required": [
13746             "message",
13747             "code"
13748           ]
13749         },
13750         "ErrorInfo": {
13751           "type": "object",
13752           "properties": {
13753             "macaroon": {
13754               "$ref": "#/definitions/Macaroon"
13755             },
13756             "macaroon-path": {
13757               "type": "string"
13758             }
13759           },
13760           "additionalProperties": false
13761         },
13762         "Macaroon": {
13763           "type": "object",
13764           "additionalProperties": false
13765         },
13766         "MasterMigrationStatus": {
13767           "type": "object",
13768           "properties": {
13769             "migration-id": {
13770               "type": "string"
13771             },
13772             "phase": {
13773               "type": "string"
13774             },
13775             "phase-changed-time": {
13776               "type": "string",
13777               "format": "date-time"
13778             },
13779             "spec": {
13780               "$ref": "#/definitions/MigrationSpec"
13781             }
13782           },
13783           "additionalProperties": false,
13784           "required": [
13785             "spec",
13786             "migration-id",
13787             "phase",
13788             "phase-changed-time"
13789           ]
13790         },
13791         "MigrationModelInfo": {
13792           "type": "object",
13793           "properties": {
13794             "agent-version": {
13795               "$ref": "#/definitions/Number"
13796             },
13797             "controller-agent-version": {
13798               "$ref": "#/definitions/Number"
13799             },
13800             "name": {
13801               "type": "string"
13802             },
13803             "owner-tag": {
13804               "type": "string"
13805             },
13806             "uuid": {
13807               "type": "string"
13808             }
13809           },
13810           "additionalProperties": false,
13811           "required": [
13812             "uuid",
13813             "name",
13814             "owner-tag",
13815             "agent-version",
13816             "controller-agent-version"
13817           ]
13818         },
13819         "MigrationSpec": {
13820           "type": "object",
13821           "properties": {
13822             "model-tag": {
13823               "type": "string"
13824             },
13825             "target-info": {
13826               "$ref": "#/definitions/MigrationTargetInfo"
13827             }
13828           },
13829           "additionalProperties": false,
13830           "required": [
13831             "model-tag",
13832             "target-info"
13833           ]
13834         },
13835         "MigrationTargetInfo": {
13836           "type": "object",
13837           "properties": {
13838             "addrs": {
13839               "type": "array",
13840               "items": {
13841                 "type": "string"
13842               }
13843             },
13844             "auth-tag": {
13845               "type": "string"
13846             },
13847             "ca-cert": {
13848               "type": "string"
13849             },
13850             "controller-tag": {
13851               "type": "string"
13852             },
13853             "macaroons": {
13854               "type": "string"
13855             },
13856             "password": {
13857               "type": "string"
13858             }
13859           },
13860           "additionalProperties": false,
13861           "required": [
13862             "controller-tag",
13863             "addrs",
13864             "ca-cert",
13865             "auth-tag"
13866           ]
13867         },
13868         "MinionReports": {
13869           "type": "object",
13870           "properties": {
13871             "failed": {
13872               "type": "array",
13873               "items": {
13874                 "type": "string"
13875               }
13876             },
13877             "migration-id": {
13878               "type": "string"
13879             },
13880             "phase": {
13881               "type": "string"
13882             },
13883             "success-count": {
13884               "type": "integer"
13885             },
13886             "unknown-count": {
13887               "type": "integer"
13888             },
13889             "unknown-sample": {
13890               "type": "array",
13891               "items": {
13892                 "type": "string"
13893               }
13894             }
13895           },
13896           "additionalProperties": false,
13897           "required": [
13898             "migration-id",
13899             "phase",
13900             "success-count",
13901             "unknown-count",
13902             "unknown-sample",
13903             "failed"
13904           ]
13905         },
13906         "NotifyWatchResult": {
13907           "type": "object",
13908           "properties": {
13909             "NotifyWatcherId": {
13910               "type": "string"
13911             },
13912             "error": {
13913               "$ref": "#/definitions/Error"
13914             }
13915           },
13916           "additionalProperties": false,
13917           "required": [
13918             "NotifyWatcherId"
13919           ]
13920         },
13921         "Number": {
13922           "type": "object",
13923           "properties": {
13924             "Build": {
13925               "type": "integer"
13926             },
13927             "Major": {
13928               "type": "integer"
13929             },
13930             "Minor": {
13931               "type": "integer"
13932             },
13933             "Patch": {
13934               "type": "integer"
13935             },
13936             "Tag": {
13937               "type": "string"
13938             }
13939           },
13940           "additionalProperties": false,
13941           "required": [
13942             "Major",
13943             "Minor",
13944             "Tag",
13945             "Patch",
13946             "Build"
13947           ]
13948         },
13949         "SerializedModel": {
13950           "type": "object",
13951           "properties": {
13952             "bytes": {
13953               "type": "array",
13954               "items": {
13955                 "type": "integer"
13956               }
13957             },
13958             "charms": {
13959               "type": "array",
13960               "items": {
13961                 "type": "string"
13962               }
13963             },
13964             "resources": {
13965               "type": "array",
13966               "items": {
13967                 "$ref": "#/definitions/SerializedModelResource"
13968               }
13969             },
13970             "tools": {
13971               "type": "array",
13972               "items": {
13973                 "$ref": "#/definitions/SerializedModelTools"
13974               }
13975             }
13976           },
13977           "additionalProperties": false,
13978           "required": [
13979             "bytes",
13980             "charms",
13981             "tools",
13982             "resources"
13983           ]
13984         },
13985         "SerializedModelResource": {
13986           "type": "object",
13987           "properties": {
13988             "application": {
13989               "type": "string"
13990             },
13991             "application-revision": {
13992               "$ref": "#/definitions/SerializedModelResourceRevision"
13993             },
13994             "charmstore-revision": {
13995               "$ref": "#/definitions/SerializedModelResourceRevision"
13996             },
13997             "name": {
13998               "type": "string"
13999             },
14000             "unit-revisions": {
14001               "type": "object",
14002               "patternProperties": {
14003                 ".*": {
14004                   "$ref": "#/definitions/SerializedModelResourceRevision"
14005                 }
14006               }
14007             }
14008           },
14009           "additionalProperties": false,
14010           "required": [
14011             "application",
14012             "name",
14013             "application-revision",
14014             "charmstore-revision",
14015             "unit-revisions"
14016           ]
14017         },
14018         "SerializedModelResourceRevision": {
14019           "type": "object",
14020           "properties": {
14021             "description": {
14022               "type": "string"
14023             },
14024             "fingerprint": {
14025               "type": "string"
14026             },
14027             "origin": {
14028               "type": "string"
14029             },
14030             "path": {
14031               "type": "string"
14032             },
14033             "revision": {
14034               "type": "integer"
14035             },
14036             "size": {
14037               "type": "integer"
14038             },
14039             "timestamp": {
14040               "type": "string",
14041               "format": "date-time"
14042             },
14043             "type": {
14044               "type": "string"
14045             },
14046             "username": {
14047               "type": "string"
14048             }
14049           },
14050           "additionalProperties": false,
14051           "required": [
14052             "revision",
14053             "type",
14054             "path",
14055             "description",
14056             "origin",
14057             "fingerprint",
14058             "size",
14059             "timestamp"
14060           ]
14061         },
14062         "SerializedModelTools": {
14063           "type": "object",
14064           "properties": {
14065             "uri": {
14066               "type": "string"
14067             },
14068             "version": {
14069               "type": "string"
14070             }
14071           },
14072           "additionalProperties": false,
14073           "required": [
14074             "version",
14075             "uri"
14076           ]
14077         },
14078         "SetMigrationPhaseArgs": {
14079           "type": "object",
14080           "properties": {
14081             "phase": {
14082               "type": "string"
14083             }
14084           },
14085           "additionalProperties": false,
14086           "required": [
14087             "phase"
14088           ]
14089         },
14090         "SetMigrationStatusMessageArgs": {
14091           "type": "object",
14092           "properties": {
14093             "message": {
14094               "type": "string"
14095             }
14096           },
14097           "additionalProperties": false,
14098           "required": [
14099             "message"
14100           ]
14101         }
14102       }
14103     }
14104   },
14105   {
14106     "Name": "MigrationMinion",
14107     "Version": 1,
14108     "Schema": {
14109       "type": "object",
14110       "properties": {
14111         "Report": {
14112           "type": "object",
14113           "properties": {
14114             "Params": {
14115               "$ref": "#/definitions/MinionReport"
14116             }
14117           }
14118         },
14119         "Watch": {
14120           "type": "object",
14121           "properties": {
14122             "Result": {
14123               "$ref": "#/definitions/NotifyWatchResult"
14124             }
14125           }
14126         }
14127       },
14128       "definitions": {
14129         "Error": {
14130           "type": "object",
14131           "properties": {
14132             "code": {
14133               "type": "string"
14134             },
14135             "info": {
14136               "$ref": "#/definitions/ErrorInfo"
14137             },
14138             "message": {
14139               "type": "string"
14140             }
14141           },
14142           "additionalProperties": false,
14143           "required": [
14144             "message",
14145             "code"
14146           ]
14147         },
14148         "ErrorInfo": {
14149           "type": "object",
14150           "properties": {
14151             "macaroon": {
14152               "$ref": "#/definitions/Macaroon"
14153             },
14154             "macaroon-path": {
14155               "type": "string"
14156             }
14157           },
14158           "additionalProperties": false
14159         },
14160         "Macaroon": {
14161           "type": "object",
14162           "additionalProperties": false
14163         },
14164         "MinionReport": {
14165           "type": "object",
14166           "properties": {
14167             "migration-id": {
14168               "type": "string"
14169             },
14170             "phase": {
14171               "type": "string"
14172             },
14173             "success": {
14174               "type": "boolean"
14175             }
14176           },
14177           "additionalProperties": false,
14178           "required": [
14179             "migration-id",
14180             "phase",
14181             "success"
14182           ]
14183         },
14184         "NotifyWatchResult": {
14185           "type": "object",
14186           "properties": {
14187             "NotifyWatcherId": {
14188               "type": "string"
14189             },
14190             "error": {
14191               "$ref": "#/definitions/Error"
14192             }
14193           },
14194           "additionalProperties": false,
14195           "required": [
14196             "NotifyWatcherId"
14197           ]
14198         }
14199       }
14200     }
14201   },
14202   {
14203     "Name": "MigrationStatusWatcher",
14204     "Version": 1,
14205     "Schema": {
14206       "type": "object",
14207       "properties": {
14208         "Next": {
14209           "type": "object",
14210           "properties": {
14211             "Result": {
14212               "$ref": "#/definitions/MigrationStatus"
14213             }
14214           }
14215         },
14216         "Stop": {
14217           "type": "object"
14218         }
14219       },
14220       "definitions": {
14221         "MigrationStatus": {
14222           "type": "object",
14223           "properties": {
14224             "attempt": {
14225               "type": "integer"
14226             },
14227             "migration-id": {
14228               "type": "string"
14229             },
14230             "phase": {
14231               "type": "string"
14232             },
14233             "source-api-addrs": {
14234               "type": "array",
14235               "items": {
14236                 "type": "string"
14237               }
14238             },
14239             "source-ca-cert": {
14240               "type": "string"
14241             },
14242             "target-api-addrs": {
14243               "type": "array",
14244               "items": {
14245                 "type": "string"
14246               }
14247             },
14248             "target-ca-cert": {
14249               "type": "string"
14250             }
14251           },
14252           "additionalProperties": false,
14253           "required": [
14254             "migration-id",
14255             "attempt",
14256             "phase",
14257             "source-api-addrs",
14258             "source-ca-cert",
14259             "target-api-addrs",
14260             "target-ca-cert"
14261           ]
14262         }
14263       }
14264     }
14265   },
14266   {
14267     "Name": "MigrationTarget",
14268     "Version": 1,
14269     "Schema": {
14270       "type": "object",
14271       "properties": {
14272         "Abort": {
14273           "type": "object",
14274           "properties": {
14275             "Params": {
14276               "$ref": "#/definitions/ModelArgs"
14277             }
14278           }
14279         },
14280         "Activate": {
14281           "type": "object",
14282           "properties": {
14283             "Params": {
14284               "$ref": "#/definitions/ModelArgs"
14285             }
14286           }
14287         },
14288         "AdoptResources": {
14289           "type": "object",
14290           "properties": {
14291             "Params": {
14292               "$ref": "#/definitions/AdoptResourcesArgs"
14293             }
14294           }
14295         },
14296         "CACert": {
14297           "type": "object",
14298           "properties": {
14299             "Result": {
14300               "$ref": "#/definitions/BytesResult"
14301             }
14302           }
14303         },
14304         "Import": {
14305           "type": "object",
14306           "properties": {
14307             "Params": {
14308               "$ref": "#/definitions/SerializedModel"
14309             }
14310           }
14311         },
14312         "LatestLogTime": {
14313           "type": "object",
14314           "properties": {
14315             "Params": {
14316               "$ref": "#/definitions/ModelArgs"
14317             },
14318             "Result": {
14319               "type": "string",
14320               "format": "date-time"
14321             }
14322           }
14323         },
14324         "Prechecks": {
14325           "type": "object",
14326           "properties": {
14327             "Params": {
14328               "$ref": "#/definitions/MigrationModelInfo"
14329             }
14330           }
14331         }
14332       },
14333       "definitions": {
14334         "AdoptResourcesArgs": {
14335           "type": "object",
14336           "properties": {
14337             "model-tag": {
14338               "type": "string"
14339             },
14340             "source-controller-version": {
14341               "$ref": "#/definitions/Number"
14342             }
14343           },
14344           "additionalProperties": false,
14345           "required": [
14346             "model-tag",
14347             "source-controller-version"
14348           ]
14349         },
14350         "BytesResult": {
14351           "type": "object",
14352           "properties": {
14353             "result": {
14354               "type": "array",
14355               "items": {
14356                 "type": "integer"
14357               }
14358             }
14359           },
14360           "additionalProperties": false,
14361           "required": [
14362             "result"
14363           ]
14364         },
14365         "MigrationModelInfo": {
14366           "type": "object",
14367           "properties": {
14368             "agent-version": {
14369               "$ref": "#/definitions/Number"
14370             },
14371             "controller-agent-version": {
14372               "$ref": "#/definitions/Number"
14373             },
14374             "name": {
14375               "type": "string"
14376             },
14377             "owner-tag": {
14378               "type": "string"
14379             },
14380             "uuid": {
14381               "type": "string"
14382             }
14383           },
14384           "additionalProperties": false,
14385           "required": [
14386             "uuid",
14387             "name",
14388             "owner-tag",
14389             "agent-version",
14390             "controller-agent-version"
14391           ]
14392         },
14393         "ModelArgs": {
14394           "type": "object",
14395           "properties": {
14396             "model-tag": {
14397               "type": "string"
14398             }
14399           },
14400           "additionalProperties": false,
14401           "required": [
14402             "model-tag"
14403           ]
14404         },
14405         "Number": {
14406           "type": "object",
14407           "properties": {
14408             "Build": {
14409               "type": "integer"
14410             },
14411             "Major": {
14412               "type": "integer"
14413             },
14414             "Minor": {
14415               "type": "integer"
14416             },
14417             "Patch": {
14418               "type": "integer"
14419             },
14420             "Tag": {
14421               "type": "string"
14422             }
14423           },
14424           "additionalProperties": false,
14425           "required": [
14426             "Major",
14427             "Minor",
14428             "Tag",
14429             "Patch",
14430             "Build"
14431           ]
14432         },
14433         "SerializedModel": {
14434           "type": "object",
14435           "properties": {
14436             "bytes": {
14437               "type": "array",
14438               "items": {
14439                 "type": "integer"
14440               }
14441             },
14442             "charms": {
14443               "type": "array",
14444               "items": {
14445                 "type": "string"
14446               }
14447             },
14448             "resources": {
14449               "type": "array",
14450               "items": {
14451                 "$ref": "#/definitions/SerializedModelResource"
14452               }
14453             },
14454             "tools": {
14455               "type": "array",
14456               "items": {
14457                 "$ref": "#/definitions/SerializedModelTools"
14458               }
14459             }
14460           },
14461           "additionalProperties": false,
14462           "required": [
14463             "bytes",
14464             "charms",
14465             "tools",
14466             "resources"
14467           ]
14468         },
14469         "SerializedModelResource": {
14470           "type": "object",
14471           "properties": {
14472             "application": {
14473               "type": "string"
14474             },
14475             "application-revision": {
14476               "$ref": "#/definitions/SerializedModelResourceRevision"
14477             },
14478             "charmstore-revision": {
14479               "$ref": "#/definitions/SerializedModelResourceRevision"
14480             },
14481             "name": {
14482               "type": "string"
14483             },
14484             "unit-revisions": {
14485               "type": "object",
14486               "patternProperties": {
14487                 ".*": {
14488                   "$ref": "#/definitions/SerializedModelResourceRevision"
14489                 }
14490               }
14491             }
14492           },
14493           "additionalProperties": false,
14494           "required": [
14495             "application",
14496             "name",
14497             "application-revision",
14498             "charmstore-revision",
14499             "unit-revisions"
14500           ]
14501         },
14502         "SerializedModelResourceRevision": {
14503           "type": "object",
14504           "properties": {
14505             "description": {
14506               "type": "string"
14507             },
14508             "fingerprint": {
14509               "type": "string"
14510             },
14511             "origin": {
14512               "type": "string"
14513             },
14514             "path": {
14515               "type": "string"
14516             },
14517             "revision": {
14518               "type": "integer"
14519             },
14520             "size": {
14521               "type": "integer"
14522             },
14523             "timestamp": {
14524               "type": "string",
14525               "format": "date-time"
14526             },
14527             "type": {
14528               "type": "string"
14529             },
14530             "username": {
14531               "type": "string"
14532             }
14533           },
14534           "additionalProperties": false,
14535           "required": [
14536             "revision",
14537             "type",
14538             "path",
14539             "description",
14540             "origin",
14541             "fingerprint",
14542             "size",
14543             "timestamp"
14544           ]
14545         },
14546         "SerializedModelTools": {
14547           "type": "object",
14548           "properties": {
14549             "uri": {
14550               "type": "string"
14551             },
14552             "version": {
14553               "type": "string"
14554             }
14555           },
14556           "additionalProperties": false,
14557           "required": [
14558             "version",
14559             "uri"
14560           ]
14561         }
14562       }
14563     }
14564   },
14565   {
14566     "Name": "ModelConfig",
14567     "Version": 1,
14568     "Schema": {
14569       "type": "object",
14570       "properties": {
14571         "ModelGet": {
14572           "type": "object",
14573           "properties": {
14574             "Result": {
14575               "$ref": "#/definitions/ModelConfigResults"
14576             }
14577           }
14578         },
14579         "ModelSet": {
14580           "type": "object",
14581           "properties": {
14582             "Params": {
14583               "$ref": "#/definitions/ModelSet"
14584             }
14585           }
14586         },
14587         "ModelUnset": {
14588           "type": "object",
14589           "properties": {
14590             "Params": {
14591               "$ref": "#/definitions/ModelUnset"
14592             }
14593           }
14594         },
14595         "SLALevel": {
14596           "type": "object",
14597           "properties": {
14598             "Result": {
14599               "$ref": "#/definitions/StringResult"
14600             }
14601           }
14602         },
14603         "SetSLALevel": {
14604           "type": "object",
14605           "properties": {
14606             "Params": {
14607               "$ref": "#/definitions/ModelSLA"
14608             }
14609           }
14610         }
14611       },
14612       "definitions": {
14613         "ConfigValue": {
14614           "type": "object",
14615           "properties": {
14616             "source": {
14617               "type": "string"
14618             },
14619             "value": {
14620               "type": "object",
14621               "additionalProperties": true
14622             }
14623           },
14624           "additionalProperties": false,
14625           "required": [
14626             "value",
14627             "source"
14628           ]
14629         },
14630         "Error": {
14631           "type": "object",
14632           "properties": {
14633             "code": {
14634               "type": "string"
14635             },
14636             "info": {
14637               "$ref": "#/definitions/ErrorInfo"
14638             },
14639             "message": {
14640               "type": "string"
14641             }
14642           },
14643           "additionalProperties": false,
14644           "required": [
14645             "message",
14646             "code"
14647           ]
14648         },
14649         "ErrorInfo": {
14650           "type": "object",
14651           "properties": {
14652             "macaroon": {
14653               "$ref": "#/definitions/Macaroon"
14654             },
14655             "macaroon-path": {
14656               "type": "string"
14657             }
14658           },
14659           "additionalProperties": false
14660         },
14661         "Macaroon": {
14662           "type": "object",
14663           "additionalProperties": false
14664         },
14665         "ModelConfigResults": {
14666           "type": "object",
14667           "properties": {
14668             "config": {
14669               "type": "object",
14670               "patternProperties": {
14671                 ".*": {
14672                   "$ref": "#/definitions/ConfigValue"
14673                 }
14674               }
14675             }
14676           },
14677           "additionalProperties": false,
14678           "required": [
14679             "config"
14680           ]
14681         },
14682         "ModelSLA": {
14683           "type": "object",
14684           "properties": {
14685             "ModelSLAInfo": {
14686               "$ref": "#/definitions/ModelSLAInfo"
14687             },
14688             "creds": {
14689               "type": "array",
14690               "items": {
14691                 "type": "integer"
14692               }
14693             }
14694           },
14695           "additionalProperties": false,
14696           "required": [
14697             "ModelSLAInfo",
14698             "creds"
14699           ]
14700         },
14701         "ModelSLAInfo": {
14702           "type": "object",
14703           "properties": {
14704             "level": {
14705               "type": "string"
14706             },
14707             "owner": {
14708               "type": "string"
14709             }
14710           },
14711           "additionalProperties": false,
14712           "required": [
14713             "level",
14714             "owner"
14715           ]
14716         },
14717         "ModelSet": {
14718           "type": "object",
14719           "properties": {
14720             "config": {
14721               "type": "object",
14722               "patternProperties": {
14723                 ".*": {
14724                   "type": "object",
14725                   "additionalProperties": true
14726                 }
14727               }
14728             }
14729           },
14730           "additionalProperties": false,
14731           "required": [
14732             "config"
14733           ]
14734         },
14735         "ModelUnset": {
14736           "type": "object",
14737           "properties": {
14738             "keys": {
14739               "type": "array",
14740               "items": {
14741                 "type": "string"
14742               }
14743             }
14744           },
14745           "additionalProperties": false,
14746           "required": [
14747             "keys"
14748           ]
14749         },
14750         "StringResult": {
14751           "type": "object",
14752           "properties": {
14753             "error": {
14754               "$ref": "#/definitions/Error"
14755             },
14756             "result": {
14757               "type": "string"
14758             }
14759           },
14760           "additionalProperties": false,
14761           "required": [
14762             "result"
14763           ]
14764         }
14765       }
14766     }
14767   },
14768   {
14769     "Name": "ModelManager",
14770     "Version": 3,
14771     "Schema": {
14772       "type": "object",
14773       "properties": {
14774         "CreateModel": {
14775           "type": "object",
14776           "properties": {
14777             "Params": {
14778               "$ref": "#/definitions/ModelCreateArgs"
14779             },
14780             "Result": {
14781               "$ref": "#/definitions/ModelInfo"
14782             }
14783           }
14784         },
14785         "DestroyModels": {
14786           "type": "object",
14787           "properties": {
14788             "Params": {
14789               "$ref": "#/definitions/Entities"
14790             },
14791             "Result": {
14792               "$ref": "#/definitions/ErrorResults"
14793             }
14794           }
14795         },
14796         "DumpModels": {
14797           "type": "object",
14798           "properties": {
14799             "Params": {
14800               "$ref": "#/definitions/DumpModelRequest"
14801             },
14802             "Result": {
14803               "$ref": "#/definitions/StringResults"
14804             }
14805           }
14806         },
14807         "DumpModelsDB": {
14808           "type": "object",
14809           "properties": {
14810             "Params": {
14811               "$ref": "#/definitions/Entities"
14812             },
14813             "Result": {
14814               "$ref": "#/definitions/MapResults"
14815             }
14816           }
14817         },
14818         "ListModels": {
14819           "type": "object",
14820           "properties": {
14821             "Params": {
14822               "$ref": "#/definitions/Entity"
14823             },
14824             "Result": {
14825               "$ref": "#/definitions/UserModelList"
14826             }
14827           }
14828         },
14829         "ModelDefaults": {
14830           "type": "object",
14831           "properties": {
14832             "Result": {
14833               "$ref": "#/definitions/ModelDefaultsResult"
14834             }
14835           }
14836         },
14837         "ModelInfo": {
14838           "type": "object",
14839           "properties": {
14840             "Params": {
14841               "$ref": "#/definitions/Entities"
14842             },
14843             "Result": {
14844               "$ref": "#/definitions/ModelInfoResults"
14845             }
14846           }
14847         },
14848         "ModelStatus": {
14849           "type": "object",
14850           "properties": {
14851             "Params": {
14852               "$ref": "#/definitions/Entities"
14853             },
14854             "Result": {
14855               "$ref": "#/definitions/ModelStatusResults"
14856             }
14857           }
14858         },
14859         "ModifyModelAccess": {
14860           "type": "object",
14861           "properties": {
14862             "Params": {
14863               "$ref": "#/definitions/ModifyModelAccessRequest"
14864             },
14865             "Result": {
14866               "$ref": "#/definitions/ErrorResults"
14867             }
14868           }
14869         },
14870         "SetModelDefaults": {
14871           "type": "object",
14872           "properties": {
14873             "Params": {
14874               "$ref": "#/definitions/SetModelDefaults"
14875             },
14876             "Result": {
14877               "$ref": "#/definitions/ErrorResults"
14878             }
14879           }
14880         },
14881         "UnsetModelDefaults": {
14882           "type": "object",
14883           "properties": {
14884             "Params": {
14885               "$ref": "#/definitions/UnsetModelDefaults"
14886             },
14887             "Result": {
14888               "$ref": "#/definitions/ErrorResults"
14889             }
14890           }
14891         }
14892       },
14893       "definitions": {
14894         "DumpModelRequest": {
14895           "type": "object",
14896           "properties": {
14897             "entities": {
14898               "type": "array",
14899               "items": {
14900                 "$ref": "#/definitions/Entity"
14901               }
14902             },
14903             "simplified": {
14904               "type": "boolean"
14905             }
14906           },
14907           "additionalProperties": false,
14908           "required": [
14909             "entities",
14910             "simplified"
14911           ]
14912         },
14913         "Entities": {
14914           "type": "object",
14915           "properties": {
14916             "entities": {
14917               "type": "array",
14918               "items": {
14919                 "$ref": "#/definitions/Entity"
14920               }
14921             }
14922           },
14923           "additionalProperties": false,
14924           "required": [
14925             "entities"
14926           ]
14927         },
14928         "Entity": {
14929           "type": "object",
14930           "properties": {
14931             "tag": {
14932               "type": "string"
14933             }
14934           },
14935           "additionalProperties": false,
14936           "required": [
14937             "tag"
14938           ]
14939         },
14940         "EntityStatus": {
14941           "type": "object",
14942           "properties": {
14943             "data": {
14944               "type": "object",
14945               "patternProperties": {
14946                 ".*": {
14947                   "type": "object",
14948                   "additionalProperties": true
14949                 }
14950               }
14951             },
14952             "info": {
14953               "type": "string"
14954             },
14955             "since": {
14956               "type": "string",
14957               "format": "date-time"
14958             },
14959             "status": {
14960               "type": "string"
14961             }
14962           },
14963           "additionalProperties": false,
14964           "required": [
14965             "status",
14966             "info",
14967             "since"
14968           ]
14969         },
14970         "Error": {
14971           "type": "object",
14972           "properties": {
14973             "code": {
14974               "type": "string"
14975             },
14976             "info": {
14977               "$ref": "#/definitions/ErrorInfo"
14978             },
14979             "message": {
14980               "type": "string"
14981             }
14982           },
14983           "additionalProperties": false,
14984           "required": [
14985             "message",
14986             "code"
14987           ]
14988         },
14989         "ErrorInfo": {
14990           "type": "object",
14991           "properties": {
14992             "macaroon": {
14993               "$ref": "#/definitions/Macaroon"
14994             },
14995             "macaroon-path": {
14996               "type": "string"
14997             }
14998           },
14999           "additionalProperties": false
15000         },
15001         "ErrorResult": {
15002           "type": "object",
15003           "properties": {
15004             "error": {
15005               "$ref": "#/definitions/Error"
15006             }
15007           },
15008           "additionalProperties": false
15009         },
15010         "ErrorResults": {
15011           "type": "object",
15012           "properties": {
15013             "results": {
15014               "type": "array",
15015               "items": {
15016                 "$ref": "#/definitions/ErrorResult"
15017               }
15018             }
15019           },
15020           "additionalProperties": false,
15021           "required": [
15022             "results"
15023           ]
15024         },
15025         "Macaroon": {
15026           "type": "object",
15027           "additionalProperties": false
15028         },
15029         "MachineHardware": {
15030           "type": "object",
15031           "properties": {
15032             "arch": {
15033               "type": "string"
15034             },
15035             "availability-zone": {
15036               "type": "string"
15037             },
15038             "cores": {
15039               "type": "integer"
15040             },
15041             "cpu-power": {
15042               "type": "integer"
15043             },
15044             "mem": {
15045               "type": "integer"
15046             },
15047             "root-disk": {
15048               "type": "integer"
15049             },
15050             "tags": {
15051               "type": "array",
15052               "items": {
15053                 "type": "string"
15054               }
15055             }
15056           },
15057           "additionalProperties": false
15058         },
15059         "MapResult": {
15060           "type": "object",
15061           "properties": {
15062             "error": {
15063               "$ref": "#/definitions/Error"
15064             },
15065             "result": {
15066               "type": "object",
15067               "patternProperties": {
15068                 ".*": {
15069                   "type": "object",
15070                   "additionalProperties": true
15071                 }
15072               }
15073             }
15074           },
15075           "additionalProperties": false,
15076           "required": [
15077             "result"
15078           ]
15079         },
15080         "MapResults": {
15081           "type": "object",
15082           "properties": {
15083             "results": {
15084               "type": "array",
15085               "items": {
15086                 "$ref": "#/definitions/MapResult"
15087               }
15088             }
15089           },
15090           "additionalProperties": false,
15091           "required": [
15092             "results"
15093           ]
15094         },
15095         "Model": {
15096           "type": "object",
15097           "properties": {
15098             "name": {
15099               "type": "string"
15100             },
15101             "owner-tag": {
15102               "type": "string"
15103             },
15104             "uuid": {
15105               "type": "string"
15106             }
15107           },
15108           "additionalProperties": false,
15109           "required": [
15110             "name",
15111             "uuid",
15112             "owner-tag"
15113           ]
15114         },
15115         "ModelCreateArgs": {
15116           "type": "object",
15117           "properties": {
15118             "cloud-tag": {
15119               "type": "string"
15120             },
15121             "config": {
15122               "type": "object",
15123               "patternProperties": {
15124                 ".*": {
15125                   "type": "object",
15126                   "additionalProperties": true
15127                 }
15128               }
15129             },
15130             "credential": {
15131               "type": "string"
15132             },
15133             "name": {
15134               "type": "string"
15135             },
15136             "owner-tag": {
15137               "type": "string"
15138             },
15139             "region": {
15140               "type": "string"
15141             }
15142           },
15143           "additionalProperties": false,
15144           "required": [
15145             "name",
15146             "owner-tag"
15147           ]
15148         },
15149         "ModelDefaultValues": {
15150           "type": "object",
15151           "properties": {
15152             "cloud-region": {
15153               "type": "string"
15154             },
15155             "cloud-tag": {
15156               "type": "string"
15157             },
15158             "config": {
15159               "type": "object",
15160               "patternProperties": {
15161                 ".*": {
15162                   "type": "object",
15163                   "additionalProperties": true
15164                 }
15165               }
15166             }
15167           },
15168           "additionalProperties": false,
15169           "required": [
15170             "config"
15171           ]
15172         },
15173         "ModelDefaults": {
15174           "type": "object",
15175           "properties": {
15176             "controller": {
15177               "type": "object",
15178               "additionalProperties": true
15179             },
15180             "default": {
15181               "type": "object",
15182               "additionalProperties": true
15183             },
15184             "regions": {
15185               "type": "array",
15186               "items": {
15187                 "$ref": "#/definitions/RegionDefaults"
15188               }
15189             }
15190           },
15191           "additionalProperties": false
15192         },
15193         "ModelDefaultsResult": {
15194           "type": "object",
15195           "properties": {
15196             "config": {
15197               "type": "object",
15198               "patternProperties": {
15199                 ".*": {
15200                   "$ref": "#/definitions/ModelDefaults"
15201                 }
15202               }
15203             }
15204           },
15205           "additionalProperties": false,
15206           "required": [
15207             "config"
15208           ]
15209         },
15210         "ModelInfo": {
15211           "type": "object",
15212           "properties": {
15213             "agent-version": {
15214               "$ref": "#/definitions/Number"
15215             },
15216             "cloud-credential-tag": {
15217               "type": "string"
15218             },
15219             "cloud-region": {
15220               "type": "string"
15221             },
15222             "cloud-tag": {
15223               "type": "string"
15224             },
15225             "controller-uuid": {
15226               "type": "string"
15227             },
15228             "default-series": {
15229               "type": "string"
15230             },
15231             "life": {
15232               "type": "string"
15233             },
15234             "machines": {
15235               "type": "array",
15236               "items": {
15237                 "$ref": "#/definitions/ModelMachineInfo"
15238               }
15239             },
15240             "migration": {
15241               "$ref": "#/definitions/ModelMigrationStatus"
15242             },
15243             "name": {
15244               "type": "string"
15245             },
15246             "owner-tag": {
15247               "type": "string"
15248             },
15249             "provider-type": {
15250               "type": "string"
15251             },
15252             "sla": {
15253               "$ref": "#/definitions/ModelSLAInfo"
15254             },
15255             "status": {
15256               "$ref": "#/definitions/EntityStatus"
15257             },
15258             "users": {
15259               "type": "array",
15260               "items": {
15261                 "$ref": "#/definitions/ModelUserInfo"
15262               }
15263             },
15264             "uuid": {
15265               "type": "string"
15266             }
15267           },
15268           "additionalProperties": false,
15269           "required": [
15270             "name",
15271             "uuid",
15272             "controller-uuid",
15273             "cloud-tag",
15274             "owner-tag",
15275             "life",
15276             "users",
15277             "machines",
15278             "sla",
15279             "agent-version"
15280           ]
15281         },
15282         "ModelInfoResult": {
15283           "type": "object",
15284           "properties": {
15285             "error": {
15286               "$ref": "#/definitions/Error"
15287             },
15288             "result": {
15289               "$ref": "#/definitions/ModelInfo"
15290             }
15291           },
15292           "additionalProperties": false
15293         },
15294         "ModelInfoResults": {
15295           "type": "object",
15296           "properties": {
15297             "results": {
15298               "type": "array",
15299               "items": {
15300                 "$ref": "#/definitions/ModelInfoResult"
15301               }
15302             }
15303           },
15304           "additionalProperties": false,
15305           "required": [
15306             "results"
15307           ]
15308         },
15309         "ModelMachineInfo": {
15310           "type": "object",
15311           "properties": {
15312             "hardware": {
15313               "$ref": "#/definitions/MachineHardware"
15314             },
15315             "has-vote": {
15316               "type": "boolean"
15317             },
15318             "id": {
15319               "type": "string"
15320             },
15321             "instance-id": {
15322               "type": "string"
15323             },
15324             "status": {
15325               "type": "string"
15326             },
15327             "wants-vote": {
15328               "type": "boolean"
15329             }
15330           },
15331           "additionalProperties": false,
15332           "required": [
15333             "id"
15334           ]
15335         },
15336         "ModelMigrationStatus": {
15337           "type": "object",
15338           "properties": {
15339             "end": {
15340               "type": "string",
15341               "format": "date-time"
15342             },
15343             "start": {
15344               "type": "string",
15345               "format": "date-time"
15346             },
15347             "status": {
15348               "type": "string"
15349             }
15350           },
15351           "additionalProperties": false,
15352           "required": [
15353             "status",
15354             "start"
15355           ]
15356         },
15357         "ModelSLAInfo": {
15358           "type": "object",
15359           "properties": {
15360             "level": {
15361               "type": "string"
15362             },
15363             "owner": {
15364               "type": "string"
15365             }
15366           },
15367           "additionalProperties": false,
15368           "required": [
15369             "level",
15370             "owner"
15371           ]
15372         },
15373         "ModelStatus": {
15374           "type": "object",
15375           "properties": {
15376             "application-count": {
15377               "type": "integer"
15378             },
15379             "hosted-machine-count": {
15380               "type": "integer"
15381             },
15382             "life": {
15383               "type": "string"
15384             },
15385             "machines": {
15386               "type": "array",
15387               "items": {
15388                 "$ref": "#/definitions/ModelMachineInfo"
15389               }
15390             },
15391             "model-tag": {
15392               "type": "string"
15393             },
15394             "owner-tag": {
15395               "type": "string"
15396             }
15397           },
15398           "additionalProperties": false,
15399           "required": [
15400             "model-tag",
15401             "life",
15402             "hosted-machine-count",
15403             "application-count",
15404             "owner-tag"
15405           ]
15406         },
15407         "ModelStatusResults": {
15408           "type": "object",
15409           "properties": {
15410             "models": {
15411               "type": "array",
15412               "items": {
15413                 "$ref": "#/definitions/ModelStatus"
15414               }
15415             }
15416           },
15417           "additionalProperties": false,
15418           "required": [
15419             "models"
15420           ]
15421         },
15422         "ModelUnsetKeys": {
15423           "type": "object",
15424           "properties": {
15425             "cloud-region": {
15426               "type": "string"
15427             },
15428             "cloud-tag": {
15429               "type": "string"
15430             },
15431             "keys": {
15432               "type": "array",
15433               "items": {
15434                 "type": "string"
15435               }
15436             }
15437           },
15438           "additionalProperties": false,
15439           "required": [
15440             "keys"
15441           ]
15442         },
15443         "ModelUserInfo": {
15444           "type": "object",
15445           "properties": {
15446             "access": {
15447               "type": "string"
15448             },
15449             "display-name": {
15450               "type": "string"
15451             },
15452             "last-connection": {
15453               "type": "string",
15454               "format": "date-time"
15455             },
15456             "user": {
15457               "type": "string"
15458             }
15459           },
15460           "additionalProperties": false,
15461           "required": [
15462             "user",
15463             "display-name",
15464             "last-connection",
15465             "access"
15466           ]
15467         },
15468         "ModifyModelAccess": {
15469           "type": "object",
15470           "properties": {
15471             "access": {
15472               "type": "string"
15473             },
15474             "action": {
15475               "type": "string"
15476             },
15477             "model-tag": {
15478               "type": "string"
15479             },
15480             "user-tag": {
15481               "type": "string"
15482             }
15483           },
15484           "additionalProperties": false,
15485           "required": [
15486             "user-tag",
15487             "action",
15488             "access",
15489             "model-tag"
15490           ]
15491         },
15492         "ModifyModelAccessRequest": {
15493           "type": "object",
15494           "properties": {
15495             "changes": {
15496               "type": "array",
15497               "items": {
15498                 "$ref": "#/definitions/ModifyModelAccess"
15499               }
15500             }
15501           },
15502           "additionalProperties": false,
15503           "required": [
15504             "changes"
15505           ]
15506         },
15507         "Number": {
15508           "type": "object",
15509           "properties": {
15510             "Build": {
15511               "type": "integer"
15512             },
15513             "Major": {
15514               "type": "integer"
15515             },
15516             "Minor": {
15517               "type": "integer"
15518             },
15519             "Patch": {
15520               "type": "integer"
15521             },
15522             "Tag": {
15523               "type": "string"
15524             }
15525           },
15526           "additionalProperties": false,
15527           "required": [
15528             "Major",
15529             "Minor",
15530             "Tag",
15531             "Patch",
15532             "Build"
15533           ]
15534         },
15535         "RegionDefaults": {
15536           "type": "object",
15537           "properties": {
15538             "region-name": {
15539               "type": "string"
15540             },
15541             "value": {
15542               "type": "object",
15543               "additionalProperties": true
15544             }
15545           },
15546           "additionalProperties": false,
15547           "required": [
15548             "region-name",
15549             "value"
15550           ]
15551         },
15552         "SetModelDefaults": {
15553           "type": "object",
15554           "properties": {
15555             "config": {
15556               "type": "array",
15557               "items": {
15558                 "$ref": "#/definitions/ModelDefaultValues"
15559               }
15560             }
15561           },
15562           "additionalProperties": false,
15563           "required": [
15564             "config"
15565           ]
15566         },
15567         "StringResult": {
15568           "type": "object",
15569           "properties": {
15570             "error": {
15571               "$ref": "#/definitions/Error"
15572             },
15573             "result": {
15574               "type": "string"
15575             }
15576           },
15577           "additionalProperties": false,
15578           "required": [
15579             "result"
15580           ]
15581         },
15582         "StringResults": {
15583           "type": "object",
15584           "properties": {
15585             "results": {
15586               "type": "array",
15587               "items": {
15588                 "$ref": "#/definitions/StringResult"
15589               }
15590             }
15591           },
15592           "additionalProperties": false,
15593           "required": [
15594             "results"
15595           ]
15596         },
15597         "UnsetModelDefaults": {
15598           "type": "object",
15599           "properties": {
15600             "keys": {
15601               "type": "array",
15602               "items": {
15603                 "$ref": "#/definitions/ModelUnsetKeys"
15604               }
15605             }
15606           },
15607           "additionalProperties": false,
15608           "required": [
15609             "keys"
15610           ]
15611         },
15612         "UserModel": {
15613           "type": "object",
15614           "properties": {
15615             "last-connection": {
15616               "type": "string",
15617               "format": "date-time"
15618             },
15619             "model": {
15620               "$ref": "#/definitions/Model"
15621             }
15622           },
15623           "additionalProperties": false,
15624           "required": [
15625             "model",
15626             "last-connection"
15627           ]
15628         },
15629         "UserModelList": {
15630           "type": "object",
15631           "properties": {
15632             "user-models": {
15633               "type": "array",
15634               "items": {
15635                 "$ref": "#/definitions/UserModel"
15636               }
15637             }
15638           },
15639           "additionalProperties": false,
15640           "required": [
15641             "user-models"
15642           ]
15643         }
15644       }
15645     }
15646   },
15647   {
15648     "Name": "NotifyWatcher",
15649     "Version": 1,
15650     "Schema": {
15651       "type": "object",
15652       "properties": {
15653         "Next": {
15654           "type": "object"
15655         },
15656         "Stop": {
15657           "type": "object"
15658         }
15659       }
15660     }
15661   },
15662   {
15663     "Name": "Payloads",
15664     "Version": 1,
15665     "Schema": {
15666       "type": "object",
15667       "properties": {
15668         "List": {
15669           "type": "object",
15670           "properties": {
15671             "Params": {
15672               "$ref": "#/definitions/PayloadListArgs"
15673             },
15674             "Result": {
15675               "$ref": "#/definitions/PayloadListResults"
15676             }
15677           }
15678         }
15679       },
15680       "definitions": {
15681         "Payload": {
15682           "type": "object",
15683           "properties": {
15684             "class": {
15685               "type": "string"
15686             },
15687             "id": {
15688               "type": "string"
15689             },
15690             "labels": {
15691               "type": "array",
15692               "items": {
15693                 "type": "string"
15694               }
15695             },
15696             "machine": {
15697               "type": "string"
15698             },
15699             "status": {
15700               "type": "string"
15701             },
15702             "type": {
15703               "type": "string"
15704             },
15705             "unit": {
15706               "type": "string"
15707             }
15708           },
15709           "additionalProperties": false,
15710           "required": [
15711             "class",
15712             "type",
15713             "id",
15714             "status",
15715             "labels",
15716             "unit",
15717             "machine"
15718           ]
15719         },
15720         "PayloadListArgs": {
15721           "type": "object",
15722           "properties": {
15723             "patterns": {
15724               "type": "array",
15725               "items": {
15726                 "type": "string"
15727               }
15728             }
15729           },
15730           "additionalProperties": false,
15731           "required": [
15732             "patterns"
15733           ]
15734         },
15735         "PayloadListResults": {
15736           "type": "object",
15737           "properties": {
15738             "results": {
15739               "type": "array",
15740               "items": {
15741                 "$ref": "#/definitions/Payload"
15742               }
15743             }
15744           },
15745           "additionalProperties": false,
15746           "required": [
15747             "results"
15748           ]
15749         }
15750       }
15751     }
15752   },
15753   {
15754     "Name": "PayloadsHookContext",
15755     "Version": 1,
15756     "Schema": {
15757       "type": "object",
15758       "properties": {
15759         "List": {
15760           "type": "object",
15761           "properties": {
15762             "Params": {
15763               "$ref": "#/definitions/Entities"
15764             },
15765             "Result": {
15766               "$ref": "#/definitions/PayloadResults"
15767             }
15768           }
15769         },
15770         "LookUp": {
15771           "type": "object",
15772           "properties": {
15773             "Params": {
15774               "$ref": "#/definitions/LookUpPayloadArgs"
15775             },
15776             "Result": {
15777               "$ref": "#/definitions/PayloadResults"
15778             }
15779           }
15780         },
15781         "SetStatus": {
15782           "type": "object",
15783           "properties": {
15784             "Params": {
15785               "$ref": "#/definitions/SetPayloadStatusArgs"
15786             },
15787             "Result": {
15788               "$ref": "#/definitions/PayloadResults"
15789             }
15790           }
15791         },
15792         "Track": {
15793           "type": "object",
15794           "properties": {
15795             "Params": {
15796               "$ref": "#/definitions/TrackPayloadArgs"
15797             },
15798             "Result": {
15799               "$ref": "#/definitions/PayloadResults"
15800             }
15801           }
15802         },
15803         "Untrack": {
15804           "type": "object",
15805           "properties": {
15806             "Params": {
15807               "$ref": "#/definitions/Entities"
15808             },
15809             "Result": {
15810               "$ref": "#/definitions/PayloadResults"
15811             }
15812           }
15813         }
15814       },
15815       "definitions": {
15816         "Entities": {
15817           "type": "object",
15818           "properties": {
15819             "entities": {
15820               "type": "array",
15821               "items": {
15822                 "$ref": "#/definitions/Entity"
15823               }
15824             }
15825           },
15826           "additionalProperties": false,
15827           "required": [
15828             "entities"
15829           ]
15830         },
15831         "Entity": {
15832           "type": "object",
15833           "properties": {
15834             "tag": {
15835               "type": "string"
15836             }
15837           },
15838           "additionalProperties": false,
15839           "required": [
15840             "tag"
15841           ]
15842         },
15843         "Error": {
15844           "type": "object",
15845           "properties": {
15846             "code": {
15847               "type": "string"
15848             },
15849             "info": {
15850               "$ref": "#/definitions/ErrorInfo"
15851             },
15852             "message": {
15853               "type": "string"
15854             }
15855           },
15856           "additionalProperties": false,
15857           "required": [
15858             "message",
15859             "code"
15860           ]
15861         },
15862         "ErrorInfo": {
15863           "type": "object",
15864           "properties": {
15865             "macaroon": {
15866               "$ref": "#/definitions/Macaroon"
15867             },
15868             "macaroon-path": {
15869               "type": "string"
15870             }
15871           },
15872           "additionalProperties": false
15873         },
15874         "LookUpPayloadArg": {
15875           "type": "object",
15876           "properties": {
15877             "id": {
15878               "type": "string"
15879             },
15880             "name": {
15881               "type": "string"
15882             }
15883           },
15884           "additionalProperties": false,
15885           "required": [
15886             "name",
15887             "id"
15888           ]
15889         },
15890         "LookUpPayloadArgs": {
15891           "type": "object",
15892           "properties": {
15893             "args": {
15894               "type": "array",
15895               "items": {
15896                 "$ref": "#/definitions/LookUpPayloadArg"
15897               }
15898             }
15899           },
15900           "additionalProperties": false,
15901           "required": [
15902             "args"
15903           ]
15904         },
15905         "Macaroon": {
15906           "type": "object",
15907           "additionalProperties": false
15908         },
15909         "Payload": {
15910           "type": "object",
15911           "properties": {
15912             "class": {
15913               "type": "string"
15914             },
15915             "id": {
15916               "type": "string"
15917             },
15918             "labels": {
15919               "type": "array",
15920               "items": {
15921                 "type": "string"
15922               }
15923             },
15924             "machine": {
15925               "type": "string"
15926             },
15927             "status": {
15928               "type": "string"
15929             },
15930             "type": {
15931               "type": "string"
15932             },
15933             "unit": {
15934               "type": "string"
15935             }
15936           },
15937           "additionalProperties": false,
15938           "required": [
15939             "class",
15940             "type",
15941             "id",
15942             "status",
15943             "labels",
15944             "unit",
15945             "machine"
15946           ]
15947         },
15948         "PayloadResult": {
15949           "type": "object",
15950           "properties": {
15951             "Entity": {
15952               "$ref": "#/definitions/Entity"
15953             },
15954             "error": {
15955               "$ref": "#/definitions/Error"
15956             },
15957             "not-found": {
15958               "type": "boolean"
15959             },
15960             "payload": {
15961               "$ref": "#/definitions/Payload"
15962             }
15963           },
15964           "additionalProperties": false,
15965           "required": [
15966             "Entity",
15967             "payload",
15968             "not-found"
15969           ]
15970         },
15971         "PayloadResults": {
15972           "type": "object",
15973           "properties": {
15974             "results": {
15975               "type": "array",
15976               "items": {
15977                 "$ref": "#/definitions/PayloadResult"
15978               }
15979             }
15980           },
15981           "additionalProperties": false,
15982           "required": [
15983             "results"
15984           ]
15985         },
15986         "SetPayloadStatusArg": {
15987           "type": "object",
15988           "properties": {
15989             "Entity": {
15990               "$ref": "#/definitions/Entity"
15991             },
15992             "status": {
15993               "type": "string"
15994             }
15995           },
15996           "additionalProperties": false,
15997           "required": [
15998             "Entity",
15999             "status"
16000           ]
16001         },
16002         "SetPayloadStatusArgs": {
16003           "type": "object",
16004           "properties": {
16005             "args": {
16006               "type": "array",
16007               "items": {
16008                 "$ref": "#/definitions/SetPayloadStatusArg"
16009               }
16010             }
16011           },
16012           "additionalProperties": false,
16013           "required": [
16014             "args"
16015           ]
16016         },
16017         "TrackPayloadArgs": {
16018           "type": "object",
16019           "properties": {
16020             "payloads": {
16021               "type": "array",
16022               "items": {
16023                 "$ref": "#/definitions/Payload"
16024               }
16025             }
16026           },
16027           "additionalProperties": false,
16028           "required": [
16029             "payloads"
16030           ]
16031         }
16032       }
16033     }
16034   },
16035   {
16036     "Name": "Pinger",
16037     "Version": 1,
16038     "Schema": {
16039       "type": "object",
16040       "properties": {
16041         "Ping": {
16042           "type": "object"
16043         },
16044         "Stop": {
16045           "type": "object"
16046         }
16047       }
16048     }
16049   },
16050   {
16051     "Name": "Provisioner",
16052     "Version": 3,
16053     "Schema": {
16054       "type": "object",
16055       "properties": {
16056         "APIAddresses": {
16057           "type": "object",
16058           "properties": {
16059             "Result": {
16060               "$ref": "#/definitions/StringsResult"
16061             }
16062           }
16063         },
16064         "APIHostPorts": {
16065           "type": "object",
16066           "properties": {
16067             "Result": {
16068               "$ref": "#/definitions/APIHostPortsResult"
16069             }
16070           }
16071         },
16072         "CACert": {
16073           "type": "object",
16074           "properties": {
16075             "Result": {
16076               "$ref": "#/definitions/BytesResult"
16077             }
16078           }
16079         },
16080         "Constraints": {
16081           "type": "object",
16082           "properties": {
16083             "Params": {
16084               "$ref": "#/definitions/Entities"
16085             },
16086             "Result": {
16087               "$ref": "#/definitions/ConstraintsResults"
16088             }
16089           }
16090         },
16091         "ContainerConfig": {
16092           "type": "object",
16093           "properties": {
16094             "Result": {
16095               "$ref": "#/definitions/ContainerConfig"
16096             }
16097           }
16098         },
16099         "ContainerManagerConfig": {
16100           "type": "object",
16101           "properties": {
16102             "Params": {
16103               "$ref": "#/definitions/ContainerManagerConfigParams"
16104             },
16105             "Result": {
16106               "$ref": "#/definitions/ContainerManagerConfig"
16107             }
16108           }
16109         },
16110         "ControllerConfig": {
16111           "type": "object",
16112           "properties": {
16113             "Result": {
16114               "$ref": "#/definitions/ControllerConfigResult"
16115             }
16116           }
16117         },
16118         "DistributionGroup": {
16119           "type": "object",
16120           "properties": {
16121             "Params": {
16122               "$ref": "#/definitions/Entities"
16123             },
16124             "Result": {
16125               "$ref": "#/definitions/DistributionGroupResults"
16126             }
16127           }
16128         },
16129         "EnsureDead": {
16130           "type": "object",
16131           "properties": {
16132             "Params": {
16133               "$ref": "#/definitions/Entities"
16134             },
16135             "Result": {
16136               "$ref": "#/definitions/ErrorResults"
16137             }
16138           }
16139         },
16140         "FindTools": {
16141           "type": "object",
16142           "properties": {
16143             "Params": {
16144               "$ref": "#/definitions/FindToolsParams"
16145             },
16146             "Result": {
16147               "$ref": "#/definitions/FindToolsResult"
16148             }
16149           }
16150         },
16151         "GetContainerInterfaceInfo": {
16152           "type": "object",
16153           "properties": {
16154             "Params": {
16155               "$ref": "#/definitions/Entities"
16156             },
16157             "Result": {
16158               "$ref": "#/definitions/MachineNetworkConfigResults"
16159             }
16160           }
16161         },
16162         "HostChangesForContainers": {
16163           "type": "object",
16164           "properties": {
16165             "Params": {
16166               "$ref": "#/definitions/Entities"
16167             },
16168             "Result": {
16169               "$ref": "#/definitions/HostNetworkChangeResults"
16170             }
16171           }
16172         },
16173         "InstanceId": {
16174           "type": "object",
16175           "properties": {
16176             "Params": {
16177               "$ref": "#/definitions/Entities"
16178             },
16179             "Result": {
16180               "$ref": "#/definitions/StringResults"
16181             }
16182           }
16183         },
16184         "InstanceStatus": {
16185           "type": "object",
16186           "properties": {
16187             "Params": {
16188               "$ref": "#/definitions/Entities"
16189             },
16190             "Result": {
16191               "$ref": "#/definitions/StatusResults"
16192             }
16193           }
16194         },
16195         "Life": {
16196           "type": "object",
16197           "properties": {
16198             "Params": {
16199               "$ref": "#/definitions/Entities"
16200             },
16201             "Result": {
16202               "$ref": "#/definitions/LifeResults"
16203             }
16204           }
16205         },
16206         "MachinesWithTransientErrors": {
16207           "type": "object",
16208           "properties": {
16209             "Result": {
16210               "$ref": "#/definitions/StatusResults"
16211             }
16212           }
16213         },
16214         "MarkMachinesForRemoval": {
16215           "type": "object",
16216           "properties": {
16217             "Params": {
16218               "$ref": "#/definitions/Entities"
16219             },
16220             "Result": {
16221               "$ref": "#/definitions/ErrorResults"
16222             }
16223           }
16224         },
16225         "ModelConfig": {
16226           "type": "object",
16227           "properties": {
16228             "Result": {
16229               "$ref": "#/definitions/ModelConfigResult"
16230             }
16231           }
16232         },
16233         "ModelUUID": {
16234           "type": "object",
16235           "properties": {
16236             "Result": {
16237               "$ref": "#/definitions/StringResult"
16238             }
16239           }
16240         },
16241         "PrepareContainerInterfaceInfo": {
16242           "type": "object",
16243           "properties": {
16244             "Params": {
16245               "$ref": "#/definitions/Entities"
16246             },
16247             "Result": {
16248               "$ref": "#/definitions/MachineNetworkConfigResults"
16249             }
16250           }
16251         },
16252         "ProvisioningInfo": {
16253           "type": "object",
16254           "properties": {
16255             "Params": {
16256               "$ref": "#/definitions/Entities"
16257             },
16258             "Result": {
16259               "$ref": "#/definitions/ProvisioningInfoResults"
16260             }
16261           }
16262         },
16263         "ReleaseContainerAddresses": {
16264           "type": "object",
16265           "properties": {
16266             "Params": {
16267               "$ref": "#/definitions/Entities"
16268             },
16269             "Result": {
16270               "$ref": "#/definitions/ErrorResults"
16271             }
16272           }
16273         },
16274         "Remove": {
16275           "type": "object",
16276           "properties": {
16277             "Params": {
16278               "$ref": "#/definitions/Entities"
16279             },
16280             "Result": {
16281               "$ref": "#/definitions/ErrorResults"
16282             }
16283           }
16284         },
16285         "Series": {
16286           "type": "object",
16287           "properties": {
16288             "Params": {
16289               "$ref": "#/definitions/Entities"
16290             },
16291             "Result": {
16292               "$ref": "#/definitions/StringResults"
16293             }
16294           }
16295         },
16296         "SetHostMachineNetworkConfig": {
16297           "type": "object",
16298           "properties": {
16299             "Params": {
16300               "$ref": "#/definitions/SetMachineNetworkConfig"
16301             }
16302           }
16303         },
16304         "SetInstanceInfo": {
16305           "type": "object",
16306           "properties": {
16307             "Params": {
16308               "$ref": "#/definitions/InstancesInfo"
16309             },
16310             "Result": {
16311               "$ref": "#/definitions/ErrorResults"
16312             }
16313           }
16314         },
16315         "SetInstanceStatus": {
16316           "type": "object",
16317           "properties": {
16318             "Params": {
16319               "$ref": "#/definitions/SetStatus"
16320             },
16321             "Result": {
16322               "$ref": "#/definitions/ErrorResults"
16323             }
16324           }
16325         },
16326         "SetObservedNetworkConfig": {
16327           "type": "object",
16328           "properties": {
16329             "Params": {
16330               "$ref": "#/definitions/SetMachineNetworkConfig"
16331             }
16332           }
16333         },
16334         "SetPasswords": {
16335           "type": "object",
16336           "properties": {
16337             "Params": {
16338               "$ref": "#/definitions/EntityPasswords"
16339             },
16340             "Result": {
16341               "$ref": "#/definitions/ErrorResults"
16342             }
16343           }
16344         },
16345         "SetProviderNetworkConfig": {
16346           "type": "object",
16347           "properties": {
16348             "Params": {
16349               "$ref": "#/definitions/Entities"
16350             },
16351             "Result": {
16352               "$ref": "#/definitions/ErrorResults"
16353             }
16354           }
16355         },
16356         "SetStatus": {
16357           "type": "object",
16358           "properties": {
16359             "Params": {
16360               "$ref": "#/definitions/SetStatus"
16361             },
16362             "Result": {
16363               "$ref": "#/definitions/ErrorResults"
16364             }
16365           }
16366         },
16367         "SetSupportedContainers": {
16368           "type": "object",
16369           "properties": {
16370             "Params": {
16371               "$ref": "#/definitions/MachineContainersParams"
16372             },
16373             "Result": {
16374               "$ref": "#/definitions/ErrorResults"
16375             }
16376           }
16377         },
16378         "StateAddresses": {
16379           "type": "object",
16380           "properties": {
16381             "Result": {
16382               "$ref": "#/definitions/StringsResult"
16383             }
16384           }
16385         },
16386         "Status": {
16387           "type": "object",
16388           "properties": {
16389             "Params": {
16390               "$ref": "#/definitions/Entities"
16391             },
16392             "Result": {
16393               "$ref": "#/definitions/StatusResults"
16394             }
16395           }
16396         },
16397         "Tools": {
16398           "type": "object",
16399           "properties": {
16400             "Params": {
16401               "$ref": "#/definitions/Entities"
16402             },
16403             "Result": {
16404               "$ref": "#/definitions/ToolsResults"
16405             }
16406           }
16407         },
16408         "UpdateStatus": {
16409           "type": "object",
16410           "properties": {
16411             "Params": {
16412               "$ref": "#/definitions/SetStatus"
16413             },
16414             "Result": {
16415               "$ref": "#/definitions/ErrorResults"
16416             }
16417           }
16418         },
16419         "WatchAPIHostPorts": {
16420           "type": "object",
16421           "properties": {
16422             "Result": {
16423               "$ref": "#/definitions/NotifyWatchResult"
16424             }
16425           }
16426         },
16427         "WatchAllContainers": {
16428           "type": "object",
16429           "properties": {
16430             "Params": {
16431               "$ref": "#/definitions/WatchContainers"
16432             },
16433             "Result": {
16434               "$ref": "#/definitions/StringsWatchResults"
16435             }
16436           }
16437         },
16438         "WatchContainers": {
16439           "type": "object",
16440           "properties": {
16441             "Params": {
16442               "$ref": "#/definitions/WatchContainers"
16443             },
16444             "Result": {
16445               "$ref": "#/definitions/StringsWatchResults"
16446             }
16447           }
16448         },
16449         "WatchForModelConfigChanges": {
16450           "type": "object",
16451           "properties": {
16452             "Result": {
16453               "$ref": "#/definitions/NotifyWatchResult"
16454             }
16455           }
16456         },
16457         "WatchMachineErrorRetry": {
16458           "type": "object",
16459           "properties": {
16460             "Result": {
16461               "$ref": "#/definitions/NotifyWatchResult"
16462             }
16463           }
16464         },
16465         "WatchModelMachines": {
16466           "type": "object",
16467           "properties": {
16468             "Result": {
16469               "$ref": "#/definitions/StringsWatchResult"
16470             }
16471           }
16472         }
16473       },
16474       "definitions": {
16475         "APIHostPortsResult": {
16476           "type": "object",
16477           "properties": {
16478             "servers": {
16479               "type": "array",
16480               "items": {
16481                 "type": "array",
16482                 "items": {
16483                   "$ref": "#/definitions/HostPort"
16484                 }
16485               }
16486             }
16487           },
16488           "additionalProperties": false,
16489           "required": [
16490             "servers"
16491           ]
16492         },
16493         "Address": {
16494           "type": "object",
16495           "properties": {
16496             "scope": {
16497               "type": "string"
16498             },
16499             "space-name": {
16500               "type": "string"
16501             },
16502             "type": {
16503               "type": "string"
16504             },
16505             "value": {
16506               "type": "string"
16507             }
16508           },
16509           "additionalProperties": false,
16510           "required": [
16511             "value",
16512             "type",
16513             "scope"
16514           ]
16515         },
16516         "Binary": {
16517           "type": "object",
16518           "properties": {
16519             "Arch": {
16520               "type": "string"
16521             },
16522             "Number": {
16523               "$ref": "#/definitions/Number"
16524             },
16525             "Series": {
16526               "type": "string"
16527             }
16528           },
16529           "additionalProperties": false,
16530           "required": [
16531             "Number",
16532             "Series",
16533             "Arch"
16534           ]
16535         },
16536         "BytesResult": {
16537           "type": "object",
16538           "properties": {
16539             "result": {
16540               "type": "array",
16541               "items": {
16542                 "type": "integer"
16543               }
16544             }
16545           },
16546           "additionalProperties": false,
16547           "required": [
16548             "result"
16549           ]
16550         },
16551         "CloudImageMetadata": {
16552           "type": "object",
16553           "properties": {
16554             "arch": {
16555               "type": "string"
16556             },
16557             "image-id": {
16558               "type": "string"
16559             },
16560             "priority": {
16561               "type": "integer"
16562             },
16563             "region": {
16564               "type": "string"
16565             },
16566             "root-storage-size": {
16567               "type": "integer"
16568             },
16569             "root-storage-type": {
16570               "type": "string"
16571             },
16572             "series": {
16573               "type": "string"
16574             },
16575             "source": {
16576               "type": "string"
16577             },
16578             "stream": {
16579               "type": "string"
16580             },
16581             "version": {
16582               "type": "string"
16583             },
16584             "virt-type": {
16585               "type": "string"
16586             }
16587           },
16588           "additionalProperties": false,
16589           "required": [
16590             "image-id",
16591             "region",
16592             "version",
16593             "series",
16594             "arch",
16595             "source",
16596             "priority"
16597           ]
16598         },
16599         "ConstraintsResult": {
16600           "type": "object",
16601           "properties": {
16602             "constraints": {
16603               "$ref": "#/definitions/Value"
16604             },
16605             "error": {
16606               "$ref": "#/definitions/Error"
16607             }
16608           },
16609           "additionalProperties": false,
16610           "required": [
16611             "constraints"
16612           ]
16613         },
16614         "ConstraintsResults": {
16615           "type": "object",
16616           "properties": {
16617             "results": {
16618               "type": "array",
16619               "items": {
16620                 "$ref": "#/definitions/ConstraintsResult"
16621               }
16622             }
16623           },
16624           "additionalProperties": false,
16625           "required": [
16626             "results"
16627           ]
16628         },
16629         "ContainerConfig": {
16630           "type": "object",
16631           "properties": {
16632             "UpdateBehavior": {
16633               "$ref": "#/definitions/UpdateBehavior"
16634             },
16635             "apt-mirror": {
16636               "type": "string"
16637             },
16638             "apt-proxy": {
16639               "$ref": "#/definitions/Settings"
16640             },
16641             "authorized-keys": {
16642               "type": "string"
16643             },
16644             "provider-type": {
16645               "type": "string"
16646             },
16647             "proxy": {
16648               "$ref": "#/definitions/Settings"
16649             },
16650             "ssl-hostname-verification": {
16651               "type": "boolean"
16652             }
16653           },
16654           "additionalProperties": false,
16655           "required": [
16656             "provider-type",
16657             "authorized-keys",
16658             "ssl-hostname-verification",
16659             "proxy",
16660             "apt-proxy",
16661             "apt-mirror",
16662             "UpdateBehavior"
16663           ]
16664         },
16665         "ContainerManagerConfig": {
16666           "type": "object",
16667           "properties": {
16668             "config": {
16669               "type": "object",
16670               "patternProperties": {
16671                 ".*": {
16672                   "type": "string"
16673                 }
16674               }
16675             }
16676           },
16677           "additionalProperties": false,
16678           "required": [
16679             "config"
16680           ]
16681         },
16682         "ContainerManagerConfigParams": {
16683           "type": "object",
16684           "properties": {
16685             "type": {
16686               "type": "string"
16687             }
16688           },
16689           "additionalProperties": false,
16690           "required": [
16691             "type"
16692           ]
16693         },
16694         "ControllerConfigResult": {
16695           "type": "object",
16696           "properties": {
16697             "config": {
16698               "type": "object",
16699               "patternProperties": {
16700                 ".*": {
16701                   "type": "object",
16702                   "additionalProperties": true
16703                 }
16704               }
16705             }
16706           },
16707           "additionalProperties": false,
16708           "required": [
16709             "config"
16710           ]
16711         },
16712         "DeviceBridgeInfo": {
16713           "type": "object",
16714           "properties": {
16715             "bridge-name": {
16716               "type": "string"
16717             },
16718             "host-device-name": {
16719               "type": "string"
16720             }
16721           },
16722           "additionalProperties": false,
16723           "required": [
16724             "host-device-name",
16725             "bridge-name"
16726           ]
16727         },
16728         "DistributionGroupResult": {
16729           "type": "object",
16730           "properties": {
16731             "error": {
16732               "$ref": "#/definitions/Error"
16733             },
16734             "result": {
16735               "type": "array",
16736               "items": {
16737                 "type": "string"
16738               }
16739             }
16740           },
16741           "additionalProperties": false,
16742           "required": [
16743             "result"
16744           ]
16745         },
16746         "DistributionGroupResults": {
16747           "type": "object",
16748           "properties": {
16749             "results": {
16750               "type": "array",
16751               "items": {
16752                 "$ref": "#/definitions/DistributionGroupResult"
16753               }
16754             }
16755           },
16756           "additionalProperties": false,
16757           "required": [
16758             "results"
16759           ]
16760         },
16761         "Entities": {
16762           "type": "object",
16763           "properties": {
16764             "entities": {
16765               "type": "array",
16766               "items": {
16767                 "$ref": "#/definitions/Entity"
16768               }
16769             }
16770           },
16771           "additionalProperties": false,
16772           "required": [
16773             "entities"
16774           ]
16775         },
16776         "Entity": {
16777           "type": "object",
16778           "properties": {
16779             "tag": {
16780               "type": "string"
16781             }
16782           },
16783           "additionalProperties": false,
16784           "required": [
16785             "tag"
16786           ]
16787         },
16788         "EntityPassword": {
16789           "type": "object",
16790           "properties": {
16791             "password": {
16792               "type": "string"
16793             },
16794             "tag": {
16795               "type": "string"
16796             }
16797           },
16798           "additionalProperties": false,
16799           "required": [
16800             "tag",
16801             "password"
16802           ]
16803         },
16804         "EntityPasswords": {
16805           "type": "object",
16806           "properties": {
16807             "changes": {
16808               "type": "array",
16809               "items": {
16810                 "$ref": "#/definitions/EntityPassword"
16811               }
16812             }
16813           },
16814           "additionalProperties": false,
16815           "required": [
16816             "changes"
16817           ]
16818         },
16819         "EntityStatusArgs": {
16820           "type": "object",
16821           "properties": {
16822             "data": {
16823               "type": "object",
16824               "patternProperties": {
16825                 ".*": {
16826                   "type": "object",
16827                   "additionalProperties": true
16828                 }
16829               }
16830             },
16831             "info": {
16832               "type": "string"
16833             },
16834             "status": {
16835               "type": "string"
16836             },
16837             "tag": {
16838               "type": "string"
16839             }
16840           },
16841           "additionalProperties": false,
16842           "required": [
16843             "tag",
16844             "status",
16845             "info",
16846             "data"
16847           ]
16848         },
16849         "Error": {
16850           "type": "object",
16851           "properties": {
16852             "code": {
16853               "type": "string"
16854             },
16855             "info": {
16856               "$ref": "#/definitions/ErrorInfo"
16857             },
16858             "message": {
16859               "type": "string"
16860             }
16861           },
16862           "additionalProperties": false,
16863           "required": [
16864             "message",
16865             "code"
16866           ]
16867         },
16868         "ErrorInfo": {
16869           "type": "object",
16870           "properties": {
16871             "macaroon": {
16872               "$ref": "#/definitions/Macaroon"
16873             },
16874             "macaroon-path": {
16875               "type": "string"
16876             }
16877           },
16878           "additionalProperties": false
16879         },
16880         "ErrorResult": {
16881           "type": "object",
16882           "properties": {
16883             "error": {
16884               "$ref": "#/definitions/Error"
16885             }
16886           },
16887           "additionalProperties": false
16888         },
16889         "ErrorResults": {
16890           "type": "object",
16891           "properties": {
16892             "results": {
16893               "type": "array",
16894               "items": {
16895                 "$ref": "#/definitions/ErrorResult"
16896               }
16897             }
16898           },
16899           "additionalProperties": false,
16900           "required": [
16901             "results"
16902           ]
16903         },
16904         "FindToolsParams": {
16905           "type": "object",
16906           "properties": {
16907             "arch": {
16908               "type": "string"
16909             },
16910             "major": {
16911               "type": "integer"
16912             },
16913             "minor": {
16914               "type": "integer"
16915             },
16916             "number": {
16917               "$ref": "#/definitions/Number"
16918             },
16919             "series": {
16920               "type": "string"
16921             }
16922           },
16923           "additionalProperties": false,
16924           "required": [
16925             "number",
16926             "major",
16927             "minor",
16928             "arch",
16929             "series"
16930           ]
16931         },
16932         "FindToolsResult": {
16933           "type": "object",
16934           "properties": {
16935             "error": {
16936               "$ref": "#/definitions/Error"
16937             },
16938             "list": {
16939               "type": "array",
16940               "items": {
16941                 "$ref": "#/definitions/Tools"
16942               }
16943             }
16944           },
16945           "additionalProperties": false,
16946           "required": [
16947             "list"
16948           ]
16949         },
16950         "HardwareCharacteristics": {
16951           "type": "object",
16952           "properties": {
16953             "arch": {
16954               "type": "string"
16955             },
16956             "availability-zone": {
16957               "type": "string"
16958             },
16959             "cpu-cores": {
16960               "type": "integer"
16961             },
16962             "cpu-power": {
16963               "type": "integer"
16964             },
16965             "mem": {
16966               "type": "integer"
16967             },
16968             "root-disk": {
16969               "type": "integer"
16970             },
16971             "tags": {
16972               "type": "array",
16973               "items": {
16974                 "type": "string"
16975               }
16976             }
16977           },
16978           "additionalProperties": false
16979         },
16980         "HostNetworkChange": {
16981           "type": "object",
16982           "properties": {
16983             "error": {
16984               "$ref": "#/definitions/Error"
16985             },
16986             "new-bridges": {
16987               "type": "array",
16988               "items": {
16989                 "$ref": "#/definitions/DeviceBridgeInfo"
16990               }
16991             },
16992             "reconfigure-delay": {
16993               "type": "integer"
16994             }
16995           },
16996           "additionalProperties": false,
16997           "required": [
16998             "new-bridges",
16999             "reconfigure-delay"
17000           ]
17001         },
17002         "HostNetworkChangeResults": {
17003           "type": "object",
17004           "properties": {
17005             "results": {
17006               "type": "array",
17007               "items": {
17008                 "$ref": "#/definitions/HostNetworkChange"
17009               }
17010             }
17011           },
17012           "additionalProperties": false,
17013           "required": [
17014             "results"
17015           ]
17016         },
17017         "HostPort": {
17018           "type": "object",
17019           "properties": {
17020             "Address": {
17021               "$ref": "#/definitions/Address"
17022             },
17023             "port": {
17024               "type": "integer"
17025             }
17026           },
17027           "additionalProperties": false,
17028           "required": [
17029             "Address",
17030             "port"
17031           ]
17032         },
17033         "InstanceInfo": {
17034           "type": "object",
17035           "properties": {
17036             "characteristics": {
17037               "$ref": "#/definitions/HardwareCharacteristics"
17038             },
17039             "instance-id": {
17040               "type": "string"
17041             },
17042             "network-config": {
17043               "type": "array",
17044               "items": {
17045                 "$ref": "#/definitions/NetworkConfig"
17046               }
17047             },
17048             "nonce": {
17049               "type": "string"
17050             },
17051             "tag": {
17052               "type": "string"
17053             },
17054             "volume-attachments": {
17055               "type": "object",
17056               "patternProperties": {
17057                 ".*": {
17058                   "$ref": "#/definitions/VolumeAttachmentInfo"
17059                 }
17060               }
17061             },
17062             "volumes": {
17063               "type": "array",
17064               "items": {
17065                 "$ref": "#/definitions/Volume"
17066               }
17067             }
17068           },
17069           "additionalProperties": false,
17070           "required": [
17071             "tag",
17072             "instance-id",
17073             "nonce",
17074             "characteristics",
17075             "volumes",
17076             "volume-attachments",
17077             "network-config"
17078           ]
17079         },
17080         "InstancesInfo": {
17081           "type": "object",
17082           "properties": {
17083             "machines": {
17084               "type": "array",
17085               "items": {
17086                 "$ref": "#/definitions/InstanceInfo"
17087               }
17088             }
17089           },
17090           "additionalProperties": false,
17091           "required": [
17092             "machines"
17093           ]
17094         },
17095         "LifeResult": {
17096           "type": "object",
17097           "properties": {
17098             "error": {
17099               "$ref": "#/definitions/Error"
17100             },
17101             "life": {
17102               "type": "string"
17103             }
17104           },
17105           "additionalProperties": false,
17106           "required": [
17107             "life"
17108           ]
17109         },
17110         "LifeResults": {
17111           "type": "object",
17112           "properties": {
17113             "results": {
17114               "type": "array",
17115               "items": {
17116                 "$ref": "#/definitions/LifeResult"
17117               }
17118             }
17119           },
17120           "additionalProperties": false,
17121           "required": [
17122             "results"
17123           ]
17124         },
17125         "Macaroon": {
17126           "type": "object",
17127           "additionalProperties": false
17128         },
17129         "MachineContainers": {
17130           "type": "object",
17131           "properties": {
17132             "container-types": {
17133               "type": "array",
17134               "items": {
17135                 "type": "string"
17136               }
17137             },
17138             "machine-tag": {
17139               "type": "string"
17140             }
17141           },
17142           "additionalProperties": false,
17143           "required": [
17144             "machine-tag",
17145             "container-types"
17146           ]
17147         },
17148         "MachineContainersParams": {
17149           "type": "object",
17150           "properties": {
17151             "params": {
17152               "type": "array",
17153               "items": {
17154                 "$ref": "#/definitions/MachineContainers"
17155               }
17156             }
17157           },
17158           "additionalProperties": false,
17159           "required": [
17160             "params"
17161           ]
17162         },
17163         "MachineNetworkConfigResult": {
17164           "type": "object",
17165           "properties": {
17166             "error": {
17167               "$ref": "#/definitions/Error"
17168             },
17169             "info": {
17170               "type": "array",
17171               "items": {
17172                 "$ref": "#/definitions/NetworkConfig"
17173               }
17174             }
17175           },
17176           "additionalProperties": false,
17177           "required": [
17178             "info"
17179           ]
17180         },
17181         "MachineNetworkConfigResults": {
17182           "type": "object",
17183           "properties": {
17184             "results": {
17185               "type": "array",
17186               "items": {
17187                 "$ref": "#/definitions/MachineNetworkConfigResult"
17188               }
17189             }
17190           },
17191           "additionalProperties": false,
17192           "required": [
17193             "results"
17194           ]
17195         },
17196         "ModelConfigResult": {
17197           "type": "object",
17198           "properties": {
17199             "config": {
17200               "type": "object",
17201               "patternProperties": {
17202                 ".*": {
17203                   "type": "object",
17204                   "additionalProperties": true
17205                 }
17206               }
17207             }
17208           },
17209           "additionalProperties": false,
17210           "required": [
17211             "config"
17212           ]
17213         },
17214         "NetworkConfig": {
17215           "type": "object",
17216           "properties": {
17217             "address": {
17218               "type": "string"
17219             },
17220             "cidr": {
17221               "type": "string"
17222             },
17223             "config-type": {
17224               "type": "string"
17225             },
17226             "device-index": {
17227               "type": "integer"
17228             },
17229             "disabled": {
17230               "type": "boolean"
17231             },
17232             "dns-search-domains": {
17233               "type": "array",
17234               "items": {
17235                 "type": "string"
17236               }
17237             },
17238             "dns-servers": {
17239               "type": "array",
17240               "items": {
17241                 "type": "string"
17242               }
17243             },
17244             "gateway-address": {
17245               "type": "string"
17246             },
17247             "interface-name": {
17248               "type": "string"
17249             },
17250             "interface-type": {
17251               "type": "string"
17252             },
17253             "mac-address": {
17254               "type": "string"
17255             },
17256             "mtu": {
17257               "type": "integer"
17258             },
17259             "no-auto-start": {
17260               "type": "boolean"
17261             },
17262             "parent-interface-name": {
17263               "type": "string"
17264             },
17265             "provider-address-id": {
17266               "type": "string"
17267             },
17268             "provider-id": {
17269               "type": "string"
17270             },
17271             "provider-space-id": {
17272               "type": "string"
17273             },
17274             "provider-subnet-id": {
17275               "type": "string"
17276             },
17277             "provider-vlan-id": {
17278               "type": "string"
17279             },
17280             "routes": {
17281               "type": "array",
17282               "items": {
17283                 "$ref": "#/definitions/NetworkRoute"
17284               }
17285             },
17286             "vlan-tag": {
17287               "type": "integer"
17288             }
17289           },
17290           "additionalProperties": false,
17291           "required": [
17292             "device-index",
17293             "mac-address",
17294             "cidr",
17295             "mtu",
17296             "provider-id",
17297             "provider-subnet-id",
17298             "provider-space-id",
17299             "provider-address-id",
17300             "provider-vlan-id",
17301             "vlan-tag",
17302             "interface-name",
17303             "parent-interface-name",
17304             "interface-type",
17305             "disabled"
17306           ]
17307         },
17308         "NetworkRoute": {
17309           "type": "object",
17310           "properties": {
17311             "destination-cidr": {
17312               "type": "string"
17313             },
17314             "gateway-ip": {
17315               "type": "string"
17316             },
17317             "metric": {
17318               "type": "integer"
17319             }
17320           },
17321           "additionalProperties": false,
17322           "required": [
17323             "destination-cidr",
17324             "gateway-ip",
17325             "metric"
17326           ]
17327         },
17328         "NotifyWatchResult": {
17329           "type": "object",
17330           "properties": {
17331             "NotifyWatcherId": {
17332               "type": "string"
17333             },
17334             "error": {
17335               "$ref": "#/definitions/Error"
17336             }
17337           },
17338           "additionalProperties": false,
17339           "required": [
17340             "NotifyWatcherId"
17341           ]
17342         },
17343         "Number": {
17344           "type": "object",
17345           "properties": {
17346             "Build": {
17347               "type": "integer"
17348             },
17349             "Major": {
17350               "type": "integer"
17351             },
17352             "Minor": {
17353               "type": "integer"
17354             },
17355             "Patch": {
17356               "type": "integer"
17357             },
17358             "Tag": {
17359               "type": "string"
17360             }
17361           },
17362           "additionalProperties": false,
17363           "required": [
17364             "Major",
17365             "Minor",
17366             "Tag",
17367             "Patch",
17368             "Build"
17369           ]
17370         },
17371         "ProvisioningInfo": {
17372           "type": "object",
17373           "properties": {
17374             "constraints": {
17375               "$ref": "#/definitions/Value"
17376             },
17377             "controller-config": {
17378               "type": "object",
17379               "patternProperties": {
17380                 ".*": {
17381                   "type": "object",
17382                   "additionalProperties": true
17383                 }
17384               }
17385             },
17386             "endpoint-bindings": {
17387               "type": "object",
17388               "patternProperties": {
17389                 ".*": {
17390                   "type": "string"
17391                 }
17392               }
17393             },
17394             "image-metadata": {
17395               "type": "array",
17396               "items": {
17397                 "$ref": "#/definitions/CloudImageMetadata"
17398               }
17399             },
17400             "jobs": {
17401               "type": "array",
17402               "items": {
17403                 "type": "string"
17404               }
17405             },
17406             "placement": {
17407               "type": "string"
17408             },
17409             "series": {
17410               "type": "string"
17411             },
17412             "subnets-to-zones": {
17413               "type": "object",
17414               "patternProperties": {
17415                 ".*": {
17416                   "type": "array",
17417                   "items": {
17418                     "type": "string"
17419                   }
17420                 }
17421               }
17422             },
17423             "tags": {
17424               "type": "object",
17425               "patternProperties": {
17426                 ".*": {
17427                   "type": "string"
17428                 }
17429               }
17430             },
17431             "volume-attachments": {
17432               "type": "array",
17433               "items": {
17434                 "$ref": "#/definitions/VolumeAttachmentParams"
17435               }
17436             },
17437             "volumes": {
17438               "type": "array",
17439               "items": {
17440                 "$ref": "#/definitions/VolumeParams"
17441               }
17442             }
17443           },
17444           "additionalProperties": false,
17445           "required": [
17446             "constraints",
17447             "series",
17448             "placement",
17449             "jobs"
17450           ]
17451         },
17452         "ProvisioningInfoResult": {
17453           "type": "object",
17454           "properties": {
17455             "error": {
17456               "$ref": "#/definitions/Error"
17457             },
17458             "result": {
17459               "$ref": "#/definitions/ProvisioningInfo"
17460             }
17461           },
17462           "additionalProperties": false,
17463           "required": [
17464             "result"
17465           ]
17466         },
17467         "ProvisioningInfoResults": {
17468           "type": "object",
17469           "properties": {
17470             "results": {
17471               "type": "array",
17472               "items": {
17473                 "$ref": "#/definitions/ProvisioningInfoResult"
17474               }
17475             }
17476           },
17477           "additionalProperties": false,
17478           "required": [
17479             "results"
17480           ]
17481         },
17482         "SetMachineNetworkConfig": {
17483           "type": "object",
17484           "properties": {
17485             "config": {
17486               "type": "array",
17487               "items": {
17488                 "$ref": "#/definitions/NetworkConfig"
17489               }
17490             },
17491             "tag": {
17492               "type": "string"
17493             }
17494           },
17495           "additionalProperties": false,
17496           "required": [
17497             "tag",
17498             "config"
17499           ]
17500         },
17501         "SetStatus": {
17502           "type": "object",
17503           "properties": {
17504             "entities": {
17505               "type": "array",
17506               "items": {
17507                 "$ref": "#/definitions/EntityStatusArgs"
17508               }
17509             }
17510           },
17511           "additionalProperties": false,
17512           "required": [
17513             "entities"
17514           ]
17515         },
17516         "Settings": {
17517           "type": "object",
17518           "properties": {
17519             "AutoNoProxy": {
17520               "type": "string"
17521             },
17522             "Ftp": {
17523               "type": "string"
17524             },
17525             "Http": {
17526               "type": "string"
17527             },
17528             "Https": {
17529               "type": "string"
17530             },
17531             "NoProxy": {
17532               "type": "string"
17533             }
17534           },
17535           "additionalProperties": false,
17536           "required": [
17537             "Http",
17538             "Https",
17539             "Ftp",
17540             "NoProxy",
17541             "AutoNoProxy"
17542           ]
17543         },
17544         "StatusResult": {
17545           "type": "object",
17546           "properties": {
17547             "data": {
17548               "type": "object",
17549               "patternProperties": {
17550                 ".*": {
17551                   "type": "object",
17552                   "additionalProperties": true
17553                 }
17554               }
17555             },
17556             "error": {
17557               "$ref": "#/definitions/Error"
17558             },
17559             "id": {
17560               "type": "string"
17561             },
17562             "info": {
17563               "type": "string"
17564             },
17565             "life": {
17566               "type": "string"
17567             },
17568             "since": {
17569               "type": "string",
17570               "format": "date-time"
17571             },
17572             "status": {
17573               "type": "string"
17574             }
17575           },
17576           "additionalProperties": false,
17577           "required": [
17578             "id",
17579             "life",
17580             "status",
17581             "info",
17582             "data",
17583             "since"
17584           ]
17585         },
17586         "StatusResults": {
17587           "type": "object",
17588           "properties": {
17589             "results": {
17590               "type": "array",
17591               "items": {
17592                 "$ref": "#/definitions/StatusResult"
17593               }
17594             }
17595           },
17596           "additionalProperties": false,
17597           "required": [
17598             "results"
17599           ]
17600         },
17601         "StringResult": {
17602           "type": "object",
17603           "properties": {
17604             "error": {
17605               "$ref": "#/definitions/Error"
17606             },
17607             "result": {
17608               "type": "string"
17609             }
17610           },
17611           "additionalProperties": false,
17612           "required": [
17613             "result"
17614           ]
17615         },
17616         "StringResults": {
17617           "type": "object",
17618           "properties": {
17619             "results": {
17620               "type": "array",
17621               "items": {
17622                 "$ref": "#/definitions/StringResult"
17623               }
17624             }
17625           },
17626           "additionalProperties": false,
17627           "required": [
17628             "results"
17629           ]
17630         },
17631         "StringsResult": {
17632           "type": "object",
17633           "properties": {
17634             "error": {
17635               "$ref": "#/definitions/Error"
17636             },
17637             "result": {
17638               "type": "array",
17639               "items": {
17640                 "type": "string"
17641               }
17642             }
17643           },
17644           "additionalProperties": false
17645         },
17646         "StringsWatchResult": {
17647           "type": "object",
17648           "properties": {
17649             "changes": {
17650               "type": "array",
17651               "items": {
17652                 "type": "string"
17653               }
17654             },
17655             "error": {
17656               "$ref": "#/definitions/Error"
17657             },
17658             "watcher-id": {
17659               "type": "string"
17660             }
17661           },
17662           "additionalProperties": false,
17663           "required": [
17664             "watcher-id"
17665           ]
17666         },
17667         "StringsWatchResults": {
17668           "type": "object",
17669           "properties": {
17670             "results": {
17671               "type": "array",
17672               "items": {
17673                 "$ref": "#/definitions/StringsWatchResult"
17674               }
17675             }
17676           },
17677           "additionalProperties": false,
17678           "required": [
17679             "results"
17680           ]
17681         },
17682         "Tools": {
17683           "type": "object",
17684           "properties": {
17685             "sha256": {
17686               "type": "string"
17687             },
17688             "size": {
17689               "type": "integer"
17690             },
17691             "url": {
17692               "type": "string"
17693             },
17694             "version": {
17695               "$ref": "#/definitions/Binary"
17696             }
17697           },
17698           "additionalProperties": false,
17699           "required": [
17700             "version",
17701             "url",
17702             "size"
17703           ]
17704         },
17705         "ToolsResult": {
17706           "type": "object",
17707           "properties": {
17708             "disable-ssl-hostname-verification": {
17709               "type": "boolean"
17710             },
17711             "error": {
17712               "$ref": "#/definitions/Error"
17713             },
17714             "tools": {
17715               "type": "array",
17716               "items": {
17717                 "$ref": "#/definitions/Tools"
17718               }
17719             }
17720           },
17721           "additionalProperties": false,
17722           "required": [
17723             "tools",
17724             "disable-ssl-hostname-verification"
17725           ]
17726         },
17727         "ToolsResults": {
17728           "type": "object",
17729           "properties": {
17730             "results": {
17731               "type": "array",
17732               "items": {
17733                 "$ref": "#/definitions/ToolsResult"
17734               }
17735             }
17736           },
17737           "additionalProperties": false,
17738           "required": [
17739             "results"
17740           ]
17741         },
17742         "UpdateBehavior": {
17743           "type": "object",
17744           "properties": {
17745             "enable-os-refresh-update": {
17746               "type": "boolean"
17747             },
17748             "enable-os-upgrade": {
17749               "type": "boolean"
17750             }
17751           },
17752           "additionalProperties": false,
17753           "required": [
17754             "enable-os-refresh-update",
17755             "enable-os-upgrade"
17756           ]
17757         },
17758         "Value": {
17759           "type": "object",
17760           "properties": {
17761             "arch": {
17762               "type": "string"
17763             },
17764             "container": {
17765               "type": "string"
17766             },
17767             "cores": {
17768               "type": "integer"
17769             },
17770             "cpu-power": {
17771               "type": "integer"
17772             },
17773             "instance-type": {
17774               "type": "string"
17775             },
17776             "mem": {
17777               "type": "integer"
17778             },
17779             "root-disk": {
17780               "type": "integer"
17781             },
17782             "spaces": {
17783               "type": "array",
17784               "items": {
17785                 "type": "string"
17786               }
17787             },
17788             "tags": {
17789               "type": "array",
17790               "items": {
17791                 "type": "string"
17792               }
17793             },
17794             "virt-type": {
17795               "type": "string"
17796             }
17797           },
17798           "additionalProperties": false
17799         },
17800         "Volume": {
17801           "type": "object",
17802           "properties": {
17803             "info": {
17804               "$ref": "#/definitions/VolumeInfo"
17805             },
17806             "volume-tag": {
17807               "type": "string"
17808             }
17809           },
17810           "additionalProperties": false,
17811           "required": [
17812             "volume-tag",
17813             "info"
17814           ]
17815         },
17816         "VolumeAttachmentInfo": {
17817           "type": "object",
17818           "properties": {
17819             "bus-address": {
17820               "type": "string"
17821             },
17822             "device-link": {
17823               "type": "string"
17824             },
17825             "device-name": {
17826               "type": "string"
17827             },
17828             "read-only": {
17829               "type": "boolean"
17830             }
17831           },
17832           "additionalProperties": false
17833         },
17834         "VolumeAttachmentParams": {
17835           "type": "object",
17836           "properties": {
17837             "instance-id": {
17838               "type": "string"
17839             },
17840             "machine-tag": {
17841               "type": "string"
17842             },
17843             "provider": {
17844               "type": "string"
17845             },
17846             "read-only": {
17847               "type": "boolean"
17848             },
17849             "volume-id": {
17850               "type": "string"
17851             },
17852             "volume-tag": {
17853               "type": "string"
17854             }
17855           },
17856           "additionalProperties": false,
17857           "required": [
17858             "volume-tag",
17859             "machine-tag",
17860             "provider"
17861           ]
17862         },
17863         "VolumeInfo": {
17864           "type": "object",
17865           "properties": {
17866             "hardware-id": {
17867               "type": "string"
17868             },
17869             "persistent": {
17870               "type": "boolean"
17871             },
17872             "pool": {
17873               "type": "string"
17874             },
17875             "size": {
17876               "type": "integer"
17877             },
17878             "volume-id": {
17879               "type": "string"
17880             },
17881             "wwn": {
17882               "type": "string"
17883             }
17884           },
17885           "additionalProperties": false,
17886           "required": [
17887             "volume-id",
17888             "size",
17889             "persistent"
17890           ]
17891         },
17892         "VolumeParams": {
17893           "type": "object",
17894           "properties": {
17895             "attachment": {
17896               "$ref": "#/definitions/VolumeAttachmentParams"
17897             },
17898             "attributes": {
17899               "type": "object",
17900               "patternProperties": {
17901                 ".*": {
17902                   "type": "object",
17903                   "additionalProperties": true
17904                 }
17905               }
17906             },
17907             "provider": {
17908               "type": "string"
17909             },
17910             "size": {
17911               "type": "integer"
17912             },
17913             "tags": {
17914               "type": "object",
17915               "patternProperties": {
17916                 ".*": {
17917                   "type": "string"
17918                 }
17919               }
17920             },
17921             "volume-tag": {
17922               "type": "string"
17923             }
17924           },
17925           "additionalProperties": false,
17926           "required": [
17927             "volume-tag",
17928             "size",
17929             "provider"
17930           ]
17931         },
17932         "WatchContainer": {
17933           "type": "object",
17934           "properties": {
17935             "container-type": {
17936               "type": "string"
17937             },
17938             "machine-tag": {
17939               "type": "string"
17940             }
17941           },
17942           "additionalProperties": false,
17943           "required": [
17944             "machine-tag",
17945             "container-type"
17946           ]
17947         },
17948         "WatchContainers": {
17949           "type": "object",
17950           "properties": {
17951             "params": {
17952               "type": "array",
17953               "items": {
17954                 "$ref": "#/definitions/WatchContainer"
17955               }
17956             }
17957           },
17958           "additionalProperties": false,
17959           "required": [
17960             "params"
17961           ]
17962         }
17963       }
17964     }
17965   },
17966   {
17967     "Name": "ProxyUpdater",
17968     "Version": 1,
17969     "Schema": {
17970       "type": "object",
17971       "properties": {
17972         "ProxyConfig": {
17973           "type": "object",
17974           "properties": {
17975             "Params": {
17976               "$ref": "#/definitions/Entities"
17977             },
17978             "Result": {
17979               "$ref": "#/definitions/ProxyConfigResults"
17980             }
17981           }
17982         },
17983         "WatchForProxyConfigAndAPIHostPortChanges": {
17984           "type": "object",
17985           "properties": {
17986             "Params": {
17987               "$ref": "#/definitions/Entities"
17988             },
17989             "Result": {
17990               "$ref": "#/definitions/NotifyWatchResults"
17991             }
17992           }
17993         }
17994       },
17995       "definitions": {
17996         "Entities": {
17997           "type": "object",
17998           "properties": {
17999             "entities": {
18000               "type": "array",
18001               "items": {
18002                 "$ref": "#/definitions/Entity"
18003               }
18004             }
18005           },
18006           "additionalProperties": false,
18007           "required": [
18008             "entities"
18009           ]
18010         },
18011         "Entity": {
18012           "type": "object",
18013           "properties": {
18014             "tag": {
18015               "type": "string"
18016             }
18017           },
18018           "additionalProperties": false,
18019           "required": [
18020             "tag"
18021           ]
18022         },
18023         "Error": {
18024           "type": "object",
18025           "properties": {
18026             "code": {
18027               "type": "string"
18028             },
18029             "info": {
18030               "$ref": "#/definitions/ErrorInfo"
18031             },
18032             "message": {
18033               "type": "string"
18034             }
18035           },
18036           "additionalProperties": false,
18037           "required": [
18038             "message",
18039             "code"
18040           ]
18041         },
18042         "ErrorInfo": {
18043           "type": "object",
18044           "properties": {
18045             "macaroon": {
18046               "$ref": "#/definitions/Macaroon"
18047             },
18048             "macaroon-path": {
18049               "type": "string"
18050             }
18051           },
18052           "additionalProperties": false
18053         },
18054         "Macaroon": {
18055           "type": "object",
18056           "additionalProperties": false
18057         },
18058         "NotifyWatchResult": {
18059           "type": "object",
18060           "properties": {
18061             "NotifyWatcherId": {
18062               "type": "string"
18063             },
18064             "error": {
18065               "$ref": "#/definitions/Error"
18066             }
18067           },
18068           "additionalProperties": false,
18069           "required": [
18070             "NotifyWatcherId"
18071           ]
18072         },
18073         "NotifyWatchResults": {
18074           "type": "object",
18075           "properties": {
18076             "results": {
18077               "type": "array",
18078               "items": {
18079                 "$ref": "#/definitions/NotifyWatchResult"
18080               }
18081             }
18082           },
18083           "additionalProperties": false,
18084           "required": [
18085             "results"
18086           ]
18087         },
18088         "ProxyConfig": {
18089           "type": "object",
18090           "properties": {
18091             "ftp": {
18092               "type": "string"
18093             },
18094             "http": {
18095               "type": "string"
18096             },
18097             "https": {
18098               "type": "string"
18099             },
18100             "no-proxy": {
18101               "type": "string"
18102             }
18103           },
18104           "additionalProperties": false,
18105           "required": [
18106             "http",
18107             "https",
18108             "ftp",
18109             "no-proxy"
18110           ]
18111         },
18112         "ProxyConfigResult": {
18113           "type": "object",
18114           "properties": {
18115             "apt-proxy-settings": {
18116               "$ref": "#/definitions/ProxyConfig"
18117             },
18118             "error": {
18119               "$ref": "#/definitions/Error"
18120             },
18121             "proxy-settings": {
18122               "$ref": "#/definitions/ProxyConfig"
18123             }
18124           },
18125           "additionalProperties": false,
18126           "required": [
18127             "proxy-settings",
18128             "apt-proxy-settings"
18129           ]
18130         },
18131         "ProxyConfigResults": {
18132           "type": "object",
18133           "properties": {
18134             "results": {
18135               "type": "array",
18136               "items": {
18137                 "$ref": "#/definitions/ProxyConfigResult"
18138               }
18139             }
18140           },
18141           "additionalProperties": false,
18142           "required": [
18143             "results"
18144           ]
18145         }
18146       }
18147     }
18148   },
18149   {
18150     "Name": "Reboot",
18151     "Version": 2,
18152     "Schema": {
18153       "type": "object",
18154       "properties": {
18155         "ClearReboot": {
18156           "type": "object",
18157           "properties": {
18158             "Params": {
18159               "$ref": "#/definitions/Entities"
18160             },
18161             "Result": {
18162               "$ref": "#/definitions/ErrorResults"
18163             }
18164           }
18165         },
18166         "GetRebootAction": {
18167           "type": "object",
18168           "properties": {
18169             "Params": {
18170               "$ref": "#/definitions/Entities"
18171             },
18172             "Result": {
18173               "$ref": "#/definitions/RebootActionResults"
18174             }
18175           }
18176         },
18177         "RequestReboot": {
18178           "type": "object",
18179           "properties": {
18180             "Params": {
18181               "$ref": "#/definitions/Entities"
18182             },
18183             "Result": {
18184               "$ref": "#/definitions/ErrorResults"
18185             }
18186           }
18187         },
18188         "WatchForRebootEvent": {
18189           "type": "object",
18190           "properties": {
18191             "Result": {
18192               "$ref": "#/definitions/NotifyWatchResult"
18193             }
18194           }
18195         }
18196       },
18197       "definitions": {
18198         "Entities": {
18199           "type": "object",
18200           "properties": {
18201             "entities": {
18202               "type": "array",
18203               "items": {
18204                 "$ref": "#/definitions/Entity"
18205               }
18206             }
18207           },
18208           "additionalProperties": false,
18209           "required": [
18210             "entities"
18211           ]
18212         },
18213         "Entity": {
18214           "type": "object",
18215           "properties": {
18216             "tag": {
18217               "type": "string"
18218             }
18219           },
18220           "additionalProperties": false,
18221           "required": [
18222             "tag"
18223           ]
18224         },
18225         "Error": {
18226           "type": "object",
18227           "properties": {
18228             "code": {
18229               "type": "string"
18230             },
18231             "info": {
18232               "$ref": "#/definitions/ErrorInfo"
18233             },
18234             "message": {
18235               "type": "string"
18236             }
18237           },
18238           "additionalProperties": false,
18239           "required": [
18240             "message",
18241             "code"
18242           ]
18243         },
18244         "ErrorInfo": {
18245           "type": "object",
18246           "properties": {
18247             "macaroon": {
18248               "$ref": "#/definitions/Macaroon"
18249             },
18250             "macaroon-path": {
18251               "type": "string"
18252             }
18253           },
18254           "additionalProperties": false
18255         },
18256         "ErrorResult": {
18257           "type": "object",
18258           "properties": {
18259             "error": {
18260               "$ref": "#/definitions/Error"
18261             }
18262           },
18263           "additionalProperties": false
18264         },
18265         "ErrorResults": {
18266           "type": "object",
18267           "properties": {
18268             "results": {
18269               "type": "array",
18270               "items": {
18271                 "$ref": "#/definitions/ErrorResult"
18272               }
18273             }
18274           },
18275           "additionalProperties": false,
18276           "required": [
18277             "results"
18278           ]
18279         },
18280         "Macaroon": {
18281           "type": "object",
18282           "additionalProperties": false
18283         },
18284         "NotifyWatchResult": {
18285           "type": "object",
18286           "properties": {
18287             "NotifyWatcherId": {
18288               "type": "string"
18289             },
18290             "error": {
18291               "$ref": "#/definitions/Error"
18292             }
18293           },
18294           "additionalProperties": false,
18295           "required": [
18296             "NotifyWatcherId"
18297           ]
18298         },
18299         "RebootActionResult": {
18300           "type": "object",
18301           "properties": {
18302             "error": {
18303               "$ref": "#/definitions/Error"
18304             },
18305             "result": {
18306               "type": "string"
18307             }
18308           },
18309           "additionalProperties": false
18310         },
18311         "RebootActionResults": {
18312           "type": "object",
18313           "properties": {
18314             "results": {
18315               "type": "array",
18316               "items": {
18317                 "$ref": "#/definitions/RebootActionResult"
18318               }
18319             }
18320           },
18321           "additionalProperties": false
18322         }
18323       }
18324     }
18325   },
18326   {
18327     "Name": "RelationUnitsWatcher",
18328     "Version": 1,
18329     "Schema": {
18330       "type": "object",
18331       "properties": {
18332         "Next": {
18333           "type": "object",
18334           "properties": {
18335             "Result": {
18336               "$ref": "#/definitions/RelationUnitsWatchResult"
18337             }
18338           }
18339         },
18340         "Stop": {
18341           "type": "object"
18342         }
18343       },
18344       "definitions": {
18345         "Error": {
18346           "type": "object",
18347           "properties": {
18348             "code": {
18349               "type": "string"
18350             },
18351             "info": {
18352               "$ref": "#/definitions/ErrorInfo"
18353             },
18354             "message": {
18355               "type": "string"
18356             }
18357           },
18358           "additionalProperties": false,
18359           "required": [
18360             "message",
18361             "code"
18362           ]
18363         },
18364         "ErrorInfo": {
18365           "type": "object",
18366           "properties": {
18367             "macaroon": {
18368               "$ref": "#/definitions/Macaroon"
18369             },
18370             "macaroon-path": {
18371               "type": "string"
18372             }
18373           },
18374           "additionalProperties": false
18375         },
18376         "Macaroon": {
18377           "type": "object",
18378           "additionalProperties": false
18379         },
18380         "RelationUnitsChange": {
18381           "type": "object",
18382           "properties": {
18383             "changed": {
18384               "type": "object",
18385               "patternProperties": {
18386                 ".*": {
18387                   "$ref": "#/definitions/UnitSettings"
18388                 }
18389               }
18390             },
18391             "departed": {
18392               "type": "array",
18393               "items": {
18394                 "type": "string"
18395               }
18396             }
18397           },
18398           "additionalProperties": false,
18399           "required": [
18400             "changed"
18401           ]
18402         },
18403         "RelationUnitsWatchResult": {
18404           "type": "object",
18405           "properties": {
18406             "changes": {
18407               "$ref": "#/definitions/RelationUnitsChange"
18408             },
18409             "error": {
18410               "$ref": "#/definitions/Error"
18411             },
18412             "watcher-id": {
18413               "type": "string"
18414             }
18415           },
18416           "additionalProperties": false,
18417           "required": [
18418             "watcher-id",
18419             "changes"
18420           ]
18421         },
18422         "UnitSettings": {
18423           "type": "object",
18424           "properties": {
18425             "version": {
18426               "type": "integer"
18427             }
18428           },
18429           "additionalProperties": false,
18430           "required": [
18431             "version"
18432           ]
18433         }
18434       }
18435     }
18436   },
18437   {
18438     "Name": "Resources",
18439     "Version": 1,
18440     "Schema": {
18441       "type": "object",
18442       "properties": {
18443         "AddPendingResources": {
18444           "type": "object",
18445           "properties": {
18446             "Params": {
18447               "$ref": "#/definitions/AddPendingResourcesArgs"
18448             },
18449             "Result": {
18450               "$ref": "#/definitions/AddPendingResourcesResult"
18451             }
18452           }
18453         },
18454         "ListResources": {
18455           "type": "object",
18456           "properties": {
18457             "Params": {
18458               "$ref": "#/definitions/ListResourcesArgs"
18459             },
18460             "Result": {
18461               "$ref": "#/definitions/ResourcesResults"
18462             }
18463           }
18464         }
18465       },
18466       "definitions": {
18467         "AddCharmWithAuthorization": {
18468           "type": "object",
18469           "properties": {
18470             "channel": {
18471               "type": "string"
18472             },
18473             "macaroon": {
18474               "$ref": "#/definitions/Macaroon"
18475             },
18476             "url": {
18477               "type": "string"
18478             }
18479           },
18480           "additionalProperties": false,
18481           "required": [
18482             "url",
18483             "channel",
18484             "macaroon"
18485           ]
18486         },
18487         "AddPendingResourcesArgs": {
18488           "type": "object",
18489           "properties": {
18490             "AddCharmWithAuthorization": {
18491               "$ref": "#/definitions/AddCharmWithAuthorization"
18492             },
18493             "Entity": {
18494               "$ref": "#/definitions/Entity"
18495             },
18496             "resources": {
18497               "type": "array",
18498               "items": {
18499                 "$ref": "#/definitions/CharmResource"
18500               }
18501             }
18502           },
18503           "additionalProperties": false,
18504           "required": [
18505             "Entity",
18506             "AddCharmWithAuthorization",
18507             "resources"
18508           ]
18509         },
18510         "AddPendingResourcesResult": {
18511           "type": "object",
18512           "properties": {
18513             "ErrorResult": {
18514               "$ref": "#/definitions/ErrorResult"
18515             },
18516             "pending-ids": {
18517               "type": "array",
18518               "items": {
18519                 "type": "string"
18520               }
18521             }
18522           },
18523           "additionalProperties": false,
18524           "required": [
18525             "ErrorResult",
18526             "pending-ids"
18527           ]
18528         },
18529         "CharmResource": {
18530           "type": "object",
18531           "properties": {
18532             "description": {
18533               "type": "string"
18534             },
18535             "fingerprint": {
18536               "type": "array",
18537               "items": {
18538                 "type": "integer"
18539               }
18540             },
18541             "name": {
18542               "type": "string"
18543             },
18544             "origin": {
18545               "type": "string"
18546             },
18547             "path": {
18548               "type": "string"
18549             },
18550             "revision": {
18551               "type": "integer"
18552             },
18553             "size": {
18554               "type": "integer"
18555             },
18556             "type": {
18557               "type": "string"
18558             }
18559           },
18560           "additionalProperties": false,
18561           "required": [
18562             "name",
18563             "type",
18564             "path",
18565             "origin",
18566             "revision",
18567             "fingerprint",
18568             "size"
18569           ]
18570         },
18571         "Entity": {
18572           "type": "object",
18573           "properties": {
18574             "tag": {
18575               "type": "string"
18576             }
18577           },
18578           "additionalProperties": false,
18579           "required": [
18580             "tag"
18581           ]
18582         },
18583         "Error": {
18584           "type": "object",
18585           "properties": {
18586             "code": {
18587               "type": "string"
18588             },
18589             "info": {
18590               "$ref": "#/definitions/ErrorInfo"
18591             },
18592             "message": {
18593               "type": "string"
18594             }
18595           },
18596           "additionalProperties": false,
18597           "required": [
18598             "message",
18599             "code"
18600           ]
18601         },
18602         "ErrorInfo": {
18603           "type": "object",
18604           "properties": {
18605             "macaroon": {
18606               "$ref": "#/definitions/Macaroon"
18607             },
18608             "macaroon-path": {
18609               "type": "string"
18610             }
18611           },
18612           "additionalProperties": false
18613         },
18614         "ErrorResult": {
18615           "type": "object",
18616           "properties": {
18617             "error": {
18618               "$ref": "#/definitions/Error"
18619             }
18620           },
18621           "additionalProperties": false
18622         },
18623         "ListResourcesArgs": {
18624           "type": "object",
18625           "properties": {
18626             "entities": {
18627               "type": "array",
18628               "items": {
18629                 "$ref": "#/definitions/Entity"
18630               }
18631             }
18632           },
18633           "additionalProperties": false,
18634           "required": [
18635             "entities"
18636           ]
18637         },
18638         "Macaroon": {
18639           "type": "object",
18640           "additionalProperties": false
18641         },
18642         "Resource": {
18643           "type": "object",
18644           "properties": {
18645             "CharmResource": {
18646               "$ref": "#/definitions/CharmResource"
18647             },
18648             "application": {
18649               "type": "string"
18650             },
18651             "id": {
18652               "type": "string"
18653             },
18654             "pending-id": {
18655               "type": "string"
18656             },
18657             "timestamp": {
18658               "type": "string",
18659               "format": "date-time"
18660             },
18661             "username": {
18662               "type": "string"
18663             }
18664           },
18665           "additionalProperties": false,
18666           "required": [
18667             "CharmResource",
18668             "id",
18669             "pending-id",
18670             "application",
18671             "username",
18672             "timestamp"
18673           ]
18674         },
18675         "ResourcesResult": {
18676           "type": "object",
18677           "properties": {
18678             "ErrorResult": {
18679               "$ref": "#/definitions/ErrorResult"
18680             },
18681             "charm-store-resources": {
18682               "type": "array",
18683               "items": {
18684                 "$ref": "#/definitions/CharmResource"
18685               }
18686             },
18687             "resources": {
18688               "type": "array",
18689               "items": {
18690                 "$ref": "#/definitions/Resource"
18691               }
18692             },
18693             "unit-resources": {
18694               "type": "array",
18695               "items": {
18696                 "$ref": "#/definitions/UnitResources"
18697               }
18698             }
18699           },
18700           "additionalProperties": false,
18701           "required": [
18702             "ErrorResult",
18703             "resources",
18704             "charm-store-resources",
18705             "unit-resources"
18706           ]
18707         },
18708         "ResourcesResults": {
18709           "type": "object",
18710           "properties": {
18711             "results": {
18712               "type": "array",
18713               "items": {
18714                 "$ref": "#/definitions/ResourcesResult"
18715               }
18716             }
18717           },
18718           "additionalProperties": false,
18719           "required": [
18720             "results"
18721           ]
18722         },
18723         "UnitResources": {
18724           "type": "object",
18725           "properties": {
18726             "Entity": {
18727               "$ref": "#/definitions/Entity"
18728             },
18729             "download-progress": {
18730               "type": "object",
18731               "patternProperties": {
18732                 ".*": {
18733                   "type": "integer"
18734                 }
18735               }
18736             },
18737             "resources": {
18738               "type": "array",
18739               "items": {
18740                 "$ref": "#/definitions/Resource"
18741               }
18742             }
18743           },
18744           "additionalProperties": false,
18745           "required": [
18746             "Entity",
18747             "resources",
18748             "download-progress"
18749           ]
18750         }
18751       }
18752     }
18753   },
18754   {
18755     "Name": "ResourcesHookContext",
18756     "Version": 1,
18757     "Schema": {
18758       "type": "object",
18759       "properties": {
18760         "GetResourceInfo": {
18761           "type": "object",
18762           "properties": {
18763             "Params": {
18764               "$ref": "#/definitions/ListUnitResourcesArgs"
18765             },
18766             "Result": {
18767               "$ref": "#/definitions/UnitResourcesResult"
18768             }
18769           }
18770         }
18771       },
18772       "definitions": {
18773         "CharmResource": {
18774           "type": "object",
18775           "properties": {
18776             "description": {
18777               "type": "string"
18778             },
18779             "fingerprint": {
18780               "type": "array",
18781               "items": {
18782                 "type": "integer"
18783               }
18784             },
18785             "name": {
18786               "type": "string"
18787             },
18788             "origin": {
18789               "type": "string"
18790             },
18791             "path": {
18792               "type": "string"
18793             },
18794             "revision": {
18795               "type": "integer"
18796             },
18797             "size": {
18798               "type": "integer"
18799             },
18800             "type": {
18801               "type": "string"
18802             }
18803           },
18804           "additionalProperties": false,
18805           "required": [
18806             "name",
18807             "type",
18808             "path",
18809             "origin",
18810             "revision",
18811             "fingerprint",
18812             "size"
18813           ]
18814         },
18815         "Error": {
18816           "type": "object",
18817           "properties": {
18818             "code": {
18819               "type": "string"
18820             },
18821             "info": {
18822               "$ref": "#/definitions/ErrorInfo"
18823             },
18824             "message": {
18825               "type": "string"
18826             }
18827           },
18828           "additionalProperties": false,
18829           "required": [
18830             "message",
18831             "code"
18832           ]
18833         },
18834         "ErrorInfo": {
18835           "type": "object",
18836           "properties": {
18837             "macaroon": {
18838               "$ref": "#/definitions/Macaroon"
18839             },
18840             "macaroon-path": {
18841               "type": "string"
18842             }
18843           },
18844           "additionalProperties": false
18845         },
18846         "ErrorResult": {
18847           "type": "object",
18848           "properties": {
18849             "error": {
18850               "$ref": "#/definitions/Error"
18851             }
18852           },
18853           "additionalProperties": false
18854         },
18855         "ListUnitResourcesArgs": {
18856           "type": "object",
18857           "properties": {
18858             "resource-names": {
18859               "type": "array",
18860               "items": {
18861                 "type": "string"
18862               }
18863             }
18864           },
18865           "additionalProperties": false,
18866           "required": [
18867             "resource-names"
18868           ]
18869         },
18870         "Macaroon": {
18871           "type": "object",
18872           "additionalProperties": false
18873         },
18874         "Resource": {
18875           "type": "object",
18876           "properties": {
18877             "CharmResource": {
18878               "$ref": "#/definitions/CharmResource"
18879             },
18880             "application": {
18881               "type": "string"
18882             },
18883             "id": {
18884               "type": "string"
18885             },
18886             "pending-id": {
18887               "type": "string"
18888             },
18889             "timestamp": {
18890               "type": "string",
18891               "format": "date-time"
18892             },
18893             "username": {
18894               "type": "string"
18895             }
18896           },
18897           "additionalProperties": false,
18898           "required": [
18899             "CharmResource",
18900             "id",
18901             "pending-id",
18902             "application",
18903             "username",
18904             "timestamp"
18905           ]
18906         },
18907         "UnitResourceResult": {
18908           "type": "object",
18909           "properties": {
18910             "ErrorResult": {
18911               "$ref": "#/definitions/ErrorResult"
18912             },
18913             "resource": {
18914               "$ref": "#/definitions/Resource"
18915             }
18916           },
18917           "additionalProperties": false,
18918           "required": [
18919             "ErrorResult",
18920             "resource"
18921           ]
18922         },
18923         "UnitResourcesResult": {
18924           "type": "object",
18925           "properties": {
18926             "ErrorResult": {
18927               "$ref": "#/definitions/ErrorResult"
18928             },
18929             "resources": {
18930               "type": "array",
18931               "items": {
18932                 "$ref": "#/definitions/UnitResourceResult"
18933               }
18934             }
18935           },
18936           "additionalProperties": false,
18937           "required": [
18938             "ErrorResult",
18939             "resources"
18940           ]
18941         }
18942       }
18943     }
18944   },
18945   {
18946     "Name": "Resumer",
18947     "Version": 2,
18948     "Schema": {
18949       "type": "object",
18950       "properties": {
18951         "ResumeTransactions": {
18952           "type": "object"
18953         }
18954       }
18955     }
18956   },
18957   {
18958     "Name": "RetryStrategy",
18959     "Version": 1,
18960     "Schema": {
18961       "type": "object",
18962       "properties": {
18963         "RetryStrategy": {
18964           "type": "object",
18965           "properties": {
18966             "Params": {
18967               "$ref": "#/definitions/Entities"
18968             },
18969             "Result": {
18970               "$ref": "#/definitions/RetryStrategyResults"
18971             }
18972           }
18973         },
18974         "WatchRetryStrategy": {
18975           "type": "object",
18976           "properties": {
18977             "Params": {
18978               "$ref": "#/definitions/Entities"
18979             },
18980             "Result": {
18981               "$ref": "#/definitions/NotifyWatchResults"
18982             }
18983           }
18984         }
18985       },
18986       "definitions": {
18987         "Entities": {
18988           "type": "object",
18989           "properties": {
18990             "entities": {
18991               "type": "array",
18992               "items": {
18993                 "$ref": "#/definitions/Entity"
18994               }
18995             }
18996           },
18997           "additionalProperties": false,
18998           "required": [
18999             "entities"
19000           ]
19001         },
19002         "Entity": {
19003           "type": "object",
19004           "properties": {
19005             "tag": {
19006               "type": "string"
19007             }
19008           },
19009           "additionalProperties": false,
19010           "required": [
19011             "tag"
19012           ]
19013         },
19014         "Error": {
19015           "type": "object",
19016           "properties": {
19017             "code": {
19018               "type": "string"
19019             },
19020             "info": {
19021               "$ref": "#/definitions/ErrorInfo"
19022             },
19023             "message": {
19024               "type": "string"
19025             }
19026           },
19027           "additionalProperties": false,
19028           "required": [
19029             "message",
19030             "code"
19031           ]
19032         },
19033         "ErrorInfo": {
19034           "type": "object",
19035           "properties": {
19036             "macaroon": {
19037               "$ref": "#/definitions/Macaroon"
19038             },
19039             "macaroon-path": {
19040               "type": "string"
19041             }
19042           },
19043           "additionalProperties": false
19044         },
19045         "Macaroon": {
19046           "type": "object",
19047           "additionalProperties": false
19048         },
19049         "NotifyWatchResult": {
19050           "type": "object",
19051           "properties": {
19052             "NotifyWatcherId": {
19053               "type": "string"
19054             },
19055             "error": {
19056               "$ref": "#/definitions/Error"
19057             }
19058           },
19059           "additionalProperties": false,
19060           "required": [
19061             "NotifyWatcherId"
19062           ]
19063         },
19064         "NotifyWatchResults": {
19065           "type": "object",
19066           "properties": {
19067             "results": {
19068               "type": "array",
19069               "items": {
19070                 "$ref": "#/definitions/NotifyWatchResult"
19071               }
19072             }
19073           },
19074           "additionalProperties": false,
19075           "required": [
19076             "results"
19077           ]
19078         },
19079         "RetryStrategy": {
19080           "type": "object",
19081           "properties": {
19082             "jitter-retry-time": {
19083               "type": "boolean"
19084             },
19085             "max-retry-time": {
19086               "type": "integer"
19087             },
19088             "min-retry-time": {
19089               "type": "integer"
19090             },
19091             "retry-time-factor": {
19092               "type": "integer"
19093             },
19094             "should-retry": {
19095               "type": "boolean"
19096             }
19097           },
19098           "additionalProperties": false,
19099           "required": [
19100             "should-retry",
19101             "min-retry-time",
19102             "max-retry-time",
19103             "jitter-retry-time",
19104             "retry-time-factor"
19105           ]
19106         },
19107         "RetryStrategyResult": {
19108           "type": "object",
19109           "properties": {
19110             "error": {
19111               "$ref": "#/definitions/Error"
19112             },
19113             "result": {
19114               "$ref": "#/definitions/RetryStrategy"
19115             }
19116           },
19117           "additionalProperties": false
19118         },
19119         "RetryStrategyResults": {
19120           "type": "object",
19121           "properties": {
19122             "results": {
19123               "type": "array",
19124               "items": {
19125                 "$ref": "#/definitions/RetryStrategyResult"
19126               }
19127             }
19128           },
19129           "additionalProperties": false,
19130           "required": [
19131             "results"
19132           ]
19133         }
19134       }
19135     }
19136   },
19137   {
19138     "Name": "SSHClient",
19139     "Version": 2,
19140     "Schema": {
19141       "type": "object",
19142       "properties": {
19143         "AllAddresses": {
19144           "type": "object",
19145           "properties": {
19146             "Params": {
19147               "$ref": "#/definitions/Entities"
19148             },
19149             "Result": {
19150               "$ref": "#/definitions/SSHAddressesResults"
19151             }
19152           }
19153         },
19154         "PrivateAddress": {
19155           "type": "object",
19156           "properties": {
19157             "Params": {
19158               "$ref": "#/definitions/Entities"
19159             },
19160             "Result": {
19161               "$ref": "#/definitions/SSHAddressResults"
19162             }
19163           }
19164         },
19165         "Proxy": {
19166           "type": "object",
19167           "properties": {
19168             "Result": {
19169               "$ref": "#/definitions/SSHProxyResult"
19170             }
19171           }
19172         },
19173         "PublicAddress": {
19174           "type": "object",
19175           "properties": {
19176             "Params": {
19177               "$ref": "#/definitions/Entities"
19178             },
19179             "Result": {
19180               "$ref": "#/definitions/SSHAddressResults"
19181             }
19182           }
19183         },
19184         "PublicKeys": {
19185           "type": "object",
19186           "properties": {
19187             "Params": {
19188               "$ref": "#/definitions/Entities"
19189             },
19190             "Result": {
19191               "$ref": "#/definitions/SSHPublicKeysResults"
19192             }
19193           }
19194         }
19195       },
19196       "definitions": {
19197         "Entities": {
19198           "type": "object",
19199           "properties": {
19200             "entities": {
19201               "type": "array",
19202               "items": {
19203                 "$ref": "#/definitions/Entity"
19204               }
19205             }
19206           },
19207           "additionalProperties": false,
19208           "required": [
19209             "entities"
19210           ]
19211         },
19212         "Entity": {
19213           "type": "object",
19214           "properties": {
19215             "tag": {
19216               "type": "string"
19217             }
19218           },
19219           "additionalProperties": false,
19220           "required": [
19221             "tag"
19222           ]
19223         },
19224         "Error": {
19225           "type": "object",
19226           "properties": {
19227             "code": {
19228               "type": "string"
19229             },
19230             "info": {
19231               "$ref": "#/definitions/ErrorInfo"
19232             },
19233             "message": {
19234               "type": "string"
19235             }
19236           },
19237           "additionalProperties": false,
19238           "required": [
19239             "message",
19240             "code"
19241           ]
19242         },
19243         "ErrorInfo": {
19244           "type": "object",
19245           "properties": {
19246             "macaroon": {
19247               "$ref": "#/definitions/Macaroon"
19248             },
19249             "macaroon-path": {
19250               "type": "string"
19251             }
19252           },
19253           "additionalProperties": false
19254         },
19255         "Macaroon": {
19256           "type": "object",
19257           "additionalProperties": false
19258         },
19259         "SSHAddressResult": {
19260           "type": "object",
19261           "properties": {
19262             "address": {
19263               "type": "string"
19264             },
19265             "error": {
19266               "$ref": "#/definitions/Error"
19267             }
19268           },
19269           "additionalProperties": false
19270         },
19271         "SSHAddressResults": {
19272           "type": "object",
19273           "properties": {
19274             "results": {
19275               "type": "array",
19276               "items": {
19277                 "$ref": "#/definitions/SSHAddressResult"
19278               }
19279             }
19280           },
19281           "additionalProperties": false,
19282           "required": [
19283             "results"
19284           ]
19285         },
19286         "SSHAddressesResult": {
19287           "type": "object",
19288           "properties": {
19289             "addresses": {
19290               "type": "array",
19291               "items": {
19292                 "type": "string"
19293               }
19294             },
19295             "error": {
19296               "$ref": "#/definitions/Error"
19297             }
19298           },
19299           "additionalProperties": false,
19300           "required": [
19301             "addresses"
19302           ]
19303         },
19304         "SSHAddressesResults": {
19305           "type": "object",
19306           "properties": {
19307             "results": {
19308               "type": "array",
19309               "items": {
19310                 "$ref": "#/definitions/SSHAddressesResult"
19311               }
19312             }
19313           },
19314           "additionalProperties": false,
19315           "required": [
19316             "results"
19317           ]
19318         },
19319         "SSHProxyResult": {
19320           "type": "object",
19321           "properties": {
19322             "use-proxy": {
19323               "type": "boolean"
19324             }
19325           },
19326           "additionalProperties": false,
19327           "required": [
19328             "use-proxy"
19329           ]
19330         },
19331         "SSHPublicKeysResult": {
19332           "type": "object",
19333           "properties": {
19334             "error": {
19335               "$ref": "#/definitions/Error"
19336             },
19337             "public-keys": {
19338               "type": "array",
19339               "items": {
19340                 "type": "string"
19341               }
19342             }
19343           },
19344           "additionalProperties": false
19345         },
19346         "SSHPublicKeysResults": {
19347           "type": "object",
19348           "properties": {
19349             "results": {
19350               "type": "array",
19351               "items": {
19352                 "$ref": "#/definitions/SSHPublicKeysResult"
19353               }
19354             }
19355           },
19356           "additionalProperties": false,
19357           "required": [
19358             "results"
19359           ]
19360         }
19361       }
19362     }
19363   },
19364   {
19365     "Name": "Singular",
19366     "Version": 1,
19367     "Schema": {
19368       "type": "object",
19369       "properties": {
19370         "Claim": {
19371           "type": "object",
19372           "properties": {
19373             "Params": {
19374               "$ref": "#/definitions/SingularClaims"
19375             },
19376             "Result": {
19377               "$ref": "#/definitions/ErrorResults"
19378             }
19379           }
19380         },
19381         "Wait": {
19382           "type": "object",
19383           "properties": {
19384             "Params": {
19385               "$ref": "#/definitions/Entities"
19386             },
19387             "Result": {
19388               "$ref": "#/definitions/ErrorResults"
19389             }
19390           }
19391         }
19392       },
19393       "definitions": {
19394         "Entities": {
19395           "type": "object",
19396           "properties": {
19397             "entities": {
19398               "type": "array",
19399               "items": {
19400                 "$ref": "#/definitions/Entity"
19401               }
19402             }
19403           },
19404           "additionalProperties": false,
19405           "required": [
19406             "entities"
19407           ]
19408         },
19409         "Entity": {
19410           "type": "object",
19411           "properties": {
19412             "tag": {
19413               "type": "string"
19414             }
19415           },
19416           "additionalProperties": false,
19417           "required": [
19418             "tag"
19419           ]
19420         },
19421         "Error": {
19422           "type": "object",
19423           "properties": {
19424             "code": {
19425               "type": "string"
19426             },
19427             "info": {
19428               "$ref": "#/definitions/ErrorInfo"
19429             },
19430             "message": {
19431               "type": "string"
19432             }
19433           },
19434           "additionalProperties": false,
19435           "required": [
19436             "message",
19437             "code"
19438           ]
19439         },
19440         "ErrorInfo": {
19441           "type": "object",
19442           "properties": {
19443             "macaroon": {
19444               "$ref": "#/definitions/Macaroon"
19445             },
19446             "macaroon-path": {
19447               "type": "string"
19448             }
19449           },
19450           "additionalProperties": false
19451         },
19452         "ErrorResult": {
19453           "type": "object",
19454           "properties": {
19455             "error": {
19456               "$ref": "#/definitions/Error"
19457             }
19458           },
19459           "additionalProperties": false
19460         },
19461         "ErrorResults": {
19462           "type": "object",
19463           "properties": {
19464             "results": {
19465               "type": "array",
19466               "items": {
19467                 "$ref": "#/definitions/ErrorResult"
19468               }
19469             }
19470           },
19471           "additionalProperties": false,
19472           "required": [
19473             "results"
19474           ]
19475         },
19476         "Macaroon": {
19477           "type": "object",
19478           "additionalProperties": false
19479         },
19480         "SingularClaim": {
19481           "type": "object",
19482           "properties": {
19483             "controller-tag": {
19484               "type": "string"
19485             },
19486             "duration": {
19487               "type": "integer"
19488             },
19489             "model-tag": {
19490               "type": "string"
19491             }
19492           },
19493           "additionalProperties": false,
19494           "required": [
19495             "model-tag",
19496             "controller-tag",
19497             "duration"
19498           ]
19499         },
19500         "SingularClaims": {
19501           "type": "object",
19502           "properties": {
19503             "claims": {
19504               "type": "array",
19505               "items": {
19506                 "$ref": "#/definitions/SingularClaim"
19507               }
19508             }
19509           },
19510           "additionalProperties": false,
19511           "required": [
19512             "claims"
19513           ]
19514         }
19515       }
19516     }
19517   },
19518   {
19519     "Name": "Spaces",
19520     "Version": 3,
19521     "Schema": {
19522       "type": "object",
19523       "properties": {
19524         "CreateSpaces": {
19525           "type": "object",
19526           "properties": {
19527             "Params": {
19528               "$ref": "#/definitions/CreateSpacesParams"
19529             },
19530             "Result": {
19531               "$ref": "#/definitions/ErrorResults"
19532             }
19533           }
19534         },
19535         "ListSpaces": {
19536           "type": "object",
19537           "properties": {
19538             "Result": {
19539               "$ref": "#/definitions/ListSpacesResults"
19540             }
19541           }
19542         },
19543         "ReloadSpaces": {
19544           "type": "object"
19545         }
19546       },
19547       "definitions": {
19548         "CreateSpaceParams": {
19549           "type": "object",
19550           "properties": {
19551             "provider-id": {
19552               "type": "string"
19553             },
19554             "public": {
19555               "type": "boolean"
19556             },
19557             "space-tag": {
19558               "type": "string"
19559             },
19560             "subnet-tags": {
19561               "type": "array",
19562               "items": {
19563                 "type": "string"
19564               }
19565             }
19566           },
19567           "additionalProperties": false,
19568           "required": [
19569             "subnet-tags",
19570             "space-tag",
19571             "public"
19572           ]
19573         },
19574         "CreateSpacesParams": {
19575           "type": "object",
19576           "properties": {
19577             "spaces": {
19578               "type": "array",
19579               "items": {
19580                 "$ref": "#/definitions/CreateSpaceParams"
19581               }
19582             }
19583           },
19584           "additionalProperties": false,
19585           "required": [
19586             "spaces"
19587           ]
19588         },
19589         "Error": {
19590           "type": "object",
19591           "properties": {
19592             "code": {
19593               "type": "string"
19594             },
19595             "info": {
19596               "$ref": "#/definitions/ErrorInfo"
19597             },
19598             "message": {
19599               "type": "string"
19600             }
19601           },
19602           "additionalProperties": false,
19603           "required": [
19604             "message",
19605             "code"
19606           ]
19607         },
19608         "ErrorInfo": {
19609           "type": "object",
19610           "properties": {
19611             "macaroon": {
19612               "$ref": "#/definitions/Macaroon"
19613             },
19614             "macaroon-path": {
19615               "type": "string"
19616             }
19617           },
19618           "additionalProperties": false
19619         },
19620         "ErrorResult": {
19621           "type": "object",
19622           "properties": {
19623             "error": {
19624               "$ref": "#/definitions/Error"
19625             }
19626           },
19627           "additionalProperties": false
19628         },
19629         "ErrorResults": {
19630           "type": "object",
19631           "properties": {
19632             "results": {
19633               "type": "array",
19634               "items": {
19635                 "$ref": "#/definitions/ErrorResult"
19636               }
19637             }
19638           },
19639           "additionalProperties": false,
19640           "required": [
19641             "results"
19642           ]
19643         },
19644         "ListSpacesResults": {
19645           "type": "object",
19646           "properties": {
19647             "results": {
19648               "type": "array",
19649               "items": {
19650                 "$ref": "#/definitions/Space"
19651               }
19652             }
19653           },
19654           "additionalProperties": false,
19655           "required": [
19656             "results"
19657           ]
19658         },
19659         "Macaroon": {
19660           "type": "object",
19661           "additionalProperties": false
19662         },
19663         "Space": {
19664           "type": "object",
19665           "properties": {
19666             "error": {
19667               "$ref": "#/definitions/Error"
19668             },
19669             "name": {
19670               "type": "string"
19671             },
19672             "subnets": {
19673               "type": "array",
19674               "items": {
19675                 "$ref": "#/definitions/Subnet"
19676               }
19677             }
19678           },
19679           "additionalProperties": false,
19680           "required": [
19681             "name",
19682             "subnets"
19683           ]
19684         },
19685         "Subnet": {
19686           "type": "object",
19687           "properties": {
19688             "cidr": {
19689               "type": "string"
19690             },
19691             "life": {
19692               "type": "string"
19693             },
19694             "provider-id": {
19695               "type": "string"
19696             },
19697             "provider-network-id": {
19698               "type": "string"
19699             },
19700             "provider-space-id": {
19701               "type": "string"
19702             },
19703             "space-tag": {
19704               "type": "string"
19705             },
19706             "status": {
19707               "type": "string"
19708             },
19709             "vlan-tag": {
19710               "type": "integer"
19711             },
19712             "zones": {
19713               "type": "array",
19714               "items": {
19715                 "type": "string"
19716               }
19717             }
19718           },
19719           "additionalProperties": false,
19720           "required": [
19721             "cidr",
19722             "vlan-tag",
19723             "life",
19724             "space-tag",
19725             "zones"
19726           ]
19727         }
19728       }
19729     }
19730   },
19731   {
19732     "Name": "StatusHistory",
19733     "Version": 2,
19734     "Schema": {
19735       "type": "object",
19736       "properties": {
19737         "ModelConfig": {
19738           "type": "object",
19739           "properties": {
19740             "Result": {
19741               "$ref": "#/definitions/ModelConfigResult"
19742             }
19743           }
19744         },
19745         "Prune": {
19746           "type": "object",
19747           "properties": {
19748             "Params": {
19749               "$ref": "#/definitions/StatusHistoryPruneArgs"
19750             }
19751           }
19752         },
19753         "WatchForModelConfigChanges": {
19754           "type": "object",
19755           "properties": {
19756             "Result": {
19757               "$ref": "#/definitions/NotifyWatchResult"
19758             }
19759           }
19760         }
19761       },
19762       "definitions": {
19763         "Error": {
19764           "type": "object",
19765           "properties": {
19766             "code": {
19767               "type": "string"
19768             },
19769             "info": {
19770               "$ref": "#/definitions/ErrorInfo"
19771             },
19772             "message": {
19773               "type": "string"
19774             }
19775           },
19776           "additionalProperties": false,
19777           "required": [
19778             "message",
19779             "code"
19780           ]
19781         },
19782         "ErrorInfo": {
19783           "type": "object",
19784           "properties": {
19785             "macaroon": {
19786               "$ref": "#/definitions/Macaroon"
19787             },
19788             "macaroon-path": {
19789               "type": "string"
19790             }
19791           },
19792           "additionalProperties": false
19793         },
19794         "Macaroon": {
19795           "type": "object",
19796           "additionalProperties": false
19797         },
19798         "ModelConfigResult": {
19799           "type": "object",
19800           "properties": {
19801             "config": {
19802               "type": "object",
19803               "patternProperties": {
19804                 ".*": {
19805                   "type": "object",
19806                   "additionalProperties": true
19807                 }
19808               }
19809             }
19810           },
19811           "additionalProperties": false,
19812           "required": [
19813             "config"
19814           ]
19815         },
19816         "NotifyWatchResult": {
19817           "type": "object",
19818           "properties": {
19819             "NotifyWatcherId": {
19820               "type": "string"
19821             },
19822             "error": {
19823               "$ref": "#/definitions/Error"
19824             }
19825           },
19826           "additionalProperties": false,
19827           "required": [
19828             "NotifyWatcherId"
19829           ]
19830         },
19831         "StatusHistoryPruneArgs": {
19832           "type": "object",
19833           "properties": {
19834             "max-history-mb": {
19835               "type": "integer"
19836             },
19837             "max-history-time": {
19838               "type": "integer"
19839             }
19840           },
19841           "additionalProperties": false,
19842           "required": [
19843             "max-history-time",
19844             "max-history-mb"
19845           ]
19846         }
19847       }
19848     }
19849   },
19850   {
19851     "Name": "Storage",
19852     "Version": 3,
19853     "Schema": {
19854       "type": "object",
19855       "properties": {
19856         "AddToUnit": {
19857           "type": "object",
19858           "properties": {
19859             "Params": {
19860               "$ref": "#/definitions/StoragesAddParams"
19861             },
19862             "Result": {
19863               "$ref": "#/definitions/ErrorResults"
19864             }
19865           }
19866         },
19867         "Attach": {
19868           "type": "object",
19869           "properties": {
19870             "Params": {
19871               "$ref": "#/definitions/StorageAttachmentIds"
19872             },
19873             "Result": {
19874               "$ref": "#/definitions/ErrorResults"
19875             }
19876           }
19877         },
19878         "CreatePool": {
19879           "type": "object",
19880           "properties": {
19881             "Params": {
19882               "$ref": "#/definitions/StoragePool"
19883             }
19884           }
19885         },
19886         "Destroy": {
19887           "type": "object",
19888           "properties": {
19889             "Params": {
19890               "$ref": "#/definitions/Entities"
19891             },
19892             "Result": {
19893               "$ref": "#/definitions/ErrorResults"
19894             }
19895           }
19896         },
19897         "Detach": {
19898           "type": "object",
19899           "properties": {
19900             "Params": {
19901               "$ref": "#/definitions/StorageAttachmentIds"
19902             },
19903             "Result": {
19904               "$ref": "#/definitions/ErrorResults"
19905             }
19906           }
19907         },
19908         "ListFilesystems": {
19909           "type": "object",
19910           "properties": {
19911             "Params": {
19912               "$ref": "#/definitions/FilesystemFilters"
19913             },
19914             "Result": {
19915               "$ref": "#/definitions/FilesystemDetailsListResults"
19916             }
19917           }
19918         },
19919         "ListPools": {
19920           "type": "object",
19921           "properties": {
19922             "Params": {
19923               "$ref": "#/definitions/StoragePoolFilters"
19924             },
19925             "Result": {
19926               "$ref": "#/definitions/StoragePoolsResults"
19927             }
19928           }
19929         },
19930         "ListStorageDetails": {
19931           "type": "object",
19932           "properties": {
19933             "Params": {
19934               "$ref": "#/definitions/StorageFilters"
19935             },
19936             "Result": {
19937               "$ref": "#/definitions/StorageDetailsListResults"
19938             }
19939           }
19940         },
19941         "ListVolumes": {
19942           "type": "object",
19943           "properties": {
19944             "Params": {
19945               "$ref": "#/definitions/VolumeFilters"
19946             },
19947             "Result": {
19948               "$ref": "#/definitions/VolumeDetailsListResults"
19949             }
19950           }
19951         },
19952         "StorageDetails": {
19953           "type": "object",
19954           "properties": {
19955             "Params": {
19956               "$ref": "#/definitions/Entities"
19957             },
19958             "Result": {
19959               "$ref": "#/definitions/StorageDetailsResults"
19960             }
19961           }
19962         }
19963       },
19964       "definitions": {
19965         "Entities": {
19966           "type": "object",
19967           "properties": {
19968             "entities": {
19969               "type": "array",
19970               "items": {
19971                 "$ref": "#/definitions/Entity"
19972               }
19973             }
19974           },
19975           "additionalProperties": false,
19976           "required": [
19977             "entities"
19978           ]
19979         },
19980         "Entity": {
19981           "type": "object",
19982           "properties": {
19983             "tag": {
19984               "type": "string"
19985             }
19986           },
19987           "additionalProperties": false,
19988           "required": [
19989             "tag"
19990           ]
19991         },
19992         "EntityStatus": {
19993           "type": "object",
19994           "properties": {
19995             "data": {
19996               "type": "object",
19997               "patternProperties": {
19998                 ".*": {
19999                   "type": "object",
20000                   "additionalProperties": true
20001                 }
20002               }
20003             },
20004             "info": {
20005               "type": "string"
20006             },
20007             "since": {
20008               "type": "string",
20009               "format": "date-time"
20010             },
20011             "status": {
20012               "type": "string"
20013             }
20014           },
20015           "additionalProperties": false,
20016           "required": [
20017             "status",
20018             "info",
20019             "since"
20020           ]
20021         },
20022         "Error": {
20023           "type": "object",
20024           "properties": {
20025             "code": {
20026               "type": "string"
20027             },
20028             "info": {
20029               "$ref": "#/definitions/ErrorInfo"
20030             },
20031             "message": {
20032               "type": "string"
20033             }
20034           },
20035           "additionalProperties": false,
20036           "required": [
20037             "message",
20038             "code"
20039           ]
20040         },
20041         "ErrorInfo": {
20042           "type": "object",
20043           "properties": {
20044             "macaroon": {
20045               "$ref": "#/definitions/Macaroon"
20046             },
20047             "macaroon-path": {
20048               "type": "string"
20049             }
20050           },
20051           "additionalProperties": false
20052         },
20053         "ErrorResult": {
20054           "type": "object",
20055           "properties": {
20056             "error": {
20057               "$ref": "#/definitions/Error"
20058             }
20059           },
20060           "additionalProperties": false
20061         },
20062         "ErrorResults": {
20063           "type": "object",
20064           "properties": {
20065             "results": {
20066               "type": "array",
20067               "items": {
20068                 "$ref": "#/definitions/ErrorResult"
20069               }
20070             }
20071           },
20072           "additionalProperties": false,
20073           "required": [
20074             "results"
20075           ]
20076         },
20077         "FilesystemAttachmentDetails": {
20078           "type": "object",
20079           "properties": {
20080             "FilesystemAttachmentInfo": {
20081               "$ref": "#/definitions/FilesystemAttachmentInfo"
20082             },
20083             "life": {
20084               "type": "string"
20085             }
20086           },
20087           "additionalProperties": false,
20088           "required": [
20089             "FilesystemAttachmentInfo"
20090           ]
20091         },
20092         "FilesystemAttachmentInfo": {
20093           "type": "object",
20094           "properties": {
20095             "mount-point": {
20096               "type": "string"
20097             },
20098             "read-only": {
20099               "type": "boolean"
20100             }
20101           },
20102           "additionalProperties": false
20103         },
20104         "FilesystemDetails": {
20105           "type": "object",
20106           "properties": {
20107             "filesystem-tag": {
20108               "type": "string"
20109             },
20110             "info": {
20111               "$ref": "#/definitions/FilesystemInfo"
20112             },
20113             "life": {
20114               "type": "string"
20115             },
20116             "machine-attachments": {
20117               "type": "object",
20118               "patternProperties": {
20119                 ".*": {
20120                   "$ref": "#/definitions/FilesystemAttachmentDetails"
20121                 }
20122               }
20123             },
20124             "status": {
20125               "$ref": "#/definitions/EntityStatus"
20126             },
20127             "storage": {
20128               "$ref": "#/definitions/StorageDetails"
20129             },
20130             "volume-tag": {
20131               "type": "string"
20132             }
20133           },
20134           "additionalProperties": false,
20135           "required": [
20136             "filesystem-tag",
20137             "info",
20138             "status"
20139           ]
20140         },
20141         "FilesystemDetailsListResult": {
20142           "type": "object",
20143           "properties": {
20144             "error": {
20145               "$ref": "#/definitions/Error"
20146             },
20147             "result": {
20148               "type": "array",
20149               "items": {
20150                 "$ref": "#/definitions/FilesystemDetails"
20151               }
20152             }
20153           },
20154           "additionalProperties": false
20155         },
20156         "FilesystemDetailsListResults": {
20157           "type": "object",
20158           "properties": {
20159             "results": {
20160               "type": "array",
20161               "items": {
20162                 "$ref": "#/definitions/FilesystemDetailsListResult"
20163               }
20164             }
20165           },
20166           "additionalProperties": false
20167         },
20168         "FilesystemFilter": {
20169           "type": "object",
20170           "properties": {
20171             "machines": {
20172               "type": "array",
20173               "items": {
20174                 "type": "string"
20175               }
20176             }
20177           },
20178           "additionalProperties": false
20179         },
20180         "FilesystemFilters": {
20181           "type": "object",
20182           "properties": {
20183             "filters": {
20184               "type": "array",
20185               "items": {
20186                 "$ref": "#/definitions/FilesystemFilter"
20187               }
20188             }
20189           },
20190           "additionalProperties": false
20191         },
20192         "FilesystemInfo": {
20193           "type": "object",
20194           "properties": {
20195             "filesystem-id": {
20196               "type": "string"
20197             },
20198             "pool": {
20199               "type": "string"
20200             },
20201             "size": {
20202               "type": "integer"
20203             }
20204           },
20205           "additionalProperties": false,
20206           "required": [
20207             "filesystem-id",
20208             "pool",
20209             "size"
20210           ]
20211         },
20212         "Macaroon": {
20213           "type": "object",
20214           "additionalProperties": false
20215         },
20216         "StorageAddParams": {
20217           "type": "object",
20218           "properties": {
20219             "name": {
20220               "type": "string"
20221             },
20222             "storage": {
20223               "$ref": "#/definitions/StorageConstraints"
20224             },
20225             "unit": {
20226               "type": "string"
20227             }
20228           },
20229           "additionalProperties": false,
20230           "required": [
20231             "unit",
20232             "name",
20233             "storage"
20234           ]
20235         },
20236         "StorageAttachmentDetails": {
20237           "type": "object",
20238           "properties": {
20239             "life": {
20240               "type": "string"
20241             },
20242             "location": {
20243               "type": "string"
20244             },
20245             "machine-tag": {
20246               "type": "string"
20247             },
20248             "storage-tag": {
20249               "type": "string"
20250             },
20251             "unit-tag": {
20252               "type": "string"
20253             }
20254           },
20255           "additionalProperties": false,
20256           "required": [
20257             "storage-tag",
20258             "unit-tag",
20259             "machine-tag"
20260           ]
20261         },
20262         "StorageAttachmentId": {
20263           "type": "object",
20264           "properties": {
20265             "storage-tag": {
20266               "type": "string"
20267             },
20268             "unit-tag": {
20269               "type": "string"
20270             }
20271           },
20272           "additionalProperties": false,
20273           "required": [
20274             "storage-tag",
20275             "unit-tag"
20276           ]
20277         },
20278         "StorageAttachmentIds": {
20279           "type": "object",
20280           "properties": {
20281             "ids": {
20282               "type": "array",
20283               "items": {
20284                 "$ref": "#/definitions/StorageAttachmentId"
20285               }
20286             }
20287           },
20288           "additionalProperties": false,
20289           "required": [
20290             "ids"
20291           ]
20292         },
20293         "StorageConstraints": {
20294           "type": "object",
20295           "properties": {
20296             "count": {
20297               "type": "integer"
20298             },
20299             "pool": {
20300               "type": "string"
20301             },
20302             "size": {
20303               "type": "integer"
20304             }
20305           },
20306           "additionalProperties": false
20307         },
20308         "StorageDetails": {
20309           "type": "object",
20310           "properties": {
20311             "attachments": {
20312               "type": "object",
20313               "patternProperties": {
20314                 ".*": {
20315                   "$ref": "#/definitions/StorageAttachmentDetails"
20316                 }
20317               }
20318             },
20319             "kind": {
20320               "type": "integer"
20321             },
20322             "life": {
20323               "type": "string"
20324             },
20325             "owner-tag": {
20326               "type": "string"
20327             },
20328             "persistent": {
20329               "type": "boolean"
20330             },
20331             "status": {
20332               "$ref": "#/definitions/EntityStatus"
20333             },
20334             "storage-tag": {
20335               "type": "string"
20336             }
20337           },
20338           "additionalProperties": false,
20339           "required": [
20340             "storage-tag",
20341             "owner-tag",
20342             "kind",
20343             "status",
20344             "persistent"
20345           ]
20346         },
20347         "StorageDetailsListResult": {
20348           "type": "object",
20349           "properties": {
20350             "error": {
20351               "$ref": "#/definitions/Error"
20352             },
20353             "result": {
20354               "type": "array",
20355               "items": {
20356                 "$ref": "#/definitions/StorageDetails"
20357               }
20358             }
20359           },
20360           "additionalProperties": false
20361         },
20362         "StorageDetailsListResults": {
20363           "type": "object",
20364           "properties": {
20365             "results": {
20366               "type": "array",
20367               "items": {
20368                 "$ref": "#/definitions/StorageDetailsListResult"
20369               }
20370             }
20371           },
20372           "additionalProperties": false
20373         },
20374         "StorageDetailsResult": {
20375           "type": "object",
20376           "properties": {
20377             "error": {
20378               "$ref": "#/definitions/Error"
20379             },
20380             "result": {
20381               "$ref": "#/definitions/StorageDetails"
20382             }
20383           },
20384           "additionalProperties": false
20385         },
20386         "StorageDetailsResults": {
20387           "type": "object",
20388           "properties": {
20389             "results": {
20390               "type": "array",
20391               "items": {
20392                 "$ref": "#/definitions/StorageDetailsResult"
20393               }
20394             }
20395           },
20396           "additionalProperties": false
20397         },
20398         "StorageFilter": {
20399           "type": "object",
20400           "additionalProperties": false
20401         },
20402         "StorageFilters": {
20403           "type": "object",
20404           "properties": {
20405             "filters": {
20406               "type": "array",
20407               "items": {
20408                 "$ref": "#/definitions/StorageFilter"
20409               }
20410             }
20411           },
20412           "additionalProperties": false
20413         },
20414         "StoragePool": {
20415           "type": "object",
20416           "properties": {
20417             "attrs": {
20418               "type": "object",
20419               "patternProperties": {
20420                 ".*": {
20421                   "type": "object",
20422                   "additionalProperties": true
20423                 }
20424               }
20425             },
20426             "name": {
20427               "type": "string"
20428             },
20429             "provider": {
20430               "type": "string"
20431             }
20432           },
20433           "additionalProperties": false,
20434           "required": [
20435             "name",
20436             "provider",
20437             "attrs"
20438           ]
20439         },
20440         "StoragePoolFilter": {
20441           "type": "object",
20442           "properties": {
20443             "names": {
20444               "type": "array",
20445               "items": {
20446                 "type": "string"
20447               }
20448             },
20449             "providers": {
20450               "type": "array",
20451               "items": {
20452                 "type": "string"
20453               }
20454             }
20455           },
20456           "additionalProperties": false
20457         },
20458         "StoragePoolFilters": {
20459           "type": "object",
20460           "properties": {
20461             "filters": {
20462               "type": "array",
20463               "items": {
20464                 "$ref": "#/definitions/StoragePoolFilter"
20465               }
20466             }
20467           },
20468           "additionalProperties": false
20469         },
20470         "StoragePoolsResult": {
20471           "type": "object",
20472           "properties": {
20473             "error": {
20474               "$ref": "#/definitions/Error"
20475             },
20476             "storage-pools": {
20477               "type": "array",
20478               "items": {
20479                 "$ref": "#/definitions/StoragePool"
20480               }
20481             }
20482           },
20483           "additionalProperties": false
20484         },
20485         "StoragePoolsResults": {
20486           "type": "object",
20487           "properties": {
20488             "results": {
20489               "type": "array",
20490               "items": {
20491                 "$ref": "#/definitions/StoragePoolsResult"
20492               }
20493             }
20494           },
20495           "additionalProperties": false
20496         },
20497         "StoragesAddParams": {
20498           "type": "object",
20499           "properties": {
20500             "storages": {
20501               "type": "array",
20502               "items": {
20503                 "$ref": "#/definitions/StorageAddParams"
20504               }
20505             }
20506           },
20507           "additionalProperties": false,
20508           "required": [
20509             "storages"
20510           ]
20511         },
20512         "VolumeAttachmentDetails": {
20513           "type": "object",
20514           "properties": {
20515             "VolumeAttachmentInfo": {
20516               "$ref": "#/definitions/VolumeAttachmentInfo"
20517             },
20518             "life": {
20519               "type": "string"
20520             }
20521           },
20522           "additionalProperties": false,
20523           "required": [
20524             "VolumeAttachmentInfo"
20525           ]
20526         },
20527         "VolumeAttachmentInfo": {
20528           "type": "object",
20529           "properties": {
20530             "bus-address": {
20531               "type": "string"
20532             },
20533             "device-link": {
20534               "type": "string"
20535             },
20536             "device-name": {
20537               "type": "string"
20538             },
20539             "read-only": {
20540               "type": "boolean"
20541             }
20542           },
20543           "additionalProperties": false
20544         },
20545         "VolumeDetails": {
20546           "type": "object",
20547           "properties": {
20548             "info": {
20549               "$ref": "#/definitions/VolumeInfo"
20550             },
20551             "life": {
20552               "type": "string"
20553             },
20554             "machine-attachments": {
20555               "type": "object",
20556               "patternProperties": {
20557                 ".*": {
20558                   "$ref": "#/definitions/VolumeAttachmentDetails"
20559                 }
20560               }
20561             },
20562             "status": {
20563               "$ref": "#/definitions/EntityStatus"
20564             },
20565             "storage": {
20566               "$ref": "#/definitions/StorageDetails"
20567             },
20568             "volume-tag": {
20569               "type": "string"
20570             }
20571           },
20572           "additionalProperties": false,
20573           "required": [
20574             "volume-tag",
20575             "info",
20576             "status"
20577           ]
20578         },
20579         "VolumeDetailsListResult": {
20580           "type": "object",
20581           "properties": {
20582             "error": {
20583               "$ref": "#/definitions/Error"
20584             },
20585             "result": {
20586               "type": "array",
20587               "items": {
20588                 "$ref": "#/definitions/VolumeDetails"
20589               }
20590             }
20591           },
20592           "additionalProperties": false
20593         },
20594         "VolumeDetailsListResults": {
20595           "type": "object",
20596           "properties": {
20597             "results": {
20598               "type": "array",
20599               "items": {
20600                 "$ref": "#/definitions/VolumeDetailsListResult"
20601               }
20602             }
20603           },
20604           "additionalProperties": false
20605         },
20606         "VolumeFilter": {
20607           "type": "object",
20608           "properties": {
20609             "machines": {
20610               "type": "array",
20611               "items": {
20612                 "type": "string"
20613               }
20614             }
20615           },
20616           "additionalProperties": false
20617         },
20618         "VolumeFilters": {
20619           "type": "object",
20620           "properties": {
20621             "filters": {
20622               "type": "array",
20623               "items": {
20624                 "$ref": "#/definitions/VolumeFilter"
20625               }
20626             }
20627           },
20628           "additionalProperties": false
20629         },
20630         "VolumeInfo": {
20631           "type": "object",
20632           "properties": {
20633             "hardware-id": {
20634               "type": "string"
20635             },
20636             "persistent": {
20637               "type": "boolean"
20638             },
20639             "pool": {
20640               "type": "string"
20641             },
20642             "size": {
20643               "type": "integer"
20644             },
20645             "volume-id": {
20646               "type": "string"
20647             },
20648             "wwn": {
20649               "type": "string"
20650             }
20651           },
20652           "additionalProperties": false,
20653           "required": [
20654             "volume-id",
20655             "size",
20656             "persistent"
20657           ]
20658         }
20659       }
20660     }
20661   },
20662   {
20663     "Name": "StorageProvisioner",
20664     "Version": 3,
20665     "Schema": {
20666       "type": "object",
20667       "properties": {
20668         "AttachmentLife": {
20669           "type": "object",
20670           "properties": {
20671             "Params": {
20672               "$ref": "#/definitions/MachineStorageIds"
20673             },
20674             "Result": {
20675               "$ref": "#/definitions/LifeResults"
20676             }
20677           }
20678         },
20679         "EnsureDead": {
20680           "type": "object",
20681           "properties": {
20682             "Params": {
20683               "$ref": "#/definitions/Entities"
20684             },
20685             "Result": {
20686               "$ref": "#/definitions/ErrorResults"
20687             }
20688           }
20689         },
20690         "FilesystemAttachmentParams": {
20691           "type": "object",
20692           "properties": {
20693             "Params": {
20694               "$ref": "#/definitions/MachineStorageIds"
20695             },
20696             "Result": {
20697               "$ref": "#/definitions/FilesystemAttachmentParamsResults"
20698             }
20699           }
20700         },
20701         "FilesystemAttachments": {
20702           "type": "object",
20703           "properties": {
20704             "Params": {
20705               "$ref": "#/definitions/MachineStorageIds"
20706             },
20707             "Result": {
20708               "$ref": "#/definitions/FilesystemAttachmentResults"
20709             }
20710           }
20711         },
20712         "FilesystemParams": {
20713           "type": "object",
20714           "properties": {
20715             "Params": {
20716               "$ref": "#/definitions/Entities"
20717             },
20718             "Result": {
20719               "$ref": "#/definitions/FilesystemParamsResults"
20720             }
20721           }
20722         },
20723         "Filesystems": {
20724           "type": "object",
20725           "properties": {
20726             "Params": {
20727               "$ref": "#/definitions/Entities"
20728             },
20729             "Result": {
20730               "$ref": "#/definitions/FilesystemResults"
20731             }
20732           }
20733         },
20734         "InstanceId": {
20735           "type": "object",
20736           "properties": {
20737             "Params": {
20738               "$ref": "#/definitions/Entities"
20739             },
20740             "Result": {
20741               "$ref": "#/definitions/StringResults"
20742             }
20743           }
20744         },
20745         "Life": {
20746           "type": "object",
20747           "properties": {
20748             "Params": {
20749               "$ref": "#/definitions/Entities"
20750             },
20751             "Result": {
20752               "$ref": "#/definitions/LifeResults"
20753             }
20754           }
20755         },
20756         "Remove": {
20757           "type": "object",
20758           "properties": {
20759             "Params": {
20760               "$ref": "#/definitions/Entities"
20761             },
20762             "Result": {
20763               "$ref": "#/definitions/ErrorResults"
20764             }
20765           }
20766         },
20767         "RemoveAttachment": {
20768           "type": "object",
20769           "properties": {
20770             "Params": {
20771               "$ref": "#/definitions/MachineStorageIds"
20772             },
20773             "Result": {
20774               "$ref": "#/definitions/ErrorResults"
20775             }
20776           }
20777         },
20778         "SetFilesystemAttachmentInfo": {
20779           "type": "object",
20780           "properties": {
20781             "Params": {
20782               "$ref": "#/definitions/FilesystemAttachments"
20783             },
20784             "Result": {
20785               "$ref": "#/definitions/ErrorResults"
20786             }
20787           }
20788         },
20789         "SetFilesystemInfo": {
20790           "type": "object",
20791           "properties": {
20792             "Params": {
20793               "$ref": "#/definitions/Filesystems"
20794             },
20795             "Result": {
20796               "$ref": "#/definitions/ErrorResults"
20797             }
20798           }
20799         },
20800         "SetStatus": {
20801           "type": "object",
20802           "properties": {
20803             "Params": {
20804               "$ref": "#/definitions/SetStatus"
20805             },
20806             "Result": {
20807               "$ref": "#/definitions/ErrorResults"
20808             }
20809           }
20810         },
20811         "SetVolumeAttachmentInfo": {
20812           "type": "object",
20813           "properties": {
20814             "Params": {
20815               "$ref": "#/definitions/VolumeAttachments"
20816             },
20817             "Result": {
20818               "$ref": "#/definitions/ErrorResults"
20819             }
20820           }
20821         },
20822         "SetVolumeInfo": {
20823           "type": "object",
20824           "properties": {
20825             "Params": {
20826               "$ref": "#/definitions/Volumes"
20827             },
20828             "Result": {
20829               "$ref": "#/definitions/ErrorResults"
20830             }
20831           }
20832         },
20833         "UpdateStatus": {
20834           "type": "object",
20835           "properties": {
20836             "Params": {
20837               "$ref": "#/definitions/SetStatus"
20838             },
20839             "Result": {
20840               "$ref": "#/definitions/ErrorResults"
20841             }
20842           }
20843         },
20844         "VolumeAttachmentParams": {
20845           "type": "object",
20846           "properties": {
20847             "Params": {
20848               "$ref": "#/definitions/MachineStorageIds"
20849             },
20850             "Result": {
20851               "$ref": "#/definitions/VolumeAttachmentParamsResults"
20852             }
20853           }
20854         },
20855         "VolumeAttachments": {
20856           "type": "object",
20857           "properties": {
20858             "Params": {
20859               "$ref": "#/definitions/MachineStorageIds"
20860             },
20861             "Result": {
20862               "$ref": "#/definitions/VolumeAttachmentResults"
20863             }
20864           }
20865         },
20866         "VolumeBlockDevices": {
20867           "type": "object",
20868           "properties": {
20869             "Params": {
20870               "$ref": "#/definitions/MachineStorageIds"
20871             },
20872             "Result": {
20873               "$ref": "#/definitions/BlockDeviceResults"
20874             }
20875           }
20876         },
20877         "VolumeParams": {
20878           "type": "object",
20879           "properties": {
20880             "Params": {
20881               "$ref": "#/definitions/Entities"
20882             },
20883             "Result": {
20884               "$ref": "#/definitions/VolumeParamsResults"
20885             }
20886           }
20887         },
20888         "Volumes": {
20889           "type": "object",
20890           "properties": {
20891             "Params": {
20892               "$ref": "#/definitions/Entities"
20893             },
20894             "Result": {
20895               "$ref": "#/definitions/VolumeResults"
20896             }
20897           }
20898         },
20899         "WatchBlockDevices": {
20900           "type": "object",
20901           "properties": {
20902             "Params": {
20903               "$ref": "#/definitions/Entities"
20904             },
20905             "Result": {
20906               "$ref": "#/definitions/NotifyWatchResults"
20907             }
20908           }
20909         },
20910         "WatchFilesystemAttachments": {
20911           "type": "object",
20912           "properties": {
20913             "Params": {
20914               "$ref": "#/definitions/Entities"
20915             },
20916             "Result": {
20917               "$ref": "#/definitions/MachineStorageIdsWatchResults"
20918             }
20919           }
20920         },
20921         "WatchFilesystems": {
20922           "type": "object",
20923           "properties": {
20924             "Params": {
20925               "$ref": "#/definitions/Entities"
20926             },
20927             "Result": {
20928               "$ref": "#/definitions/StringsWatchResults"
20929             }
20930           }
20931         },
20932         "WatchMachines": {
20933           "type": "object",
20934           "properties": {
20935             "Params": {
20936               "$ref": "#/definitions/Entities"
20937             },
20938             "Result": {
20939               "$ref": "#/definitions/NotifyWatchResults"
20940             }
20941           }
20942         },
20943         "WatchVolumeAttachments": {
20944           "type": "object",
20945           "properties": {
20946             "Params": {
20947               "$ref": "#/definitions/Entities"
20948             },
20949             "Result": {
20950               "$ref": "#/definitions/MachineStorageIdsWatchResults"
20951             }
20952           }
20953         },
20954         "WatchVolumes": {
20955           "type": "object",
20956           "properties": {
20957             "Params": {
20958               "$ref": "#/definitions/Entities"
20959             },
20960             "Result": {
20961               "$ref": "#/definitions/StringsWatchResults"
20962             }
20963           }
20964         }
20965       },
20966       "definitions": {
20967         "BlockDevice": {
20968           "type": "object",
20969           "properties": {
20970             "BusAddress": {
20971               "type": "string"
20972             },
20973             "DeviceLinks": {
20974               "type": "array",
20975               "items": {
20976                 "type": "string"
20977               }
20978             },
20979             "DeviceName": {
20980               "type": "string"
20981             },
20982             "FilesystemType": {
20983               "type": "string"
20984             },
20985             "HardwareId": {
20986               "type": "string"
20987             },
20988             "InUse": {
20989               "type": "boolean"
20990             },
20991             "Label": {
20992               "type": "string"
20993             },
20994             "MountPoint": {
20995               "type": "string"
20996             },
20997             "Size": {
20998               "type": "integer"
20999             },
21000             "UUID": {
21001               "type": "string"
21002             },
21003             "WWN": {
21004               "type": "string"
21005             }
21006           },
21007           "additionalProperties": false,
21008           "required": [
21009             "DeviceName",
21010             "DeviceLinks",
21011             "Label",
21012             "UUID",
21013             "HardwareId",
21014             "WWN",
21015             "BusAddress",
21016             "Size",
21017             "FilesystemType",
21018             "InUse",
21019             "MountPoint"
21020           ]
21021         },
21022         "BlockDeviceResult": {
21023           "type": "object",
21024           "properties": {
21025             "error": {
21026               "$ref": "#/definitions/Error"
21027             },
21028             "result": {
21029               "$ref": "#/definitions/BlockDevice"
21030             }
21031           },
21032           "additionalProperties": false,
21033           "required": [
21034             "result"
21035           ]
21036         },
21037         "BlockDeviceResults": {
21038           "type": "object",
21039           "properties": {
21040             "results": {
21041               "type": "array",
21042               "items": {
21043                 "$ref": "#/definitions/BlockDeviceResult"
21044               }
21045             }
21046           },
21047           "additionalProperties": false
21048         },
21049         "Entities": {
21050           "type": "object",
21051           "properties": {
21052             "entities": {
21053               "type": "array",
21054               "items": {
21055                 "$ref": "#/definitions/Entity"
21056               }
21057             }
21058           },
21059           "additionalProperties": false,
21060           "required": [
21061             "entities"
21062           ]
21063         },
21064         "Entity": {
21065           "type": "object",
21066           "properties": {
21067             "tag": {
21068               "type": "string"
21069             }
21070           },
21071           "additionalProperties": false,
21072           "required": [
21073             "tag"
21074           ]
21075         },
21076         "EntityStatusArgs": {
21077           "type": "object",
21078           "properties": {
21079             "data": {
21080               "type": "object",
21081               "patternProperties": {
21082                 ".*": {
21083                   "type": "object",
21084                   "additionalProperties": true
21085                 }
21086               }
21087             },
21088             "info": {
21089               "type": "string"
21090             },
21091             "status": {
21092               "type": "string"
21093             },
21094             "tag": {
21095               "type": "string"
21096             }
21097           },
21098           "additionalProperties": false,
21099           "required": [
21100             "tag",
21101             "status",
21102             "info",
21103             "data"
21104           ]
21105         },
21106         "Error": {
21107           "type": "object",
21108           "properties": {
21109             "code": {
21110               "type": "string"
21111             },
21112             "info": {
21113               "$ref": "#/definitions/ErrorInfo"
21114             },
21115             "message": {
21116               "type": "string"
21117             }
21118           },
21119           "additionalProperties": false,
21120           "required": [
21121             "message",
21122             "code"
21123           ]
21124         },
21125         "ErrorInfo": {
21126           "type": "object",
21127           "properties": {
21128             "macaroon": {
21129               "$ref": "#/definitions/Macaroon"
21130             },
21131             "macaroon-path": {
21132               "type": "string"
21133             }
21134           },
21135           "additionalProperties": false
21136         },
21137         "ErrorResult": {
21138           "type": "object",
21139           "properties": {
21140             "error": {
21141               "$ref": "#/definitions/Error"
21142             }
21143           },
21144           "additionalProperties": false
21145         },
21146         "ErrorResults": {
21147           "type": "object",
21148           "properties": {
21149             "results": {
21150               "type": "array",
21151               "items": {
21152                 "$ref": "#/definitions/ErrorResult"
21153               }
21154             }
21155           },
21156           "additionalProperties": false,
21157           "required": [
21158             "results"
21159           ]
21160         },
21161         "Filesystem": {
21162           "type": "object",
21163           "properties": {
21164             "filesystem-tag": {
21165               "type": "string"
21166             },
21167             "info": {
21168               "$ref": "#/definitions/FilesystemInfo"
21169             },
21170             "volume-tag": {
21171               "type": "string"
21172             }
21173           },
21174           "additionalProperties": false,
21175           "required": [
21176             "filesystem-tag",
21177             "info"
21178           ]
21179         },
21180         "FilesystemAttachment": {
21181           "type": "object",
21182           "properties": {
21183             "filesystem-tag": {
21184               "type": "string"
21185             },
21186             "info": {
21187               "$ref": "#/definitions/FilesystemAttachmentInfo"
21188             },
21189             "machine-tag": {
21190               "type": "string"
21191             }
21192           },
21193           "additionalProperties": false,
21194           "required": [
21195             "filesystem-tag",
21196             "machine-tag",
21197             "info"
21198           ]
21199         },
21200         "FilesystemAttachmentInfo": {
21201           "type": "object",
21202           "properties": {
21203             "mount-point": {
21204               "type": "string"
21205             },
21206             "read-only": {
21207               "type": "boolean"
21208             }
21209           },
21210           "additionalProperties": false
21211         },
21212         "FilesystemAttachmentParams": {
21213           "type": "object",
21214           "properties": {
21215             "filesystem-id": {
21216               "type": "string"
21217             },
21218             "filesystem-tag": {
21219               "type": "string"
21220             },
21221             "instance-id": {
21222               "type": "string"
21223             },
21224             "machine-tag": {
21225               "type": "string"
21226             },
21227             "mount-point": {
21228               "type": "string"
21229             },
21230             "provider": {
21231               "type": "string"
21232             },
21233             "read-only": {
21234               "type": "boolean"
21235             }
21236           },
21237           "additionalProperties": false,
21238           "required": [
21239             "filesystem-tag",
21240             "machine-tag",
21241             "provider"
21242           ]
21243         },
21244         "FilesystemAttachmentParamsResult": {
21245           "type": "object",
21246           "properties": {
21247             "error": {
21248               "$ref": "#/definitions/Error"
21249             },
21250             "result": {
21251               "$ref": "#/definitions/FilesystemAttachmentParams"
21252             }
21253           },
21254           "additionalProperties": false,
21255           "required": [
21256             "result"
21257           ]
21258         },
21259         "FilesystemAttachmentParamsResults": {
21260           "type": "object",
21261           "properties": {
21262             "results": {
21263               "type": "array",
21264               "items": {
21265                 "$ref": "#/definitions/FilesystemAttachmentParamsResult"
21266               }
21267             }
21268           },
21269           "additionalProperties": false
21270         },
21271         "FilesystemAttachmentResult": {
21272           "type": "object",
21273           "properties": {
21274             "error": {
21275               "$ref": "#/definitions/Error"
21276             },
21277             "result": {
21278               "$ref": "#/definitions/FilesystemAttachment"
21279             }
21280           },
21281           "additionalProperties": false,
21282           "required": [
21283             "result"
21284           ]
21285         },
21286         "FilesystemAttachmentResults": {
21287           "type": "object",
21288           "properties": {
21289             "results": {
21290               "type": "array",
21291               "items": {
21292                 "$ref": "#/definitions/FilesystemAttachmentResult"
21293               }
21294             }
21295           },
21296           "additionalProperties": false
21297         },
21298         "FilesystemAttachments": {
21299           "type": "object",
21300           "properties": {
21301             "filesystem-attachments": {
21302               "type": "array",
21303               "items": {
21304                 "$ref": "#/definitions/FilesystemAttachment"
21305               }
21306             }
21307           },
21308           "additionalProperties": false,
21309           "required": [
21310             "filesystem-attachments"
21311           ]
21312         },
21313         "FilesystemInfo": {
21314           "type": "object",
21315           "properties": {
21316             "filesystem-id": {
21317               "type": "string"
21318             },
21319             "pool": {
21320               "type": "string"
21321             },
21322             "size": {
21323               "type": "integer"
21324             }
21325           },
21326           "additionalProperties": false,
21327           "required": [
21328             "filesystem-id",
21329             "pool",
21330             "size"
21331           ]
21332         },
21333         "FilesystemParams": {
21334           "type": "object",
21335           "properties": {
21336             "attachment": {
21337               "$ref": "#/definitions/FilesystemAttachmentParams"
21338             },
21339             "attributes": {
21340               "type": "object",
21341               "patternProperties": {
21342                 ".*": {
21343                   "type": "object",
21344                   "additionalProperties": true
21345                 }
21346               }
21347             },
21348             "filesystem-tag": {
21349               "type": "string"
21350             },
21351             "provider": {
21352               "type": "string"
21353             },
21354             "size": {
21355               "type": "integer"
21356             },
21357             "tags": {
21358               "type": "object",
21359               "patternProperties": {
21360                 ".*": {
21361                   "type": "string"
21362                 }
21363               }
21364             },
21365             "volume-tag": {
21366               "type": "string"
21367             }
21368           },
21369           "additionalProperties": false,
21370           "required": [
21371             "filesystem-tag",
21372             "size",
21373             "provider"
21374           ]
21375         },
21376         "FilesystemParamsResult": {
21377           "type": "object",
21378           "properties": {
21379             "error": {
21380               "$ref": "#/definitions/Error"
21381             },
21382             "result": {
21383               "$ref": "#/definitions/FilesystemParams"
21384             }
21385           },
21386           "additionalProperties": false,
21387           "required": [
21388             "result"
21389           ]
21390         },
21391         "FilesystemParamsResults": {
21392           "type": "object",
21393           "properties": {
21394             "results": {
21395               "type": "array",
21396               "items": {
21397                 "$ref": "#/definitions/FilesystemParamsResult"
21398               }
21399             }
21400           },
21401           "additionalProperties": false
21402         },
21403         "FilesystemResult": {
21404           "type": "object",
21405           "properties": {
21406             "error": {
21407               "$ref": "#/definitions/Error"
21408             },
21409             "result": {
21410               "$ref": "#/definitions/Filesystem"
21411             }
21412           },
21413           "additionalProperties": false,
21414           "required": [
21415             "result"
21416           ]
21417         },
21418         "FilesystemResults": {
21419           "type": "object",
21420           "properties": {
21421             "results": {
21422               "type": "array",
21423               "items": {
21424                 "$ref": "#/definitions/FilesystemResult"
21425               }
21426             }
21427           },
21428           "additionalProperties": false
21429         },
21430         "Filesystems": {
21431           "type": "object",
21432           "properties": {
21433             "filesystems": {
21434               "type": "array",
21435               "items": {
21436                 "$ref": "#/definitions/Filesystem"
21437               }
21438             }
21439           },
21440           "additionalProperties": false,
21441           "required": [
21442             "filesystems"
21443           ]
21444         },
21445         "LifeResult": {
21446           "type": "object",
21447           "properties": {
21448             "error": {
21449               "$ref": "#/definitions/Error"
21450             },
21451             "life": {
21452               "type": "string"
21453             }
21454           },
21455           "additionalProperties": false,
21456           "required": [
21457             "life"
21458           ]
21459         },
21460         "LifeResults": {
21461           "type": "object",
21462           "properties": {
21463             "results": {
21464               "type": "array",
21465               "items": {
21466                 "$ref": "#/definitions/LifeResult"
21467               }
21468             }
21469           },
21470           "additionalProperties": false,
21471           "required": [
21472             "results"
21473           ]
21474         },
21475         "Macaroon": {
21476           "type": "object",
21477           "additionalProperties": false
21478         },
21479         "MachineStorageId": {
21480           "type": "object",
21481           "properties": {
21482             "attachment-tag": {
21483               "type": "string"
21484             },
21485             "machine-tag": {
21486               "type": "string"
21487             }
21488           },
21489           "additionalProperties": false,
21490           "required": [
21491             "machine-tag",
21492             "attachment-tag"
21493           ]
21494         },
21495         "MachineStorageIds": {
21496           "type": "object",
21497           "properties": {
21498             "ids": {
21499               "type": "array",
21500               "items": {
21501                 "$ref": "#/definitions/MachineStorageId"
21502               }
21503             }
21504           },
21505           "additionalProperties": false,
21506           "required": [
21507             "ids"
21508           ]
21509         },
21510         "MachineStorageIdsWatchResult": {
21511           "type": "object",
21512           "properties": {
21513             "changes": {
21514               "type": "array",
21515               "items": {
21516                 "$ref": "#/definitions/MachineStorageId"
21517               }
21518             },
21519             "error": {
21520               "$ref": "#/definitions/Error"
21521             },
21522             "watcher-id": {
21523               "type": "string"
21524             }
21525           },
21526           "additionalProperties": false,
21527           "required": [
21528             "watcher-id",
21529             "changes"
21530           ]
21531         },
21532         "MachineStorageIdsWatchResults": {
21533           "type": "object",
21534           "properties": {
21535             "results": {
21536               "type": "array",
21537               "items": {
21538                 "$ref": "#/definitions/MachineStorageIdsWatchResult"
21539               }
21540             }
21541           },
21542           "additionalProperties": false,
21543           "required": [
21544             "results"
21545           ]
21546         },
21547         "NotifyWatchResult": {
21548           "type": "object",
21549           "properties": {
21550             "NotifyWatcherId": {
21551               "type": "string"
21552             },
21553             "error": {
21554               "$ref": "#/definitions/Error"
21555             }
21556           },
21557           "additionalProperties": false,
21558           "required": [
21559             "NotifyWatcherId"
21560           ]
21561         },
21562         "NotifyWatchResults": {
21563           "type": "object",
21564           "properties": {
21565             "results": {
21566               "type": "array",
21567               "items": {
21568                 "$ref": "#/definitions/NotifyWatchResult"
21569               }
21570             }
21571           },
21572           "additionalProperties": false,
21573           "required": [
21574             "results"
21575           ]
21576         },
21577         "SetStatus": {
21578           "type": "object",
21579           "properties": {
21580             "entities": {
21581               "type": "array",
21582               "items": {
21583                 "$ref": "#/definitions/EntityStatusArgs"
21584               }
21585             }
21586           },
21587           "additionalProperties": false,
21588           "required": [
21589             "entities"
21590           ]
21591         },
21592         "StringResult": {
21593           "type": "object",
21594           "properties": {
21595             "error": {
21596               "$ref": "#/definitions/Error"
21597             },
21598             "result": {
21599               "type": "string"
21600             }
21601           },
21602           "additionalProperties": false,
21603           "required": [
21604             "result"
21605           ]
21606         },
21607         "StringResults": {
21608           "type": "object",
21609           "properties": {
21610             "results": {
21611               "type": "array",
21612               "items": {
21613                 "$ref": "#/definitions/StringResult"
21614               }
21615             }
21616           },
21617           "additionalProperties": false,
21618           "required": [
21619             "results"
21620           ]
21621         },
21622         "StringsWatchResult": {
21623           "type": "object",
21624           "properties": {
21625             "changes": {
21626               "type": "array",
21627               "items": {
21628                 "type": "string"
21629               }
21630             },
21631             "error": {
21632               "$ref": "#/definitions/Error"
21633             },
21634             "watcher-id": {
21635               "type": "string"
21636             }
21637           },
21638           "additionalProperties": false,
21639           "required": [
21640             "watcher-id"
21641           ]
21642         },
21643         "StringsWatchResults": {
21644           "type": "object",
21645           "properties": {
21646             "results": {
21647               "type": "array",
21648               "items": {
21649                 "$ref": "#/definitions/StringsWatchResult"
21650               }
21651             }
21652           },
21653           "additionalProperties": false,
21654           "required": [
21655             "results"
21656           ]
21657         },
21658         "Volume": {
21659           "type": "object",
21660           "properties": {
21661             "info": {
21662               "$ref": "#/definitions/VolumeInfo"
21663             },
21664             "volume-tag": {
21665               "type": "string"
21666             }
21667           },
21668           "additionalProperties": false,
21669           "required": [
21670             "volume-tag",
21671             "info"
21672           ]
21673         },
21674         "VolumeAttachment": {
21675           "type": "object",
21676           "properties": {
21677             "info": {
21678               "$ref": "#/definitions/VolumeAttachmentInfo"
21679             },
21680             "machine-tag": {
21681               "type": "string"
21682             },
21683             "volume-tag": {
21684               "type": "string"
21685             }
21686           },
21687           "additionalProperties": false,
21688           "required": [
21689             "volume-tag",
21690             "machine-tag",
21691             "info"
21692           ]
21693         },
21694         "VolumeAttachmentInfo": {
21695           "type": "object",
21696           "properties": {
21697             "bus-address": {
21698               "type": "string"
21699             },
21700             "device-link": {
21701               "type": "string"
21702             },
21703             "device-name": {
21704               "type": "string"
21705             },
21706             "read-only": {
21707               "type": "boolean"
21708             }
21709           },
21710           "additionalProperties": false
21711         },
21712         "VolumeAttachmentParams": {
21713           "type": "object",
21714           "properties": {
21715             "instance-id": {
21716               "type": "string"
21717             },
21718             "machine-tag": {
21719               "type": "string"
21720             },
21721             "provider": {
21722               "type": "string"
21723             },
21724             "read-only": {
21725               "type": "boolean"
21726             },
21727             "volume-id": {
21728               "type": "string"
21729             },
21730             "volume-tag": {
21731               "type": "string"
21732             }
21733           },
21734           "additionalProperties": false,
21735           "required": [
21736             "volume-tag",
21737             "machine-tag",
21738             "provider"
21739           ]
21740         },
21741         "VolumeAttachmentParamsResult": {
21742           "type": "object",
21743           "properties": {
21744             "error": {
21745               "$ref": "#/definitions/Error"
21746             },
21747             "result": {
21748               "$ref": "#/definitions/VolumeAttachmentParams"
21749             }
21750           },
21751           "additionalProperties": false,
21752           "required": [
21753             "result"
21754           ]
21755         },
21756         "VolumeAttachmentParamsResults": {
21757           "type": "object",
21758           "properties": {
21759             "results": {
21760               "type": "array",
21761               "items": {
21762                 "$ref": "#/definitions/VolumeAttachmentParamsResult"
21763               }
21764             }
21765           },
21766           "additionalProperties": false
21767         },
21768         "VolumeAttachmentResult": {
21769           "type": "object",
21770           "properties": {
21771             "error": {
21772               "$ref": "#/definitions/Error"
21773             },
21774             "result": {
21775               "$ref": "#/definitions/VolumeAttachment"
21776             }
21777           },
21778           "additionalProperties": false,
21779           "required": [
21780             "result"
21781           ]
21782         },
21783         "VolumeAttachmentResults": {
21784           "type": "object",
21785           "properties": {
21786             "results": {
21787               "type": "array",
21788               "items": {
21789                 "$ref": "#/definitions/VolumeAttachmentResult"
21790               }
21791             }
21792           },
21793           "additionalProperties": false
21794         },
21795         "VolumeAttachments": {
21796           "type": "object",
21797           "properties": {
21798             "volume-attachments": {
21799               "type": "array",
21800               "items": {
21801                 "$ref": "#/definitions/VolumeAttachment"
21802               }
21803             }
21804           },
21805           "additionalProperties": false,
21806           "required": [
21807             "volume-attachments"
21808           ]
21809         },
21810         "VolumeInfo": {
21811           "type": "object",
21812           "properties": {
21813             "hardware-id": {
21814               "type": "string"
21815             },
21816             "persistent": {
21817               "type": "boolean"
21818             },
21819             "pool": {
21820               "type": "string"
21821             },
21822             "size": {
21823               "type": "integer"
21824             },
21825             "volume-id": {
21826               "type": "string"
21827             },
21828             "wwn": {
21829               "type": "string"
21830             }
21831           },
21832           "additionalProperties": false,
21833           "required": [
21834             "volume-id",
21835             "size",
21836             "persistent"
21837           ]
21838         },
21839         "VolumeParams": {
21840           "type": "object",
21841           "properties": {
21842             "attachment": {
21843               "$ref": "#/definitions/VolumeAttachmentParams"
21844             },
21845             "attributes": {
21846               "type": "object",
21847               "patternProperties": {
21848                 ".*": {
21849                   "type": "object",
21850                   "additionalProperties": true
21851                 }
21852               }
21853             },
21854             "provider": {
21855               "type": "string"
21856             },
21857             "size": {
21858               "type": "integer"
21859             },
21860             "tags": {
21861               "type": "object",
21862               "patternProperties": {
21863                 ".*": {
21864                   "type": "string"
21865                 }
21866               }
21867             },
21868             "volume-tag": {
21869               "type": "string"
21870             }
21871           },
21872           "additionalProperties": false,
21873           "required": [
21874             "volume-tag",
21875             "size",
21876             "provider"
21877           ]
21878         },
21879         "VolumeParamsResult": {
21880           "type": "object",
21881           "properties": {
21882             "error": {
21883               "$ref": "#/definitions/Error"
21884             },
21885             "result": {
21886               "$ref": "#/definitions/VolumeParams"
21887             }
21888           },
21889           "additionalProperties": false,
21890           "required": [
21891             "result"
21892           ]
21893         },
21894         "VolumeParamsResults": {
21895           "type": "object",
21896           "properties": {
21897             "results": {
21898               "type": "array",
21899               "items": {
21900                 "$ref": "#/definitions/VolumeParamsResult"
21901               }
21902             }
21903           },
21904           "additionalProperties": false
21905         },
21906         "VolumeResult": {
21907           "type": "object",
21908           "properties": {
21909             "error": {
21910               "$ref": "#/definitions/Error"
21911             },
21912             "result": {
21913               "$ref": "#/definitions/Volume"
21914             }
21915           },
21916           "additionalProperties": false,
21917           "required": [
21918             "result"
21919           ]
21920         },
21921         "VolumeResults": {
21922           "type": "object",
21923           "properties": {
21924             "results": {
21925               "type": "array",
21926               "items": {
21927                 "$ref": "#/definitions/VolumeResult"
21928               }
21929             }
21930           },
21931           "additionalProperties": false
21932         },
21933         "Volumes": {
21934           "type": "object",
21935           "properties": {
21936             "volumes": {
21937               "type": "array",
21938               "items": {
21939                 "$ref": "#/definitions/Volume"
21940               }
21941             }
21942           },
21943           "additionalProperties": false,
21944           "required": [
21945             "volumes"
21946           ]
21947         }
21948       }
21949     }
21950   },
21951   {
21952     "Name": "StringsWatcher",
21953     "Version": 1,
21954     "Schema": {
21955       "type": "object",
21956       "properties": {
21957         "Next": {
21958           "type": "object",
21959           "properties": {
21960             "Result": {
21961               "$ref": "#/definitions/StringsWatchResult"
21962             }
21963           }
21964         },
21965         "Stop": {
21966           "type": "object"
21967         }
21968       },
21969       "definitions": {
21970         "Error": {
21971           "type": "object",
21972           "properties": {
21973             "code": {
21974               "type": "string"
21975             },
21976             "info": {
21977               "$ref": "#/definitions/ErrorInfo"
21978             },
21979             "message": {
21980               "type": "string"
21981             }
21982           },
21983           "additionalProperties": false,
21984           "required": [
21985             "message",
21986             "code"
21987           ]
21988         },
21989         "ErrorInfo": {
21990           "type": "object",
21991           "properties": {
21992             "macaroon": {
21993               "$ref": "#/definitions/Macaroon"
21994             },
21995             "macaroon-path": {
21996               "type": "string"
21997             }
21998           },
21999           "additionalProperties": false
22000         },
22001         "Macaroon": {
22002           "type": "object",
22003           "additionalProperties": false
22004         },
22005         "StringsWatchResult": {
22006           "type": "object",
22007           "properties": {
22008             "changes": {
22009               "type": "array",
22010               "items": {
22011                 "type": "string"
22012               }
22013             },
22014             "error": {
22015               "$ref": "#/definitions/Error"
22016             },
22017             "watcher-id": {
22018               "type": "string"
22019             }
22020           },
22021           "additionalProperties": false,
22022           "required": [
22023             "watcher-id"
22024           ]
22025         }
22026       }
22027     }
22028   },
22029   {
22030     "Name": "Subnets",
22031     "Version": 2,
22032     "Schema": {
22033       "type": "object",
22034       "properties": {
22035         "AddSubnets": {
22036           "type": "object",
22037           "properties": {
22038             "Params": {
22039               "$ref": "#/definitions/AddSubnetsParams"
22040             },
22041             "Result": {
22042               "$ref": "#/definitions/ErrorResults"
22043             }
22044           }
22045         },
22046         "AllSpaces": {
22047           "type": "object",
22048           "properties": {
22049             "Result": {
22050               "$ref": "#/definitions/SpaceResults"
22051             }
22052           }
22053         },
22054         "AllZones": {
22055           "type": "object",
22056           "properties": {
22057             "Result": {
22058               "$ref": "#/definitions/ZoneResults"
22059             }
22060           }
22061         },
22062         "ListSubnets": {
22063           "type": "object",
22064           "properties": {
22065             "Params": {
22066               "$ref": "#/definitions/SubnetsFilters"
22067             },
22068             "Result": {
22069               "$ref": "#/definitions/ListSubnetsResults"
22070             }
22071           }
22072         }
22073       },
22074       "definitions": {
22075         "AddSubnetParams": {
22076           "type": "object",
22077           "properties": {
22078             "provider-network-id": {
22079               "type": "string"
22080             },
22081             "space-tag": {
22082               "type": "string"
22083             },
22084             "subnet-provider-id": {
22085               "type": "string"
22086             },
22087             "subnet-tag": {
22088               "type": "string"
22089             },
22090             "vlan-tag": {
22091               "type": "integer"
22092             },
22093             "zones": {
22094               "type": "array",
22095               "items": {
22096                 "type": "string"
22097               }
22098             }
22099           },
22100           "additionalProperties": false,
22101           "required": [
22102             "space-tag"
22103           ]
22104         },
22105         "AddSubnetsParams": {
22106           "type": "object",
22107           "properties": {
22108             "subnets": {
22109               "type": "array",
22110               "items": {
22111                 "$ref": "#/definitions/AddSubnetParams"
22112               }
22113             }
22114           },
22115           "additionalProperties": false,
22116           "required": [
22117             "subnets"
22118           ]
22119         },
22120         "Error": {
22121           "type": "object",
22122           "properties": {
22123             "code": {
22124               "type": "string"
22125             },
22126             "info": {
22127               "$ref": "#/definitions/ErrorInfo"
22128             },
22129             "message": {
22130               "type": "string"
22131             }
22132           },
22133           "additionalProperties": false,
22134           "required": [
22135             "message",
22136             "code"
22137           ]
22138         },
22139         "ErrorInfo": {
22140           "type": "object",
22141           "properties": {
22142             "macaroon": {
22143               "$ref": "#/definitions/Macaroon"
22144             },
22145             "macaroon-path": {
22146               "type": "string"
22147             }
22148           },
22149           "additionalProperties": false
22150         },
22151         "ErrorResult": {
22152           "type": "object",
22153           "properties": {
22154             "error": {
22155               "$ref": "#/definitions/Error"
22156             }
22157           },
22158           "additionalProperties": false
22159         },
22160         "ErrorResults": {
22161           "type": "object",
22162           "properties": {
22163             "results": {
22164               "type": "array",
22165               "items": {
22166                 "$ref": "#/definitions/ErrorResult"
22167               }
22168             }
22169           },
22170           "additionalProperties": false,
22171           "required": [
22172             "results"
22173           ]
22174         },
22175         "ListSubnetsResults": {
22176           "type": "object",
22177           "properties": {
22178             "results": {
22179               "type": "array",
22180               "items": {
22181                 "$ref": "#/definitions/Subnet"
22182               }
22183             }
22184           },
22185           "additionalProperties": false,
22186           "required": [
22187             "results"
22188           ]
22189         },
22190         "Macaroon": {
22191           "type": "object",
22192           "additionalProperties": false
22193         },
22194         "SpaceResult": {
22195           "type": "object",
22196           "properties": {
22197             "error": {
22198               "$ref": "#/definitions/Error"
22199             },
22200             "tag": {
22201               "type": "string"
22202             }
22203           },
22204           "additionalProperties": false,
22205           "required": [
22206             "tag"
22207           ]
22208         },
22209         "SpaceResults": {
22210           "type": "object",
22211           "properties": {
22212             "results": {
22213               "type": "array",
22214               "items": {
22215                 "$ref": "#/definitions/SpaceResult"
22216               }
22217             }
22218           },
22219           "additionalProperties": false,
22220           "required": [
22221             "results"
22222           ]
22223         },
22224         "Subnet": {
22225           "type": "object",
22226           "properties": {
22227             "cidr": {
22228               "type": "string"
22229             },
22230             "life": {
22231               "type": "string"
22232             },
22233             "provider-id": {
22234               "type": "string"
22235             },
22236             "provider-network-id": {
22237               "type": "string"
22238             },
22239             "provider-space-id": {
22240               "type": "string"
22241             },
22242             "space-tag": {
22243               "type": "string"
22244             },
22245             "status": {
22246               "type": "string"
22247             },
22248             "vlan-tag": {
22249               "type": "integer"
22250             },
22251             "zones": {
22252               "type": "array",
22253               "items": {
22254                 "type": "string"
22255               }
22256             }
22257           },
22258           "additionalProperties": false,
22259           "required": [
22260             "cidr",
22261             "vlan-tag",
22262             "life",
22263             "space-tag",
22264             "zones"
22265           ]
22266         },
22267         "SubnetsFilters": {
22268           "type": "object",
22269           "properties": {
22270             "space-tag": {
22271               "type": "string"
22272             },
22273             "zone": {
22274               "type": "string"
22275             }
22276           },
22277           "additionalProperties": false
22278         },
22279         "ZoneResult": {
22280           "type": "object",
22281           "properties": {
22282             "available": {
22283               "type": "boolean"
22284             },
22285             "error": {
22286               "$ref": "#/definitions/Error"
22287             },
22288             "name": {
22289               "type": "string"
22290             }
22291           },
22292           "additionalProperties": false,
22293           "required": [
22294             "name",
22295             "available"
22296           ]
22297         },
22298         "ZoneResults": {
22299           "type": "object",
22300           "properties": {
22301             "results": {
22302               "type": "array",
22303               "items": {
22304                 "$ref": "#/definitions/ZoneResult"
22305               }
22306             }
22307           },
22308           "additionalProperties": false,
22309           "required": [
22310             "results"
22311           ]
22312         }
22313       }
22314     }
22315   },
22316   {
22317     "Name": "Undertaker",
22318     "Version": 1,
22319     "Schema": {
22320       "type": "object",
22321       "properties": {
22322         "ModelConfig": {
22323           "type": "object",
22324           "properties": {
22325             "Result": {
22326               "$ref": "#/definitions/ModelConfigResult"
22327             }
22328           }
22329         },
22330         "ModelInfo": {
22331           "type": "object",
22332           "properties": {
22333             "Result": {
22334               "$ref": "#/definitions/UndertakerModelInfoResult"
22335             }
22336           }
22337         },
22338         "ProcessDyingModel": {
22339           "type": "object"
22340         },
22341         "RemoveModel": {
22342           "type": "object"
22343         },
22344         "SetStatus": {
22345           "type": "object",
22346           "properties": {
22347             "Params": {
22348               "$ref": "#/definitions/SetStatus"
22349             },
22350             "Result": {
22351               "$ref": "#/definitions/ErrorResults"
22352             }
22353           }
22354         },
22355         "UpdateStatus": {
22356           "type": "object",
22357           "properties": {
22358             "Params": {
22359               "$ref": "#/definitions/SetStatus"
22360             },
22361             "Result": {
22362               "$ref": "#/definitions/ErrorResults"
22363             }
22364           }
22365         },
22366         "WatchModelResources": {
22367           "type": "object",
22368           "properties": {
22369             "Result": {
22370               "$ref": "#/definitions/NotifyWatchResults"
22371             }
22372           }
22373         }
22374       },
22375       "definitions": {
22376         "EntityStatusArgs": {
22377           "type": "object",
22378           "properties": {
22379             "data": {
22380               "type": "object",
22381               "patternProperties": {
22382                 ".*": {
22383                   "type": "object",
22384                   "additionalProperties": true
22385                 }
22386               }
22387             },
22388             "info": {
22389               "type": "string"
22390             },
22391             "status": {
22392               "type": "string"
22393             },
22394             "tag": {
22395               "type": "string"
22396             }
22397           },
22398           "additionalProperties": false,
22399           "required": [
22400             "tag",
22401             "status",
22402             "info",
22403             "data"
22404           ]
22405         },
22406         "Error": {
22407           "type": "object",
22408           "properties": {
22409             "code": {
22410               "type": "string"
22411             },
22412             "info": {
22413               "$ref": "#/definitions/ErrorInfo"
22414             },
22415             "message": {
22416               "type": "string"
22417             }
22418           },
22419           "additionalProperties": false,
22420           "required": [
22421             "message",
22422             "code"
22423           ]
22424         },
22425         "ErrorInfo": {
22426           "type": "object",
22427           "properties": {
22428             "macaroon": {
22429               "$ref": "#/definitions/Macaroon"
22430             },
22431             "macaroon-path": {
22432               "type": "string"
22433             }
22434           },
22435           "additionalProperties": false
22436         },
22437         "ErrorResult": {
22438           "type": "object",
22439           "properties": {
22440             "error": {
22441               "$ref": "#/definitions/Error"
22442             }
22443           },
22444           "additionalProperties": false
22445         },
22446         "ErrorResults": {
22447           "type": "object",
22448           "properties": {
22449             "results": {
22450               "type": "array",
22451               "items": {
22452                 "$ref": "#/definitions/ErrorResult"
22453               }
22454             }
22455           },
22456           "additionalProperties": false,
22457           "required": [
22458             "results"
22459           ]
22460         },
22461         "Macaroon": {
22462           "type": "object",
22463           "additionalProperties": false
22464         },
22465         "ModelConfigResult": {
22466           "type": "object",
22467           "properties": {
22468             "config": {
22469               "type": "object",
22470               "patternProperties": {
22471                 ".*": {
22472                   "type": "object",
22473                   "additionalProperties": true
22474                 }
22475               }
22476             }
22477           },
22478           "additionalProperties": false,
22479           "required": [
22480             "config"
22481           ]
22482         },
22483         "NotifyWatchResult": {
22484           "type": "object",
22485           "properties": {
22486             "NotifyWatcherId": {
22487               "type": "string"
22488             },
22489             "error": {
22490               "$ref": "#/definitions/Error"
22491             }
22492           },
22493           "additionalProperties": false,
22494           "required": [
22495             "NotifyWatcherId"
22496           ]
22497         },
22498         "NotifyWatchResults": {
22499           "type": "object",
22500           "properties": {
22501             "results": {
22502               "type": "array",
22503               "items": {
22504                 "$ref": "#/definitions/NotifyWatchResult"
22505               }
22506             }
22507           },
22508           "additionalProperties": false,
22509           "required": [
22510             "results"
22511           ]
22512         },
22513         "SetStatus": {
22514           "type": "object",
22515           "properties": {
22516             "entities": {
22517               "type": "array",
22518               "items": {
22519                 "$ref": "#/definitions/EntityStatusArgs"
22520               }
22521             }
22522           },
22523           "additionalProperties": false,
22524           "required": [
22525             "entities"
22526           ]
22527         },
22528         "UndertakerModelInfo": {
22529           "type": "object",
22530           "properties": {
22531             "global-name": {
22532               "type": "string"
22533             },
22534             "is-system": {
22535               "type": "boolean"
22536             },
22537             "life": {
22538               "type": "string"
22539             },
22540             "name": {
22541               "type": "string"
22542             },
22543             "uuid": {
22544               "type": "string"
22545             }
22546           },
22547           "additionalProperties": false,
22548           "required": [
22549             "uuid",
22550             "name",
22551             "global-name",
22552             "is-system",
22553             "life"
22554           ]
22555         },
22556         "UndertakerModelInfoResult": {
22557           "type": "object",
22558           "properties": {
22559             "error": {
22560               "$ref": "#/definitions/Error"
22561             },
22562             "result": {
22563               "$ref": "#/definitions/UndertakerModelInfo"
22564             }
22565           },
22566           "additionalProperties": false,
22567           "required": [
22568             "result"
22569           ]
22570         }
22571       }
22572     }
22573   },
22574   {
22575     "Name": "UnitAssigner",
22576     "Version": 1,
22577     "Schema": {
22578       "type": "object",
22579       "properties": {
22580         "AssignUnits": {
22581           "type": "object",
22582           "properties": {
22583             "Params": {
22584               "$ref": "#/definitions/Entities"
22585             },
22586             "Result": {
22587               "$ref": "#/definitions/ErrorResults"
22588             }
22589           }
22590         },
22591         "SetAgentStatus": {
22592           "type": "object",
22593           "properties": {
22594             "Params": {
22595               "$ref": "#/definitions/SetStatus"
22596             },
22597             "Result": {
22598               "$ref": "#/definitions/ErrorResults"
22599             }
22600           }
22601         },
22602         "WatchUnitAssignments": {
22603           "type": "object",
22604           "properties": {
22605             "Result": {
22606               "$ref": "#/definitions/StringsWatchResult"
22607             }
22608           }
22609         }
22610       },
22611       "definitions": {
22612         "Entities": {
22613           "type": "object",
22614           "properties": {
22615             "entities": {
22616               "type": "array",
22617               "items": {
22618                 "$ref": "#/definitions/Entity"
22619               }
22620             }
22621           },
22622           "additionalProperties": false,
22623           "required": [
22624             "entities"
22625           ]
22626         },
22627         "Entity": {
22628           "type": "object",
22629           "properties": {
22630             "tag": {
22631               "type": "string"
22632             }
22633           },
22634           "additionalProperties": false,
22635           "required": [
22636             "tag"
22637           ]
22638         },
22639         "EntityStatusArgs": {
22640           "type": "object",
22641           "properties": {
22642             "data": {
22643               "type": "object",
22644               "patternProperties": {
22645                 ".*": {
22646                   "type": "object",
22647                   "additionalProperties": true
22648                 }
22649               }
22650             },
22651             "info": {
22652               "type": "string"
22653             },
22654             "status": {
22655               "type": "string"
22656             },
22657             "tag": {
22658               "type": "string"
22659             }
22660           },
22661           "additionalProperties": false,
22662           "required": [
22663             "tag",
22664             "status",
22665             "info",
22666             "data"
22667           ]
22668         },
22669         "Error": {
22670           "type": "object",
22671           "properties": {
22672             "code": {
22673               "type": "string"
22674             },
22675             "info": {
22676               "$ref": "#/definitions/ErrorInfo"
22677             },
22678             "message": {
22679               "type": "string"
22680             }
22681           },
22682           "additionalProperties": false,
22683           "required": [
22684             "message",
22685             "code"
22686           ]
22687         },
22688         "ErrorInfo": {
22689           "type": "object",
22690           "properties": {
22691             "macaroon": {
22692               "$ref": "#/definitions/Macaroon"
22693             },
22694             "macaroon-path": {
22695               "type": "string"
22696             }
22697           },
22698           "additionalProperties": false
22699         },
22700         "ErrorResult": {
22701           "type": "object",
22702           "properties": {
22703             "error": {
22704               "$ref": "#/definitions/Error"
22705             }
22706           },
22707           "additionalProperties": false
22708         },
22709         "ErrorResults": {
22710           "type": "object",
22711           "properties": {
22712             "results": {
22713               "type": "array",
22714               "items": {
22715                 "$ref": "#/definitions/ErrorResult"
22716               }
22717             }
22718           },
22719           "additionalProperties": false,
22720           "required": [
22721             "results"
22722           ]
22723         },
22724         "Macaroon": {
22725           "type": "object",
22726           "additionalProperties": false
22727         },
22728         "SetStatus": {
22729           "type": "object",
22730           "properties": {
22731             "entities": {
22732               "type": "array",
22733               "items": {
22734                 "$ref": "#/definitions/EntityStatusArgs"
22735               }
22736             }
22737           },
22738           "additionalProperties": false,
22739           "required": [
22740             "entities"
22741           ]
22742         },
22743         "StringsWatchResult": {
22744           "type": "object",
22745           "properties": {
22746             "changes": {
22747               "type": "array",
22748               "items": {
22749                 "type": "string"
22750               }
22751             },
22752             "error": {
22753               "$ref": "#/definitions/Error"
22754             },
22755             "watcher-id": {
22756               "type": "string"
22757             }
22758           },
22759           "additionalProperties": false,
22760           "required": [
22761             "watcher-id"
22762           ]
22763         }
22764       }
22765     }
22766   },
22767   {
22768     "Name": "Uniter",
22769     "Version": 5,
22770     "Schema": {
22771       "type": "object",
22772       "properties": {
22773         "APIAddresses": {
22774           "type": "object",
22775           "properties": {
22776             "Result": {
22777               "$ref": "#/definitions/StringsResult"
22778             }
22779           }
22780         },
22781         "APIHostPorts": {
22782           "type": "object",
22783           "properties": {
22784             "Result": {
22785               "$ref": "#/definitions/APIHostPortsResult"
22786             }
22787           }
22788         },
22789         "Actions": {
22790           "type": "object",
22791           "properties": {
22792             "Params": {
22793               "$ref": "#/definitions/Entities"
22794             },
22795             "Result": {
22796               "$ref": "#/definitions/ActionResults"
22797             }
22798           }
22799         },
22800         "AddMetricBatches": {
22801           "type": "object",
22802           "properties": {
22803             "Params": {
22804               "$ref": "#/definitions/MetricBatchParams"
22805             },
22806             "Result": {
22807               "$ref": "#/definitions/ErrorResults"
22808             }
22809           }
22810         },
22811         "AddUnitStorage": {
22812           "type": "object",
22813           "properties": {
22814             "Params": {
22815               "$ref": "#/definitions/StoragesAddParams"
22816             },
22817             "Result": {
22818               "$ref": "#/definitions/ErrorResults"
22819             }
22820           }
22821         },
22822         "AllMachinePorts": {
22823           "type": "object",
22824           "properties": {
22825             "Params": {
22826               "$ref": "#/definitions/Entities"
22827             },
22828             "Result": {
22829               "$ref": "#/definitions/MachinePortsResults"
22830             }
22831           }
22832         },
22833         "ApplicationStatus": {
22834           "type": "object",
22835           "properties": {
22836             "Params": {
22837               "$ref": "#/definitions/Entities"
22838             },
22839             "Result": {
22840               "$ref": "#/definitions/ApplicationStatusResults"
22841             }
22842           }
22843         },
22844         "AssignedMachine": {
22845           "type": "object",
22846           "properties": {
22847             "Params": {
22848               "$ref": "#/definitions/Entities"
22849             },
22850             "Result": {
22851               "$ref": "#/definitions/StringResults"
22852             }
22853           }
22854         },
22855         "AvailabilityZone": {
22856           "type": "object",
22857           "properties": {
22858             "Params": {
22859               "$ref": "#/definitions/Entities"
22860             },
22861             "Result": {
22862               "$ref": "#/definitions/StringResults"
22863             }
22864           }
22865         },
22866         "BeginActions": {
22867           "type": "object",
22868           "properties": {
22869             "Params": {
22870               "$ref": "#/definitions/Entities"
22871             },
22872             "Result": {
22873               "$ref": "#/definitions/ErrorResults"
22874             }
22875           }
22876         },
22877         "CACert": {
22878           "type": "object",
22879           "properties": {
22880             "Result": {
22881               "$ref": "#/definitions/BytesResult"
22882             }
22883           }
22884         },
22885         "CharmArchiveSha256": {
22886           "type": "object",
22887           "properties": {
22888             "Params": {
22889               "$ref": "#/definitions/CharmURLs"
22890             },
22891             "Result": {
22892               "$ref": "#/definitions/StringResults"
22893             }
22894           }
22895         },
22896         "CharmModifiedVersion": {
22897           "type": "object",
22898           "properties": {
22899             "Params": {
22900               "$ref": "#/definitions/Entities"
22901             },
22902             "Result": {
22903               "$ref": "#/definitions/IntResults"
22904             }
22905           }
22906         },
22907         "CharmURL": {
22908           "type": "object",
22909           "properties": {
22910             "Params": {
22911               "$ref": "#/definitions/Entities"
22912             },
22913             "Result": {
22914               "$ref": "#/definitions/StringBoolResults"
22915             }
22916           }
22917         },
22918         "ClearResolved": {
22919           "type": "object",
22920           "properties": {
22921             "Params": {
22922               "$ref": "#/definitions/Entities"
22923             },
22924             "Result": {
22925               "$ref": "#/definitions/ErrorResults"
22926             }
22927           }
22928         },
22929         "ClosePorts": {
22930           "type": "object",
22931           "properties": {
22932             "Params": {
22933               "$ref": "#/definitions/EntitiesPortRanges"
22934             },
22935             "Result": {
22936               "$ref": "#/definitions/ErrorResults"
22937             }
22938           }
22939         },
22940         "ConfigSettings": {
22941           "type": "object",
22942           "properties": {
22943             "Params": {
22944               "$ref": "#/definitions/Entities"
22945             },
22946             "Result": {
22947               "$ref": "#/definitions/ConfigSettingsResults"
22948             }
22949           }
22950         },
22951         "CurrentModel": {
22952           "type": "object",
22953           "properties": {
22954             "Result": {
22955               "$ref": "#/definitions/ModelResult"
22956             }
22957           }
22958         },
22959         "Destroy": {
22960           "type": "object",
22961           "properties": {
22962             "Params": {
22963               "$ref": "#/definitions/Entities"
22964             },
22965             "Result": {
22966               "$ref": "#/definitions/ErrorResults"
22967             }
22968           }
22969         },
22970         "DestroyAllSubordinates": {
22971           "type": "object",
22972           "properties": {
22973             "Params": {
22974               "$ref": "#/definitions/Entities"
22975             },
22976             "Result": {
22977               "$ref": "#/definitions/ErrorResults"
22978             }
22979           }
22980         },
22981         "DestroyUnitStorageAttachments": {
22982           "type": "object",
22983           "properties": {
22984             "Params": {
22985               "$ref": "#/definitions/Entities"
22986             },
22987             "Result": {
22988               "$ref": "#/definitions/ErrorResults"
22989             }
22990           }
22991         },
22992         "EnsureDead": {
22993           "type": "object",
22994           "properties": {
22995             "Params": {
22996               "$ref": "#/definitions/Entities"
22997             },
22998             "Result": {
22999               "$ref": "#/definitions/ErrorResults"
23000             }
23001           }
23002         },
23003         "EnterScope": {
23004           "type": "object",
23005           "properties": {
23006             "Params": {
23007               "$ref": "#/definitions/RelationUnits"
23008             },
23009             "Result": {
23010               "$ref": "#/definitions/ErrorResults"
23011             }
23012           }
23013         },
23014         "FinishActions": {
23015           "type": "object",
23016           "properties": {
23017             "Params": {
23018               "$ref": "#/definitions/ActionExecutionResults"
23019             },
23020             "Result": {
23021               "$ref": "#/definitions/ErrorResults"
23022             }
23023           }
23024         },
23025         "GetMeterStatus": {
23026           "type": "object",
23027           "properties": {
23028             "Params": {
23029               "$ref": "#/definitions/Entities"
23030             },
23031             "Result": {
23032               "$ref": "#/definitions/MeterStatusResults"
23033             }
23034           }
23035         },
23036         "GetPrincipal": {
23037           "type": "object",
23038           "properties": {
23039             "Params": {
23040               "$ref": "#/definitions/Entities"
23041             },
23042             "Result": {
23043               "$ref": "#/definitions/StringBoolResults"
23044             }
23045           }
23046         },
23047         "HasSubordinates": {
23048           "type": "object",
23049           "properties": {
23050             "Params": {
23051               "$ref": "#/definitions/Entities"
23052             },
23053             "Result": {
23054               "$ref": "#/definitions/BoolResults"
23055             }
23056           }
23057         },
23058         "JoinedRelations": {
23059           "type": "object",
23060           "properties": {
23061             "Params": {
23062               "$ref": "#/definitions/Entities"
23063             },
23064             "Result": {
23065               "$ref": "#/definitions/StringsResults"
23066             }
23067           }
23068         },
23069         "LeaveScope": {
23070           "type": "object",
23071           "properties": {
23072             "Params": {
23073               "$ref": "#/definitions/RelationUnits"
23074             },
23075             "Result": {
23076               "$ref": "#/definitions/ErrorResults"
23077             }
23078           }
23079         },
23080         "Life": {
23081           "type": "object",
23082           "properties": {
23083             "Params": {
23084               "$ref": "#/definitions/Entities"
23085             },
23086             "Result": {
23087               "$ref": "#/definitions/LifeResults"
23088             }
23089           }
23090         },
23091         "Merge": {
23092           "type": "object",
23093           "properties": {
23094             "Params": {
23095               "$ref": "#/definitions/MergeLeadershipSettingsBulkParams"
23096             },
23097             "Result": {
23098               "$ref": "#/definitions/ErrorResults"
23099             }
23100           }
23101         },
23102         "ModelConfig": {
23103           "type": "object",
23104           "properties": {
23105             "Result": {
23106               "$ref": "#/definitions/ModelConfigResult"
23107             }
23108           }
23109         },
23110         "ModelUUID": {
23111           "type": "object",
23112           "properties": {
23113             "Result": {
23114               "$ref": "#/definitions/StringResult"
23115             }
23116           }
23117         },
23118         "NetworkInfo": {
23119           "type": "object",
23120           "properties": {
23121             "Params": {
23122               "$ref": "#/definitions/NetworkInfoParams"
23123             },
23124             "Result": {
23125               "$ref": "#/definitions/NetworkInfoResults"
23126             }
23127           }
23128         },
23129         "OpenPorts": {
23130           "type": "object",
23131           "properties": {
23132             "Params": {
23133               "$ref": "#/definitions/EntitiesPortRanges"
23134             },
23135             "Result": {
23136               "$ref": "#/definitions/ErrorResults"
23137             }
23138           }
23139         },
23140         "PrivateAddress": {
23141           "type": "object",
23142           "properties": {
23143             "Params": {
23144               "$ref": "#/definitions/Entities"
23145             },
23146             "Result": {
23147               "$ref": "#/definitions/StringResults"
23148             }
23149           }
23150         },
23151         "ProviderType": {
23152           "type": "object",
23153           "properties": {
23154             "Result": {
23155               "$ref": "#/definitions/StringResult"
23156             }
23157           }
23158         },
23159         "PublicAddress": {
23160           "type": "object",
23161           "properties": {
23162             "Params": {
23163               "$ref": "#/definitions/Entities"
23164             },
23165             "Result": {
23166               "$ref": "#/definitions/StringResults"
23167             }
23168           }
23169         },
23170         "Read": {
23171           "type": "object",
23172           "properties": {
23173             "Params": {
23174               "$ref": "#/definitions/Entities"
23175             },
23176             "Result": {
23177               "$ref": "#/definitions/GetLeadershipSettingsBulkResults"
23178             }
23179           }
23180         },
23181         "ReadRemoteSettings": {
23182           "type": "object",
23183           "properties": {
23184             "Params": {
23185               "$ref": "#/definitions/RelationUnitPairs"
23186             },
23187             "Result": {
23188               "$ref": "#/definitions/SettingsResults"
23189             }
23190           }
23191         },
23192         "ReadSettings": {
23193           "type": "object",
23194           "properties": {
23195             "Params": {
23196               "$ref": "#/definitions/RelationUnits"
23197             },
23198             "Result": {
23199               "$ref": "#/definitions/SettingsResults"
23200             }
23201           }
23202         },
23203         "Relation": {
23204           "type": "object",
23205           "properties": {
23206             "Params": {
23207               "$ref": "#/definitions/RelationUnits"
23208             },
23209             "Result": {
23210               "$ref": "#/definitions/RelationResults"
23211             }
23212           }
23213         },
23214         "RelationById": {
23215           "type": "object",
23216           "properties": {
23217             "Params": {
23218               "$ref": "#/definitions/RelationIds"
23219             },
23220             "Result": {
23221               "$ref": "#/definitions/RelationResults"
23222             }
23223           }
23224         },
23225         "RemoveStorageAttachments": {
23226           "type": "object",
23227           "properties": {
23228             "Params": {
23229               "$ref": "#/definitions/StorageAttachmentIds"
23230             },
23231             "Result": {
23232               "$ref": "#/definitions/ErrorResults"
23233             }
23234           }
23235         },
23236         "RequestReboot": {
23237           "type": "object",
23238           "properties": {
23239             "Params": {
23240               "$ref": "#/definitions/Entities"
23241             },
23242             "Result": {
23243               "$ref": "#/definitions/ErrorResults"
23244             }
23245           }
23246         },
23247         "Resolved": {
23248           "type": "object",
23249           "properties": {
23250             "Params": {
23251               "$ref": "#/definitions/Entities"
23252             },
23253             "Result": {
23254               "$ref": "#/definitions/ResolvedModeResults"
23255             }
23256           }
23257         },
23258         "SLALevel": {
23259           "type": "object",
23260           "properties": {
23261             "Result": {
23262               "$ref": "#/definitions/StringResult"
23263             }
23264           }
23265         },
23266         "SetAgentStatus": {
23267           "type": "object",
23268           "properties": {
23269             "Params": {
23270               "$ref": "#/definitions/SetStatus"
23271             },
23272             "Result": {
23273               "$ref": "#/definitions/ErrorResults"
23274             }
23275           }
23276         },
23277         "SetApplicationStatus": {
23278           "type": "object",
23279           "properties": {
23280             "Params": {
23281               "$ref": "#/definitions/SetStatus"
23282             },
23283             "Result": {
23284               "$ref": "#/definitions/ErrorResults"
23285             }
23286           }
23287         },
23288         "SetCharmURL": {
23289           "type": "object",
23290           "properties": {
23291             "Params": {
23292               "$ref": "#/definitions/EntitiesCharmURL"
23293             },
23294             "Result": {
23295               "$ref": "#/definitions/ErrorResults"
23296             }
23297           }
23298         },
23299         "SetStatus": {
23300           "type": "object",
23301           "properties": {
23302             "Params": {
23303               "$ref": "#/definitions/SetStatus"
23304             },
23305             "Result": {
23306               "$ref": "#/definitions/ErrorResults"
23307             }
23308           }
23309         },
23310         "SetUnitStatus": {
23311           "type": "object",
23312           "properties": {
23313             "Params": {
23314               "$ref": "#/definitions/SetStatus"
23315             },
23316             "Result": {
23317               "$ref": "#/definitions/ErrorResults"
23318             }
23319           }
23320         },
23321         "SetWorkloadVersion": {
23322           "type": "object",
23323           "properties": {
23324             "Params": {
23325               "$ref": "#/definitions/EntityWorkloadVersions"
23326             },
23327             "Result": {
23328               "$ref": "#/definitions/ErrorResults"
23329             }
23330           }
23331         },
23332         "StorageAttachmentLife": {
23333           "type": "object",
23334           "properties": {
23335             "Params": {
23336               "$ref": "#/definitions/StorageAttachmentIds"
23337             },
23338             "Result": {
23339               "$ref": "#/definitions/LifeResults"
23340             }
23341           }
23342         },
23343         "StorageAttachments": {
23344           "type": "object",
23345           "properties": {
23346             "Params": {
23347               "$ref": "#/definitions/StorageAttachmentIds"
23348             },
23349             "Result": {
23350               "$ref": "#/definitions/StorageAttachmentResults"
23351             }
23352           }
23353         },
23354         "UnitStatus": {
23355           "type": "object",
23356           "properties": {
23357             "Params": {
23358               "$ref": "#/definitions/Entities"
23359             },
23360             "Result": {
23361               "$ref": "#/definitions/StatusResults"
23362             }
23363           }
23364         },
23365         "UnitStorageAttachments": {
23366           "type": "object",
23367           "properties": {
23368             "Params": {
23369               "$ref": "#/definitions/Entities"
23370             },
23371             "Result": {
23372               "$ref": "#/definitions/StorageAttachmentIdsResults"
23373             }
23374           }
23375         },
23376         "UpdateSettings": {
23377           "type": "object",
23378           "properties": {
23379             "Params": {
23380               "$ref": "#/definitions/RelationUnitsSettings"
23381             },
23382             "Result": {
23383               "$ref": "#/definitions/ErrorResults"
23384             }
23385           }
23386         },
23387         "Watch": {
23388           "type": "object",
23389           "properties": {
23390             "Params": {
23391               "$ref": "#/definitions/Entities"
23392             },
23393             "Result": {
23394               "$ref": "#/definitions/NotifyWatchResults"
23395             }
23396           }
23397         },
23398         "WatchAPIHostPorts": {
23399           "type": "object",
23400           "properties": {
23401             "Result": {
23402               "$ref": "#/definitions/NotifyWatchResult"
23403             }
23404           }
23405         },
23406         "WatchActionNotifications": {
23407           "type": "object",
23408           "properties": {
23409             "Params": {
23410               "$ref": "#/definitions/Entities"
23411             },
23412             "Result": {
23413               "$ref": "#/definitions/StringsWatchResults"
23414             }
23415           }
23416         },
23417         "WatchConfigSettings": {
23418           "type": "object",
23419           "properties": {
23420             "Params": {
23421               "$ref": "#/definitions/Entities"
23422             },
23423             "Result": {
23424               "$ref": "#/definitions/NotifyWatchResults"
23425             }
23426           }
23427         },
23428         "WatchForModelConfigChanges": {
23429           "type": "object",
23430           "properties": {
23431             "Result": {
23432               "$ref": "#/definitions/NotifyWatchResult"
23433             }
23434           }
23435         },
23436         "WatchLeadershipSettings": {
23437           "type": "object",
23438           "properties": {
23439             "Params": {
23440               "$ref": "#/definitions/Entities"
23441             },
23442             "Result": {
23443               "$ref": "#/definitions/NotifyWatchResults"
23444             }
23445           }
23446         },
23447         "WatchMeterStatus": {
23448           "type": "object",
23449           "properties": {
23450             "Params": {
23451               "$ref": "#/definitions/Entities"
23452             },
23453             "Result": {
23454               "$ref": "#/definitions/NotifyWatchResults"
23455             }
23456           }
23457         },
23458         "WatchRelationUnits": {
23459           "type": "object",
23460           "properties": {
23461             "Params": {
23462               "$ref": "#/definitions/RelationUnits"
23463             },
23464             "Result": {
23465               "$ref": "#/definitions/RelationUnitsWatchResults"
23466             }
23467           }
23468         },
23469         "WatchStorageAttachments": {
23470           "type": "object",
23471           "properties": {
23472             "Params": {
23473               "$ref": "#/definitions/StorageAttachmentIds"
23474             },
23475             "Result": {
23476               "$ref": "#/definitions/NotifyWatchResults"
23477             }
23478           }
23479         },
23480         "WatchUnitAddresses": {
23481           "type": "object",
23482           "properties": {
23483             "Params": {
23484               "$ref": "#/definitions/Entities"
23485             },
23486             "Result": {
23487               "$ref": "#/definitions/NotifyWatchResults"
23488             }
23489           }
23490         },
23491         "WatchUnitRelations": {
23492           "type": "object",
23493           "properties": {
23494             "Params": {
23495               "$ref": "#/definitions/Entities"
23496             },
23497             "Result": {
23498               "$ref": "#/definitions/StringsWatchResults"
23499             }
23500           }
23501         },
23502         "WatchUnitStorageAttachments": {
23503           "type": "object",
23504           "properties": {
23505             "Params": {
23506               "$ref": "#/definitions/Entities"
23507             },
23508             "Result": {
23509               "$ref": "#/definitions/StringsWatchResults"
23510             }
23511           }
23512         },
23513         "WorkloadVersion": {
23514           "type": "object",
23515           "properties": {
23516             "Params": {
23517               "$ref": "#/definitions/Entities"
23518             },
23519             "Result": {
23520               "$ref": "#/definitions/StringResults"
23521             }
23522           }
23523         }
23524       },
23525       "definitions": {
23526         "APIHostPortsResult": {
23527           "type": "object",
23528           "properties": {
23529             "servers": {
23530               "type": "array",
23531               "items": {
23532                 "type": "array",
23533                 "items": {
23534                   "$ref": "#/definitions/HostPort"
23535                 }
23536               }
23537             }
23538           },
23539           "additionalProperties": false,
23540           "required": [
23541             "servers"
23542           ]
23543         },
23544         "Action": {
23545           "type": "object",
23546           "properties": {
23547             "name": {
23548               "type": "string"
23549             },
23550             "parameters": {
23551               "type": "object",
23552               "patternProperties": {
23553                 ".*": {
23554                   "type": "object",
23555                   "additionalProperties": true
23556                 }
23557               }
23558             },
23559             "receiver": {
23560               "type": "string"
23561             },
23562             "tag": {
23563               "type": "string"
23564             }
23565           },
23566           "additionalProperties": false,
23567           "required": [
23568             "tag",
23569             "receiver",
23570             "name"
23571           ]
23572         },
23573         "ActionExecutionResult": {
23574           "type": "object",
23575           "properties": {
23576             "action-tag": {
23577               "type": "string"
23578             },
23579             "message": {
23580               "type": "string"
23581             },
23582             "results": {
23583               "type": "object",
23584               "patternProperties": {
23585                 ".*": {
23586                   "type": "object",
23587                   "additionalProperties": true
23588                 }
23589               }
23590             },
23591             "status": {
23592               "type": "string"
23593             }
23594           },
23595           "additionalProperties": false,
23596           "required": [
23597             "action-tag",
23598             "status"
23599           ]
23600         },
23601         "ActionExecutionResults": {
23602           "type": "object",
23603           "properties": {
23604             "results": {
23605               "type": "array",
23606               "items": {
23607                 "$ref": "#/definitions/ActionExecutionResult"
23608               }
23609             }
23610           },
23611           "additionalProperties": false
23612         },
23613         "ActionResult": {
23614           "type": "object",
23615           "properties": {
23616             "action": {
23617               "$ref": "#/definitions/Action"
23618             },
23619             "completed": {
23620               "type": "string",
23621               "format": "date-time"
23622             },
23623             "enqueued": {
23624               "type": "string",
23625               "format": "date-time"
23626             },
23627             "error": {
23628               "$ref": "#/definitions/Error"
23629             },
23630             "message": {
23631               "type": "string"
23632             },
23633             "output": {
23634               "type": "object",
23635               "patternProperties": {
23636                 ".*": {
23637                   "type": "object",
23638                   "additionalProperties": true
23639                 }
23640               }
23641             },
23642             "started": {
23643               "type": "string",
23644               "format": "date-time"
23645             },
23646             "status": {
23647               "type": "string"
23648             }
23649           },
23650           "additionalProperties": false
23651         },
23652         "ActionResults": {
23653           "type": "object",
23654           "properties": {
23655             "results": {
23656               "type": "array",
23657               "items": {
23658                 "$ref": "#/definitions/ActionResult"
23659               }
23660             }
23661           },
23662           "additionalProperties": false
23663         },
23664         "Address": {
23665           "type": "object",
23666           "properties": {
23667             "scope": {
23668               "type": "string"
23669             },
23670             "space-name": {
23671               "type": "string"
23672             },
23673             "type": {
23674               "type": "string"
23675             },
23676             "value": {
23677               "type": "string"
23678             }
23679           },
23680           "additionalProperties": false,
23681           "required": [
23682             "value",
23683             "type",
23684             "scope"
23685           ]
23686         },
23687         "ApplicationStatusResult": {
23688           "type": "object",
23689           "properties": {
23690             "application": {
23691               "$ref": "#/definitions/StatusResult"
23692             },
23693             "error": {
23694               "$ref": "#/definitions/Error"
23695             },
23696             "units": {
23697               "type": "object",
23698               "patternProperties": {
23699                 ".*": {
23700                   "$ref": "#/definitions/StatusResult"
23701                 }
23702               }
23703             }
23704           },
23705           "additionalProperties": false,
23706           "required": [
23707             "application",
23708             "units"
23709           ]
23710         },
23711         "ApplicationStatusResults": {
23712           "type": "object",
23713           "properties": {
23714             "results": {
23715               "type": "array",
23716               "items": {
23717                 "$ref": "#/definitions/ApplicationStatusResult"
23718               }
23719             }
23720           },
23721           "additionalProperties": false,
23722           "required": [
23723             "results"
23724           ]
23725         },
23726         "BoolResult": {
23727           "type": "object",
23728           "properties": {
23729             "error": {
23730               "$ref": "#/definitions/Error"
23731             },
23732             "result": {
23733               "type": "boolean"
23734             }
23735           },
23736           "additionalProperties": false,
23737           "required": [
23738             "result"
23739           ]
23740         },
23741         "BoolResults": {
23742           "type": "object",
23743           "properties": {
23744             "results": {
23745               "type": "array",
23746               "items": {
23747                 "$ref": "#/definitions/BoolResult"
23748               }
23749             }
23750           },
23751           "additionalProperties": false,
23752           "required": [
23753             "results"
23754           ]
23755         },
23756         "BytesResult": {
23757           "type": "object",
23758           "properties": {
23759             "result": {
23760               "type": "array",
23761               "items": {
23762                 "type": "integer"
23763               }
23764             }
23765           },
23766           "additionalProperties": false,
23767           "required": [
23768             "result"
23769           ]
23770         },
23771         "CharmRelation": {
23772           "type": "object",
23773           "properties": {
23774             "interface": {
23775               "type": "string"
23776             },
23777             "limit": {
23778               "type": "integer"
23779             },
23780             "name": {
23781               "type": "string"
23782             },
23783             "optional": {
23784               "type": "boolean"
23785             },
23786             "role": {
23787               "type": "string"
23788             },
23789             "scope": {
23790               "type": "string"
23791             }
23792           },
23793           "additionalProperties": false,
23794           "required": [
23795             "name",
23796             "role",
23797             "interface",
23798             "optional",
23799             "limit",
23800             "scope"
23801           ]
23802         },
23803         "CharmURL": {
23804           "type": "object",
23805           "properties": {
23806             "url": {
23807               "type": "string"
23808             }
23809           },
23810           "additionalProperties": false,
23811           "required": [
23812             "url"
23813           ]
23814         },
23815         "CharmURLs": {
23816           "type": "object",
23817           "properties": {
23818             "urls": {
23819               "type": "array",
23820               "items": {
23821                 "$ref": "#/definitions/CharmURL"
23822               }
23823             }
23824           },
23825           "additionalProperties": false,
23826           "required": [
23827             "urls"
23828           ]
23829         },
23830         "ConfigSettingsResult": {
23831           "type": "object",
23832           "properties": {
23833             "error": {
23834               "$ref": "#/definitions/Error"
23835             },
23836             "settings": {
23837               "type": "object",
23838               "patternProperties": {
23839                 ".*": {
23840                   "type": "object",
23841                   "additionalProperties": true
23842                 }
23843               }
23844             }
23845           },
23846           "additionalProperties": false,
23847           "required": [
23848             "settings"
23849           ]
23850         },
23851         "ConfigSettingsResults": {
23852           "type": "object",
23853           "properties": {
23854             "results": {
23855               "type": "array",
23856               "items": {
23857                 "$ref": "#/definitions/ConfigSettingsResult"
23858               }
23859             }
23860           },
23861           "additionalProperties": false,
23862           "required": [
23863             "results"
23864           ]
23865         },
23866         "Endpoint": {
23867           "type": "object",
23868           "properties": {
23869             "application-name": {
23870               "type": "string"
23871             },
23872             "relation": {
23873               "$ref": "#/definitions/CharmRelation"
23874             }
23875           },
23876           "additionalProperties": false,
23877           "required": [
23878             "application-name",
23879             "relation"
23880           ]
23881         },
23882         "Entities": {
23883           "type": "object",
23884           "properties": {
23885             "entities": {
23886               "type": "array",
23887               "items": {
23888                 "$ref": "#/definitions/Entity"
23889               }
23890             }
23891           },
23892           "additionalProperties": false,
23893           "required": [
23894             "entities"
23895           ]
23896         },
23897         "EntitiesCharmURL": {
23898           "type": "object",
23899           "properties": {
23900             "entities": {
23901               "type": "array",
23902               "items": {
23903                 "$ref": "#/definitions/EntityCharmURL"
23904               }
23905             }
23906           },
23907           "additionalProperties": false,
23908           "required": [
23909             "entities"
23910           ]
23911         },
23912         "EntitiesPortRanges": {
23913           "type": "object",
23914           "properties": {
23915             "entities": {
23916               "type": "array",
23917               "items": {
23918                 "$ref": "#/definitions/EntityPortRange"
23919               }
23920             }
23921           },
23922           "additionalProperties": false,
23923           "required": [
23924             "entities"
23925           ]
23926         },
23927         "Entity": {
23928           "type": "object",
23929           "properties": {
23930             "tag": {
23931               "type": "string"
23932             }
23933           },
23934           "additionalProperties": false,
23935           "required": [
23936             "tag"
23937           ]
23938         },
23939         "EntityCharmURL": {
23940           "type": "object",
23941           "properties": {
23942             "charm-url": {
23943               "type": "string"
23944             },
23945             "tag": {
23946               "type": "string"
23947             }
23948           },
23949           "additionalProperties": false,
23950           "required": [
23951             "tag",
23952             "charm-url"
23953           ]
23954         },
23955         "EntityPortRange": {
23956           "type": "object",
23957           "properties": {
23958             "from-port": {
23959               "type": "integer"
23960             },
23961             "protocol": {
23962               "type": "string"
23963             },
23964             "tag": {
23965               "type": "string"
23966             },
23967             "to-port": {
23968               "type": "integer"
23969             }
23970           },
23971           "additionalProperties": false,
23972           "required": [
23973             "tag",
23974             "protocol",
23975             "from-port",
23976             "to-port"
23977           ]
23978         },
23979         "EntityStatusArgs": {
23980           "type": "object",
23981           "properties": {
23982             "data": {
23983               "type": "object",
23984               "patternProperties": {
23985                 ".*": {
23986                   "type": "object",
23987                   "additionalProperties": true
23988                 }
23989               }
23990             },
23991             "info": {
23992               "type": "string"
23993             },
23994             "status": {
23995               "type": "string"
23996             },
23997             "tag": {
23998               "type": "string"
23999             }
24000           },
24001           "additionalProperties": false,
24002           "required": [
24003             "tag",
24004             "status",
24005             "info",
24006             "data"
24007           ]
24008         },
24009         "EntityWorkloadVersion": {
24010           "type": "object",
24011           "properties": {
24012             "tag": {
24013               "type": "string"
24014             },
24015             "workload-version": {
24016               "type": "string"
24017             }
24018           },
24019           "additionalProperties": false,
24020           "required": [
24021             "tag",
24022             "workload-version"
24023           ]
24024         },
24025         "EntityWorkloadVersions": {
24026           "type": "object",
24027           "properties": {
24028             "entities": {
24029               "type": "array",
24030               "items": {
24031                 "$ref": "#/definitions/EntityWorkloadVersion"
24032               }
24033             }
24034           },
24035           "additionalProperties": false,
24036           "required": [
24037             "entities"
24038           ]
24039         },
24040         "Error": {
24041           "type": "object",
24042           "properties": {
24043             "code": {
24044               "type": "string"
24045             },
24046             "info": {
24047               "$ref": "#/definitions/ErrorInfo"
24048             },
24049             "message": {
24050               "type": "string"
24051             }
24052           },
24053           "additionalProperties": false,
24054           "required": [
24055             "message",
24056             "code"
24057           ]
24058         },
24059         "ErrorInfo": {
24060           "type": "object",
24061           "properties": {
24062             "macaroon": {
24063               "$ref": "#/definitions/Macaroon"
24064             },
24065             "macaroon-path": {
24066               "type": "string"
24067             }
24068           },
24069           "additionalProperties": false
24070         },
24071         "ErrorResult": {
24072           "type": "object",
24073           "properties": {
24074             "error": {
24075               "$ref": "#/definitions/Error"
24076             }
24077           },
24078           "additionalProperties": false
24079         },
24080         "ErrorResults": {
24081           "type": "object",
24082           "properties": {
24083             "results": {
24084               "type": "array",
24085               "items": {
24086                 "$ref": "#/definitions/ErrorResult"
24087               }
24088             }
24089           },
24090           "additionalProperties": false,
24091           "required": [
24092             "results"
24093           ]
24094         },
24095         "GetLeadershipSettingsBulkResults": {
24096           "type": "object",
24097           "properties": {
24098             "results": {
24099               "type": "array",
24100               "items": {
24101                 "$ref": "#/definitions/GetLeadershipSettingsResult"
24102               }
24103             }
24104           },
24105           "additionalProperties": false,
24106           "required": [
24107             "results"
24108           ]
24109         },
24110         "GetLeadershipSettingsResult": {
24111           "type": "object",
24112           "properties": {
24113             "error": {
24114               "$ref": "#/definitions/Error"
24115             },
24116             "settings": {
24117               "type": "object",
24118               "patternProperties": {
24119                 ".*": {
24120                   "type": "string"
24121                 }
24122               }
24123             }
24124           },
24125           "additionalProperties": false,
24126           "required": [
24127             "settings"
24128           ]
24129         },
24130         "HostPort": {
24131           "type": "object",
24132           "properties": {
24133             "Address": {
24134               "$ref": "#/definitions/Address"
24135             },
24136             "port": {
24137               "type": "integer"
24138             }
24139           },
24140           "additionalProperties": false,
24141           "required": [
24142             "Address",
24143             "port"
24144           ]
24145         },
24146         "IntResult": {
24147           "type": "object",
24148           "properties": {
24149             "error": {
24150               "$ref": "#/definitions/Error"
24151             },
24152             "result": {
24153               "type": "integer"
24154             }
24155           },
24156           "additionalProperties": false,
24157           "required": [
24158             "result"
24159           ]
24160         },
24161         "IntResults": {
24162           "type": "object",
24163           "properties": {
24164             "results": {
24165               "type": "array",
24166               "items": {
24167                 "$ref": "#/definitions/IntResult"
24168               }
24169             }
24170           },
24171           "additionalProperties": false,
24172           "required": [
24173             "results"
24174           ]
24175         },
24176         "InterfaceAddress": {
24177           "type": "object",
24178           "properties": {
24179             "cidr": {
24180               "type": "string"
24181             },
24182             "value": {
24183               "type": "string"
24184             }
24185           },
24186           "additionalProperties": false,
24187           "required": [
24188             "value",
24189             "cidr"
24190           ]
24191         },
24192         "LifeResult": {
24193           "type": "object",
24194           "properties": {
24195             "error": {
24196               "$ref": "#/definitions/Error"
24197             },
24198             "life": {
24199               "type": "string"
24200             }
24201           },
24202           "additionalProperties": false,
24203           "required": [
24204             "life"
24205           ]
24206         },
24207         "LifeResults": {
24208           "type": "object",
24209           "properties": {
24210             "results": {
24211               "type": "array",
24212               "items": {
24213                 "$ref": "#/definitions/LifeResult"
24214               }
24215             }
24216           },
24217           "additionalProperties": false,
24218           "required": [
24219             "results"
24220           ]
24221         },
24222         "Macaroon": {
24223           "type": "object",
24224           "additionalProperties": false
24225         },
24226         "MachinePortRange": {
24227           "type": "object",
24228           "properties": {
24229             "port-range": {
24230               "$ref": "#/definitions/PortRange"
24231             },
24232             "relation-tag": {
24233               "type": "string"
24234             },
24235             "unit-tag": {
24236               "type": "string"
24237             }
24238           },
24239           "additionalProperties": false,
24240           "required": [
24241             "unit-tag",
24242             "relation-tag",
24243             "port-range"
24244           ]
24245         },
24246         "MachinePortsResult": {
24247           "type": "object",
24248           "properties": {
24249             "error": {
24250               "$ref": "#/definitions/Error"
24251             },
24252             "ports": {
24253               "type": "array",
24254               "items": {
24255                 "$ref": "#/definitions/MachinePortRange"
24256               }
24257             }
24258           },
24259           "additionalProperties": false,
24260           "required": [
24261             "ports"
24262           ]
24263         },
24264         "MachinePortsResults": {
24265           "type": "object",
24266           "properties": {
24267             "results": {
24268               "type": "array",
24269               "items": {
24270                 "$ref": "#/definitions/MachinePortsResult"
24271               }
24272             }
24273           },
24274           "additionalProperties": false,
24275           "required": [
24276             "results"
24277           ]
24278         },
24279         "MergeLeadershipSettingsBulkParams": {
24280           "type": "object",
24281           "properties": {
24282             "params": {
24283               "type": "array",
24284               "items": {
24285                 "$ref": "#/definitions/MergeLeadershipSettingsParam"
24286               }
24287             }
24288           },
24289           "additionalProperties": false,
24290           "required": [
24291             "params"
24292           ]
24293         },
24294         "MergeLeadershipSettingsParam": {
24295           "type": "object",
24296           "properties": {
24297             "application-tag": {
24298               "type": "string"
24299             },
24300             "settings": {
24301               "type": "object",
24302               "patternProperties": {
24303                 ".*": {
24304                   "type": "string"
24305                 }
24306               }
24307             }
24308           },
24309           "additionalProperties": false,
24310           "required": [
24311             "application-tag",
24312             "settings"
24313           ]
24314         },
24315         "MeterStatusResult": {
24316           "type": "object",
24317           "properties": {
24318             "code": {
24319               "type": "string"
24320             },
24321             "error": {
24322               "$ref": "#/definitions/Error"
24323             },
24324             "info": {
24325               "type": "string"
24326             }
24327           },
24328           "additionalProperties": false,
24329           "required": [
24330             "code",
24331             "info"
24332           ]
24333         },
24334         "MeterStatusResults": {
24335           "type": "object",
24336           "properties": {
24337             "results": {
24338               "type": "array",
24339               "items": {
24340                 "$ref": "#/definitions/MeterStatusResult"
24341               }
24342             }
24343           },
24344           "additionalProperties": false,
24345           "required": [
24346             "results"
24347           ]
24348         },
24349         "Metric": {
24350           "type": "object",
24351           "properties": {
24352             "key": {
24353               "type": "string"
24354             },
24355             "time": {
24356               "type": "string",
24357               "format": "date-time"
24358             },
24359             "value": {
24360               "type": "string"
24361             }
24362           },
24363           "additionalProperties": false,
24364           "required": [
24365             "key",
24366             "value",
24367             "time"
24368           ]
24369         },
24370         "MetricBatch": {
24371           "type": "object",
24372           "properties": {
24373             "charm-url": {
24374               "type": "string"
24375             },
24376             "created": {
24377               "type": "string",
24378               "format": "date-time"
24379             },
24380             "metrics": {
24381               "type": "array",
24382               "items": {
24383                 "$ref": "#/definitions/Metric"
24384               }
24385             },
24386             "uuid": {
24387               "type": "string"
24388             }
24389           },
24390           "additionalProperties": false,
24391           "required": [
24392             "uuid",
24393             "charm-url",
24394             "created",
24395             "metrics"
24396           ]
24397         },
24398         "MetricBatchParam": {
24399           "type": "object",
24400           "properties": {
24401             "batch": {
24402               "$ref": "#/definitions/MetricBatch"
24403             },
24404             "tag": {
24405               "type": "string"
24406             }
24407           },
24408           "additionalProperties": false,
24409           "required": [
24410             "tag",
24411             "batch"
24412           ]
24413         },
24414         "MetricBatchParams": {
24415           "type": "object",
24416           "properties": {
24417             "batches": {
24418               "type": "array",
24419               "items": {
24420                 "$ref": "#/definitions/MetricBatchParam"
24421               }
24422             }
24423           },
24424           "additionalProperties": false,
24425           "required": [
24426             "batches"
24427           ]
24428         },
24429         "ModelConfigResult": {
24430           "type": "object",
24431           "properties": {
24432             "config": {
24433               "type": "object",
24434               "patternProperties": {
24435                 ".*": {
24436                   "type": "object",
24437                   "additionalProperties": true
24438                 }
24439               }
24440             }
24441           },
24442           "additionalProperties": false,
24443           "required": [
24444             "config"
24445           ]
24446         },
24447         "ModelResult": {
24448           "type": "object",
24449           "properties": {
24450             "error": {
24451               "$ref": "#/definitions/Error"
24452             },
24453             "name": {
24454               "type": "string"
24455             },
24456             "uuid": {
24457               "type": "string"
24458             }
24459           },
24460           "additionalProperties": false,
24461           "required": [
24462             "name",
24463             "uuid"
24464           ]
24465         },
24466         "NetworkInfo": {
24467           "type": "object",
24468           "properties": {
24469             "addresses": {
24470               "type": "array",
24471               "items": {
24472                 "$ref": "#/definitions/InterfaceAddress"
24473               }
24474             },
24475             "interface-name": {
24476               "type": "string"
24477             },
24478             "mac-address": {
24479               "type": "string"
24480             }
24481           },
24482           "additionalProperties": false,
24483           "required": [
24484             "mac-address",
24485             "interface-name",
24486             "addresses"
24487           ]
24488         },
24489         "NetworkInfoParams": {
24490           "type": "object",
24491           "properties": {
24492             "bindings": {
24493               "type": "array",
24494               "items": {
24495                 "type": "string"
24496               }
24497             },
24498             "unit": {
24499               "type": "string"
24500             }
24501           },
24502           "additionalProperties": false,
24503           "required": [
24504             "unit",
24505             "bindings"
24506           ]
24507         },
24508         "NetworkInfoResult": {
24509           "type": "object",
24510           "properties": {
24511             "error": {
24512               "$ref": "#/definitions/Error"
24513             },
24514             "network-info": {
24515               "type": "array",
24516               "items": {
24517                 "$ref": "#/definitions/NetworkInfo"
24518               }
24519             }
24520           },
24521           "additionalProperties": false,
24522           "required": [
24523             "network-info"
24524           ]
24525         },
24526         "NetworkInfoResults": {
24527           "type": "object",
24528           "properties": {
24529             "results": {
24530               "type": "object",
24531               "patternProperties": {
24532                 ".*": {
24533                   "$ref": "#/definitions/NetworkInfoResult"
24534                 }
24535               }
24536             }
24537           },
24538           "additionalProperties": false,
24539           "required": [
24540             "results"
24541           ]
24542         },
24543         "NotifyWatchResult": {
24544           "type": "object",
24545           "properties": {
24546             "NotifyWatcherId": {
24547               "type": "string"
24548             },
24549             "error": {
24550               "$ref": "#/definitions/Error"
24551             }
24552           },
24553           "additionalProperties": false,
24554           "required": [
24555             "NotifyWatcherId"
24556           ]
24557         },
24558         "NotifyWatchResults": {
24559           "type": "object",
24560           "properties": {
24561             "results": {
24562               "type": "array",
24563               "items": {
24564                 "$ref": "#/definitions/NotifyWatchResult"
24565               }
24566             }
24567           },
24568           "additionalProperties": false,
24569           "required": [
24570             "results"
24571           ]
24572         },
24573         "PortRange": {
24574           "type": "object",
24575           "properties": {
24576             "from-port": {
24577               "type": "integer"
24578             },
24579             "protocol": {
24580               "type": "string"
24581             },
24582             "to-port": {
24583               "type": "integer"
24584             }
24585           },
24586           "additionalProperties": false,
24587           "required": [
24588             "from-port",
24589             "to-port",
24590             "protocol"
24591           ]
24592         },
24593         "RelationIds": {
24594           "type": "object",
24595           "properties": {
24596             "relation-ids": {
24597               "type": "array",
24598               "items": {
24599                 "type": "integer"
24600               }
24601             }
24602           },
24603           "additionalProperties": false,
24604           "required": [
24605             "relation-ids"
24606           ]
24607         },
24608         "RelationResult": {
24609           "type": "object",
24610           "properties": {
24611             "endpoint": {
24612               "$ref": "#/definitions/Endpoint"
24613             },
24614             "error": {
24615               "$ref": "#/definitions/Error"
24616             },
24617             "id": {
24618               "type": "integer"
24619             },
24620             "key": {
24621               "type": "string"
24622             },
24623             "life": {
24624               "type": "string"
24625             }
24626           },
24627           "additionalProperties": false,
24628           "required": [
24629             "life",
24630             "id",
24631             "key",
24632             "endpoint"
24633           ]
24634         },
24635         "RelationResults": {
24636           "type": "object",
24637           "properties": {
24638             "results": {
24639               "type": "array",
24640               "items": {
24641                 "$ref": "#/definitions/RelationResult"
24642               }
24643             }
24644           },
24645           "additionalProperties": false,
24646           "required": [
24647             "results"
24648           ]
24649         },
24650         "RelationUnit": {
24651           "type": "object",
24652           "properties": {
24653             "relation": {
24654               "type": "string"
24655             },
24656             "unit": {
24657               "type": "string"
24658             }
24659           },
24660           "additionalProperties": false,
24661           "required": [
24662             "relation",
24663             "unit"
24664           ]
24665         },
24666         "RelationUnitPair": {
24667           "type": "object",
24668           "properties": {
24669             "local-unit": {
24670               "type": "string"
24671             },
24672             "relation": {
24673               "type": "string"
24674             },
24675             "remote-unit": {
24676               "type": "string"
24677             }
24678           },
24679           "additionalProperties": false,
24680           "required": [
24681             "relation",
24682             "local-unit",
24683             "remote-unit"
24684           ]
24685         },
24686         "RelationUnitPairs": {
24687           "type": "object",
24688           "properties": {
24689             "relation-unit-pairs": {
24690               "type": "array",
24691               "items": {
24692                 "$ref": "#/definitions/RelationUnitPair"
24693               }
24694             }
24695           },
24696           "additionalProperties": false,
24697           "required": [
24698             "relation-unit-pairs"
24699           ]
24700         },
24701         "RelationUnitSettings": {
24702           "type": "object",
24703           "properties": {
24704             "relation": {
24705               "type": "string"
24706             },
24707             "settings": {
24708               "type": "object",
24709               "patternProperties": {
24710                 ".*": {
24711                   "type": "string"
24712                 }
24713               }
24714             },
24715             "unit": {
24716               "type": "string"
24717             }
24718           },
24719           "additionalProperties": false,
24720           "required": [
24721             "relation",
24722             "unit",
24723             "settings"
24724           ]
24725         },
24726         "RelationUnits": {
24727           "type": "object",
24728           "properties": {
24729             "relation-units": {
24730               "type": "array",
24731               "items": {
24732                 "$ref": "#/definitions/RelationUnit"
24733               }
24734             }
24735           },
24736           "additionalProperties": false,
24737           "required": [
24738             "relation-units"
24739           ]
24740         },
24741         "RelationUnitsChange": {
24742           "type": "object",
24743           "properties": {
24744             "changed": {
24745               "type": "object",
24746               "patternProperties": {
24747                 ".*": {
24748                   "$ref": "#/definitions/UnitSettings"
24749                 }
24750               }
24751             },
24752             "departed": {
24753               "type": "array",
24754               "items": {
24755                 "type": "string"
24756               }
24757             }
24758           },
24759           "additionalProperties": false,
24760           "required": [
24761             "changed"
24762           ]
24763         },
24764         "RelationUnitsSettings": {
24765           "type": "object",
24766           "properties": {
24767             "relation-units": {
24768               "type": "array",
24769               "items": {
24770                 "$ref": "#/definitions/RelationUnitSettings"
24771               }
24772             }
24773           },
24774           "additionalProperties": false,
24775           "required": [
24776             "relation-units"
24777           ]
24778         },
24779         "RelationUnitsWatchResult": {
24780           "type": "object",
24781           "properties": {
24782             "changes": {
24783               "$ref": "#/definitions/RelationUnitsChange"
24784             },
24785             "error": {
24786               "$ref": "#/definitions/Error"
24787             },
24788             "watcher-id": {
24789               "type": "string"
24790             }
24791           },
24792           "additionalProperties": false,
24793           "required": [
24794             "watcher-id",
24795             "changes"
24796           ]
24797         },
24798         "RelationUnitsWatchResults": {
24799           "type": "object",
24800           "properties": {
24801             "results": {
24802               "type": "array",
24803               "items": {
24804                 "$ref": "#/definitions/RelationUnitsWatchResult"
24805               }
24806             }
24807           },
24808           "additionalProperties": false,
24809           "required": [
24810             "results"
24811           ]
24812         },
24813         "ResolvedModeResult": {
24814           "type": "object",
24815           "properties": {
24816             "error": {
24817               "$ref": "#/definitions/Error"
24818             },
24819             "mode": {
24820               "type": "string"
24821             }
24822           },
24823           "additionalProperties": false,
24824           "required": [
24825             "mode"
24826           ]
24827         },
24828         "ResolvedModeResults": {
24829           "type": "object",
24830           "properties": {
24831             "results": {
24832               "type": "array",
24833               "items": {
24834                 "$ref": "#/definitions/ResolvedModeResult"
24835               }
24836             }
24837           },
24838           "additionalProperties": false,
24839           "required": [
24840             "results"
24841           ]
24842         },
24843         "SetStatus": {
24844           "type": "object",
24845           "properties": {
24846             "entities": {
24847               "type": "array",
24848               "items": {
24849                 "$ref": "#/definitions/EntityStatusArgs"
24850               }
24851             }
24852           },
24853           "additionalProperties": false,
24854           "required": [
24855             "entities"
24856           ]
24857         },
24858         "SettingsResult": {
24859           "type": "object",
24860           "properties": {
24861             "error": {
24862               "$ref": "#/definitions/Error"
24863             },
24864             "settings": {
24865               "type": "object",
24866               "patternProperties": {
24867                 ".*": {
24868                   "type": "string"
24869                 }
24870               }
24871             }
24872           },
24873           "additionalProperties": false,
24874           "required": [
24875             "settings"
24876           ]
24877         },
24878         "SettingsResults": {
24879           "type": "object",
24880           "properties": {
24881             "results": {
24882               "type": "array",
24883               "items": {
24884                 "$ref": "#/definitions/SettingsResult"
24885               }
24886             }
24887           },
24888           "additionalProperties": false,
24889           "required": [
24890             "results"
24891           ]
24892         },
24893         "StatusResult": {
24894           "type": "object",
24895           "properties": {
24896             "data": {
24897               "type": "object",
24898               "patternProperties": {
24899                 ".*": {
24900                   "type": "object",
24901                   "additionalProperties": true
24902                 }
24903               }
24904             },
24905             "error": {
24906               "$ref": "#/definitions/Error"
24907             },
24908             "id": {
24909               "type": "string"
24910             },
24911             "info": {
24912               "type": "string"
24913             },
24914             "life": {
24915               "type": "string"
24916             },
24917             "since": {
24918               "type": "string",
24919               "format": "date-time"
24920             },
24921             "status": {
24922               "type": "string"
24923             }
24924           },
24925           "additionalProperties": false,
24926           "required": [
24927             "id",
24928             "life",
24929             "status",
24930             "info",
24931             "data",
24932             "since"
24933           ]
24934         },
24935         "StatusResults": {
24936           "type": "object",
24937           "properties": {
24938             "results": {
24939               "type": "array",
24940               "items": {
24941                 "$ref": "#/definitions/StatusResult"
24942               }
24943             }
24944           },
24945           "additionalProperties": false,
24946           "required": [
24947             "results"
24948           ]
24949         },
24950         "StorageAddParams": {
24951           "type": "object",
24952           "properties": {
24953             "name": {
24954               "type": "string"
24955             },
24956             "storage": {
24957               "$ref": "#/definitions/StorageConstraints"
24958             },
24959             "unit": {
24960               "type": "string"
24961             }
24962           },
24963           "additionalProperties": false,
24964           "required": [
24965             "unit",
24966             "name",
24967             "storage"
24968           ]
24969         },
24970         "StorageAttachment": {
24971           "type": "object",
24972           "properties": {
24973             "kind": {
24974               "type": "integer"
24975             },
24976             "life": {
24977               "type": "string"
24978             },
24979             "location": {
24980               "type": "string"
24981             },
24982             "owner-tag": {
24983               "type": "string"
24984             },
24985             "storage-tag": {
24986               "type": "string"
24987             },
24988             "unit-tag": {
24989               "type": "string"
24990             }
24991           },
24992           "additionalProperties": false,
24993           "required": [
24994             "storage-tag",
24995             "owner-tag",
24996             "unit-tag",
24997             "kind",
24998             "location",
24999             "life"
25000           ]
25001         },
25002         "StorageAttachmentId": {
25003           "type": "object",
25004           "properties": {
25005             "storage-tag": {
25006               "type": "string"
25007             },
25008             "unit-tag": {
25009               "type": "string"
25010             }
25011           },
25012           "additionalProperties": false,
25013           "required": [
25014             "storage-tag",
25015             "unit-tag"
25016           ]
25017         },
25018         "StorageAttachmentIds": {
25019           "type": "object",
25020           "properties": {
25021             "ids": {
25022               "type": "array",
25023               "items": {
25024                 "$ref": "#/definitions/StorageAttachmentId"
25025               }
25026             }
25027           },
25028           "additionalProperties": false,
25029           "required": [
25030             "ids"
25031           ]
25032         },
25033         "StorageAttachmentIdsResult": {
25034           "type": "object",
25035           "properties": {
25036             "error": {
25037               "$ref": "#/definitions/Error"
25038             },
25039             "result": {
25040               "$ref": "#/definitions/StorageAttachmentIds"
25041             }
25042           },
25043           "additionalProperties": false,
25044           "required": [
25045             "result"
25046           ]
25047         },
25048         "StorageAttachmentIdsResults": {
25049           "type": "object",
25050           "properties": {
25051             "results": {
25052               "type": "array",
25053               "items": {
25054                 "$ref": "#/definitions/StorageAttachmentIdsResult"
25055               }
25056             }
25057           },
25058           "additionalProperties": false
25059         },
25060         "StorageAttachmentResult": {
25061           "type": "object",
25062           "properties": {
25063             "error": {
25064               "$ref": "#/definitions/Error"
25065             },
25066             "result": {
25067               "$ref": "#/definitions/StorageAttachment"
25068             }
25069           },
25070           "additionalProperties": false,
25071           "required": [
25072             "result"
25073           ]
25074         },
25075         "StorageAttachmentResults": {
25076           "type": "object",
25077           "properties": {
25078             "results": {
25079               "type": "array",
25080               "items": {
25081                 "$ref": "#/definitions/StorageAttachmentResult"
25082               }
25083             }
25084           },
25085           "additionalProperties": false
25086         },
25087         "StorageConstraints": {
25088           "type": "object",
25089           "properties": {
25090             "count": {
25091               "type": "integer"
25092             },
25093             "pool": {
25094               "type": "string"
25095             },
25096             "size": {
25097               "type": "integer"
25098             }
25099           },
25100           "additionalProperties": false
25101         },
25102         "StoragesAddParams": {
25103           "type": "object",
25104           "properties": {
25105             "storages": {
25106               "type": "array",
25107               "items": {
25108                 "$ref": "#/definitions/StorageAddParams"
25109               }
25110             }
25111           },
25112           "additionalProperties": false,
25113           "required": [
25114             "storages"
25115           ]
25116         },
25117         "StringBoolResult": {
25118           "type": "object",
25119           "properties": {
25120             "error": {
25121               "$ref": "#/definitions/Error"
25122             },
25123             "ok": {
25124               "type": "boolean"
25125             },
25126             "result": {
25127               "type": "string"
25128             }
25129           },
25130           "additionalProperties": false,
25131           "required": [
25132             "result",
25133             "ok"
25134           ]
25135         },
25136         "StringBoolResults": {
25137           "type": "object",
25138           "properties": {
25139             "results": {
25140               "type": "array",
25141               "items": {
25142                 "$ref": "#/definitions/StringBoolResult"
25143               }
25144             }
25145           },
25146           "additionalProperties": false,
25147           "required": [
25148             "results"
25149           ]
25150         },
25151         "StringResult": {
25152           "type": "object",
25153           "properties": {
25154             "error": {
25155               "$ref": "#/definitions/Error"
25156             },
25157             "result": {
25158               "type": "string"
25159             }
25160           },
25161           "additionalProperties": false,
25162           "required": [
25163             "result"
25164           ]
25165         },
25166         "StringResults": {
25167           "type": "object",
25168           "properties": {
25169             "results": {
25170               "type": "array",
25171               "items": {
25172                 "$ref": "#/definitions/StringResult"
25173               }
25174             }
25175           },
25176           "additionalProperties": false,
25177           "required": [
25178             "results"
25179           ]
25180         },
25181         "StringsResult": {
25182           "type": "object",
25183           "properties": {
25184             "error": {
25185               "$ref": "#/definitions/Error"
25186             },
25187             "result": {
25188               "type": "array",
25189               "items": {
25190                 "type": "string"
25191               }
25192             }
25193           },
25194           "additionalProperties": false
25195         },
25196         "StringsResults": {
25197           "type": "object",
25198           "properties": {
25199             "results": {
25200               "type": "array",
25201               "items": {
25202                 "$ref": "#/definitions/StringsResult"
25203               }
25204             }
25205           },
25206           "additionalProperties": false,
25207           "required": [
25208             "results"
25209           ]
25210         },
25211         "StringsWatchResult": {
25212           "type": "object",
25213           "properties": {
25214             "changes": {
25215               "type": "array",
25216               "items": {
25217                 "type": "string"
25218               }
25219             },
25220             "error": {
25221               "$ref": "#/definitions/Error"
25222             },
25223             "watcher-id": {
25224               "type": "string"
25225             }
25226           },
25227           "additionalProperties": false,
25228           "required": [
25229             "watcher-id"
25230           ]
25231         },
25232         "StringsWatchResults": {
25233           "type": "object",
25234           "properties": {
25235             "results": {
25236               "type": "array",
25237               "items": {
25238                 "$ref": "#/definitions/StringsWatchResult"
25239               }
25240             }
25241           },
25242           "additionalProperties": false,
25243           "required": [
25244             "results"
25245           ]
25246         },
25247         "UnitSettings": {
25248           "type": "object",
25249           "properties": {
25250             "version": {
25251               "type": "integer"
25252             }
25253           },
25254           "additionalProperties": false,
25255           "required": [
25256             "version"
25257           ]
25258         }
25259       }
25260     }
25261   },
25262   {
25263     "Name": "Upgrader",
25264     "Version": 1,
25265     "Schema": {
25266       "type": "object",
25267       "properties": {
25268         "DesiredVersion": {
25269           "type": "object",
25270           "properties": {
25271             "Params": {
25272               "$ref": "#/definitions/Entities"
25273             },
25274             "Result": {
25275               "$ref": "#/definitions/VersionResults"
25276             }
25277           }
25278         },
25279         "SetTools": {
25280           "type": "object",
25281           "properties": {
25282             "Params": {
25283               "$ref": "#/definitions/EntitiesVersion"
25284             },
25285             "Result": {
25286               "$ref": "#/definitions/ErrorResults"
25287             }
25288           }
25289         },
25290         "Tools": {
25291           "type": "object",
25292           "properties": {
25293             "Params": {
25294               "$ref": "#/definitions/Entities"
25295             },
25296             "Result": {
25297               "$ref": "#/definitions/ToolsResults"
25298             }
25299           }
25300         },
25301         "WatchAPIVersion": {
25302           "type": "object",
25303           "properties": {
25304             "Params": {
25305               "$ref": "#/definitions/Entities"
25306             },
25307             "Result": {
25308               "$ref": "#/definitions/NotifyWatchResults"
25309             }
25310           }
25311         }
25312       },
25313       "definitions": {
25314         "Binary": {
25315           "type": "object",
25316           "properties": {
25317             "Arch": {
25318               "type": "string"
25319             },
25320             "Number": {
25321               "$ref": "#/definitions/Number"
25322             },
25323             "Series": {
25324               "type": "string"
25325             }
25326           },
25327           "additionalProperties": false,
25328           "required": [
25329             "Number",
25330             "Series",
25331             "Arch"
25332           ]
25333         },
25334         "Entities": {
25335           "type": "object",
25336           "properties": {
25337             "entities": {
25338               "type": "array",
25339               "items": {
25340                 "$ref": "#/definitions/Entity"
25341               }
25342             }
25343           },
25344           "additionalProperties": false,
25345           "required": [
25346             "entities"
25347           ]
25348         },
25349         "EntitiesVersion": {
25350           "type": "object",
25351           "properties": {
25352             "agent-tools": {
25353               "type": "array",
25354               "items": {
25355                 "$ref": "#/definitions/EntityVersion"
25356               }
25357             }
25358           },
25359           "additionalProperties": false,
25360           "required": [
25361             "agent-tools"
25362           ]
25363         },
25364         "Entity": {
25365           "type": "object",
25366           "properties": {
25367             "tag": {
25368               "type": "string"
25369             }
25370           },
25371           "additionalProperties": false,
25372           "required": [
25373             "tag"
25374           ]
25375         },
25376         "EntityVersion": {
25377           "type": "object",
25378           "properties": {
25379             "tag": {
25380               "type": "string"
25381             },
25382             "tools": {
25383               "$ref": "#/definitions/Version"
25384             }
25385           },
25386           "additionalProperties": false,
25387           "required": [
25388             "tag",
25389             "tools"
25390           ]
25391         },
25392         "Error": {
25393           "type": "object",
25394           "properties": {
25395             "code": {
25396               "type": "string"
25397             },
25398             "info": {
25399               "$ref": "#/definitions/ErrorInfo"
25400             },
25401             "message": {
25402               "type": "string"
25403             }
25404           },
25405           "additionalProperties": false,
25406           "required": [
25407             "message",
25408             "code"
25409           ]
25410         },
25411         "ErrorInfo": {
25412           "type": "object",
25413           "properties": {
25414             "macaroon": {
25415               "$ref": "#/definitions/Macaroon"
25416             },
25417             "macaroon-path": {
25418               "type": "string"
25419             }
25420           },
25421           "additionalProperties": false
25422         },
25423         "ErrorResult": {
25424           "type": "object",
25425           "properties": {
25426             "error": {
25427               "$ref": "#/definitions/Error"
25428             }
25429           },
25430           "additionalProperties": false
25431         },
25432         "ErrorResults": {
25433           "type": "object",
25434           "properties": {
25435             "results": {
25436               "type": "array",
25437               "items": {
25438                 "$ref": "#/definitions/ErrorResult"
25439               }
25440             }
25441           },
25442           "additionalProperties": false,
25443           "required": [
25444             "results"
25445           ]
25446         },
25447         "Macaroon": {
25448           "type": "object",
25449           "additionalProperties": false
25450         },
25451         "NotifyWatchResult": {
25452           "type": "object",
25453           "properties": {
25454             "NotifyWatcherId": {
25455               "type": "string"
25456             },
25457             "error": {
25458               "$ref": "#/definitions/Error"
25459             }
25460           },
25461           "additionalProperties": false,
25462           "required": [
25463             "NotifyWatcherId"
25464           ]
25465         },
25466         "NotifyWatchResults": {
25467           "type": "object",
25468           "properties": {
25469             "results": {
25470               "type": "array",
25471               "items": {
25472                 "$ref": "#/definitions/NotifyWatchResult"
25473               }
25474             }
25475           },
25476           "additionalProperties": false,
25477           "required": [
25478             "results"
25479           ]
25480         },
25481         "Number": {
25482           "type": "object",
25483           "properties": {
25484             "Build": {
25485               "type": "integer"
25486             },
25487             "Major": {
25488               "type": "integer"
25489             },
25490             "Minor": {
25491               "type": "integer"
25492             },
25493             "Patch": {
25494               "type": "integer"
25495             },
25496             "Tag": {
25497               "type": "string"
25498             }
25499           },
25500           "additionalProperties": false,
25501           "required": [
25502             "Major",
25503             "Minor",
25504             "Tag",
25505             "Patch",
25506             "Build"
25507           ]
25508         },
25509         "Tools": {
25510           "type": "object",
25511           "properties": {
25512             "sha256": {
25513               "type": "string"
25514             },
25515             "size": {
25516               "type": "integer"
25517             },
25518             "url": {
25519               "type": "string"
25520             },
25521             "version": {
25522               "$ref": "#/definitions/Binary"
25523             }
25524           },
25525           "additionalProperties": false,
25526           "required": [
25527             "version",
25528             "url",
25529             "size"
25530           ]
25531         },
25532         "ToolsResult": {
25533           "type": "object",
25534           "properties": {
25535             "disable-ssl-hostname-verification": {
25536               "type": "boolean"
25537             },
25538             "error": {
25539               "$ref": "#/definitions/Error"
25540             },
25541             "tools": {
25542               "type": "array",
25543               "items": {
25544                 "$ref": "#/definitions/Tools"
25545               }
25546             }
25547           },
25548           "additionalProperties": false,
25549           "required": [
25550             "tools",
25551             "disable-ssl-hostname-verification"
25552           ]
25553         },
25554         "ToolsResults": {
25555           "type": "object",
25556           "properties": {
25557             "results": {
25558               "type": "array",
25559               "items": {
25560                 "$ref": "#/definitions/ToolsResult"
25561               }
25562             }
25563           },
25564           "additionalProperties": false,
25565           "required": [
25566             "results"
25567           ]
25568         },
25569         "Version": {
25570           "type": "object",
25571           "properties": {
25572             "version": {
25573               "$ref": "#/definitions/Binary"
25574             }
25575           },
25576           "additionalProperties": false,
25577           "required": [
25578             "version"
25579           ]
25580         },
25581         "VersionResult": {
25582           "type": "object",
25583           "properties": {
25584             "error": {
25585               "$ref": "#/definitions/Error"
25586             },
25587             "version": {
25588               "$ref": "#/definitions/Number"
25589             }
25590           },
25591           "additionalProperties": false
25592         },
25593         "VersionResults": {
25594           "type": "object",
25595           "properties": {
25596             "results": {
25597               "type": "array",
25598               "items": {
25599                 "$ref": "#/definitions/VersionResult"
25600               }
25601             }
25602           },
25603           "additionalProperties": false,
25604           "required": [
25605             "results"
25606           ]
25607         }
25608       }
25609     }
25610   },
25611   {
25612     "Name": "UserManager",
25613     "Version": 1,
25614     "Schema": {
25615       "type": "object",
25616       "properties": {
25617         "AddUser": {
25618           "type": "object",
25619           "properties": {
25620             "Params": {
25621               "$ref": "#/definitions/AddUsers"
25622             },
25623             "Result": {
25624               "$ref": "#/definitions/AddUserResults"
25625             }
25626           }
25627         },
25628         "DisableUser": {
25629           "type": "object",
25630           "properties": {
25631             "Params": {
25632               "$ref": "#/definitions/Entities"
25633             },
25634             "Result": {
25635               "$ref": "#/definitions/ErrorResults"
25636             }
25637           }
25638         },
25639         "EnableUser": {
25640           "type": "object",
25641           "properties": {
25642             "Params": {
25643               "$ref": "#/definitions/Entities"
25644             },
25645             "Result": {
25646               "$ref": "#/definitions/ErrorResults"
25647             }
25648           }
25649         },
25650         "RemoveUser": {
25651           "type": "object",
25652           "properties": {
25653             "Params": {
25654               "$ref": "#/definitions/Entities"
25655             },
25656             "Result": {
25657               "$ref": "#/definitions/ErrorResults"
25658             }
25659           }
25660         },
25661         "SetPassword": {
25662           "type": "object",
25663           "properties": {
25664             "Params": {
25665               "$ref": "#/definitions/EntityPasswords"
25666             },
25667             "Result": {
25668               "$ref": "#/definitions/ErrorResults"
25669             }
25670           }
25671         },
25672         "UserInfo": {
25673           "type": "object",
25674           "properties": {
25675             "Params": {
25676               "$ref": "#/definitions/UserInfoRequest"
25677             },
25678             "Result": {
25679               "$ref": "#/definitions/UserInfoResults"
25680             }
25681           }
25682         }
25683       },
25684       "definitions": {
25685         "AddUser": {
25686           "type": "object",
25687           "properties": {
25688             "display-name": {
25689               "type": "string"
25690             },
25691             "password": {
25692               "type": "string"
25693             },
25694             "username": {
25695               "type": "string"
25696             }
25697           },
25698           "additionalProperties": false,
25699           "required": [
25700             "username",
25701             "display-name"
25702           ]
25703         },
25704         "AddUserResult": {
25705           "type": "object",
25706           "properties": {
25707             "error": {
25708               "$ref": "#/definitions/Error"
25709             },
25710             "secret-key": {
25711               "type": "array",
25712               "items": {
25713                 "type": "integer"
25714               }
25715             },
25716             "tag": {
25717               "type": "string"
25718             }
25719           },
25720           "additionalProperties": false
25721         },
25722         "AddUserResults": {
25723           "type": "object",
25724           "properties": {
25725             "results": {
25726               "type": "array",
25727               "items": {
25728                 "$ref": "#/definitions/AddUserResult"
25729               }
25730             }
25731           },
25732           "additionalProperties": false,
25733           "required": [
25734             "results"
25735           ]
25736         },
25737         "AddUsers": {
25738           "type": "object",
25739           "properties": {
25740             "users": {
25741               "type": "array",
25742               "items": {
25743                 "$ref": "#/definitions/AddUser"
25744               }
25745             }
25746           },
25747           "additionalProperties": false,
25748           "required": [
25749             "users"
25750           ]
25751         },
25752         "Entities": {
25753           "type": "object",
25754           "properties": {
25755             "entities": {
25756               "type": "array",
25757               "items": {
25758                 "$ref": "#/definitions/Entity"
25759               }
25760             }
25761           },
25762           "additionalProperties": false,
25763           "required": [
25764             "entities"
25765           ]
25766         },
25767         "Entity": {
25768           "type": "object",
25769           "properties": {
25770             "tag": {
25771               "type": "string"
25772             }
25773           },
25774           "additionalProperties": false,
25775           "required": [
25776             "tag"
25777           ]
25778         },
25779         "EntityPassword": {
25780           "type": "object",
25781           "properties": {
25782             "password": {
25783               "type": "string"
25784             },
25785             "tag": {
25786               "type": "string"
25787             }
25788           },
25789           "additionalProperties": false,
25790           "required": [
25791             "tag",
25792             "password"
25793           ]
25794         },
25795         "EntityPasswords": {
25796           "type": "object",
25797           "properties": {
25798             "changes": {
25799               "type": "array",
25800               "items": {
25801                 "$ref": "#/definitions/EntityPassword"
25802               }
25803             }
25804           },
25805           "additionalProperties": false,
25806           "required": [
25807             "changes"
25808           ]
25809         },
25810         "Error": {
25811           "type": "object",
25812           "properties": {
25813             "code": {
25814               "type": "string"
25815             },
25816             "info": {
25817               "$ref": "#/definitions/ErrorInfo"
25818             },
25819             "message": {
25820               "type": "string"
25821             }
25822           },
25823           "additionalProperties": false,
25824           "required": [
25825             "message",
25826             "code"
25827           ]
25828         },
25829         "ErrorInfo": {
25830           "type": "object",
25831           "properties": {
25832             "macaroon": {
25833               "$ref": "#/definitions/Macaroon"
25834             },
25835             "macaroon-path": {
25836               "type": "string"
25837             }
25838           },
25839           "additionalProperties": false
25840         },
25841         "ErrorResult": {
25842           "type": "object",
25843           "properties": {
25844             "error": {
25845               "$ref": "#/definitions/Error"
25846             }
25847           },
25848           "additionalProperties": false
25849         },
25850         "ErrorResults": {
25851           "type": "object",
25852           "properties": {
25853             "results": {
25854               "type": "array",
25855               "items": {
25856                 "$ref": "#/definitions/ErrorResult"
25857               }
25858             }
25859           },
25860           "additionalProperties": false,
25861           "required": [
25862             "results"
25863           ]
25864         },
25865         "Macaroon": {
25866           "type": "object",
25867           "additionalProperties": false
25868         },
25869         "UserInfo": {
25870           "type": "object",
25871           "properties": {
25872             "access": {
25873               "type": "string"
25874             },
25875             "created-by": {
25876               "type": "string"
25877             },
25878             "date-created": {
25879               "type": "string",
25880               "format": "date-time"
25881             },
25882             "disabled": {
25883               "type": "boolean"
25884             },
25885             "display-name": {
25886               "type": "string"
25887             },
25888             "last-connection": {
25889               "type": "string",
25890               "format": "date-time"
25891             },
25892             "username": {
25893               "type": "string"
25894             }
25895           },
25896           "additionalProperties": false,
25897           "required": [
25898             "username",
25899             "display-name",
25900             "access",
25901             "created-by",
25902             "date-created",
25903             "disabled"
25904           ]
25905         },
25906         "UserInfoRequest": {
25907           "type": "object",
25908           "properties": {
25909             "entities": {
25910               "type": "array",
25911               "items": {
25912                 "$ref": "#/definitions/Entity"
25913               }
25914             },
25915             "include-disabled": {
25916               "type": "boolean"
25917             }
25918           },
25919           "additionalProperties": false,
25920           "required": [
25921             "entities",
25922             "include-disabled"
25923           ]
25924         },
25925         "UserInfoResult": {
25926           "type": "object",
25927           "properties": {
25928             "error": {
25929               "$ref": "#/definitions/Error"
25930             },
25931             "result": {
25932               "$ref": "#/definitions/UserInfo"
25933             }
25934           },
25935           "additionalProperties": false
25936         },
25937         "UserInfoResults": {
25938           "type": "object",
25939           "properties": {
25940             "results": {
25941               "type": "array",
25942               "items": {
25943                 "$ref": "#/definitions/UserInfoResult"
25944               }
25945             }
25946           },
25947           "additionalProperties": false,
25948           "required": [
25949             "results"
25950           ]
25951         }
25952       }
25953     }
25954   },
25955   {
25956     "Name": "VolumeAttachmentsWatcher",
25957     "Version": 2,
25958     "Schema": {
25959       "type": "object",
25960       "properties": {
25961         "Next": {
25962           "type": "object",
25963           "properties": {
25964             "Result": {
25965               "$ref": "#/definitions/MachineStorageIdsWatchResult"
25966             }
25967           }
25968         },
25969         "Stop": {
25970           "type": "object"
25971         }
25972       },
25973       "definitions": {
25974         "Error": {
25975           "type": "object",
25976           "properties": {
25977             "code": {
25978               "type": "string"
25979             },
25980             "info": {
25981               "$ref": "#/definitions/ErrorInfo"
25982             },
25983             "message": {
25984               "type": "string"
25985             }
25986           },
25987           "additionalProperties": false,
25988           "required": [
25989             "message",
25990             "code"
25991           ]
25992         },
25993         "ErrorInfo": {
25994           "type": "object",
25995           "properties": {
25996             "macaroon": {
25997               "$ref": "#/definitions/Macaroon"
25998             },
25999             "macaroon-path": {
26000               "type": "string"
26001             }
26002           },
26003           "additionalProperties": false
26004         },
26005         "Macaroon": {
26006           "type": "object",
26007           "additionalProperties": false
26008         },
26009         "MachineStorageId": {
26010           "type": "object",
26011           "properties": {
26012             "attachment-tag": {
26013               "type": "string"
26014             },
26015             "machine-tag": {
26016               "type": "string"
26017             }
26018           },
26019           "additionalProperties": false,
26020           "required": [
26021             "machine-tag",
26022             "attachment-tag"
26023           ]
26024         },
26025         "MachineStorageIdsWatchResult": {
26026           "type": "object",
26027           "properties": {
26028             "changes": {
26029               "type": "array",
26030               "items": {
26031                 "$ref": "#/definitions/MachineStorageId"
26032               }
26033             },
26034             "error": {
26035               "$ref": "#/definitions/Error"
26036             },
26037             "watcher-id": {
26038               "type": "string"
26039             }
26040           },
26041           "additionalProperties": false,
26042           "required": [
26043             "watcher-id",
26044             "changes"
26045           ]
26046         }
26047       }
26048     }
26049   }
26050 ]